4.3.1.3. Internet Control Message Protocol (ICMP)

Az ICMP tulajdonképpen az IP felügyeleti protokollja, úgy viselkedik, mintha magasabb szintû protokoll lenne, de az IP integráns része. Egy ICMP csomag valójában egy IP csomag, melyben a protokoll azonosítója 1.

ICMP üzenetet a következô szituációkban küldenek:

  1. A címzett elérhetetlen. A router-ek küldik a feladónak, ha a cél nem létezik, vagy a hálózata végtelen távolságban van, esetleg beállított DF bit mellett fragmentációra lett volna szükség. A címzett is küldheti, ha például nem fut a jelölt protokollt támogató processz.
  2. Lejárt a csomag élettartama. A router-ek küldhetik, ha a TTL nullára csökkent, vagy a címzett, ha a fragmentek összevárására kijelölt idô letelt és még nem érkezett meg az összes darab.
  3. Hibás IP csomagot adtunk fel.
  4. Túl gyorsan küldjük a csomagokat. Ezt az üzenetet router-ek vagy a címzett küldheti, tipikusan még mielôtt kimeríti erôforrásait, így az a csomag, amire válaszként jön, még célbaérhetett.
  5. Átirányítás (Redirect). Más irányba küldjük inkább az ehhez a címzetthez küldendô csomagjainkat, mert arra rövidebb az út. Ezt router-ek küldhetik az állomásoknak a hálózat mûködésének javítása érdekében.
  6. Echo és Echo reply. Ezzel a két üzenettel a címzett elérhetôségét és mûködését tesztelhetjük. Egy Echo üzenetre minden állomás kötelezô Echo reply-jal válaszolni. Ezt használja a UNIX alatti ping parancs is.
  7. Idôbélyeg kérés és válasz. Ez az állomások óráinak szinkronizálására használatos.
  8. Saját hálózat számának lekérdezése és megválaszolása. Arra szolgálnak, hogy egy állomás megszólítson valakit a saját hálózatán (a hálózat száma kitöltetlenül hagyható) és attól elkérje a hálózat számát. A válaszoló egy teljesen kitöltött címmel válaszol, így a lekérdezô állomás is birtokába jut a hálózat számának.

Az eredeti ICMP funkciók mellé az RFC1256 megjelenésével az ICMP router discovery mechanizmusa társult. A router-ek periodikusan hirdetményeket tesznek közzé a link-en (Router Advertiement), melyekben számos paraméterüket közlik az állomásokkal (többek között MAC címüket). Az állomások így megismerik, milyen router-ek is vannak a link-en és könnyen továbbíthatják nekik csomagjaikat, melyek nem a link-re szólnak. Az állomásoknak nem kell megvárniuk a hirdetmények periodikus közzétételét, hanem felszólításokkal (Router Solicitation) soron kívül is kiválthatják azokat.