Struktura Ramki Ethernet
Szczegółowy podział pól w ramce Ethernet (Preambuła, Adresy MAC, FCS).
Czym jest Ramka Ethernet?
W sieciach komputerowych dane nie są wysyłane jako ciągły, niekończący się strumień. Zamiast tego są dzielone na zarządzalne porcje. W kontekście sieci Ethernet (Warstwa 2 modelu OSI), taka porcja danych nazywana jest ramką. Ramkę Ethernet można porównać do cyfrowej koperty: zawiera ona dane, które chcesz wysłać (list), ale jest również opakowana w kluczowe informacje adresowe i kontrolne (adres, znaczek, materiał koperty), aby zapewnić jej prawidłowe dotarcie do celu w sieci lokalnej.
Ten ustrukturyzowany format jest fundamentalny dla działania Ethernetu. Każde urządzenie w sieci Ethernet, od komputera po przełącznik sieciowy, rozumie tę strukturę. Pozwala im to odczytywać adresy, sprawdzać błędy i przesyłać dane we właściwe miejsce. Istnieją dwa dominujące formaty ramek, które są bardzo podobne i często używane zamiennie: oryginalny Ethernet II (zwany także DIX) oraz nieznacznie zmodyfikowany standard IEEE 802.3.
Anatomia Ramki Ethernet II / IEEE 802.3
Ramka Ethernet składa się z kilku odrębnych sekcji, zwanych „polami”. Chociaż niektóre pola technicznie są częścią transmisji fizycznej, a nie samej ramki, zrozumienie ich wszystkich jest kluczowe. Całkowity rozmiar standardowej ramki na kablu może wahać się od minimum 84 bajtów do maksimum 1538 bajtów, wliczając wszystkie części.
Eksplorator ramki Ethernet II
Kliknij pole, aby poznać jego funkcję i zobaczyć typowe ładunki.
Przykładowe ładunki
28-bajtowy pakiet ARP z paddingiem do minimalnej długości ramki (64 B).
0x001C (28 bajtów + padding)
Adres MAC odbiorcy – unicast, multicast lub broadcast (FF:FF:FF:FF:FF:FF).
Ramki krótsze niż 64 bajty uważa się za runt. Standardowy ładunek Ethernet II to maksymalnie 1500 bajtów (bez ramek jumbo).
| Pole | Rozmiar (Bity) | Cel |
|---|---|---|
| Preambuła | 7 | Synchronizacja zegara odbiornika. |
| Znacznik Początku Ramki (SFD) | 1 | Oznacza koniec preambuły i początek właściwej ramki. |
| Docelowy Adres MAC | 6 | Fizyczny adres urządzenia odbiorczego. |
| Źródłowy Adres MAC | 6 | Fizyczny adres urządzenia nadawczego. |
| EtherType / Długość | 2 | Identyfikuje protokół wyższej warstwy (Ethernet II) lub określa długość ładunku (IEEE 802.3). |
| Dane (Ładunek) i Wypełnienie | 46 - 1500 | Zawiera właściwe przesyłane dane (np. pakiet IP). Wypełnienie jest dodawane, jeśli dane są mniejsze niż 46 bajtów. |
| Sekwencja Kontrolna Ramki (FCS) | 4 | Pole do sprawdzania błędów w celu wykrycia błędów transmisji. |
Szczegółowa Analiza Pól
Przyjrzyjmy się szczegółowo każdej części ramki.
1. Preambuła i Znacznik Początku Ramki (SFD)
Te pierwsze 8 bajtów współpracują ze sobą, aby przygotować urządzenie odbiorcze na nadchodzące dane. Preambuła to 7-bajtowa sekwencja naprzemiennych jedynek i zer (`10101010...`). Ten wzorzec tworzy stabilną falę prostokątną 10 MHz na przewodzie, co pozwala obwodom odbiornika zsynchronizować się z sygnałem zegarowym nadawcy i osiągnąć synchronizację na poziomie bitów.
Znacznik Początku Ramki (SFD) to 1-bajtowe pole ze wzorcem `10101011`. Występuje natychmiast po preambule. Dwie ostatnie jedynki przełamują naprzemienny wzorzec, sygnalizując odbiornikowi: „Synchronizacja zakończona, właściwa ramka zaczyna się od następnego bitu!”
2. Docelowy i Źródłowy Adres MAC
Te dwa pola zawierają fizyczne adresy sprzętowe, znane jako , urządzeń docelowego i źródłowego. Adresy te są niezbędne do dostarczania ramek w lokalnym segmencie sieci. Oba pola mają długość 6 bajtów (48 bitów). Adres Źródłowy to zawsze unikalny adres urządzenia nadawczego. Adres Docelowy może być jednego z trzech typów, co jest determinowane przez pierwszy transmitowany bit.
3. Pole EtherType / Długość
To 2-bajtowe pole jest sprytne, ale może być mylące, ponieważ służy do dwóch różnych celów w zależności od swojej wartości. Jest to wynik współistnienia standardów Ethernet II i IEEE 802.3.
Odbierająca karta sieciowa (NIC) patrzy na wartość dziesiętną tego pola, aby zdecydować, jak interpretować ramkę:
- Jeśli wartość wynosi 1536 lub więcej (), pole jest interpretowane jako EtherType. Wskazuje to na ramkę Ethernet II, a wartość informuje urządzenie odbiorcze, który protokół wyższej warstwy (np. IPv4, IPv6, ARP) jest zamknięty w ładunku danych.
- Jeśli wartość wynosi 1500 lub mniej (), pole jest interpretowane jako Długość następującego po nim pola danych. Wskazuje to na ramkę IEEE 802.3.
4. Dane (Ładunek) i Wypełnienie (Padding)
To jest właściwy „list w kopercie”. Zawiera dane z wyższych warstw sieci, takie jak pakiet IP. Rozmiar tego pola może się różnić.
Maksymalny rozmiar ładunku to 1500 bajtów, co jest znane jako . Jeśli pakiet wyższej warstwy jest większy, musi zostać pofragmentowany przed wysłaniem.
Ethernet ma również wymóg minimalnego rozmiaru ramki wynoszący 64 bajty (od Docelowego MAC do FCS). Dlatego ładunek danych musi mieć co najmniej 46 bajtów. Jeśli faktyczne dane są mniejsze niż 46 bajtów, nadawca dodaje dodatkowe, bez znaczenia bajty zwane Wypełnieniem (Padding), aby doprowadzić pole do wymaganego minimum.
5. Sekwencja Kontrolna Ramki (FCS)
Ostatnie 4 bajty ramki zawierają Sekwencję Kontrolną Ramki. Pole to służy do wykrywania błędów. Urządzenie wysyłające wykonuje obliczenia matematyczne, tzw. , na wszystkich polach od Docelowego MAC do końca pola Wypełnienia. 32-bitowy wynik jest umieszczany w polu FCS.
Urządzenie odbierające wykonuje dokładnie te same obliczenia na odebranej ramce. Jeśli obliczony przez nie wynik zgadza się z wartością w polu FCS, ramka jest uznawana za wolną od błędów i przekazywana do wyższej warstwy sieci. Jeśli wartości się nie zgadzają, oznacza to, że bit został zmieniony podczas transmisji, a cała ramka jest po cichu odrzucana. Ethernet zapewnia wykrywanie błędów, ale nie ich korekcję; polega na protokołach wyższych warstw (takich jak TCP) w kwestii retransmisji utraconych danych.
Rozmiary Ramek i Warianty
Podsumowując, minimalny rozmiar ramki Ethernet (od adresu docelowego do FCS) to 64 bajty, a maksymalny to 1518 bajtów. Istnieją jednak warianty, które mogą zmieniać ten rozmiar. Najpopularniejszym jest tagowanie , które dodaje dodatkowe 4-bajtowe pole do nagłówka, zwiększając maksymalny rozmiar ramki do 1522 bajtów. Istnieją również niestandardowe "Jumbo Frames" używane w niektórych sieciach o wysokiej wydajności, które mogą mieć rozmiar 9000 bajtów lub więcej, ale wymagają one spójnej konfiguracji na wszystkich urządzeniach.