ICMP

ICMP () – interneto kontrolės žinučių protokolas. ICMP priklauso TCP/IP protokolų šeimai ir priskiriamas OSI tinklo sluoksnio protokolams. Protokolas neturi jokio gavimo patvirtinimo funkcijos, todėl laikomas nepatikimu. Pagrindinė protokolo paskirtis – perduoti klaidos informaciją duomenų siuntėjui. Informacija dažniausiai perduodama tarp prie tinklo prijungto kompiuterio ir tinklinės įrangos, pvz., maršrutizatoriaus. Galimų klaidų pavyzdžiai: nutolusios aptarnavimo stoties prievadas yra nepasiekiamas arba maršrutizatorius nežino, kaip pasiekti gavėjo tinklą. Protokolas taip pat naudojamas atlikti užklausas.

Plačiausiai žinomi ICMP pritaikymai yra programos ping ir traceroute.

ICMP antraštės sudėtis 
ICMP antraštė seka iškart po IP antraštės.

Antraštė 

 Tipas  ICMP žinutės tipas. Klaidos pranešimai, užklausos ir atsakymai turi skirtingus tipo numerius.
 Kodas  Platesnė ICMP tipo specifikacija, pvz.: klaidos pranešime apie nepasiekiamą gavėją nurodoma priežastis, kodėl gavėjas yra nepasiekiamas.
 Duomenų patikros suma  Skaičius naudojamas patikrinti, ar gautos ICMP žinutės turinys yra nepakitęs.

ICMP tipai 
ICMP žinutės skirstomos į klaidos pranešimo, užklausos ir atsakymo tipus.

ICMP klaidos pranešimo tipai 
3 – Nepasiekiama paskirtis (). Paprastai siunčiama maršrutizatoriaus siuntėjui, pranešant, kad siunčiamas duomenų paketas nepasiekė gavėjo dėl priežasties nurodytos ICMP kode.

4 – Šaltinio gesinimas (). Maršrutizatorius praneša siuntėjui, kad negalėjo persiusti jo duomenų paketo dėl nepakankamo maršrutizatorius pajėgumo.

5 – Gavėjo peradresavimas (). Siunčia maršrutizatorius prie to paties tinklo ar potinklio prijungtam kompiuteriui, jei duomenų paketo gavėjas yra pasiekiamas per kitą maršrutizatorių, prijungtą prie to paties tinklo ar potinklio. Taip maršrutizatorius nurodo artimesnį maršrutą, kaip pasiekti gavėją.

11 – Galiojimo laikas baigėsi (). Maršrutizatorius praneša siuntėjui, kad užtruko daugiau laiko nei leistina duomenų paketo perdavimui, todėl paketas nebuvo siunčiamas.

ICMP užklausų ir atsakymų tipai 
0 – Atsakas į atsakymo užklausimą (). Išsiųsta ICMP žinutė kaip atsakas į 8 tipo žinutę. Naudojamas ping programos.

8 – Atsakymo užklausimas (). Ši ICMP žinutė siunčiama, kai norima, kad gavėjas išsiųstų atsakymą be jokios kitos informacijos. Taip gavėjas patvirtina, kad yra prijungtas prie tinklo. Naudojamas ping programos.

13 – Laiko užklausimas (). ICMP žinutė, skirta laiko sinchronizavimui tinkle. Siuntėjas prie žinutės prideda išsiuntimo laiką.

14 – Atsakymas į laiko užklausimą (). Ši ICMP žinutė išsiunčiama kaip atsakas į 13 tipo žinutę. Į atsakymą įtraukiamas 13 tipo žinutės gavimo laikas ir atsakymo išsiuntimo laikas.

17 – Potinklo kaukės užklausimas (). Naudojama nustatyti tiesiogiai prijungto tinklo IP adreso potinklio kaukę.

18 – Atsakymas į potinklo kaukės užklausimą (). Atsakymas į 17 tipo žinutę su savo IP adreso potinklio kauke.

Interneto protokolai