Protokół ICMP. Autor: Grzegorz Burgiel 4FDS

Podobne dokumenty
Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

MODEL OSI A INTERNET

TCP/IP formaty ramek, datagramów, pakietów...

Przesyłania danych przez protokół TCP/IP

Protokoły wspomagające. Mikołaj Leszczuk

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Zarządzanie ruchem w sieci IP. Komunikat ICMP. Internet Control Message Protocol DSRG DSRG. DSRG Warstwa sieciowa DSRG. Protokół sterujący

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Katedra Inżynierii Komputerowej Politechnika Częstochowska. Zastosowania protokołu ICMP Laboratorium podstaw sieci komputerowych

Laboratorium 6.7.1: Ping i Traceroute

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Laboratorium 6.7.2: Śledzenie pakietów ICMP

Protokoły sieciowe - TCP/IP

Enkapsulacja RARP DANE TYP PREAMBUŁA SFD ADRES DOCELOWY ADRES ŹRÓDŁOWY TYP SUMA KONTROLNA 2 B 2 B 1 B 1 B 2 B N B N B N B N B Typ: 0x0835 Ramka RARP T

Model OSI. mgr inż. Krzysztof Szałajko

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Systemy operacyjne i sieci komputerowe Szymon Wilk Adresowanie w sieciach Klasy adresów IP a) klasa A

1 Moduł Diagnostyki Sieci

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski

Instrukcja 5 - Zastosowania protokołu ICMP

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ ADRESACJA W SIECIACH IP. WSTĘP DO SIECI INTERNET Kraków, dn. 24 października 2016r.

ARP Address Resolution Protocol (RFC 826)

ZiMSK. Routing statyczny, ICMP 1

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Aby lepiej zrozumieć działanie adresów przedstawmy uproszczony schemat pakietów IP podróżujących w sieci.

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Scenariusz lekcji Opracowanie: mgr Bożena Marchlińska NKJO w Ciechanowie Czas trwania jednostki lekcyjnej: 90 min.

Plan wykładu. Wyznaczanie tras. Podsieci liczba urządzeń w klasie C. Funkcje warstwy sieciowej

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 25

Warstwa sieciowa. Adresowanie IP. Zadania. Warstwa sieciowa ćwiczenie 5

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Zestaw ten opiera się na pakietach co oznacza, że dane podczas wysyłania są dzielone na niewielkie porcje. Wojciech Śleziak

Sieci komputerowe - administracja

Plan i problematyka wykładu. Sieci komputerowe IPv6. Rozwój sieci Internet. Dlaczego IPv6? Przykład zatykania dziur w funkcjonalności IPv4 - NAT

Laboratorium Sieci Komputerowych

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Sieci Komputerowe Modele warstwowe sieci

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

1. Budowa stosu TCP/IP

Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv RIPv Interfejs pasywny... 5 Podzielony horyzont...

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Plan wykładu. Warstwa sieci. Po co adresacja w warstwie sieci? Warstwa sieci

Uniwersalny Konwerter Protokołów

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców

Funkcje warstwy sieciowej. Podstawy wyznaczania tras. Dostarczenie pakietu od nadawcy od odbiorcy (RIP, IGRP, OSPF, EGP, BGP)

Połączenie sieci w intersieci ( internet ) Intersieci oparte o IP Internet

Adresy w sieciach komputerowych

Sieci komputerowe. Wykład 3: Protokół IP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski. Sieci komputerowe (II UWr) Wykład 3 1 / 24

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

Adresowanie grupowe. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 25 kwietnia 2006

Model sieci OSI, protokoły sieciowe, adresy IP

Klient-Serwer Komunikacja przy pomocy gniazd

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

ADRESY PRYWATNE W IPv4

Internet Control Messaging Protocol

Rys. 1. Wynik działania programu ping: n = 5, adres cyfrowy. Rys. 1a. Wynik działania programu ping: l = 64 Bajty, adres mnemoniczny

Warstwa sieciowa rutowanie

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Spis treści. 1 Moduł RFID (APA) 3

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

SIECI KOMPUTEROWE Adresowanie IP

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Sieci komputerowe W4. Warstwa sieciowa Modelu OSI

Routing - wstęp... 2 Routing statyczny... 3 Konfiguracja routingu statycznego IPv Konfiguracja routingu statycznego IPv6...

