Minimální velikost Ethernet paketu 64B

Minimální velikost Ethernet paketu 64B
« kdy: 10. 05. 2010, 14:08:59 »
Prosim vas, minimalna velkost ethernet ramca by mala byt 64B. Arp dotazy ale aj mnoho inych paketov ma omnoho mensiu velkost a predsa to cele funguje, pakety v pohode cez switch prechadzaju. Ako je to mozne?
« Poslední změna: 11. 05. 2010, 08:24:54 od Petr Krčmář »


MiDu

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #1 kdy: 10. 05. 2010, 14:56:50 »
Moudrá kniha říká:
Struktura rámce protokolu Ethernet závisí na použité normě. Struktura rámce protokolu Ethernet II :
Preambule - 8 B
Adresa příjemce - 6 B
Adresa odesilatele - 6 B
Protokol - 2 B
Data - 46 až 1500 B v případě že je potřeba přenášet méně dat, zprava doplněno dezvýznamnou výpjní.
Kontrolní součet - 4 B
Takže 72 - 8 (preambule) a jsme na tvých 64.
Započítáváš do délky bezvýznamnou výplň? Nebo jiný protokol Ethernet?

S pozdravem MiDu


Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #2 kdy: 10. 05. 2010, 15:36:27 »
Dakujem za odpoved.
Mna v prvom rade zaujal vypis z tcpdumpu:
proto TCP (6), length 40) 192.168.0.208.1446 > 192.168.0.1.22: ., cksum 0x3110 (correct), 1378296654:1378296654(0) ack 2067793457 win 65535

V danom vypise sa uvadza dlzka paketu 40B. Teraz si ale uvedomujem, ze sa pravdepodobne jedna o velkost TCP paketu a nie o velkost ethernet paketu. Prave si prehladavam manual k tcpdumpu, ale neviem, ako ho nastavit tak aby mi zobrazil velkost ethernet ramca.

Je tu ale problem. Na svojej pracovnej stanici som wiresharkom odchytil arp dotaz, v ktorom sa uvadza, ze frame ma velkost 60B a to si uz vysvetlit neviem. Neviem ako mam nazdielat screenshot z wiresharku, tak som to hodil na google picasa.
http://picasaweb.google.cz/111083103286936388820/ItVselico?authkey=Gv1sRgCJa70YbA6bj2Gw#5469632739329632242

faha

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #3 kdy: 10. 05. 2010, 15:42:45 »
Otazka je jak jste tu velikost zmenil, ja kdyz udelam arp request (linux) tak mi wireshark ukaze take "jen" 42 bytes.

Std. se ethernet ramce dorovnavaji(padding) na onech 64bytes.
Napr. wiresharak ale podle me tento padding neukazuje stejne jako Frame Check Sequence (FCS).

viz.
Beware: the minimum Ethernet packet size is commonly mentioned at 64 bytes, which is including the FCS. This can be confusing as the FCS is often not shown by Wireshark, simply because the underlying mechanisms simply don't supply it.

Ethernet Frame Structure
Preamble (7-bytes)
Start Frame Delimiter (1-byte)
Dest. MAC Address (6-bytes)
Source MAC Address (6-bytes)
Length / Type (2-bytes
MAC Client Data (0-n bytes)
Padding(0-p bytes)
Frame Check Sequence (4-bytes)

Cituji
MAC Client Data:
This field contains the data transferred from the source station to the destination station or stations. The maximum size of this field is 1500 bytes. If the size of this field is less than 46 bytes, then use of the subsequent "Pad" field is necessary to bring the frame size up to the minimum length.

Pad:
If necessary, extra data bytes are appended in this field to bring the frame length up to its minimum size. A minimum Ethernet frame size is 64 bytes from the Destination MAC Address field through the Frame Check Sequence.

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #4 kdy: 10. 05. 2010, 16:27:01 »
FCS wireshark ukazuje, vidno to aj na mojom screene ktory som ulozil na picasu.

Po dalsie, v tom screene je vidno, ze je tam aj trailer(to by malo byt to zarovnanie). Stale je to ale zarovnane na 60Bytov a nie na 64 :-)

Proste, som len skumavy clovek a nejako mi to nesedi. Je mi jasne, ze niekde robim chybu, ale chcem vediet kde :-)


MiDu

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #5 kdy: 10. 05. 2010, 18:19:20 »
Začneme počítat byty z obrázku:
Adresa příjemce = 6B
Adresa odesilatele = 6B
Protokol=2B
Dorovnání(Triler) = 28B
Kontrolní součet = 4B
ARP protokol:
Typ.link. = 2B
Typ.síť. = 2B
HS =1B
PS =1B
Operace = 4B
Odesilatelova link. adr. = 6B
Odesilatelova IP-adres. = 4B
Příjemcova link. adr. = 6B
Příjemcova IP-adres. = 4B
Když to sečtu tak jsem na nějakých 74 B.
Závěr:
Buď dorovnání je hex. a pak musím počítat s 14B a výsledek bude 60B ?????
Nebo počítám dobře a něco je nutné odečíst. Mě vychází Adresa příjemce+Adresa odesilatele+protokol a jsem na 60B ?????

MiDu.

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #6 kdy: 10. 05. 2010, 21:41:05 »
No, mas tam chybu, v tom dorovnani je iba 14B, takze ako pocitam s tym ostatnym-co mas spravne, tak je to naozaj iba 60B :-)

MiDu

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #7 kdy: 10. 05. 2010, 22:10:16 »
Jak víš že dorovnání je v hex a tedy 14 B, když řetězec nezačína 0x, i když se k tomu též přikláním.
Záhada je též kontrolní součet, který je špatný. To jsou také 4 B, které nám chybí. Někde jsem ale četl že se na kontrolní součet moc nehraje, nevím zda je to pravda?
Nevím.
MiDu.

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #8 kdy: 10. 05. 2010, 22:37:24 »
Někde jsem ale četl že se na kontrolní součet moc nehraje, nevím zda je to pravda?
Hraje. Jen jde o to, že počítání CRC by zbytečně zatěžovalo CPU, takže se „odlehčuje“ do hardwaru. Řadič síťové karty sám CRC počítá a ověřuje, takže je zbytečné, aby jeho pravou hodnotu posílal vyšším vrstvám. Stejné je to i u IP kontrolních součtů (proto obvykle Wireshark u odchozího provozu ukazuje pakety červeně, jako s neplatným CRC – ve skutečnosti ho počítá až nižší vrstva).

MiDu

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #9 kdy: 10. 05. 2010, 22:56:22 »
Můžeme tedy celou věc uzavřít tak že HW sebral ty 4 B co nám chybí?

Re: minimalni velikost ethernet paketu 64B a arp dotazy
« Odpověď #10 kdy: 10. 05. 2010, 23:32:35 »
No, uzavriet to mozeme,ale aj tak mi to vrta v hlave. Keby mal niekto nejaky napad, tak nech to napise. Zaujimalo by ma ako to vlastne je a kde sa tie 4B stratili.

A vsetkym, ktory sa aspon pokusili to vyriesit, dakujem za odpoved. Aspon ste ma nakopli ktorym smerom sa mam uberat...