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.
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ą:
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.