SPRAWOZDANIE SIECI KOMPUTEROWE I BAZY DANYCH LABORATORIUM NR2 BADANIE SIECI KAMIL BOGDANOWSKI

Narzędzia diagnostyczne protokołów TCP/IP

Sieci komputerowe - Protokoły wspierające IPv4

polega na opakowaniu danych - w każdej warstwie modelu OSI, kolejno idąc z góry na dół - w konieczne nagłówki/stopki odpowiednich protokołów

5. Model komunikujących się procesów, komunikaty

Akademia Techniczno-Humanistyczna w Bielsku-Białej

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

ZiMSK NAT, PAT, ACL 1

Sieci komputerowe - adresacja internetowa

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Warstwa sieciowa. mgr inż. Krzysztof Szałajko

Zadania z sieci Rozwiązanie

Protokół IP. III warstwa modelu OSI (sieciowa) Pakowanie i adresowanie przesyłanych danych RFC 791 Pakiet składa się z:

3. Routing z wykorzystaniem wektora odległości, RIP

Komunikacja pomiędzy sterownikami PLC za pomocą łącza GSM GPRS

Ćwiczenie Konfiguracja statycznych oraz domyślnych tras routingu IPv4

ZiMSK. Routing dynamiczny 1

Test sprawdzający wiadomości z przedmiotu Systemy operacyjne i sieci komputerowe.

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

MASKI SIECIOWE W IPv4

Sieci komputerowe Warstwa transportowa

Technologie informacyjne - wykład 8 -

52. Mechanizm trasowania pakietów w Internecie Informacje ogólne

Sieci komputerowe - Protokoły warstwy transportowej

Sieci komputerowe. Wstęp

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Sieci komputerowe. Dr inż. Robert Banasiak. Sieci Komputerowe 2010/2011 Studia niestacjonarne

Sprawdzanie połączenia sieciowego

Transkrypt:

Protokół ICMP Autor: Grzegorz Burgiel 4FDS

2 Streszczenie Niniejsze opracowanie opisuje protokół ICMP : formaty komunikatów kontrolnych i zastosowanie protokołu.

3 Spis treści 1. Wstęp. 4 2. Dostarczanie komunikatów ICMP. 4 3. Format komunikatu ICMP. 5 4. Sprawdzanie osiągalności odbiorcy. 6 4.1 Format komunikatu prośba o echo i odpowiedź z echem. 6 5. Powiadamianie o nieosiągalnych odbiorcach. 7 6. Kontrola przepływu datagaramów. 8 6.1 Format komunikatu tłumienie nadawcy. 9 7. Zmiana trasowania. 9 8. Wykrywanie zakleszczonych i zbyt długich tras. 11 9. Błąd parametrów. 12 10. Szacowanie czasu przesyłania pakietów. 13 11. Komunikaty prośba o informację" i odpowiedź z informacją. 14 12. Maska podsieci. 14 Literatura. 15

4 1. Wstęp Protokół IP (Internet Protocol) jest protokołem zawodnym, realizującym przenoszenie pakietów w sposób bezpołączeniowy. Pakiety przekazywane są w postaci datagramów. Istnieje wiele powodów w wyniku których datagramy nie zostaną dostarczone do miejsca docelowego np.: datagramy nie zostaną dostarczone, gdy maszyna do której presyłamy datagramy jest na stałe lub tylko czasowo odłączona od sieci, albo gdy routery będące na drodze datagramów są tak przeciążone, że nie mogą przetworzyć przybywających pakietów. Protokół IP nie zwiera w sobie mechanizmów umożliwiających nadawcy sprawdzenie np.: stanu połączenia, czy wysłane datagramy dotarły do miejsca docelowego. Aby umożliwić routerom w intersieci oznajmianie o błędach oraz udostępnianie informacji o niespodziewanych sytuacjach [1] do grupy protokołów TCP/IP wprowadzono protokół kontrolny ICMP (ang. Internet Control Message Protocol). Komunikaty przesyłane są poprzez sieć w częściach datagramów IP przeznaczonych na dane. Odbiorcą końcowym komunikatu ICMP nie jest ani program użytkowy, ani użytkownik [1], lecz moduł oprogramowania ICMP na danej maszynie. Pierwotnie ICMP powstał, aby umożliwić routerom powiadamianie węzłów o powodach błędów w dostarczaniu datagramów [1] jednak może być używany nie tylko przez routery. Każdy węzeł może za pomocą ICMP wymieniać informacje z routerem lub innym węzłem. 2. Dostarczanie komunikatów ICMP Aby komunikat ICMP mógł zostać dostarczony wymaga dwóch poziomów kapsułkowania. (rys.2) Komunikat ICMP podróżuje przez sieć w części datagramu IP przeznaczonej na dane, a ten przemieszcza się przez sieć fizyczną w części dla danych ramki. Trasy datagramów przenoszących komunikaty ICMP są wyznaczane dokładnie w ten sam sposób jak dla datagramów przenoszących informacje - nie maja one żadnych dodatkowych priorytetów ani zabezpieczeń. Istnieje więc możliwość ich zagubienia albo zniszczenia. W sieci przeciążonej komunikat o błędzie może spowodować dodatkowe przeciążenie. W procedurach obsługi błędów istnieje następujący wyjątek: jeśli błąd został spowodowany przez datagram IP niosący komunikaty o błędach ICMP nie jest tworzony komunikat o błędzie.

