Ethernet

Struktura Ramki Ethernet

Szczegółowy podział pól w ramce Ethernet (Preambuła, Adresy MAC, FCS).

Ramka Ethernet

W sieciach komputerowych dane są dzielone na porcje przetwarzane niezależnie na łączu. W sieci Ethernet, działającej w warstwie łącza danych modelu OSI, taką porcję nazywa się ramką. Ramka zawiera dane klienta oraz pola adresowe i kontrolne potrzebne do przekazania jej w lokalnym segmencie.

Format ramki określa sposób odczytania adresów, pola typu lub długości oraz kontroli błędów. Na tej podstawie interfejs sieciowy i przełącznik mogą przetworzyć ramkę oraz przekazać ją dalej. W sieciach Ethernet współistnieją dwa formaty: Ethernet II (DIX), w którym pole wskazuje EtherType, oraz format IEEE 802.3, w którym to pole określa długość danych.

Anatomia ramki Ethernet II / IEEE 802.3

Ramka Ethernet składa się z pól warstwy MAC. Preambuła i znacznik początku ramki (SFD) należą do transmisji fizycznej, choć są często pokazywane razem z ramką. Sama ramka ma od 64 do 1518 bajtów od adresu docelowego do FCS. Po dodaniu 7 bajtów preambuły i 1 bajtu SFD transmisja zajmuje od 72 do 1526 bajtów, bez odstępu międzyramkowego. Przy doliczeniu minimalnego 12-bajtowego odstępu otrzymuje się czas odpowiadający 84 do 1538 bajtom transmisji na łączu. Odstęp międzyramkowy jest wymaganym czasem bezczynności łącza.

PoleRozmiar (bajty)Cel
Preambuła7Synchronizacja zegara odbiornika.
Znacznik początku ramki (SFD)1Oznacza koniec preambuły i początek właściwej ramki.
Docelowy adres MAC6Adres warstwy łącza danych interfejsu odbiorczego.
Źródłowy adres MAC6Adres warstwy łącza danych interfejsu nadawczego.
EtherType / długość2Identyfikuje protokół wyższej warstwy (Ethernet II) lub określa długość ładunku (IEEE 802.3).
Dane (ładunek) i wypełnienie46 - 1500Zawiera 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)4Pole do sprawdzania błędów w celu wykrycia błędów transmisji.

Pola ramki Ethernet

Pola ramki identyfikują odbiorcę, nadawcę i przenoszone dane.

1. Preambuła i znacznik początku ramki (SFD)

Te pierwsze 8 bajtów przygotowuje odbiornik do odebrania danych. Preambuła to 7-bajtowa sekwencja naprzemiennych jedynek i zer (10101010...). W klasycznym Ethernecie 10 Mb/s wzorzec wspiera odzyskanie zegara i synchronizację bitową odbiornika. Opis sygnału jako fali 10 MHz dotyczy tej szybkości.

Znacznik początku ramki (SFD) to 1-bajtowe pole ze wzorcem 10101011. Występuje natychmiast po preambule. Dwie ostatnie jedynki przełamują naprzemienny wzorzec i sygnalizują początek właściwej ramki.

2. Docelowy i źródłowy adres MAC

Te dwa pola zawierają adresy warstwy MAC, znane jako , urządzenia docelowego i źródłowego. Adresy te służą do przekazywania ramek w segmencie sieci. Oba pola mają długość 6 bajtów (48 bitów). Adres źródłowy identyfikuje nadający interfejs, a adres docelowy może wskazywać pojedynczy interfejs, grupę albo wszystkie stacje. Typ adresu grupowego wynika z pierwszego transmitowanego bitu.

3. Pole EtherType / długość

To 2-bajtowe pole ma różne znaczenie w formatach Ethernet II i IEEE 802.3. Wynika to ze współistnienia obu standardów.

Interfejs sieciowy porównuje wartość tego pola z zakresem EtherType i zakresem długości:

  • Jeśli wartość wynosi 1536 lub więcej (≥0x0600\ge 0x0600), 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 (≤0x05DC\le 0x05DC), pole jest interpretowane jako Długość następującego po nim pola danych. Wskazuje to na ramkę IEEE 802.3.

Wartości od 1501 do 1535 nie należą do zakresu długości IEEE 802.3 ani do zakresu EtherType.

4. Dane (ładunek) i wypełnienie (padding)

To pole zawiera dane z wyższych warstw, na przykład pakiet IP, oraz ewentualne wypełnienie. Jego rozmiar zależy od przenoszonego PDU.

Maksymalny standardowy rozmiar danych to 1500 bajtów, co odpowiada typowej . Większy PDU musi zostać podzielony zgodnie z protokołem i ścieżkowym MTU przed wysłaniem przez takie łącze.

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 spełnić wymaganie minimalnej długości ramki.

5. Sekwencja kontrolna ramki (FCS)

Ostatnie 4 bajty ramki zawierają Sekwencję Kontrolną Ramki. Pole służy do wykrywania błędów. Urządzenie wysyłające wykonuje obliczenia określane jako , na wszystkich polach od Docelowego MAC do końca pola Wypełnienia. 32-bitowy wynik jest umieszczany w polu FCS.

Urządzenie odbierające oblicza CRC dla odebranych pól. Zgodność z wartością FCS oznacza brak wykrytego błędu, lecz nie stanowi dowodu poprawności wszystkich bitów. Ramka może wtedy zostać przekazana do przetwarzania przez wyższe warstwy. Przy niezgodności ramka jest odrzucana. Ethernet wykrywa błędy, ale ich nie koryguje. Retransmisję mogą obsłużyć protokoły wyższych warstw, takie jak TCP.

Rozmiary ramek i warianty

Standardowy rozmiar ramki Ethernet od adresu docelowego do FCS wynosi od 64 do 1518 bajtów. Warianty mogą zmieniać tę wartość. Najpopularniejszym jest tagowanie , które dodaje 4-bajtowy tag do ramki i zwiększa maksymalny rozmiar do 1522 bajtów. W niektórych sieciach stosuje się także niestandardowe Jumbo Frames o rozmiarze 9000 bajtów lub większym. Wszystkie urządzenia na ścieżce muszą wtedy obsługiwać tę samą wartość.

Powiązane artykuły