Ethernetový rámec: kam se poděl drát
Ethernetový rámec má pevně danou režii a stojí za to ji vidět v číslech, protože z ní plyne skoro všechno ostatní v téhle labce.
| část | bajtů | k čemu |
|---|---|---|
| preambule + SFD | 8 | rozběh a značka „teď to začíná“ (týž problém jako start bit u UARTu) |
| cílová a zdrojová adresa | 12 | kdo komu |
| typ / délka | 2 | co je uvnitř |
| data | 46–1500 | to jediné, o co jde |
| FCS | 4 | CRC-32 z LinkLabu |
| mezera mezi rámci | 12 | aby se stihl přijímač připravit |
| režie celkem 38 | ||
Ta spodní hranice je past
Rámec kratší než 64 bajtů (mezi SFD a mezerou) se doplní výplní. Osm bajtů dat tedy stojí úplně stejně jako čtyřicet šest — 84 bajtových dob na drátě. Kdo v regulaci posílá jednu hodnotu na paket, platí za devět desetin drátu, který nic nepřeváží.
Ta hranice není svévole. V původním Ethernetu na společném médiu musela být kolize rozpoznaná dřív, než odesílatel dovysílá — jinak by o ní nevěděl. 64 bajtů při 10 Mb/s je 51,2 µs, což je zpáteční cesta po 2500 metrech kabelu. Ta hranice je délka kabelu přepočtená na bajty, a přežila i poté, co kolize dávno zmizely.
Horní hranice a proč se nezvedla
1500 bajtů dat vychází z toho, kolik si mohl dovolit vyrovnávací paměť adaptéru v roce 1980. Zvýšit ji na 9000 („jumbo rámce“) zvedne účinnost z 97,5 % na 99,6 % — jenže všechna zařízení na cestě to musí umět, a jediné, které neumí, tiše zahodí každý velký rámec. Proto se to mimo datová centra skoro nepoužívá.
A jeden důsledek, který se počítá až v kapitole 9: plný rámec při 100 Mb/s trvá 123 µs. To je celý cyklus smyčky, která běží na 8 kHz — a přepínač takový rámec uprostřed nepřeruší. Ta doba je tedy spodní mez toho, jak nepravidelná může být síť, po které se řídí.