5 NAGŁÓWEK ICMP DANE ICMP NAGŁÓWEK DATAGRAMU CZĘŚĆ DATAGRAMU Z DANYMI NAGŁÓWEK RAMKI CZĘŚĆ RAMKI Z DANYMI Rys.2. Dwa poziomy kapsułkowania ICMP. [1] 3. Format komunikatu ICMP Każdy komunikat ICMP ma własny format, jednak wszystkie te formaty rozpoczynają się trzema takimi samymi polami: 8-bitowym polem TYP komunikatu, które identyfikuje komunikat, 8-bitowym polem KOD, które daje dalsze informacje na temat rodzaju komunikatu, oraz polem SUMA KONTROLNA (ICMP używa tego samego algorytmu wyliczenia sumy co IP, ale suma kontrolna ICMP odnosi się tylko do komunikatu ICMP).[1] Komunikaty ICMP zawierają nagłówek i pierwsze 64 bity danych datagramu, z którym były problemy. Odesłanie nie tylko samego nagłówka datagramu umożliwia odbiorcy bardziej dokładne określenie, który protokół(-oły) lub który program użytkowy jest odpowiedzialny za dany datagram. Pole TYP w komunikacie ICMP definiuje zarówno jego znaczenie, jak i format. Wśród typów wyróżnia się : Wartość w polu TYP Typ komunikatu ICMP 0 odpowiedź z echem 3 odbiorca nieosiągalny 4 tłumienie nadawcy 5 zmień trasowanie 8 prośba o echo 11 przekroczenie terminu datagramu 12 kłopot z parametrami datagramu 13 prośba o czas 14 odpowiedź z czasem 15 prośba o informację (przestarzałe) 16 odpowiedź z informacją (przestarzałe) 17 prośba o maskę ad 18 odpowiedź z maską adresową

6 Poniżej został opisany każdy z tych komunikatów oraz odpowiadający mu format. 4. Sprawdzanie osiągalności odbiorcy (ang. ping) Jedno z najczęściej używanych narzędzi do badania błędów odwołuje się do komunikatów ICMP <prośba o echo> i <odpowiedź z echem>".[1] Węzeł albo router wysyła komunikat ICMP prośba o echo" do określonego odbiorcy. Maszyna, która odbierze prośbę o echo, tworzy odpowiedź z echem i odsyła ją do pierwotnego nadawcy. Prośba ta zawiera opcjonalne miejsce na dane, odpowiedź zaś kopię danych wysłanych w prośbie. [1] Prośba o echo i związana z nią odpowiedź używane są do sprawdzania, czy odbiorca jest osiągalny i czy odpowiada. W związku z tym, że zarówno prośba, jak i odpowiedź wędrują w datagramach IP, pomyślne odebranie odpowiedzi oznacza, że główne części systemu przesyłania danych działają [1] tzn.: - oprogramowanie IP komputera prawidłowo skierowało datagram, - routery pośrednie między nadawcą a odbiorcą prawidłowo skierowały datagramy, - maszyna docelowa musiała być uruchomiona (reagować na przerwania), - oprogramowanie ICMP, jak i IP musiało prawidłowo działać, - routery wzdłuż ścieżki powrotnej musiały prawidłowo wyznaczać trasy. Istnieją implementacje polecenia ping wysyłające serie próśb o echo, rejestrują odpowiedzi i udostępniają statystyki opisujące liczbę zagubionych datagramów. Umożliwiają użytkownikowi także ustawienie długości wysyłanych danych oraz czasu między prośbami. 4.1. Format komunikatów prośba o echo i odpowiedź z echem Rysunek nr 4.1 przedstawia format komunikatu prośba o echo" i odpowiedź z echem". Pole OPCJONALNE DANE ma zmienną długość i zawiera dane, którymi odbiorca odpowiada nadawcy. Komunikat <odpowiedź z echem> zawsze zawiera dokładnie te same dane, które przybyły w prośbie. Pola IDENTYFIKATOR i NUMER KOLEJNY są używane przez nadawcę do przyporządkowywania odpowiedzi prośbom. Wartość pola TYP służy w tym przypadku do określania, czy komunikat jest prośbą (8), czy odpowiedzią (0).

