Der wichtigste Unterschied zwischen verbindungslosen (Datagramm) und verbindungsorientiertem (Stream) Sockets liegt in der Umgang mit der Datenübertragung:
Verbindungslose Sockets (z. B. UDP):
* Keine Verbindungseinrichtung: Vor dem Senden von Daten gibt es keinen Handshake- oder Verbindungsaufbau zwischen dem Absender und dem Empfänger. Jedes Paket ist unabhängig und einzeln gesendet.
* unzuverlässige Lieferung: Pakete können verloren, dupliziert oder nicht in Ordnung kommen. Es gibt keine Garantie für die Lieferung.
* schneller: Da es keinen Verbindungs -Setup -Overhead gibt, bieten sie schnellere Getriebegeschwindigkeiten. Dies liegt daran, dass es weniger anfängliche Latenz gibt.
* Unterkopf unter: Pro Paket ist weniger Verarbeitung erforderlich.
* Keine Flussregelung: Der Absender weiß nicht, ob der Empfänger die Datenrate verarbeiten kann. es sendet nur.
* Keine Überlastungskontrolle: Der Absender passt seinen Sendungsrate nicht anhand der Netzwerkbedingungen an.
* Best-Effort-Lieferung: Das Netzwerk kann das Beste geben, um die Pakete zu liefern, bietet jedoch keine Garantien.
* geeignet für: Anwendungen, bei denen gelegentlicher Datenverlust akzeptabel und Geschwindigkeit von größter Bedeutung ist, z. B. Online -Spiele, Streaming (mit Fehlerkorrektur), DNS -Lookups und VoIP (manchmal).
Verbindungsorientierte Sockel (z. B. TCP):
* Verbindungseinrichtung: Ein Drei-Wege-Handschlag (Syn, Syn-ACK, ACK) wird durchgeführt, bevor die Datenübertragung beginnt, eine zuverlässige Verbindung herzustellen.
* Zuverlässige Lieferung: Die Pakete werden in der Reihenfolge geliefert, die sie gesendet wurden, und Mechanismen wie Anerkennung (ACKs) und Wiederholungen sorgen für eine zuverlässige Lieferung. Verlorene oder beschädigte Pakete werden erneut gesenkt.
* langsamer: Das Verbindungsaufbau fügt eine Latenz hinzu.
* höherer Overhead: Aufgrund der Fehlerprüfung und der Durchflussregelung wird eine weitere Verarbeitung beteiligt.
* Flussregelung: Der Absender passt seine Sendungsrate an die Kapazität des Empfängers an und verhindert die Überlastung des Empfängers.
* Überlastungskontrolle: Der Absender passt seine Sendungsrate anhand der Netzwerküberlastung an, um das Netzwerk überwältigt zu vermeiden.
* Bestellte Lieferung: Pakete werden garantiert in der Reihenfolge eintreffen, die sie erhalten haben.
* geeignet für: Anwendungen, die eine zuverlässige Datenübertragung erfordern, z. B. Webbrowsing (HTTP), Dateiübertragung (FTP), E -Mail (SMTP) und Secure Communication (SSH).
Kurz gesagt: Wählen Sie verbindungslose Steckdosen, wenn Geschwindigkeit und niedriger Overhead kritisch sind, und ein gewisser Datenverlust ist akzeptabel. Wählen Sie verbindungsorientierte Steckdosen, wenn eine zuverlässige Datenbereitstellung von wesentlicher Bedeutung ist. Die Wahl hängt häufig von den Anforderungen der Anwendung ab.