ICMP permet le transfert d'info sur les "ratés" d'IP.
Si un paquet arrive sur un routeur et qu'il y a une quelconque probleme et que le paquet n'est pas re achemine, alors est genere un paquet ICMP a destination de l'expediteur du paquet IP errone pour l'informer du fait que son paquet n'est pas arrive a destination.
Maintenant qu'on sait ca, on peut imaginer plein de choses sympa avec ce protocole :
- tu envoies un paquet sur une adresse IP sur un port a priori ferme et tu te prend en retour un paquet ICMP t'indiquant que le destinataire n'a pas accepte ta connection. Et Hop, tu tu sais qu'il y a quelqu'un en face parce qu'il t'a repondu... c'est le PING.
- tracert (traceroute sur UNIX) marche suivant la meme idee aussi (envoyer des salves de 3 paquets en incrementant le TTL, ...)
Voila en gros la chose, mais s'il y a une erreur quelconque dans mes propos, merci de me corriger...