R03-5, Rozdział 4


Rozdział 3.
Protokół IP

Dogłębnie

Niniejszy rozdział omawia protokół internetowy (IP) w kształcie, w jakim jest on obecnie implementowany w sieci Internet, czyli innymi słowy, protokół IP wersji 4 (IPv4). Na przestrzeni tego rozdziału oraz tej książki zakłada się, że IP oznacza IPv4. Protokół IP odpowiedzialny jest za sortowanie oraz dostarczanie pakietów. Każdy pakiet przychodzący lub wychodzący określa się jako datagram. IP tworzy datagram poprzez --> kapsułkowanie[Author:PO] ładunku za pomocą źródłowego adresu IP nadawcy oraz docelowego adresu IP odbiorcy. W przeciwieństwie do adresów kontroli dostępu do nośnika (MAC) ( --> odwołaj się do rozdziału 2[Author:PO] ) adresy IP w danym datagramie pozostają takie same przez całą długość jego podróży w sieci.

Datagram IP

Datagram IP zazwyczaj zawiera pakiet innego protokołu jako swój ładunek. --> Przechwyt[Author:PO] Monitora sieci na rysunku 3.1 przedstawia komunikat ping protokołu internetowych wiadomości kontrolnych (ICMP), --> kapsułkowany[Author:PO] za pomocą nagłówka IP. --> Przechwyt[Author:PO] ten wchodzi w skład pliku arc02.cap, dostarczonego na --> CD-ROM-ie[Author:PO] .

Rysunek 3.1. Datagram IP

Nagłówek IP można rozbić na kilka pól, w następujący sposób:

Wskazówka: Fragmentacja jest opisana szczegółowo w rozdziale 7.

Długość i struktura ładunku, który następuje po nagłówku, zależy od jego protokołu oraz od transmitowanej informacji. Jednak, podobnie jak nagłówek, będzie on zawsze uzupełniany, aby zawierał wielokrotność 32 bitów.

Rysunek 3.2 przedstawia kod szesnastkowy i ASCII związany z datagramem IP przedstawionym na rysunku 3.1. Ponieważ nie wszystkie pola w nagłówku są wielokrotnością 4 bitów, część tej informacji wymaga przekształcenia na system dwójkowy w celu interpretacji. Analiza kodu ASCII pozwala zobaczyć komunikat, który jest wysyłany podczas operacji ping. Choć ta informacja nie jest poufna, wiele ładunków IP jest poufnych. Łatwość z jaką został przechwycony ten ładunek ukazuje potrzebę szyfrowania komunikatów.

Rysunek 3.2. Zawartość szesnastkowa i ASCII datagramu IP

Routing

Domyślnie systemy oparte na Windows 2000 nie zachowują się jak routery i nie przekazują datagramów IP pomiędzy interfejsami. Jeśli jednak dany serwer oparty na systemie Windows 2000 posiada wiele podłączeń, jest wyposażony w dwie karty sieciowe (NIC) i jeśli zainstalowana jest usługa routingu i dostępu zdalnego, to można skonfigurować go w taki sposób, aby zapewniał pełne usługi routingu wieloprotokołowego.

Datagramy są zazwyczaj wysyłane do protokołu IP z protokołu datagramów użytkownika (UDP) oraz protokołu sterowania transmisją (TCP) (w przypadku pakietów wychodzących) oraz z kart sieciowych (w przypadku pakietów przychodzących). IP analizuje adres docelowy w każdym z datagramów, porównuje go z utrzymywaną lokalnie tablicą tras i decyduje jakie podjąć działanie. Oto owe trzy możliwości:

Każdy komputer, który korzysta z protokołu TCP/IP, podejmuje decyzje wyboru trasy określone przez tablicę tras IP. Tablica tras utrzymuje cztery różne typy tras, spisane w kolejności, w jakiej są one przeszukiwane w celu dopasowania:

Rysunek 3.3 przedstawia tablicę tras dla hosta o wielu podłączeniach, posiadającego dwie karty sieciowe, które zostały skonfigurowane za pomocą adresów IP 195.162.230.1 oraz 195.162.231.1. Zawiera ona następujące pozycje: