Pakiet (ang. packet) to podstawowa porcja danych przesyłana przez sieć komputerową. Zamiast wysyłać cały plik czy stronę jako jeden wielki blok, sieć tnie informację na małe kawałki — i każdy taki kawałek to właśnie pakiet. Co ważne, pakiety jednego przesyłu mogą dotrzeć do celu różnymi trasami i w różnej kolejności, a urządzenie odbiorcze składa je z powrotem w całość.
Każdy pakiet składa się z dwóch części: nagłówka (header) i ładunku (payload). Payload to właściwe dane, które chcesz przesłać. Nagłówek to „list przewozowy” — zawiera m.in. adres IP nadawcy i odbiorcy, numer porządkowy (żeby dało się ułożyć pakiety w kolejności) oraz sumę kontrolną do wykrywania uszkodzeń. Dzięki temu router na trasie wie, dokąd przekazać pakiet, nawet nie zaglądając do jego zawartości.
Po co to całe cięcie? Bo dzielenie danych na pakiety pozwala wielu rozmowom dzielić to samo łącze (multipleksacja), a w razie zgubienia jednego pakietu trzeba ponowić tylko jego, a nie cały transfer. Na tym opiera się packet switching — fundament działania internetu, w odróżnieniu od starych sieci telefonicznych z dedykowanym połączeniem (circuit switching).
Jak to zobaczyć w praktyce
Najłatwiej podejrzeć pakiety narzędziem Wireshark albo konsolowym tcpdump. Odpal w terminalu:
sudo tcpdump -i any -n host 1.1.1.1
i zacznij pingować ten adres. Zobaczysz na żywo pakiety lecące tam i z powrotem, z adresami IP, flagami i rozmiarami. Komenda ping wysyła pakiety ICMP, a traceroute (lub tracert na Windowsie) pokazuje, przez ile routerów — czyli przeskoków (hops) — pakiet przechodzi w drodze do celu.
Częste nieporozumienia
- Pakiet to nie to samo co ramka (frame) czy segment. To pojęcia z różnych warstw modelu OSI/TCP-IP: segment dotyczy warstwy transportowej (TCP/UDP), pakiet — warstwy sieciowej (IP), a ramka — warstwy łącza danych (np. Ethernet). W mowie potocznej zlewa się je w jedno, ale na egzaminie czy rozmowie technicznej warto rozróżniać.
- Pakiet nie ma stałego rozmiaru. Limituje go
MTU— w typowej sieci Ethernet to 1500 bajtów. Większe dane są fragmentowane. - Dostarczenie nie jest gwarantowane samym IP. Pakiety mogą zginąć po drodze. O ponawianie i kolejność dba dopiero TCP — UDP tego nie robi, dlatego bywa szybszy, ale „strzela i zapomina”.
Pojęcia powiązane: nagłówek i payload, adres IP, MTU i fragmentacja, packet switching, protokoły TCP i UDP, router, model OSI, ramka Ethernet, suma kontrolna.