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)