Nagłówek pakietu IP: Format, Pola

⚡ Inteligentne podsumowanie

Nagłówek IP to metadane umieszczane na początku każdego pakietu IP, zawierające pola takie jak wersja, długość nagłówka, całkowita długość, czas życia, protokół, suma kontrolna oraz adresy źródłowy i docelowy, które routery odczytywały w celu przesyłania danych.

  • 🧭 Cel: Nagłówek IP przechowuje szczegóły routingu i dostarczania, aby każdy pakiet dotarł do właściwego miejsca przeznaczenia w sieciach.
  • 📏 Rozmiar: Nagłówek IPv4 ma długość od 20 do 60 bajtów i jest określany przez pole Długość nagłówka internetowego.
  • 🧱 Pola kluczowe: Podstawowe pola obejmują wersję, IHL, typ usługi, całkowitą długość, TTL, protokół, sumę kontrolną i adresy.
  • 🔀 Podział: Identyfikacja, flagi i przesunięcie fragmentu umożliwiają poprawne dzielenie i ponowne składanie dużych datagramów.
  • 🆚 IPv4 a IPv6: W protokole IPv6 zmienny nagłówek zostaje zastąpiony stałym nagłówkiem o długości 40 bajtów, a pole sumy kontrolnej zostaje pominięte.
  • 🤖 Pomoc AI: Analizatory pakietów AI automatycznie analizują nagłówki IP w celu sygnalizowania nieprawidłowości i przyspieszenia rozwiązywania problemów.

Format i pola nagłówka pakietu IP

Co to jest nagłówek IP?

Nagłówek IP to metadane na początku pakietu IP. Zawierają one takie informacje, jak wersja IP, długość pakietu, źródło i miejsce docelowe.

Format nagłówka IPv4 ma długość od 20 do 60 bajtów i zawiera informacje niezbędne do routingu i dostarczania. Składa się z pól takich jak: wersja, długość nagłówka, długość całkowita, identyfikator, flagi, suma kontrolna, źródłowy adres IP i docelowy adres IP. Razem pola te dostarczają niezbędnych danych do… transmit niezawodnie przesyła pakiet z jednego hosta do drugiego.

Składniki/pola nagłówka IPv4

Poniższy diagram przedstawia kompletny format nagłówka IPv4, gdzie każde pole jest narysowane we właściwym miejscu i z odpowiednią szerokością bitową:

Diagram formatu nagłówka pakietu IPv4 pokazujący wszystkie pola i ich pozycje bitowe

Poniżej przedstawiono różne komponenty/pola nagłówka pakietu IP:

  • Wersja: Pierwsze pole nagłówka IP to 4-bitowy wskaźnik wersji. W IPv4 wartość tych czterech bitów jest ustawiona na 0100, co oznacza 4 w systemie binarnym. Jeśli router nie obsługuje określonej wersji, pakiet jest odrzucany.
  • Długość nagłówka internetowego: Długość nagłówka internetowego, w skrócie IHL, wynosi 4 bity. Nazywana jest również HELEN (Header Length). Ten składnik IP pokazuje liczbę 32-bitowych słów w nagłówku.
  • Typ usługi: Rodzaj usługi nazywany jest również usługami zróżnicowanymi Code Punkt, czyli DSCP. To pole udostępnia funkcje związane z jakością usługi dla strumieniowego przesyłania danych lub połączeń VoIP. Pierwsze 3 bity to bity priorytetu. Określa również sposób obsługi datagramu.
  • Długość całkowita: Całkowita długość jest mierzona w bajtach. Minimalny rozmiar datagramu IP to 20 bajtów, a maksymalny 65 535 bajtów. Do obliczenia rozmiaru ładunku można użyć parametru HELEN i długości całkowitej. Wszystkie hosty muszą być w stanie odczytać datagramy o rozmiarze 576 bajtów. Jeśli jednak datagram jest zbyt duży dla hostów w sieci, powszechnie stosuje się metodę fragmentacji.
  • Identyfikacja: Identyfikacja to pole służące do jednoznacznej identyfikacji fragmentów datagramu IP. Niektórzy zalecają używanie tego pola do innych celów, takich jak dodawanie informacji o pakiecie. tracing.
  • Flagi IP: Flagi to trzybitowe pole, które pomaga kontrolować i identyfikować fragmenty. Możliwe konfiguracje to: bit 0 jest zarezerwowany i musi być ustawiony na zero; bit 1 oznacza brak fragmentacji; a bit 2 oznacza więcej fragmentów.
  • Przesunięcie fragmentu: Przesunięcie fragmentu reprezentuje liczbę bajtów danych przed danym fragmentem w danym datagramie. Jest ono określane w jednostkach 8 bajtów i ma wartość maksymalną 65 528 bajtów.
  • Czas żyć: Jest to 8-bitowe pole, które wskazuje maksymalny czas, jaki datagram może spędzić w systemie internetowym. Za każdym razem, gdy datagram jest przetwarzany, jego wartość TTL jest zmniejszana o jeden. Gdy wartość TTL osiągnie zero, datagram jest odrzucany, aby pakiety nie były dostarczane w nieskończoność. Wartość TTL może wynosić od 0 do 255.
  • Protokół: To pole nagłówka IPv4 wskazuje, który protokół internetowy jest przenoszony w dalszej części datagramu. Na przykład, liczba 6 oznacza protokół TCP, a 17 protokół UDP.
  • Suma kontrolna nagłówka: Kolejnym komponentem jest 16-bitowe pole sumy kontrolnej nagłówka, które służy do sprawdzania nagłówka pod kątem błędów. Nagłówek IP jest porównywany z wartością sumy kontrolnej. Jeśli suma kontrolna nagłówka się nie zgadza, pakiet jest odrzucany.
  • Adres źródłowy: Adres źródłowy to 32-bitowy adres źródła używany w pakiecie IPv4.
  • Adres przeznaczenia: Adres docelowy ma również 32 bity i przechowuje adres odbiorcy.
  • Opcje IP: To opcjonalne pole nagłówka IPv4, używane, gdy wartość parametru IHL (Internet Header Length) jest większa niż 5. Zawiera ono wartości i ustawienia związane z bezpieczeństwem, trasą rekordów, znacznikiem czasu i podobnymi opcjami. Lista opcji zazwyczaj kończy się znacznikiem końca listy opcji (EOL).
  • Data: W tym polu przechowywane są dane z warstwy protokołu, która przekazała dane do warstwy IP.

