R03-5.doc

(318 KB) Pobierz
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

... pakowanie ...

ł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

... patrz rozdział 2 ...

) 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

... Podgląd ...

Monitora sieci na rysunku 3.1 przedstawia komunikat ping protokołu internetowych wiadomości kontrolnych (ICMP), kapsułkowany

... pakowany ...

za pomocą nagłówka IP. Przechwyt

... Podgląd ...

ten wchodzi w skład pliku arc02.cap, dostarczonego na CD-ROM-ie

... płycie CD-ROM ...

.

 

 

Rysunek 3.1. Datagram IP

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

·         Wersja — wskazuje wersję IP. To pole ma długość 4 bitów, a zawiera albo 4, albo 6.

·         Długość nagłówka — wskazuje liczbę słów 32-bitowych (4-bajtowych) w nagłówku IP. To pole ma długość 4 bitów i zawiera wartość 0x5 (20 bajtów) lub większą. IP może dodatkowo rozszerzyć długość nagłówka o 4 bity naraz. Jeżeli dana opcja IP nie wykorzysta wszystkich 32 bitów słowa, to pozostałe bity zostają uzupełnione o zera, tak aby długość nagłówka IP była zawsze wielokrotnością 32 bitów.

·         Pierwszeństwo i typ usługi — wskazuje ustawienia Jakości usługi (QoS). To pole ma długość 8 bitów i zawiera informacje dotyczące pierwszeństwa, opóźnienia, przepustowości oraz parametry niezawodności. Jakość usługi została szczegółowo omówiona w rozdziale 9.

·         Długość całkowita — wskazuje długość całkowitą datagramu IP (nagłówek plus ładunek). To pole ma długość 16 bitów i zawiera liczbę słów 32-bitowych w datagramie.

·         Identfikacja — identyfikuje określony datagram IP. To pole ma długość 16 bitów. Jeżeli datagram IP ulegnie fragmentacji podczas routingu, informacja zawarta w tym polu jest wykorzystywana do ponownego złożenia w miejscu przeznaczenia.

·         Podsumowanie znaczników — zawiera znaczniki fragmentacji. To pole ma długość 3 bitów, ale obecnie wykorzystuje się tylko dwa spośród nich. Bit najmniej znaczący wskazuje czy jest to fragment końcowy w datagramie (czy też będzie ich więcej). Drugi bit najmniej znaczący wskazuje czy datagram może być fragmentowany, czy nie.

·         Wyrównanie fragmentów — wskazuje pozycję fragmentu w stosunku do oryginalnego ładunku IP. To pole ma długość 13 bitów.

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

·         Czas istnienia — wskazuje w sekundach czas, przez jaki dany datagram pozostanie w sieci, zanim zostanie odrzucony. Ilekroć dany datagram przechodzi przez router, czas istnienia (TTL) zostaje zmniejszony o co najmniej jedną sekundę. Ponieważ router normalnie przekazuje schemat IP w czasie krótszym niż jedna sekunda, ustawienie TTL staje się faktycznie liczbą przeskoków. To pole ma długość 13 bitów.

·         Protokół — wskazuje protokół, który dał protokołowi IP ładunek do wysłania. To pole ma długość 8 bitów. Informacja zawarta w tym polu jest wykorzystywana przez warstwy wysokiego poziomu w hoście docelowym do przetwarzania ładunku. ICMP na przykład, sygnalizowany jest przez wartość równą jeden w tym polu.

·         Suma kontrolna — wykorzystywana jest wyłącznie do sprawdzania integralności nagłówka i w związku z tym, bywa czasem określana jako suma kontrolna nagłówka. Ładunek może zawierać własną sumę kontrolną. To pole ma długość 16 bitów. Ponieważ TTL zmienia się przy każdym przeskoku, suma kontrolna jest ponownie obliczana ilekroć datagram przechodzi przez router.

·         Adres źródłowy — zawiera adres źródłowy IP. To pole ma długość 32 bitów w przypadku IPv4 (128 bitów w przypadku IPv6).

·         Adres docelowy — zawiera adres docelowy IP. To pole ma długość 32 bitów w przypadku IPv4 (128 bitów w przypadku IPv6).

