Mis on Interneti-juhtsõnumiprotokoll?

Internet Control Message Protocol (ICMP) on utiliit, mida kasutatakse arvutivõrkudes vigadest teatamiseks ja diagnostikaks. ICMP on osa Interneti-protokolli (IP) komplektist ja koosneb eelnevalt määratletud sõnumitest, millel on erinevad eesmärgid. Enamik Interneti-juhtsõnumiprotokolli aspekte jääb lõppkasutajatele märkamatuks, kuid mõned võrgutööriistad, nagu traceroute ja ping, sõltuvad oma funktsionaalsuse osas ICMP-sõnumitest.

Nii Interneti kui ka väiksemate arvutivõrkude keskmes on IP Suite’i nime all tuntud protokollide kogum. Need protokollid määravad võrguseadmete vahel vahetatavate sõnumite vormingud ja kehtestavad reeglid nende sõnumite saatmise ja vastuvõtmise kohta. Protokollid on samuti kihilised, kusjuures iga kiht tugineb selle all olevale. ICMP on osa suuruselt teisest, Interneti-kihist. See kiht sisaldab hästi tuntud Interneti-protokolli, mis vastutab üksikute andmerühmade, mida nimetatakse pakettideks, edastamise eest ühes või mitmes võrgus.

ICMP-d kasutatakse veateadete või diagnostikateabe saatmiseks seadmete või hostide vahel, kasutades Interneti-protokolli. ICMP-teated on eelnevalt määratletud ja neile võib viidata kas nime või tüübinumbri järgi. Enamik neist teadetest on mõeldud erinevat tüüpi veateadete jaoks. Näiteks kui teatud hostiga ei saa ühendust, genereeritakse sageli ICMP-sõnum, mis näitab konkreetset probleemi, mis takistab andmete edastamist. Kui paketid rikutakse või kui võrgu ruuter või host on ülekoormatud, saadetakse teist tüüpi sõnumeid.

Paketi maksimaalne suurus ei ole eelnevalt määratletud, vaid selle määrab konkreetse võrgulingi maksimaalne edastusühik (MTU). Erinevatel linkidel võivad olla erinevad MTU-d, kuid pakett peab oma teekonna lõpuleviimiseks olema väiksem kui antud teekonna väikseim MTU. Tehnika, mida tuntakse kui Path MTU Discovery (PMTUD), kasutab ICMP-sõnumeid, et teavitada saatjat, kui paketid on konkreetse teelõigu jaoks liiga suured.

Seotud protokoll, mida tuntakse ICMP ruuteri avastamisprotokollina (IRDP), võib hõlbustada seda toetavate hostide võrgu automaatset konfigureerimist. IRDP kasutab kahte tüüpi Interneti-juhtsõnumite protokolli sõnumeid, et teavitada ja avastada lähedalasuvaid ruutereid, st kahte või enamat võrku ühendavaid hoste. IRDP-d toetav ruuter edastab perioodiliselt ICMP-ruuteri reklaamsõnumi, mis annab hostidele teada selle olemasolust. Hostid võivad saata ka päringusõnumi, paludes kõigil läheduses asuvatel ruuteritel end tuvastada.

Mõned populaarsed võrguutiliidid toetuvad ka Interneti-juhtsõnumiprotokollile. Üks tööriist, traceroute, kasutab ICMP-teadet, mis genereeritakse siis, kui pakett on aegunud või ületanud oma “eluaeg” (TTL). Seades paketi jaoks tahtlikult madala TTL väärtuse, saab traceroute teate ICMP Time Exceeded viimaselt ruuterilt, milleni pakett jõudis enne aegumist. Selle protsessi kordamine ja TTL väärtuse suurendamine loob teoreetiliselt loendi kõigist hostipakettidest, mida läbivad paketid.
Teine tööriist nimega ping tugineb ICMP Echo Request sõnumile, millele vastatakse ICMP kaja vastuse sõnumiga. Kahjuks saab pingi kuritarvitada ka nn smurfirünnakus, kui häkker saadab võltsitud saatjainfoga kajapäringuid, millele vastavad seejärel paljud teised masinad. See võib ummistada võrgu nii kaugele, et ükski seaduslik pakett ei pääse läbi. Seda olukorda nimetatakse teenuse keelamiseks.