Wojskowa Akademia Techniczna
Wydział Elektroniki, Instytut Telekomunikacji
Protokoły ICMP, IGMP, ARP, RARP
dr in\. Jarosław Krygier
p. 122/47
tel. /22/6837193
e-mail: jkrygier@wat.edu.pl
Materiały dydaktyczne:
http://jkrygier.wel.wat.edu.pl
1/
ICMP (Internet Control Message Protocol) RFC792, RFC950
Przeznaczenie:
ICMP jest protokołem określającym zbiór wiadomości słu\ących do
powiadamianiu o błędach w przetwarzaniu pakietów IP w sieci oraz
pełniących funkcje pomocnicze w identyfikacji stanu elementów sieci (ping).
Charakterystyka ogólna ICMPv4
ICMP jest integralną częścią IP choć wykorzystuje go tak, jak protokoły warstw
wy\szych (w polu protokół warstwy wy\szej w IPv4 oraz następny nagłówek w
IPv6 wstawiany jest kod ICMP = 1)
Wykorzystywany jest do informowaniu o błędach nie zapewnia niezawodnej
transmisji pakietów IP (do tego słu\ą protokoły warstwy transportowej)
ICMP pozwala informować o błędach dot. pakietów IP, ale nie tych które przenoszą
wiad. ICMP
W przypadku fragmentowanych pakietów IP wiadomość o błędzie dotyczy tylko
fragmentu 0
Wiadomości ICMP nie są przesyłane w odpowiedzi na pakiety o adresach docelowych
broadcastowych lub multicastowych oraz adresach zródłowych innych ni\
unikastowych
Wiadomości ICMP nie są przesyłane w odpowiedzi na wiadomości ICMP informujące
o błędach mogą być przesyłane w odpowiedzi na tzw. zapytania ICMP (np.. echo
request)
Wiadomości ICMP o błędach mogą być generowane przez urządzenia sieciowe, ale
nie muszÄ… (wg. RFC792).
2/
ICMP RFC792 ogólny format wiadomości ICMP
1 8 16 24 32 bity
Application
Transport
Destination
1
Typ Kod Suma kontrolna
Unreachable
4
ICMP
(8 bitów) (8 bitów) (16 bitów)
Echo (Ping)
Internet
Inne
8
Dane ICMP (w zale\ności od typu wiadomości)
Data Link
Physical
Najczęściej u\ywane typy wiadomości ICMP
Typ Kod Opis Typ Kod Opis
0 0 echo reply 8 0 echo request
3 destination unreachable 9 0 router advertisement
0 network unreachable 10 0 router solicitation
1 host unreachable 11 0 time exceeded
2 protocol unreachable 12 parameter problem
3 port unreachable 0 IP header bed
4 0 source quenche 1 required option missing
5 redirect 13 0 time stamp request
0 redirect for network 14 0 time stamp reply
3/
ICMP Format Echo request i Echo replay
Echo request (ping)
1 8 16 24 32 bity
RFC 792 nie definiuje
8 0 Suma kontrolna
zawartości pola danych.
4
(8 bitów) (8 bitów) (16 bitów)
Najczęściej (dla komendy
Identyfikator (0÷2^16) Numer sekwencji (0÷2^16)
ping ) zawiera ono
8
(16 bitów) (16 bitów)
sekwencjÄ™ 32 kolejnych
liter alfabetu zakodowanÄ…
Dane
na 32 bajtach w kadzie
(32 bajty):
ASCI (1 litera 1 bajt)
a b s c d e f g h i j k l m n o p r s t u v w a b c d e f g h i
Echo reply
1 8 16 24 32 bity
Kopiowane
0 0 Suma kontrolna
4
(8 bitów) (8 bitów) (16 bitów)
Identyfikator (0÷2^16) Numer sekwencji (0÷2^16)
8
(16 bitów) (16 bitów)
Dane
(32 bajty):
a b s c d e f g h i j k l m n o p r s t u v w a b c d e f g h i
4/
ICMP Format Time exceeded
Time exceeded Przekroczony czas
1 8 16 24 32 bity
Kod = 0 przekroczony
11 Kod Suma kontrolna
czas transmisji pakietu
4
(8 bitów) (8 bitów) (16 bitów)
Kod = 1 Przekroczony
Nieu\ywane same zera
czas dzielenia pakietu
8
(32 bity)
(fragmentacji)
Nagłówek pakietu IP, na który wiadomość odpowiada + 64 bity danych oryginału
(28 bajty dla nagłówka IPv4 bez opcji)
Przykład:
x
y
TTL=128
dostęp do strony www
Dane TCP (65B) Nagłówek TCP (20B) Nagłówek IP (20B)
Czas \ycia
adr docelowy: y
pakietu
minÄ…Å‚:
Nagłówek ICMP
Nagłówek IP (20B) Nagłówek IP (20B) 64 bity nagłówka TCP
TTL = 0
(8B)
Typ: 11; Kod 0
adr docelowy: x
Wiadomość ICMP
5/
ICMP Format Destination unreachable
Destination unreachable brak dostępu do sieci (węzła)
1 8 16 24 32 bity
Kod liczba zale\na od
3 Kod Suma kontrolna
przyczyny braku dostępu
4
(8 bitów) (8 bitów) (16 bitów)
Nieu\ywane same zera
8
(32 bity)
Nagłówek pakietu IP, na który wiadomość odpowiada + 64 bity danych oryginału
Stacja robocza
(28 bajty dla nagłówka IPv4 bez opcji)
nie serwer
www (brak
Przykład:
wymaganego
portu)
x
y
dostęp do strony www
Dane TCP (65B) Nagłówek TCP (20B) Nagłówek IP (20B)
ZÅ‚y port
adr docelowy: y
Nagłówek ICMP
Nagłówek IP (20B) Nagłówek IP (20B) 64 bity nagłówka TCP
(8B)
Typ: 3; Kod 3
adr docelowy: x
Wiadomość ICMP
6/
ICMP Przykład zastosowania Echo request i Time exceeded
Aplikacja Traceroute :
8
7
232.172.211.113
6
232.172.211.254
5
7
Ping (Echo req)
202.112.211.254 IP:
4
TTL: 3
3
Source: 206.152.221.78
2
Dest: 232.172.211.113
1
Echo repl
8
212.155.221.254
5
206.152.221.254
Ping (Echo req)
3
IP:
Trasa: Ping (Echo req)
TTL: 3
IP:
206.152.221.254
Source: 206.152.221.78
206.152.221.78
TTL: 2
202.112.211.254 Dest: 232.172.211.113
Source: 206.152.221.78
232.172.211.254
Dest: 232.172.211.113
6
1 2 4
ICMP: Time exc.
Ping (Echo req) ICMP: Time exc. ICMP: Time exc.
IP:
IP: IP: IP:
TTL: 128
TTL: 1 TTL: 128 TTL: 128
Source: 232.172.211.254
Source: 206.152.221.78
Source: 206.152.221.254 Source: 202.112.211.254
Dest: 206.152.221.78
Dest: 232.172.211.113
Dest: 206.152.221.78 Dest: 206.152.221.78
7/
ICMP - Przykład z analizatora protokołów
Typ: Destination unreachable
Pod tym adresem nie ma
udostępnionego
\Ä…danego portu
Pola pakietu ICMP
8/
IGMP (Internet Group Management Protocol) RFC1112, RFC2236
Przeznaczenie:
Protokół IGMP wykorzystywany jest przez stacje, które dołączone są do
grupy stanowiącej zbiór stacji multicastowych.
Aby otrzymywać
pakiety multicastowe
stacja musi dołączyć
Router
się do określonej grupy
multicastowy
Membership report
1
Stacja
robocza
Membership query
2
Stacja
Stacja
robocza
2
robocza
2
1
Grupa multicastowa
Transmisja
Router
multicastowa polega
2
1
multicastowy
na jednoczesnym
2
2
1
przesyłaniu pakietów
1
do wielu stacji na tzw.
Ju\ jest w grupie
adres multicastowy
1
Dołączam
multicastowej
siÄ™
2
Od czasu do czasu router
sprawdza kto jest w grupie
9/
IGMP Format pakietu
Application
Transport
Membership
Typ:
2
Query
1 = Host Membership Query
IGMP
2 = Host Membership Report
Membership
Internet
Adres:
Report
- zera gdy Typ 1
Data Link
- grupowy adres multikastowy
Physical
1 8 16 24 32 bity
Wersja Typ Nieu\ywane (zera) Suma kontrolna
4
(4 bitów) (4 bitów) (8 bitów) (16 bitów)
Adres IP klasy D
8
(32 bity)
bajtów
Uwaga:
1. Stacja po otrzymaniu Membership query odpowiada z losowym
opóznieniem. Przyczyna: nie ma nagłego wzrostu ruchu.
2. Stacja odpowiada na grupowy adres multikastowy z ustawionym TTL = 1.
Zatem inne stacje nie nie odbierają tego pakietu gdy\ usunięty on
zostanie w routerze
10/
IGMP Przykład z analizatora protokołów
TTL = 1
Membership query
Same zera
TTL = 1
Membership report
Adres multicastowy
11/
ARP (Address Resolution Protocol) RFC 826
Przeznaczenie:
Zadaniem ARP jest konwersja adresów warstw wy\szych (IP)
Przy okazji
na adresy warstwy fizycznej
otrzymania pakietu
ARP stacje
Tablica ARP
IP MAC
uaktualniajÄ… tablice
(ARP Cache) IP 0 MAC 0
.... ....
ARP
IP MAC
MAC 1
IP MAC
IP 3 MAC 3 IP 0 MAC 0
3
MAC 2
.... ....
.... ....
Sprawdzenie tablicy
IP MAC
0
MAC 3 IP 0 MAC 0
MAC 0
.... ....
IP 1
1
IP 2
IP 0
Pakiet IP:
Hub Ethernet
IP 3
IP zródła: IP x
1
1
IP docelowy: IP 3
5
2
Ramka Ethernet z pakietem IP:
MAC zródła: MAC 0
5
MAC docelowy: MAC 3
1
2
ARP request
ARP reply
Ja mam taki adres.
Ramka Ethernet:
Ramka Ethernet:
Oto mój adres MAC.
MAC zródła: MAC 0
Kto ma adres IP 3
MAC zródła: MAC 3
MAC docelowy: rozsiewczy
niech siÄ™ odezwie ?
MAC docelowy: MAC 0
Uwaga: ARP nie działa w sieciach, w
IP zródła: IP 0
IP zródła: IP 3
których nie mo\na przesyłać ramek
IP docelowy: IP 3
IP docelowy: IP 0
rozgłoszeniowych (np. X.25)
12/
ARP Komunikacja w sieci lokalnej poprzez IP
Odczytałem ramkę
Chcę wysłać
1
rozgłoszeniową.
pakiet.
3
Znalazłem tam swój
Muszę znać adr.
adres IP. Odpowiadam i
stacji o IP:
załączam mój adres
176.16.3.2.
Ethernetowy
172.16.3.1 172.16.3.2
2 2
4
IP: 172.16.3.2 = ???
IP: 172.16.3.2 = ??? IP: 172.16.3.2 = ???
IP: 172.16.3.2 = ???
IP: 172.16.3.2
IP: 172.16.3.2
Ethernet: 0800.0020.1111
Ethernet: 0800.0020.1111
5
PrzyporzÄ…dkuj: IP MAC
Zapisz tablice ARP
13/
ARP Format pakietu
ARP request, reply
1 8 16 bitów
Nagłówek warstwy fizycznej
(x bajtów)
Typ protokołu warstwy fizycznej
(16 bitów)
Typ protokołu warstwy sieciowej - z pola Type nagłówka warstwy fizycznej (IP = 0x0800)
(16 bitów)
Długość adresu MAC w bajtach Długość adresu sieciowego w bajtach
(8 bitów) (8 bitów)
Kod działania Request = 1, Reply = 2
(16 bitów)
Adres MAC zródłowy
(n bitów) > dla Ethernetu (48 bitów)
Adres IP zródłowy
(32 bity IPv4)
Adres MAC docelowy
(n bitów) > dla Ethernetu (48 bitów)
Adres IP docelowy
(32 bity IPv4)
14/
ARP Przykład z analizatora protokołów
Adres MAC rozgłoszeniowy
Pola pakietu ARP
Na poczÄ…tku wstawiane same zera
15/
RARP (Reverse Address Resolution Protocol) RFC 903
Przeznaczenie:
Zadaniem RARP jest powiadomienie stacji, która przesyła
swój adres MAC o jej adresie IP.
Odczytałem
ramkÄ™
Jaki mam
rozgłoszenio
adres IP?
wą. Oto twój
adres IP
172.16.3.25.
Ethernet: 0800.0020.1111 IP = ???
Ethernet: 0800.0020.1111 IP = ???
Ethernet: 0800.0020.1111
Ethernet: 0800.0020.1111
IP: 172.16.3.25
IP: 172.16.3.25
PrzyporzÄ…dkuj: MAC IP
Uwaga: Format pakietu RARP jest identyczny jak ARP,
Przypisano następujące kody działania:
RARP request = 3
RARP reply = 4
16/
Wyszukiwarka
Podobne podstrony:
WST Kompresja naglowskow v1 pptWST IPv6?resacja pptWST?zpieczenstwo sieci IP v2 pptWST Organizacja globalnej sieci teleinf pptWST IPv4 pptWST Routing i RIP pptWST RoutingBGP pptWST TCP UDP Ster przep pptwst giicmpSS wyklad nr 6 ppt8 Tarczownice ppticmpUDP ICMP Headersw10 soczewki pptwst p do prawoznawstwa normy a przepisy prawa wyk ? morChoroby odkleszczowe 08 II pptwięcej podobnych podstron