7 0 8 16 31 TYP (8 lub 0) KOD SUMA KONTROLNA IDENTYFIKATOR OPCJONALNE DANE NUMER KOLEJNY Rys. 4.1 Format komunikatów prośba echo i odpowiedź z echem. 5. Powiadamianie o nieosiągalnych odbiorcach W przypadku problemów przesyłem dalej lub dostarczeniem datagramu do odbiorcy router wysyła do nadawcy datagramu komunikat odbiorca nieosiągalny". Format takiego komunikatu jest przedstawiony na rys. 5 0 8 16 31 TYP (3) KOD(0-12) SUMA KONTROLNA NIE UŻYWANE (MUSI BYĆ RÓWNE ZERU) NAGŁÓWEK + PIERWSZE 64 BITY INTERSIECIOWEGO DATAGRAMU Rys. 5. Format komunikatu ICMP odbiorca nieosiągalny Pole KOD komunikatu odbiorca nieosiągalny" zawiera liczbę. Możliwe wartości to: Wartość w polu KOD Znaczenie 1 sieć nieosiągalna 2 węzeł nieosiągalny 3 protokół nieosiągalny 4 konieczna fragmentacja przy ustawionym nie fragmentuj 5 błąd trasy nadawcy 6 nieznana sieć odbiorcy 7 nieznany węzeł odbiorcy 8 węzeł nadawcy odizolowany

8 9 komunikacja z siecią odbiorcy zabroniona administracyjnie 10 komunikacja z węzłem odbiorcy zabroniona administracyjnie 11 sieć niedostępna dla takiego rodzaju usług 12 węzeł niedostępny dla takiego rodzaju usług Router po wysłaniu komunikatu odbiorca nieosiągalny" traci datagram. Kilka typów błędów wymaga szerszego komentarza : - błąd typu <sieć nieosiągalna> oznacza zazwyczaj kłopoty z wyznaczaniem tras [1], - błąd typu węzeł nieosiągalny" oznacza, że zawiódł mechanizm dostarczania pakietów. Komunikat ICMP o błędzie zawiera krótki prefiks datagramu, który spowodował problemy, więc nadawca będzie wiedział dokładnie, jaki adres jest nieosiągalny. Odbiorcy mogą być nieosiągalni z wielu względów np.: - awarii sprzętu, - nieistniejącego adresu odbiorcy, - w rzadkich przypadkach nieznajomości adresu sieci odbiorcy przez ruter. W sieciach Ethernet, osprzęt sieciowy nie zapewnia potwierdzeń stąd ruter może w dalszym ciągu wysyłać pakiety do odbiorcy, który nie odpowiada. 6. Kontrola przepływu datagramów Protokół IP pracuje w trybie bezpołączeniowym, więc router nie może zarezerwować zasobów pamięci ani zasobów komunikacyjnych przed otrzymaniem datagramów. W wyniku tego routery mogą zostać przeciążone (ang. congestion) napływającymi datagramami. Przeciążenie pojawi się na routerze, który łączy LAN i WAN, bo datagramy przybywają szybciej niż mogą być wysłane. Może się też zdarzyć, że wiele komputerów jednocześnie wysyła datagramy przez dany router, co może spowodować przeciążenie, mimo że żaden pojedynczy nadawca nie wywoła tego problemu. [1] Router używa komunikatu ICMP tłumienie nadawcy" do powiadamiania o problemie z przeciążeniem. Komunikat tłumienie nadawcy" to prośba o zmniejszenie liczby wysyłanych datagramów. Przeciążone routery wysyłają po jednym komunikacie tłumienie nadawcy" dla każdego datagramu, który tracą. Istnieją także bardziej wyrafinowane metody kontroli przeciążenia. Routery badają przychodzące datagramy i wysyłają komunikat tłumienie nadawcy" do tych, którzy przesyłają najwięcej datagramów. Inne aby