·         Opcje i uzupełnianie — określa opcje IP. To pole, o ile istnieje, ma długość 32 lub wielokrotność 32 bitów. Wykorzystywana jest wartość uzupełniająca równa zero, aby zagwarantować, że długość całego nagłówka jest wielokrotnością 32 bitów.

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:

·         Datagram zostaje przekazany do warstwy protokołu powyżej IP na hoście lokalnym;

·         Datagram zostaje przekazany przy użyciu jednej z przyłączonych lokalnie kart sieciowych;

·         Datagram zostaje odrzucony.

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:

·         Host (trasa do pojedynczego, określonego adresu IP).

·         Podsieć (trasa do podsieci).

·         Sieć (trasa do całej sieci).

·         Domyślna (wykorzystywana kiedy nic innego nie pasuje).

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:

·         Pierwsza pozycja to trasa domyślna do aktywnej bramy domyślnej.

·         Druga pozycja to trasa domyślna dla pierwszej z kart sieciowych. Ponieważ komputer posiada wiele podłączeń i jest swoją własną bramą, druga pozycja jest taka sama jak pierwsza.

·         Trzecia pozycja to trasa domyślna dla drugiej karty sieciowej.

·         Czwarta pozycja jest dla adresu pseudosieci.

·         Piąta pozycja jest dla sieci 195.162.230.0, w której rezyduje pierwsza karta sieciowa.

·         Szósta pozycja to trasa hosta dla hosta lokalnego w pierwszej sieci. Określa ona, że datagram zmierzający do hosta lokalnego jest wewnętrznie sprzęgana zwrotnie i określa adres pseudosieci 127.0.0.1.

·         Siódma pozycja jest dla adresu emisji sieciowej dla pierwszej sieci.

·         Ósma pozycja jest dla sieci 195.162.231.0, w której rezyduje druga karta sieciowa.

·         Dziewiąta pozycja to trasa hosta dla hosta lokalnego w drugiej sieci. Określa ona, że datagram zmierzający do hosta lokalnego jest wewnętrznie sprzęgana zwrotnie i określa adres pseudosieci 127.0.0.1.

·         Dziesiąta pozycja jest dla adresu emisji dla pierwszej sieci.

·         Jedenasta pozycja jest dla multiemisji IP, która została opisana w dalszej części niniejszego rozdziału.

·         Dwunasta pozycja jest dla adresu ograniczonej emisji (same jedynki).

·         Aktualnie aktywna brama domyślna również znajduje się na liście. Jest to przydatne, kiedy skonfigurowanych jest wiele bram domyślnych.

 

 

Rysunek 3.3. Tablica tras o wielu podłączeniach

Przypuśćmy, że na tym hoście wysyłany jest datagram do 195.162.230.50. Tablica tras przeszukiwana jest najpierw w celu znalezienia trasy hosta, która nie zostaje znaleziona, a potem w celu znalezienia trasy sieci (195.162.230.0), która zostaje znaleziona. Pakiet zostaje wysłany poprzez interfejs lokalny 195.162.230.1. Datagram mógł, na przykład, zostać przetransmitowany z hosta źródłowego 195.162.231.60; w tym przypadku router odbierze go na bramie 195.162.231.1 i przetransmituje w sieci 195.162.230.0, poprzez bramę 195.162.230.1, do hosta docelowego 195.162.230.50. Rysunek 3.4 przedstawia ten proces.

 

Źródło 195.162.230.50                                                                      Źródło 195.162.230.50

Cel 195.162.231.60                                          Datgram IP                            Cel 195.162.231.60

 

Host A                                                        Router                                          Host B

195.162.230.50              195.162.230.1              195.162.231.1              195.162.231.60

              Podsieć 195.162.230.0                                                        Podsieć 195.162.231.0

                                                        Tablica tras

195.162.230.0              195.162.230.0

195.162.231.0              195.162.231.1

 

Rysunek 3.4. Wybór trasy datagramu IP

Tablica tras umieszcza informacje w kolumnach. Znaczenie każdej z kolumn jest następujące:

·         Miejsce docelowe — host docelowy, adres podsieci, adres sieci, albo trasa domyślna. Cel dla trasy domyślnej to 0.0.0.0.

