Kommunikationsprotokoll für das Internet verstehen
Im Allgemeinen ist ein _Kommunikationsprotokoll_ein Regelsystem, das es zwei oder mehr Entitäten eines Kommunikationssystems ermöglicht, Informationen zu übertragen. Das Internet verfügt über eine breite Palette von Protokollen, um unterschiedliche Situationen abzudecken. Bei der Erstellung webbasierter Anwendungen und Programmierschnittstellen verwenden Softwareentwickler gewöhnlich drei dieser Kommunikationsprotokolle, um den Status des Netzes und die Art und Weise zu beschreiben, wie Datenpakete im Netz verschoben werden:
- ICMP, Internet Control Message Protocol, Teil der Internet Protocol Suite, die in RFC 792 definiert ist.
- TCP, Transmission Control Protocol
- UDP, User Datagram Protocol
Die Protokolle, die für eine bestimmte Implementierung eines API-Aufrufs verwendet werden, können das Gesamtverhalten Ihres Netzes beeinflussen. Es lohnt sich also, die grundlegenden Unterschiede zwischen ihnen zu verstehen. Wenn Sie weitere Informationen benötigen, finden Sie etliche lesenswerte Artikel mit ausführlichen Beschreibungen der Protokolle im Internet.
ICMP
ICMP ist ein Steuerprotokoll, d. h., es ist so konzipiert, dass es Informationen zum Status des Netzes selbst enthält. Es handelt sich im Wesentlichen um ein Netzebene-Fehlermeldungsprotokoll (OSI Layer 3) und Fehlersteuerungsprotokoll
für das Netz. Die bekanntesten Beispiele für ICMP aus der Praxis sind die Dienstprogramme ping
und traceroute
. Das Dienstprogramm ping
setzt ICMP ein, um die Reaktionsfähigkeit von fernen Hosts und die
gesamte Umlaufzeit der Testnachrichten zu testen. Das Dienstprogramm traceroute
verwendet ICMP, um Netzrouten zu erkennen und zu verfolgen, die die ICMP-Pakete nehmen, wenn sie an ihr Ziel reisen.
Entwickler müssen wissen, dass ICMP-Pakete keine TCP-oder UDP-Portnummern haben, die ihnen zugeordnet sind, da Portnummern ein Konstrukt der Schicht 4 (Transportschicht) sind.
TCP und UDP
Sowohl Transmission Control Protocol (TCP) als auch User Datagram Protocol (UDP) sind Transportprotokolle der OSI-Schicht 4. Diese Protokolle werden verwendet, um die eigentlichen Daten zu übergeben. Der Hauptunterschied zwischen TCP und UDP, aus der Perspektive des Entwicklers, ist, wie sie die Paketreihenfolge handhaben.
TCP ist ein verbindungsorientiertes Protokoll; es garantiert, dass alle gesendeten Pakete das Ziel in der richtigen Reihenfolge erreichen.
Alternativ dazu ist UDP ein verbindungsloses Protokoll. Die Kommunikation ist datagrammorientiert, sodass die Integrität nur in einem einzelnen Datagramm gewährleistet wird. Die Datagramme erreichen ein Ziel möglicherweise in einer anderen Reihenfolge oder möglicherweise auch gar nicht.
In der Regel wird UDP für die Echtzeitkommunikation verwendet, bei der ein geringer Prozentsatz der Paketverlustrate dem Gesamtaufwand einer TCP-Verbindung vorzuziehen ist.