9 uniknąć przeciążenia, wysyłając prośby, gdy ich kolejki staja się długie, ale jeszcze nie przepełnione. Nie ma komunikatu ICMP, który służy za odpowiedź na komunikat tłumienie nadawcy". Węzeł, który otrzymuje komunikaty tłumienia w związku z datagramami wysyłanymi do odbiorcy D zmniejsza liczbę datagramów wysyłanych do D, aż przestanie otrzymywać komunikaty <tłumienie nadawcy>.[1] Następnie może zwiększać liczbę wysyłanych datagramów, dopóki znów nie otrzyma komunikatu,,tłumienie nadawcy". 6.1. Format komunikatu tłumienie nadawcy" Oprócz omówionych wcześniej pól oraz nie używanego 32-bitowego pola komunikaty tłumienie nadawcy" mają pole przeznaczone na prefiks datagramu. Na rysunku nr 6.1 jest przedstawiony ten format. 0 8 16 31 TYP (4) KOD(0) SUMA KONTROLNA NIE UŻYWANE (MUSI BYĆ RÓWNE ZERU) NAGŁÓWEK + PIERWSZE 64 BITY INTERSIECIOWEGO DATAGRAMU Rys. 6.1. Format komunikatu tłumienie nadawcy. 7. Zmiana trasowania Pod czas startu systemu następuje inicjalizacja tablic tras z pliku konfiguracyjnego. Gdy zmienia się topologia sieci dane zawarte w pliku konfiguracyjnym mogą stać się nieaktualne. Dlatego routery okresowo wymieniają informacje o trasach, aby dostosowywać się do zmian w sieci i utrzymywać w tablicach aktualne dane. Aby uniknąć duplikowania informacji o trasach w pliku konfiguracyjnym każdego węzła, z początkowej konfiguracji tras jest wyznaczane jest tylko minimum informacji konieczne do nawiązania komunikacji czyli adres jednego routera. W związku z tym węzeł rozpoczynający pracę z minimalną ilością informacji i przy uaktualnianiu swoich tablic tras polega na routerach i gdy router stwierdzi, że węzeł używa nieoptymalnych tras, jest wysyłany do takiego

10 węzła komunikat zmień trasowanie", który stanowi prośbę do węzła o zmianę trasy. Dodatkowo przesyłany jest oryginalny datagram do jego odbiorcy. Zaletą schematu zmiany trasowania ICMP jest jego prostota: węzeł może startować, znając adres tylko jednego routera w lokalnej sieci. Ten początkowy router wysyła komunikaty ICMP,,zmień trasowanie" za każdym razem, gdy dla danego datagramu istnieje lepsza trasa. Tablica tras węzła pozostaje mała, ale w dalszym ciągu zawiera optymalne trasy dla wszystkich używanych celów. S R1 R2 R4 R3 R5 D Rys. 7. Komunikaty ICPM zmień trasowanie nie umożliwiają poprawienia tras między routerami. Router R5 nie może nakazać routerowi R1 zmianę trasy ponieważ nie zna jego adresu.[1] Prośby o zmianę trasy nie rozwiązują w ogólny sposób problemu przekazywania informacji o trasach, gdyż ograniczone są do operacji między routerem i węzłem połączonymi bezpośrednio jedną siecią. Rysunek nr 7 ilustruje to ograniczenie. Przyjmijmy, że nadawca S z tego rysunku wysyła datagram do odbiorcy D. Przyjmijmy też, że router R1 nieprawidłowo wyznacza trasę tego datagramu w kierunku R2 zamiast R4 (tzn. R1nieprawidłowo wybiera ścieżkę dłuższą niż to konieczne). Gdy router R5, odbiera datagram, nie może wysłać komunikatu,,zmień trasowanie" do R1 gdyż nie zna adresu tego rutera. [1] Każdy komunikat zmień trasowanie" zawiera 32-bitowe pole INTERSIECIOWY ADRES RUTERA oraz pole NAGŁÓWEK INTERSIECIOWY, jak na rys. 7.1. Pole INTERSIECIOWY ADRES RUTERA zawiera adres routera, do którego węzeł kieruje pakiety przeznaczone dla adresata wymienionego w nagłówku datagramu. NAGŁÓWEK zawiera nagłówek IP oraz 64 bity datagramu, który spowodował wysłanie komunikatu. Dzięki tym informacjom węzeł otrzymujący komunikat,,zmień trasowanie" określa adres docelowy tego datagramu. Pole KOD komunikatu zmień trasowanie" określa interpretacje adresu odbiorcy.

