ICMP ist ein Steuerungsprotokoll, das heißt, dass es nicht dazu dient, Anwendungsdaten zu transportieren, sondern Informationen über den Status des Netzwerks selbst. Das bekannteste Beispiel für ICMP in der Praxis ist das Ping-Dienstprogramm, das ICMP verwendet, um entfernte Hosts auf Reaktionsfähigkeit und die Gesamtlaufzeit der Testnachrichten zu prüfen.
Sowohl das Transmission Control Protocol (TCP) als auch das User Datagram Protocol (UDP) sind Transportprotokolle. Sie werden zum Weiterleiten der tatsächlichen Daten verwendet. Der Hauptunterschied zwischen TCP und UDP besteht darin, dass TCP ein verbindungsorientiertes Protokoll ist. Es garantiert, dass alle gesendeten Pakete das Ziel in der richtigen Reihenfolge erreichen.
UDP dagegen ist ein verbindungsloses Protokoll. Die Kommunikation ist datagrammorientiert, sodass die Integrität nur für das einzelne Datagramm gewährleistet ist. Datagramme erreichen das Ziel und können außerhalb der Reihenfolge ankommen oder überhaupt nicht ankommen. Sie wird im Allgemeinen für Echtzeitkommunikation verwendet, bei der ein geringer Prozentsatz der Paketverlustrate dem Overhead einer TCP-Verbindung vorzuziehen ist.