Jak obliczyć długość nagłówka IPv4

Pole „Długość nagłówka internetowego” (IHL) informuje router o dokładnej długości nagłówka, dzięki czemu wie, gdzie się kończy, a gdzie zaczynają się dane. Ponieważ pole ma tylko 4 bity szerokości, nie przechowuje ono długości bezpośrednio w bajtach. Zamiast tego zlicza nagłówek w 32-bitowych słowach, gdzie każde słowo odpowiada 4 bajtom.

Aby przeliczyć wartość IHL na bajty, należy pomnożyć ją przez 4:

  • minimalna: Najmniejsza dopuszczalna wartość prawa humanitarnego to 5, więc 5 × 4 = 20 bajtów. To nagłówek bez opcji.
  • Maksymalny: Największa wartość IHL to 15, więc 15 × 4 = 60 bajtów. Dodatkowe 40 bajtów zawiera pola opcjonalne.

Rozważmy przykład. Jeśli pakiet otrzyma wartość IHL równą 6, długość nagłówka wynosi 6 × 4 = 24 bajty, co oznacza, że ​​po standardowym 20-bajtowym nagłówku znajdują się 4 bajty opcji. Aby znaleźć rozmiar ładunku, należy użyćtracDługość nagłówka z pola „Całkowita długość”. Jeśli całkowita długość wynosi 1,500 bajtów, a nagłówek 24 bajty, to ładunek wynosi 1,500 − 24 = 1,476 bajtów.

To obliczenie ma znaczenie podczas fragmentacji, ponieważ router musi znać rozmiar nagłówka, aby obliczyć, ile danych może przenieść każdy fragment, nie przekraczając maksymalnego limitu sieci. Transmission Jednostka (MTU).

Nagłówek IPv4 vs IPv6

Nagłówek IPv6 został przeprojektowany, aby był prostszy i szybszy w przetwarzaniu niż nagłówek IPv4. Używa on stałej długości i przenosi rzadko używane opcje do oddzielnych nagłówków rozszerzeń, dzięki czemu routery mogą przekazywać pakiety z prędkością łącza. Poniższa tabela porównuje oba nagłówki pole po polu:

Cecha Nagłówek IPv4 Nagłówek IPv6
Rozmiar nagłówka od 20 do 60 bajtów (zmienna) 40 bajty (stałe)
Liczba pól 13 pól plus opcje 8 pól
Długość adresu 32-bitowe źródło i cel 128-bitowe źródło i cel
Suma kontrolna nagłówka Teraźniejszość Usunięto
Pola fragmentacji W nagłówku podstawowym (Identyfikacja, Flagi, Przesunięcie) Przeniesiono do nagłówka rozszerzenia fragmentu
Opcje Przenoszony wewnątrz nagłówka Przenoszone w nagłówkach rozszerzeń
Pole długości Całkowita długość (nagłówek i dane) Długość ładunku (tylko ładunek)