11 0 8 16 31 TYP (5) KOD(0-3) SUMA KONTROLNA INTERNETOWY ADRES ROUTERA NAGŁÓWEK + PIERWSZE 64 BITY INTERSIECIOWEGO DATAGRAMU Rys 7.1. Format komunikatu zmień trasowanie Wartość w polu KOD Znaczenie 0 zmień trasowanie datagramów do sieci (obecnie przestarzałe) 1 zmień trasowanie datagramów do węzła 2 zmień trasowanie datagramów o danym typie obsługi do sieci 3 zmień trasowanie datagramów o danym typie obsługi do węzła Generalnie routery wysyłają prośby ICMP o zmianę trasowania tylko do węzłów - nie wysyłają ich do routerów. 8. Wykrywanie zakleszczonych i zbyt długich tras Routery intersieci obliczają adres następnego etapu przy użyciu własnych tablic. Błędy w tych tablicach mogą spowodować pętle w trasowaniu do jakiegoś odbiorcy D. Pętle występują gdy router, zamiast kierować datagramy do D kierują je do siebie nawzajem. Datagram, który wszedł do pętli w trasowaniu, porusza się po niej w nieskończoność. Aby temu zapobiec każdy datagram IP zawiera licznik czasu życia, jest to pole o długości 13 bitów, które wskazuje w sekundach czas, przez jaki 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ę liczbą przeskoków (etapów). Gdy router porzuca datagram w wyniku wyczerpania się licznika etapów albo z powodu przekroczenia czasu oczekiwania na jego fragmenty, wysyła do nadawcy komunikat ICMP <przekroczenie czasu> [1] o formacie przedstawionym na rys. 8

12 0 8 16 31 TYP (11) KOD(0 lub 1) SUMA KONTROLNA NIE UŻYWANE (MUSI BYĆ RÓWNE ZERU) NAGŁÓWEK + PIERWSZE 64 BITY INTERSIECIOWEGO DATAGRAMU Rys 8. Format komunikatu ICMP przekroczenie czasu. W polu KOD zawiera informacje, o jakie przekroczenie czasu chodzi: Wartość pola KOD Znaczenie 0 licznik czasu życia wyczerpany 1 przekroczony czas na składanie fragmentów 9. Błąd parametrów Gdy pojawi się błąd nieobsługiwany przez dotychczas opisane komunikaty ICMP o błędach router kieruje do nadawcy komunikat błąd prametrów". Jedna z możliwych przyczyn tego typu błędów ujawnia się, gdy argumenty opcji nie są poprawne. [1] Komunikat taki, w formacie jak na rys. 8, jest wysyłany tylko wtedy, kiedy błąd jest na tyle poważy, że datagram musi zostać porzucony. Jednoznaczność komunikatu, zapewnia pole o nazwie WSKAŹNIK służące do identyfikacji w datagramie oktetu, który spowodował kłopoty. Kod l jest używany do powiadamiania, że brakuje jakiejś opcji. Pole WSKAŹNIK nie jest używane, jeżeli wartość pola KOD jest równa l. 0 8 16 31 TYP (12) KOD(0 lub 1) SUMA KONTROLNA WSKAŹNIK NIE UŻYWANE (MUSI BYĆ RÓWNE ZERU) NAGŁÓWEK + PIERWSZE 64 BITY INTERSIECIOWEGO DATAGRAMU Rys 9. Format komunikatu błąd parametrów

