Carroll
IP fournit une livraison de datagrammes peu fiable et sans connexion. Il a été conçu de cette façon pour utiliser efficacement les ressources du réseau. IP est un service de livraison au mieux qui livre un datagramme de sa source d'origine à sa destination finale. Cependant, il présente deux lacunes, l'absence de contrôle des erreurs et l'absence de mécanismes d'assistance.
IP n'a pas de mécanisme de rapport d'erreurs ou de correction d'erreurs. fragments d'un datagramme parce qu'il n'a pas reçu tous les fragments dans un délai prédéterminé. IP manque également de mécanisme pour les requêtes d'hôte et de gestion. Un hôte doit parfois déterminer si un routeur ou un autre hôte est actif. Et parfois, un gestionnaire de réseau a besoin d'informations provenant d'un autre hôte ou routeur.
L'Internet Control Message Protocol (ICMP) a été conçu pour compenser les deux lacunes ci-dessus. C'est un compagnon de l'IP. ICMP lui-même est un protocole de couche réseau. Cependant, ses messages ne sont pas transmis directement aux couches de liaison de données comme on pourrait s'y attendre. Au lieu de cela, les messages sont d'abord encapsulés dans des datagrammes IP avant de passer à la couche inférieure.