Ponieważ protokół IPv6 pomija sumę kontrolną i opcje o zmiennej długości, jego nagłówek zawiera mniej pól i może być przetwarzany sprzętowo, bez konieczności ponownego obliczania dla każdego skoku.

Dlaczego nagłówek IP jest ważny

Każde pole w nagłówku IP istnieje po to, aby routery i hosty mogły przesyłać pakiety przez wiele sieci bez stałego połączenia między nimi. Nagłówek umożliwia działanie przełączania pakietów.

  • Routing: Adres docelowy informuje każdy router, dokąd ma przesłać pakiet, natomiast adres źródłowy umożliwia zwracanie odpowiedzi i komunikatów o błędach.
  • Zapobieganie pętlom: Pole Time to Live jest zmniejszane przy każdym przeskoku, więc błędnie skierowany pakiet jest odrzucany zamiast krążyć po internecie w nieskończoność.
  • Dostawa zgodnie z właściwym protokołem: Pole Protokół informuje hosta odbierającego, czy przekazać ładunek za pomocą protokołu TCP, UDP czy innego.
  • Integrity i ponowny montaż: Suma kontrolna chroni nagłówek przed uszkodzeniem, a pola Identyfikacja, Flagi i Przesunięcie fragmentu pozwalają na odbudowę pofragmentowanego datagramu w odpowiedniej kolejności.

Dla inżynierów sieciowych czytanie tych pól w TCP / IP przechwytywanie jest często najszybszym sposobem diagnozowania utraconych pakietów, pętli routingu i błędnie skonfigurowanych pakietów Adresy IP.

FAQ

Długość nagłówka (IHL) mierzy tylko nagłówek, w słowach 32-bitowych i waha się od 20 do 60 bajtów. Długość całkowita mierzy cały datagram — nagłówek i dane — w bajtach, do 65 535.tracPołączenie jednego z drugim daje rozmiar ładunku.

Fragmentacja dzieli datagram, który jest większy niż maksymalna długość łącza Transmission Jednostka na mniejsze części. Pola Identyfikacja, Flagi i Przesunięcie Fragmentu pozwalają odbiorcy na ponowne złożenie części w odpowiedniej kolejności. Dzieje się tak za każdym razem, gdy pakiet musi przejść przez sieć o mniejszym MTU.

Nagłówek IPv4 składa się z 13 stałych pól – Wersja, IHL, Rodzaj usługi, Długość całkowita, Identyfikator, Flagi, Przesunięcie fragmentu, TTL, Protokół, Suma kontrolna, Adres źródłowy, Adres docelowy oraz opcjonalne pole Opcje. Sekcja Dane, która następuje po tym, to treść, a nie pole nagłówka.

Nie. Suma kontrolna nagłówka IPv4 obejmuje tylko pola nagłówka, a nie dane. Protokoły wyższych warstw, takie jak TCP i UDP, stosują własne sumy kontrolne w celu ochrony danych. Ponieważ TTL zmienia się przy każdym przeskoku, routery przeliczają sumę kontrolną nagłówka przy każdym przekazaniu.

Gdy TTL osiągnie zero, router odrzuca pakiet i zwraca do źródła komunikat ICMP o przekroczeniu czasu. Zapobiega to przeszukiwaniu pakietów.ping na zawsze w pętli routingu. traceroute Narzędzie wykorzystuje to zachowanie do mapowania każdego przeskoku na ścieżce.

Pole Protokół określa, który protokół warstwy wyższej powinien odebrać ładunek w miejscu docelowym. Typowe wartości to 6 dla TCP, 17 dla UDP i 1 dla ICMP. Host odbierający odczytuje tę liczbę, aby przekazać dane do odpowiedniego modułu obsługi.

Narzędzia sztucznej inteligencji i uczenia maszynowego analizują przechwycone nagłówki IP, aby wykryć anomalie, takie jak podrobione adresy źródłowe, nieprawidłowe wartości TTL czy ataki fragmentacyjne. Klasyfikują ruch i sygnalizują zagrożenia szybciej niż ręczna inspekcja, choć inżynier i tak musi potwierdzić wyniki przed podjęciem działań.

Drugi pilot GitHub może szkicować Python lub kod C, który rozpakowuje pola nagłówka IP, dekoduje flagi i weryfikuje sumy kontrolne z krótkiego komentarza. Revuważnie przejrzyj wygenerowaną logikę maskowania bitowego, ponieważ przesunięcia o jeden są częstym źródłem błędów parsowania.

Podsumuj ten post następująco: