NetworkManager oder networkd
-
NetworkManager oder networkd
- Der Nutzer erklärt, warum er auf eine Verwaltung auf Basis von
wpa_supplicantumgestiegen ist - Er präsentiert eine Liste falscher Annahmen über TCP
- Es geht um Missverständnisse bezüglich der Zuverlässigkeit von TCP
- Der Nutzer erklärt, warum er auf eine Verwaltung auf Basis von
-
Liste falscher Annahmen über TCP
- TCP ist immer zuverlässig
- TCP ist meistens zuverlässig
- TCP ist nicht zuverlässig, aber Sender und Empfänger werden sich am Ende über die übertragenen Bytes einig sein
- Wenn man über TCP ein nachrichtenorientiertes Protokoll aufbaut, kann man Zuverlässigkeit garantieren
- Es gibt so etwas wie TCP-Pakete
- Es gibt so etwas wie TCP-Pakete nicht
- Wenn die Verbindung zu einem entfernten Host fehlschlägt, ist dieser offline
- Der Nagle-Algorithmus ist gut
- Der Nagle-Algorithmus ist schlecht
- Man muss sich um den Nagle-Algorithmus nicht kümmern
- TCP behandelt das Netzwerk transparent
- Wenn das Netzwerk für TCP transparent ist, ist es auch für IP transparent
- Wenn das Netzwerk für HTTP/1.1 transparent ist, ist es auch für TCP transparent
- Netzwerke, die für Standardprotokolle nicht transparent sind, sind Ausnahmen
- TCP ist auf Basis von IP implementiert
-
Erklärung
- Wenn die Verbindung abbricht, während ein ACK noch aussteht, kann der Sender nicht wissen, ob das Segment empfangen wurde
- Es werden Algorithmen wie Paxos oder Raft benötigt, und dafür sind mindestens drei Knoten nötig
- Dieses Problem tritt auch bei Protokollen wie SMTP auf
-
Zusätzliche Anmerkungen
- Zwei Parteien können über einen unsicheren Link Einigkeit erreichen
- Sie können sich über eine Teilmenge der übertragenen Bytes einigen
- Die Menge der vereinbarten Bytes kann 0 sein und anschließend wachsen
- Paxos ist nicht erforderlich
-
Weitere Diskussion
- Der exakte Bereich der vereinbarten Bytes ist nicht bekannt
- Falsche Annahmen über Netzwerktranzparenz verursachen Probleme
- Es gibt Netzwerke, die ICMP blockieren oder Pakete verwerfen, die sie nicht verstehen
- Wissen über Congestion Control ist erforderlich
Zusammenfassung von GN⁺
- Dieser Artikel behandelt falsche Annahmen über die Zuverlässigkeit von TCP und enthält eine Diskussion über die Wahl von Netzwerkverwaltungs-Tools
- Es wird erklärt, dass Zuverlässigkeitsprobleme bei TCP komplexe Algorithmen wie Paxos erforderlich machen
- Es wird betont, dass falsche Annahmen über Netzwerktranzparenz in der Praxis Probleme verursachen können
- Es werden verschiedene Faktoren vorgestellt, die bei der Auswahl von Netzwerkverwaltungs-Tools berücksichtigt werden sollten
1 Kommentare
Hacker-News-Kommentare
Das Format „falsehoods programmers believe“ ist nicht klar, was verwirrend wirkt
Es ist erstaunlich, dass eine Verbindung bestehen bleibt, selbst wenn man das Ethernet-Kabel abzieht und wieder einsteckt
Eine Zustellgarantie vom Typ „at most once“ oder „at least once“ ist möglich, aber „exactly once“ ist unmöglich
Wenn bei einem ausstehenden ACK die Verbindung abbricht, kann der Sender nicht wissen, ob das Segment empfangen wurde
Es wird infrage gestellt, ob man noch nie von Fehlerkorrekturcodes gehört hat
Wenn man innerhalb eines Rechenzentrums eigene Hardware nutzt, kann man Details auf niedriger Ebene ignorieren
Dieser Artikel ist kein fertig ausgearbeiteter Text, und der HN-Einreichtitel könnte irreführend sein
Das erinnert an ein Problem, das man bei VKontakte lösen wollte
Viele Menschen verstehen nicht, dass TCP kein Funktionsaufruf ist