Internet Control Message Protocol

Internet Control Message Protocol (abreviat ICMP) este un protocol din suita TCP/IP care folosește la semnalizarea și diagnosticarea problemelor din rețea. Protocolul este definit in RFC792. Mesajele ICMP sunt încapsulate în interiorul pachetelor IP. Versiunea ICMP pentru IPv4 este adesea cunoscuta ca ICMPv4; in schimb IPv6 dispune de un protocol similar cunoscut sub abrevierea ICMPv6.

Exemple de utilizare

modificare

Probabil cele mai utilizate programe care se bazează pe ICMP sunt ping și traceroute.

Ping trimite mesaje ICMP de tip echo request ("cerere de ecou") către calculatorul țintă și așteaptă de la acesta mesaje ICMP de tip echo reply ("răspuns de tip ecou"). Dacă acestea nu sunt primite, se poate presupune că ceva este în neregulă cu conexiunea dintre cele două calculatoare.

Toate pachetele IP au în antet un câmp special numit TTL (Time To Live). Acest câmp este decrementat de fiecare dată când trece printr-un ruter. Pentru a evita buclele de routare, în momentul în care câmpul TTL ajunge la zero pachetul nu este trimis mai departe. În această situație, router-ul care a decrementat câmpul TTL la zero trimite către calculatorul-origine al pachetului (adresa acestuia se află tot în prologul IP) un mesaj ICMP de tip time exceeded. Programul traceroute profită de acest mecanism și trimite către calculatorul țintă, pachete UDP cu valori ale câmpului TTL din ce în ce mai mari, cu scopul de a obține mesaje time exceeded de la toate routerele aflate pe traseu.

Structura segmentului ICMP

modificare

Antetul (header) ICMP începe imediat după antetul IPv4. Toate pachetele ICMP dispun de un antet de 8 octeți și de o secțiune de date de lungime variabila. Structura antetului ICMP este redata în figura de mai jos:

Biti 0-7 8-15 16-23 24-31
0 Tip Cod Suma de control
32 Restul antetului
  • Tip - tipul pachetului ICMP
  • Cod - subtipul pachetului ICMP în funcție cu tipul selectat anterior
  • Suma de control - Suma de control calculata în funcție de câmpurile antet ICMP + sir de date și este descrisa în RFC 1071.
  • Restul antetului - câmp de 4 octeți ce variază ca și conținut pe baza tipului/codului antetului ICMP.


In continuare este redata lista mesajelor de control (incompleta):

Tip Cod Descriere
0 - Echo Reply 0 Răspuns de tip ecou (utilizat pentru ping)
1 si 2 Rezervat
3 - Destinație de neatins (Destination Unreachable) 0 Retea destinație indisponibila
1 Gazda-destinație indisponibila
2 Protocol destinație indisponibil
3 Port destinație indisponibil
4 Solicitare fragmentare
5 Sursa de rutare eșuata
6 Retea destinație necunoscuta
7 Gazda destinație necunoscuta
8 Gazda sursa izolata
9 Acces rețea interzis
10 Acces gazda interzis
11 Retea inadmisibila pentru TOS
12 Gazda inadmisibila pentru TOS
13 Acces comunicație interzisa
14 Prioritate gazda încălcata
15 Prioritate interzisa
4 - Sursa ICMP "potolita" 0 Mesaj ICMP transmis inițiatorului, solicitând scăderea ratei de mesaje ICMP către un anumit ruter/gazda (datorita problemelor de congestie).
5 - Redirectare mesaje ICMP 0 Redirectare datagrama pentru rețea
6 Adresa gazda alternativa
7 Rezervat
8 - Echo Request 0 Cerere de ecou (echo request) utilizata în ping
... ... ...
11 - Expirare timer (time exceeded) 0 TTL expirat în timpul tranzitului
1 Timpul de reasamblare a fragmentelor expirat
... ... ...
30 - Traceroute Solicitare informații
... ... ...

Bibliografie

modificare
  • Tannenbaum, Andrew (). Rețele de calculatoare, ediția a patra. Editura Byblos. ISBN 973-0-03000-6. 
  • CCNA - Ghid de studiu independent. Editura All. "2007".  Verificați datele pentru: |date= (ajutor)