Budowa ramki Ethernet wygląda prosto tylko na schemacie. W praktyce znajomość jej pól pomaga odróżnić adresowanie od kontroli błędów, zrozumieć różnicę między Ethernet II a IEEE 802.3 i szybciej znaleźć przyczynę problemu w sieci LAN. Ja zwykle zaczynam od jednego pytania: co jest jeszcze częścią ramki, a co należy już do sygnału na medium.
Najważniejsze elementy, które trzeba zapamiętać
- Preambuła i SFD służą synchronizacji, ale nie liczą się do długości ramki.
- Dwa adresy MAC mają po 6 bajtów każdy i są podstawą identyfikacji nadawcy oraz odbiorcy.
- Pole EtherType albo długości ma 2 bajty i decyduje o interpretacji dalszej części ramki.
- Ładunek ma zwykle 46-1500 bajtów, a krótsze ramki dostają padding.
- FCS ma 4 bajty i odpowiada za wykrywanie uszkodzeń transmisji.
- Tag VLAN 802.1Q dokłada 4 bajty i zmienia maksymalny rozmiar ramki do 1522 bajtów.

Z czego składa się ramka Ethernet
Ja zawsze zaczynam od jednego rozróżnienia: preambuła i SFD pomagają karcie sieciowej zsynchronizować odbiór, ale nie są liczone do długości ramki na poziomie warstwy 2. To samo dotyczy przerwy między ramkami, czyli interframe gap, która istnieje na łączu, lecz nie w samej ramce.
| Pole | Rozmiar | Rola | Co warto o nim wiedzieć |
|---|---|---|---|
| Preambuła | 7 bajtów | Synchronizacja zegara odbiornika | Tworzy powtarzalny wzór bitów, który ułatwia start odbioru. Nie jest częścią ramki liczonej przez analizatory L2. |
| SFD | 1 bajt | Oznaczenie początku ramki | Kończy sekwencję synchronizacji i wskazuje, że za chwilę zacznie się właściwy nagłówek. |
| Adres docelowy MAC | 6 bajtów | Wskazanie odbiorcy | Może oznaczać pojedynczy host, grupę multicast albo broadcast FF:FF:FF:FF:FF:FF. |
| Adres źródłowy MAC | 6 bajtów | Wskazanie nadawcy | To zwykle unikalny adres interfejsu, dzięki któremu widać, skąd ramka przyszła. |
| EtherType / długość | 2 bajty | Interpretacja dalszych danych | W Ethernet II wskazuje typ protokołu, a w IEEE 802.3 długość ładunku. |
| Dane | 46-1500 bajtów | Ładunek przenoszony przez ramkę | Tu najczęściej znajduje się IP, ARP, IPv6 albo inne dane warstwy wyższej. Krótszy ładunek wymaga paddingu. |
| FCS | 4 bajty | Kontrola błędów | Jest to CRC-32. Jeśli wynik się nie zgadza, ramka powinna zostać odrzucona. |
Najważniejsze z praktycznego punktu widzenia są więc adresy MAC, pole typu lub długości, ładunek i FCS. Gdy ktoś myli te poziomy, łatwo błędnie uznać poprawną ramkę za uszkodzoną albo odwrotnie. Gdy ten układ jest jasny, można przejść do dwóch najczęściej mylonych formatów Ethernetu.
Ethernet II i IEEE 802.3 różnią się tam, gdzie najłatwiej się pomylić
Gdy wiesz już, co siedzi w środku, trzeba rozróżnić dwa najczęściej spotykane formaty. Ethernet II jest dziś standardem de facto dla ruchu IP, a IEEE 802.3 ma bardziej formalny, starszy sposób opisu pola po adresie źródłowym. W praktyce różnica nie jest akademicka, bo od niej zależy, jak interpretujesz dalsze bajty ramki.
| Cecha | Ethernet II | IEEE 802.3 | Znaczenie w praktyce |
|---|---|---|---|
| Drugie pole po adresach MAC | EtherType | Długość | W Ethernet II pole wskazuje protokół wyższej warstwy, w 802.3 mówi tylko, ile bajtów ma ładunek. |
| Typowe wartości |
0x0800, 0x0806, 0x86DD
|
Do 1500 |
0x0800 oznacza IPv4, 0x0806 ARP, a 0x86DD IPv6. |
| Co jest dalej | Od razu ładunek protokołu wyższej warstwy | Najpierw LLC, czasem SNAP | IEEE 802.3 potrzebuje dodatkowego opisu, żeby odbiornik wiedział, co zrobić z danymi. |
| Najczęstsze zastosowanie | Sieci LAN z ruchem IP | Starsze lub specyficzne wdrożenia | W codziennej diagnostyce częściej spotkasz Ethernet II, bo jest prostszy do odczytu. |
Warto pamiętać, że wartości do 1500 interpretuje się jako długość, a od 1536 wzwyż jako EtherType. Zakres pośredni nie służy do zwykłej interpretacji ramki, więc nie ma sensu dopisywać mu własnego znaczenia. To właśnie dlatego Ethernet II tak dobrze sprawdza się w analizie ruchu, bo pozwala od razu zobaczyć, czy w środku jest IP, ARP czy IPv6. Następny krok to tag VLAN, który często zmienia sposób liczenia rozmiaru ramek.
Tag VLAN 802.1Q dokłada 4 bajty i porządkuje ruch
W sieciach biurowych i przemysłowych tag VLAN 802.1Q pojawia się bardzo często. Dokleja on 4 bajty między adres źródłowy a pole EtherType lub długość, dzięki czemu przełącznik wie, do jakiej sieci logicznej należy ruch. To nie jest kosmetyka, tylko realny mechanizm segmentacji, który pomaga oddzielić na przykład automatykę, monitoring i ruch użytkowników.
| Element tagu | Rozmiar | Funkcja | Dlaczego ma znaczenie |
|---|---|---|---|
| TPID | 2 bajty | Wskazuje, że ramka jest oznaczona tagiem 802.1Q | Najczęściej ma wartość 0x8100. |
| TCI | 2 bajty | Przenosi informacje o priorytecie i VLAN ID | To właśnie tu zapisuje się parametry, które przełącznik interpretuje przy obsłudze ruchu. |
- PCP określa priorytet ruchu, czyli to, jak przełącznik ma traktować ramkę w kolejce.
- DEI wskazuje, czy ramka może zostać odrzucona przy przeciążeniu.
- VID identyfikuje konkretny VLAN i porządkuje segmentację sieci.
W praktyce tag VLAN wpływa także na rozmiar ramki. Klasyczna ramka bez tagu kończy się na 1518 bajtach, a pojedynczy tag 802.1Q podnosi ten limit do 1522 bajtów. Jeśli ktoś ustawi analizę pod sztywny limit 1518 bajtów dla całego ruchu, szybko zacznie widzieć fałszywe alarmy. Z rozmiarem wiąże się jeszcze padding, a to właśnie on najczęściej wywołuje niepotrzebne pytania.
Jak liczyć rozmiar ramki i kiedy potrzebny jest padding
Tu najłatwiej o pomyłkę, bo ludzie mieszają długość samej ramki, MTU i odstęp między ramkami. Ja patrzę na to tak: 1500 bajtów to klasyczny limit ładunku, 64 bajty to minimalny rozmiar ramki liczonej od adresu docelowego do FCS, a 12 bajtów interframe gap nie wchodzi do tego rachunku.
- Minimalna długość ramki od adresu docelowego do FCS to 64 bajty.
- Maksymalna długość klasycznej ramki bez VLAN to 1518 bajtów.
- Maksymalna długość przy jednym tagu 802.1Q to 1522 bajty.
- Ładunek poniżej 46 bajtów wymaga paddingu, zwykle wypełnienia zerami.
- Preambuła, SFD i interframe gap są obecne na łączu, ale nie są liczone do rozmiaru ramki warstwy 2.
Jeśli ładunek ma na przykład 30 bajtów, karta sieciowa dopisze padding, żeby osiągnąć minimum. To normalne zachowanie, a nie błąd aplikacji. O prawdziwym problemie mówimy dopiero wtedy, gdy urządzenia po obu stronach nie zgadzają się co do rozmiaru, tagowania albo obsługi jumbo frames. Kiedy to już jasne, można przejść do błędów, które w analizie pojawiają się najczęściej.
Najczęstsze błędy przy analizie ramek w praktyce
W analizie ramek najczęściej widzę pięć nieporozumień. Każde z nich brzmi niewinnie, ale potrafi popsuć diagnostykę bardziej niż sam błąd sieciowy. I właśnie dlatego warto je znać wcześniej, a nie po godzinie bezowocnego szukania przyczyny.
- Liczenie preambuły, SFD albo interframe gap do rozmiaru ramki. To elementy transmisji, ale nie samej ramki.
- Traktowanie każdego 2-bajtowego pola jako EtherType. W IEEE 802.3 może to być długość, a nie typ protokołu.
- Uznawanie paddingu za zbędne śmieci. Przy krótkim ładunku jest on całkowicie poprawny.
- Szukanie FCS w każdym zrzucie. Wiele kart i sterowników usuwa go jeszcze przed przekazaniem pakietu do narzędzia przechwytującego.
- Pomijanie wpływu VLAN-u na długość ramki. Dodatkowe 4 bajty mają znaczenie przy analizie limitów i zgodności konfiguracji.
Jeśli po tych punktach coś nadal wygląda dziwnie, problem często leży nie w samej ramce, tylko w sposobie jej przechwycenia albo interpretacji. I dokładnie tu przydaje się praktyczne czytanie nagłówka w narzędziu diagnostycznym, bo teoria bez podglądu ruchu szybko traci wartość.
Jak czytać ramkę w Wiresharku bez zgadywania
W Wiresharku zaczynam od trzech pytań: kto nadaje, do kogo idzie i jaki protokół siedzi w payloadzie. To wystarcza, żeby szybko odsiać zwykły ruch od tego, który wymaga głębszej analizy. Ja w praktyce patrzę właśnie na ten porządek, bo skraca diagnostykę bardziej niż rozbudowane przypuszczenia.
- Sprawdź adres docelowy, żeby rozpoznać unicast, multicast albo broadcast.
- Odczytaj pole EtherType lub długości i ustal, czy w środku jest np. IPv4, ARP czy IPv6.
- Sprawdź, czy pojawia się tag 802.1Q, bo zmienia on interpretację całej ramki.
- Porównaj długość z limitami 64, 1518 i 1522 bajtów oraz oceń, czy padding jest naturalny.
- Jeśli masz dostęp do informacji o błędach FCS, użyj ich do potwierdzenia problemu transmisyjnego.
W praktyce wystarczy już ta krótka sekwencja, żeby znaleźć źródło wielu problemów z łącznością, VLAN-em albo konfiguracją przełącznika. Na hali produkcyjnej, w szafie RACK czy przy kamerach IP ten sam schemat myślenia oszczędza czas, bo nie zaczynasz od zgadywania, tylko od konkretów.
Co daje zrozumienie tej struktury w sieciach biurowych i przemysłowych
W sieciach biurowych i przemysłowych znajomość tej struktury pomaga przy trzech rzeczach: segmentacji VLAN, kontroli MTU oraz diagnozie błędów warstwy łącza. Gdy pracuję z automatyką, właśnie te elementy najczęściej decydują o tym, czy komunikacja działa od ręki, czy wymaga długiego szukania przyczyny. To szczególnie ważne tam, gdzie obok siebie pracują PLC, panele HMI, kamery i zwykłe stacje robocze.
Jeśli mam wskazać jedną praktyczną korzyść, to jest nią szybsze odróżnienie problemu logicznego od problemu transmisyjnego. Gdy rozumiesz, jak zbudowana jest ramka Ethernet, łatwiej ocenić, czy winny jest zły tag VLAN, za małe MTU, błędny port przełącznika, czy może uszkodzenie na poziomie medium. Właśnie dlatego ta wiedza nie jest teorią dla teorii, tylko narzędziem, które realnie skraca diagnostykę i porządkuje pracę z siecią.