wyklad 8
Transkrypt
wyklad 8
Sieci komputerowe Protokół ICMP wykład 8 (Internet Control Message Protocol) rok ak. 2004/2005 Agata Półrola Katedra Informatyki Stosowanej UŁ [email protected] http://www.math.uni.lodz.pl/~polrola Protokół IP - przypomnienie Protokół IP definiuje: podstawow jednostk przesyłania danych u ywan w sieciach TCP/IP operacj trasowania (routingu), wykonywan przez oprogramowanie IP, polegaj c na wyborze trasy przesyłania danych zbiór reguł słu cych do realizacji bezpoł czeniowego dostarczania (sposób przetwarzania pakietów przez hosty i routery, komunikaty o bł dach, warunki likwidowania pakietów) Sytuacje wyj tkowe Mo e okaza si , e router nie mo e przekierowa ani dostarczy datagramu: bł d w tablicy tras (brak trasy do danej sieci/hosta i trasy domy lnej) adresat nie istnieje lub nie działa W niektórych sytuacjach router musi zlikwidowa otrzymany datagram: przekroczony czas ycia datagramu przeci enie routera Protokół ICMP We wszystkich wymienionych wy ej sytuacjach router powinien poinformowa nadawc , e datagram nie zostanie dostarczony do adresata Samo IP nie zawiera adnego pozwalaj cego na to mechanizmu Umo liwia to protokół ICMP – Internet Control Message Protocol - protokół komunikatów kontrolnych Obsługa datagramów z ICMP IMCP jest wymagan cz ci IP Komunikaty ICMP s przesyłane sieci w cz ci datagramu IP przeznaczonej na dane komunikat ICMP nagłówek datagramu Datagram, którego nie mo na dostarczy bezpo rednio, w druje sieci od routera do routera, dopóki nie dotrze do takiego routera, który mo e go bezpo rednio dostarczy do adresata Reakcja na sytuacje wyj tkowe Dostarczanie datagramu dane w datagramie Datagramy z komunikatami ICMP s obsługiwane w standardowy sposób. Jedyn ró nic jest, e w ich przypadku zaj cie „sytuacji wyj tkowych” nie powoduje generowania komunikatów o bł dach Rola ICMP Format komunikatów ICMP Rol komunikatów ICMP jest poinformowanie nadawcy datagramu o bł dzie. Nadawca sam musi podj odpowiednie działania (komunikat ICMP mo e zawiera jednak pewne sugestie) Niektóre sytuacje obsługiwane przez ICMP Komunikaty ICMP przesyłane s w nast puj cych sytuacjach: Diagnozowanie sieci mo e bazowa na przesyłaniu komunikatów ICMP echo request i echo reply (pro ba o „echo” i odpowied na t pro b ) W wielu systemach poleceniem wykorzystuj cym te komunikaty jest ping 8-bitowe pole typu i 8-bitowe pole kodu, informuj ce o rodzaju komunikatu 16-bitow sum kontroln komunikaty ICMP informuj ce o bł dach zawieraj ponadto pierwsze 64 bity datagramu który spowodował problem Niektóre sytuacje obsługiwane przez ICMP – c.d. przy testowaniu poł cze sieciowych gdy router nie mo e dostarczy datagramu gdy router jest zbyt przeci ony, aby przyj nadchodz ce datagramy gdy router wykryje, e host przesyła datagramy nieoptymaln drog Testowanie poł cze Komunikat ICMP zawiera: gdy zostanie wykryte cykliczne przesyłanie datagramu lub przesyłanie go zbyt dług drog w celu synchronizacji zegarów Testowanie poł cze - cd Format komunikatu: typ (0 lub 8) Gdy router nie mo e ani dostarczy datagramu, ani przesła go dalej, wysyła do nadawcy komunikat ICMP „adresat nieosi galny” (destination unreachable), a nast pnie likwiduje datagram suma kontrolna nr kolejny opcjonalne dane kod identyfikator Informacja o nieosi galnym adresacie typ: pro ba – 8, odpowied – 0 identyfikator i nr kolejny umo liwiaj! przyporz! dkowanie odpowiedzi pro bom pro ba zawiera opcjonalne dane; odpowied – kopi" danych z pro by Informacja o nieosi galnym adresacie – c.d Format komunikatu: typ (3) kod (0-12) suma kontrolna nieu% ywane (musi by$ 0) nagłówek i pierwsze 64 bity datagramu IP Komunikat zawiera pocz tek straconego datagramu, co pozwala nadawcy okre# li $ jaki adresat jest nieosi galny Informacja o nieosi galnym adresacie – c.d Niektóre u ywane kody: 0 – sie& nieosi ! galna (network unreachable) 1 – host nieosi ! galny (host unreachable) 2 - protokół nieosi ! galny (protocol unreachable) 3 - port nieosi ! galny (port unreachable) 4 – konieczna fragmentacja przy ustawionym bicie „nie fragmentuj” 5 – bł ! d trasowania wg nadawcy 6 – nieznana sie & adresata Przeci enia routerów ' Niekiedy router otrzymuje wi ( cej datagramów, ni% jest w stanie przetworzy$ (stan ten nazywa si ( przeci % eniem – ang. congestion) Przeci % enie mo% e wyst pi $ np. gdy wiele komputerów przesyła dane przez ten sam router, lub gdy jeden komputer generuje dane zbyt pr( dko Przychodz ce datagramy s kolejkowane itd... Przeci enia routerów – c.d. ' Je # li przysyłanie do routera nadmiernej ilo# ci datagramów trwa zbyt długo, to kolejka nie mo% e ich pomie# ci$ W takiej sytuacji przychodz ce datagramy s likwidowane, a router wysyła do ich nadawcy (-ów) komunikat ICMP source quench – pro# b ( o zredukowanie nadawania w odpowiedzi nadawca powinien zmniejszy$ ilo# $ wysyłanych danych Przeci enia routerów – c.d. ' Format komunikatu: typ (4) kod (0) suma kontrolna nieu% ywane (musi by$ 0) nagłówek i pierwsze 64 bity datagramu IP dzi( ki doł czeniu pocz tku datagramu nadawca wie, które dane nie zostały przesłane do adresata Przeci enia routerów – c.d. Pro ba o zmian trasy ' Zwykle routery generuj po jednym komunikacie dla ka dego likwidowanego datagramu Mo liwe jest te ledzenie przychodz cych pakietów i wysyłanie komunikatu do najbardziej aktywnego nadawcy Routery mog generowa komunikaty ICMP ju wtedy, gdy ich kolejki s długie, ale jeszcze nie przepełnione ) * Zakłada si , e routery posiadaj pełn informacj o trasach, za hosty startuj z minimaln „wiedz ” (trasa domy lna, dostarczanie bezpo rednie), a nast pnie zdobywaj dalsze informacje od routerów Pro ba o zmian trasy – c.d. Pro ba o zmian trasy – c.d. Format komunikatu: ) * Gdy router (b( d cy w tej samej sieci co nadawca) wykryje, % e nadawca wysyła datagramy nieoptymaln drog , wysyła do niego komunikat „pro# ba o zmian( trasy” (ICMP redirect) i wysyła datagram do adresata W odpowiedzi host modyfikuje swoj tablic( tras Nie rozwi zuje to wszystkich problemów nieoptymalnego trasowania, gdy% jest ograniczone do jednej sieci fizycznej ) * typ (5) kod (0-3) suma kontrolna adres IP routera nagłówek i pierwsze 64 bity datagramu IP komunikat zawiera adres IP routera, stanowi! cego „optymalny” „nast " pny etap” dla datagramu, którego pocz! tek jest zapisany w komunikacie pole kodu okre la, jak nale y interpretowa& adres docelowy zapisany w datagramie (0 – sie& , 1 – host, 2 – typ obsługi i sie& , 3 – typ obsługi i host) Pro ba o zmian trasy – c.d. ) * Komunikaty ICMP redirect u ywane s tylko do komunikacji routerów z hostami Same routery u ywaj do komunikacji mi dzy sob innych protokołów Wykrywanie cyklicznych lub zbyt długich tras protokoły komunikacji mi + dzy routerami zostan , omówione pó niej W sytuacji, gdy router musi zlikwidowa datagram, poniewa jego pole TTL ma warto 0, do nadawcy datagramu wysyłany jest komunikat ICMP „przekroczenie czasu” (time exceeded) podobny komunikat wysyłany jest, gdy host nie otrzyma wszystkich fragmentów datagramu w odpowiednim czasie od przybycia pierwszego z otrzymanych fragmentów Wykrywanie cyklicznych lub zbyt długich tras – c.d. Powiadamianie o innych problemach Format komunikatu: typ (11) kod (0 lub 1) suma kontrolna nieu% ywane (musi by$ 0) nagłówek i pierwsze 64 bity datagramu IP kod 0 – przekroczony czas ycia datagamu kod 1 – fragmenty nie dotarły w przewidzianym czasie Powiadamianie o innych problemach – c.d. Format komunikatu: typ (12) kod (0 lub 1) wska/ nik suma kontrolna nieu% ywane (musi by$ 0) nagłówek i pierwsze 64 bity datagramu IP Pole wska. nik okre la, który oktet w datagramie spowodował problem kod 1 – brakuje pewnej wymaganej opcji; w tym przypadku pole wska. nik nie jest u ywane W przypadku, gdy router ma z datagramem inny problem ni przedstawione wcze niej (np. datagram ma niepoprawny nagłówek), wysyła do nadawcy komunikat o bł dzie (ICMP parameter problem)