Warstwa Internetu

Materiały edukacyjne z informatyki

Protokół IP

Protokół IP (Internet Protocol) – najważniejszy protokół transportowy sieci Internet. Jego jednostką danych jest datagram (pakiet). Protokół IP definiuje format i znaczenie pól pakietu, określa schemat adresowania stacji w Internecie, realizuje trasowanie (routing) pakietów, czyli wyznacza trasy ich poruszania się, zarządza fragmentacją i defragmentacją pakietów w sieciach o różnym domyślnym rozmiarze datagramu MTU (Maximum Transmission Unit).

Protokół IP jest bezpołączeniowy (nie ustanawia połączenia i nie sprawdza gotowości odległego komputera do transmisji) i niepewny (nie zapewnia wykrywania i korekcji błędów transmisji).

MAC header IP header DANE

Datagram IP
  Nagłówek – bity
słowa 0 4 8 12 16 20 24 28
1 Wersja IHL Typ usługi Długość całkowita
2 Identyfikator Flagi Przesunięcie frag.
3 Czas życia Protokół Suma kontrolna
4 Adres źródła
5 Adres przeznaczenia
6 Opcje Uzupełnienie
  DANE
  • Wersja (Version) – nr wersji protokołu IP, najczęściej spotykane oznaczenie to IPv4.
    IHL (Internet Header Length) – długość nagłówka w słowach 32-bitowych, min. 5.
  • Typ usługi (TOS – Type of Service) – definiuje pierwszeństwo, opóźnienie, przepustowość, niezawodność, pole najczęściej ignorowane przez routery.
  • Długość całkowita (Datagram Length) – długość całego pakietu IP (nagłówek + dane) w bajtach.
  • Identyfikator (Identification) – wyznacza fragmenty tworzące cały datagram.
  • Flagi (Flags) sterujące: bit 0 – zawsze 0, bit 1 (Don’t Fragment) – 0/1 (można/nie można fragmentować), bit 2 (More Fragment) – 0 (ostatni lub jedyny fragment) lub 1 (jeden z wielu fragmentów).
  • Przesunięcie fragmentacji (Fragment offset) (13 bitów) – pole wskazujące miejsce danego fragmentu w stosunku do początku całego datagramu podawane w jednostkach 8 bajtowych.
    Na podstawie pól Identyfikator, Flagi i Przesunięcie fragmentacji odbiorca łączy pofragmentowane datagramy w całość.
  • Czas życia (TTL – Time-to-Live) – pole zawierająca max. czas w sekundach pozostawania datagramu w Internecie, jego wartość jest zmniejszana o jeden po każdym przejściu przez router.
  • Protokół (Protocol) – wskazuje nr protokołu warstwy wyższej, do którego przekazana zostaną dane; numery protokołów w Linuksie zawarte są w pliku /etc/protocols.
  • Suma kontrolna (Header Check) – przeliczana i ustawiana za każdym razem, kiedy nagłówek jest przetwarzany.
  • Adres źródła (Source Address) i adres przeznaczenia (Destination Address) – adresy IP nadawcy i odbiorcy.
  • Opcje (Options) – pole o zmiennej długości zawierające informacje m.in. o zachowaniu w przypadku fragmentacji i routingu. Jeżeli pole opcji jest mniejsze od słowa, zostaje uzupełnione do 32 bitów (Uzupełnienie).
Na skróty
Kontakt