13 10. Szacowanie czasu przesyłania pakietów Zestaw protokołów TCP/IP zawiera wiele protokołów, które mogą być używane do synchronizowania zegarów. Jedna najprostszych metod polega na wykorzystaniu komunikatu ICMP do uzyskania informacji o czasie na innej maszynie. Maszyna, która potrzebuje danych o czasie, wysyła do innego komputera komunikat ICMP prośba o czas", w którym prosi go o odesłanie bieżącego czasu. Maszyna otrzymująca taki komunikat odsyła maszynie proszącej odpowiedź z czasem". Rys. nr 10 przedstawia format komunikatów prośba o czas" i odpowiedź z czasem". 0 8 16 31 TYP (13 lub 14) KOD SUMA KONTROLNA IDENTYFIKATOR NUMER KOLEJNY CZAS POCZĄTKOWY CZAS OTRZYMANIA CZAS ODESŁANIA Rys 10. Format komunikatu prośba o czas i odpowiedź z czasem. Pole TYP określa rodzaj komunikatu: prośba (13) odpowiedź (14). Dzięki polom IDENTYFIKATOR oraz NUMER KOLEJNY nadawca może przyporządkować odpowiedzi prośbom. Pozostałe pola zawierają czasy wyrażone w milisekundach od północy czasu uniwersalnego. Pole CZAS POCZĄTKOWY wypełnia nadawca tuż przed wysłaniem prośby, pole CZAS OTRZYMANIA jest wypełniane przez odbiorcę zaraz po odebraniu komunikatu a pole CZAS ODESŁANIA jest wypełniane przed wysłaniem odpowiedzi. Używane są trzy pola do szacowania czasu potrzebnego na przesyłanie datagramu między węzłami oraz do synchronizacji zegarów. Dzięki informacji zawartej w polu CZAS POCZĄTKOWY, węzeł może obliczyć czas potrzebny na dotarcie prośby do odbiorcy, przetworzenie jej na odpowiedź i powrót. Dodatkowo, odpowiedź zawiera zapis czasu, w którym prośba dotarta, jak i zapis czasu wysłania odpowiedzi, dzięki temu węzeł może obliczyć czas przesyłania przez sieć i za jego pomocą ocenić różnicę czasu między swoim zegarem a zegarem

14 na innej maszynie. Dokładna ocena czasu przesyłu datagramu między węzłami jest trudna i znacznie ogranicza użyteczność komunikatów ICMP. Aby otrzymać dokładne oszacowanie czasu przesyłu, należałoby zrobić kilka pomiarów i je uśrednić. W dużej sieci otrzymane czasy różnią się, nawet jeżeli mierzone są w krótkich odstępach. Pamiętajmy, że IP jest protokołem zawodnym - datagramy mogą zostać zgubione, dostarczone z błędami lub dużym opóźnieniem. Zwielokrotnienie liczby pomiarów nie gwarantuje zatem poprawności wyników. 11. Komunikaty prośba o informację" i odpowiedź z informacją" Komunikaty ICMP prośba o informację" i odpowiedź z informacją" (typ 15 i 16) wprowadzone, aby umożliwić węzłom dowiadywanie się o swoim adresie w sieci, zostały zastąpione przez protokoły: RARP i BOOTP i nie są obecnie używane. 12. Maska podsieci Maska podsieci, umożliwia interpretację które bity 32-bitowego adresu sieciowego odpowiadają sieci fizycznej, a które odpowiadają identyfikatorowi węzła. W celu uzyskania informacji o masce podsieci danej sieci fizycznej węzeł albo wysyła do routera (jeśli zna jego adres) komunikat,,prośba o maskę adresową" albo rozgłasza go rys. 12 prezentuje format komunikatów związanych z maskami adresowymi. 0 8 16 31 TYP (17 lub 18) KOD(0) SUMA KONTROLNA IDENTYFIKATOR NUMER KOLEJNY MASKA ADRESOWA Rys 12. Format komunikatu prośba o maskę adresową i odpowiedź z maską adresową. Pole TYP w komunikacie maski adresowej służy do określenia, czy jest to prośba (17), czy odpowiedź (18).

15 Literatura [1] D. E. Comer Sieci komputerowe TCP/IP zasady, protokoły i architektura - WNT Warszawa 1997. [2] J. Postel RFC 792 1981.

16