Internet Control Message Protocol
De la Wikipedia, enciclopedia liberă
ICMP (Internet Control Message Protocol) 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.
[modifică] Exemple de utilizare
Probabil cele mai utilizate programe care se bazează pe ICMP sunt ping şi traceroute.
Ping trimite mesaje ICMP de tip echo request către calculatorul ţintă şi aşteaptă de la acesta mesaje ICMP de tip echo reply. Dacă acestea nu sunt primite, se poate presupune că ceva este în neregulă cu conexiunea dintre cele două calculatoare.
Toate pachetele IP au în prolog un câmp special numit TTL (Time To Live). Acest câmp este decrementat de fiecare dată când trece printr-un router. 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.