ICMP

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

ICMP (angl. Internet Control Message Protocol) – 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[taisyti | redaguoti kodą]

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

Antraštė[taisyti | redaguoti kodą]

+ Bitai: 0–7 8–15 16–31
0 Tipas Kodas Duomenų patikros suma
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[taisyti | redaguoti kodą]

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

ICMP klaidos pranešimo tipai[taisyti | redaguoti kodą]

3 – Nepasiekiama paskirtis (angl. Destination Unreachable). 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 (angl. Source Quench). Maršrutizatorius praneša siuntėjui, kad negalėjo persiusti jo duomenų paketo dėl nepakankamo maršrutizatorius pajėgumo.

5 – Gavėjo peradresavimas (angl. Redirect). 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 (angl. Time Exceeded). 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[taisyti | redaguoti kodą]

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

8 – Atsakymo užklausimas (angl. Echo Request). Š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 (angl. Timestamp Request). ICMP žinutė, skirta laiko sinchronizavimui tinkle. Siuntėjas prie žinutės prideda išsiuntimo laiką.

14 – Atsakymas į laiko užklausimą (angl. Timestamp Reply). Š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 (angl. Address Mask Request). Naudojama nustatyti tiesiogiai prijungto tinklo IP adreso potinklio kaukę.

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