·         Maska sieci — stosowana w połączeniu z miejscem docelowym w celu ustalenia, kiedy dana trasa jest wykorzystywana. Na przykład trasa hosta posiada maskę 255.255.255.255, co oznacza, że akceptowane jest tylko dokładne dopasowanie. Trasa domyślna posiada maskę 0.0.0.0, co oznacza, że z tej trasy może korzystać dowolne miejsce docelowe. Maska sieci, gdy jest napisana w systemie dwójkowym, składa się z grupy jedynek, po której następuje grupa zer. Jedynka jest znacząca (musi pasować), a zero jest nieznaczące (nie musi pasować).

Wskazówka: Maska sieci w tablicy tras działa w sposób podobny do maski podsieci, chociaż jej funkcja nie jest całkiem taka sama. Maski podsieci są opisane szczegółowo w rozdziale 4.

·         Brama — adres IP następnego routera, do którego ma być wysłany dany pakiet. Na łączu sieci lokalnej (LAN) (takim jak Ethernet, lub Token Ring) brama musi być dostępna bezpośrednio z routera za pomocą interfejsu wskazanego w kolumnie Interfejs.

·         Interfejs — wskazuje interfejs, który ma być zastosowany aby dotrzeć do następnego routera.

·         Metryka — wskazuje względny koszt korzystania z trasy, aby dotrzeć do celu. Zwykła miara metryki to przeskoki, albo liczba routerów, które trzeba przebyć aby dotrzeć do celu. Jeżeli jest wiele tras, które mają ten sam cel, to trasa, która ma najniższą metrykę jest najlepszą trasą. Jeżeli istnieje wybór bram domyślnych, komputer skorzysta z tej, która ma najniższą metrykę, chyba że wydaje się ona nieaktywna — w takim przypadku wykrywanie nieczynnej bramy może wyzwolić przełączenie na następną na liście bramę domyślną o najniższej metryce.

Wskazówka: Serwery protokołu dynamicznej konfiguracji hosta (DHCP) zapewniają metrykę podstawową oraz listę bram domyślnych. Jeżeli dany serwer DHCP zapewni podstawę równą 10 i listę trzech bram podstawowych, to bramy zostaną skonfigurowane metrykami odpowiednio 10, 11 oraz 12. Podstawy zapewnionej przez DHCP nie stosuje się do bram domyślnych skonfigurowanych statycznie.

Wskazówka:

Brak tłumaczenia (s.112, w.2 od dołu)

Routery i bramy

Terminów router, brama oraz komputer bramy używa się często tak, jakby były one równoznaczne. W urządzeniu o wielu podłączeniach, brama to adres IP karty sieciowej, która rezyduje w określonej podsieci. Urządzenie o wielu podłączeniach, które posiada możliwość wyboru trasy z jednej sieci do drugiej za pomocą tablicy tras zwane jest routerem. Routery mogą być urządzeniami sprzętowymi o niewielu innych funkcjach poza wybieraniem tras. Routing można ewentualnie ustawić na komputerze o wielu połączeniach, wykorzystującym Windows 2000 RRAS. W tym przypadku serwer RRAS jest routerem i można go również określać jako komputer bramy.

Wiele routerów

Przykład przedstawiony na rysunku 3.4 to najprostsza możliwa sieć routowana dwie sieci połączone pojedynczym routerem. W praktyce złożona sieć routowana będzie mieć wiele routerów. Przedstawia to rysunek 3.5.

Host A                                                                      Router 1                                                        Host B

195.162.230.50                                          195.162.230.1              195.162.231.1                            195.162.231.60

              Podsieć 195.162.230.0                                                        Podsieć 195.162.231.0

                                                        Tablica tras

195.162.230.0              195.162.230.1

195.162.231.0              195.162.231.1

 

Host C                                                                      Router 2

140.221.100.45                                          140.221.0.1              195.162.231.2

Podsieć 140.221.0.0

                                                        Tablica tras

                                          195.162.231.0              195.162.231.2

140.221.0.0              140.221.0.1

 

Rysunek 3.5. Wiele routerów

...

Zgłoś jeśli naruszono regulamin