Protokoły warstwy sieci

Warstwa sieci (3 warstwa modelu OSI) udostępnia mechanizmy pozwalające na wymianę danych pomiędzy dwoma określonymi urządzeniami końcowymi sieci. W działaniu warstwy sieci można wyróżnić 4 elementy:

  • adresowanie, określające nadawcę i odbiorcę danych,
  • enkapsulacja, podczas której dodawane są adresy hosta źródłowego i docelowego,
  • ruting, określający drogę przesyłania danych pomiędzy sieciami
  • dekapsulacja, podczas której następuje potwierdzenie czy dane zostały przesłane do właściwego hosta.

Protokołami, które można wyróżnić w warstwie sieci to miedzy innymi:

  • IPv4 (Internet Protocol version 4)
  • IPv6 (Internet Protocol version 6)
  • Novell IPX (Internetwork Packet Exchange)
  • AppleTalk
  • CLNS/DECNet

Protokołem stosowanym najczęściej jest protokół IPv4. Został on zaprojektowany jako protokół z niedużym narzutem (dodatkowymi informacjami dodawanymi do pakietu). Zapewnia on tylko niezbędne funkcje umożliwiające dostarczanie pakietu ze źródła do celu przez połączone ze sobą sieci.

Ogólna charakterystyka protokołu IPv4:

  • bezpołączeniowy – przed wysyłaniem danych nie jest zestawiane żadne połączenie,
  • nie posiada mechanizmów zapewniających gwarancję dostarczenia pakietu,
  • niezależny od używanego medium transmisyjnego.

Budowa nagłówka pakietu IPv4:

nagłówek ip
Docelowy adres IP – pole docelowego adresu IP, zapisane w postaci 32-bitowej.

Źródłowy adres IP - pole docelowego adresu IP, zapisane w postaci 32-bitowej.

Czas życia (TTL) – 8 bitowe pole, które określa pozostały czas życia pakietu. Wartość TTL jest zmniejszana o co najmniej 1 za każdym razem, gdy pakiet przechodzi przez router (tj. za każdym przeskokiem). Kiedy wartość osiąga 0, router porzuca pakiet i jest on usunięty ze strumienia danych w sieci. Mechanizm ten chroni pakiety, które nie mogą osiągnąć celu przed przekazywaniem w nieskończoność pomiędzy routerami w tzw. pętli routingu. Jeżeli pętle routingu byłyby dozwolone, sieć byłaby przeciążona pakietami danych, które nigdy nie osiągną swojego celu. Zmniejszanie wartości TTL przy każdym przeskoku zapewnia, że w końcu osiągnie wartość 0 i pakiet, którego pole TTL równe jest 0 będzie odrzucone.

Protokół - ta 8-bitowa wartość wskazuje typ danych, które pakiet przenosi. Pole protokołu umożliwia warstwie sieci przekazać dane do odpowiedniego protokołu warstwy wyższej. Przykładowymi wartościami są: 01 ICMP, 06 TCP, 17 UDP.

Typ usługi (ToS) - zawiera 8-bitową wartość binarną, która używana jest do określenia priorytetu każdego pakietu. Ta wartość umożliwia zastosowanie mechanizmów QoS w stosunku do pakietów o wysokim priorytecie, np. przenoszących dane głosowe.

Przesunięcie fragmentu – pole stosowane podczas rekonstrukcji podzielonego prze ruter pakietu. Wskazuje porządek w jakim ma być ustawiony każdy z pakietów podczas rekonstrukcji.

Flaga MF (ang. More Fragments) – pojedynczy bit używanym z polem przesunięcia fragmentu do podziału i rekonstrukcji pakietów. Gdy bit flagi MF jest ustawiony, oznacza to, że dany fragment nie jest ostatnim fragmentem pakietu. Kiedy host odbierający zauważy przybywający pakiet z ustawioną wartością MF=1, sprawdza pole przesunięcia fragmentu, gdzie należy umieścić ten fragment podczas rekonstrukcji pakietu. Kiedy host odbierający zauważy przybywający pakiet z ustawioną wartością MF=0 i niezerową wartość w polu przesunięcia fragmentu, umieszcza ten fragment jako ostatni kawałek rekonstruowanego pakietu.

Flaga DF (ang. Don’t Fragment) – pojedynczy bit, który jeśli jest ustawiony wskazuje, że fragmentowanie pakietu jest niedozwolone. Jeżeli flaga DF jest ustawiona, wtedy fragmentacja tego pakietu nie jest dozwolona.

Wersja -zawiera numer wersji protokołu IP (4).

Długość nagłówka (IHL) – określa rozmiar nagłówka pakietu.

Długość pakietu – to pole podaje w bajtach całkowitą wielkość pakietu, zawierającą nagłówek oraz dane.

Identyfikacja – to pole jest używane do jednoznacznego identyfikowania fragmentów podzielonego pakietu IP.

Suma kontrolna nagłówka – pole używane jest do sprawdzenia błędów nagłówka pakietu.

Opcje – jest to miejsce na dodatkowe pola w nagłówku IPv4 do obsługi innych usług. Jest ono jednak rzadko używane.

czytaj dalej (cz.2)