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