Wenn das Programm zuverlässige Verbindungen erwartet, muss TCP und nicht UDP verwendet werden. UDP ist auf Protokollebene nicht gegen Verlust geschützt - es ist nur ein Best-Delivery-System. TCP ist ein System mit garantierter Lieferung.
Wie baue ich eine UDP-Verbindung ein, um den Widerstand gegen Paketverlust zu verbessern?
Angenommen, es gibt eine UDP-Verbindung, die nicht viel Paketverlust erwartet.
Gibt es bereits Tools, die das Umschließen einer UDP-Verbindung ermöglichen, um bei Bandbreiten und Overhead mehr Zuverlässigkeit zu erzielen, z. B. mithilfe von Reed-Solomon-Codes.
Erwartete Nutzung:
host1$ someprogram --listen-udp 127.0.0.1:1234 host1$ reedsolomon_udp --listen 0.0.0.0:1235 --connect 127.0.0.1:1234 host2$ reedsolomon_udp --connect host1:1235 --listen 127.0.0.1:1234 host2$ someprogram --connect-udp 127.0.0.1:1234
Es ist nicht zu erwarten, dass die Lösung Verluste vollständig beseitigt. Es wird erwartet, dass sie diese Verluste reduziert, insbesondere wenn mehr als 50% der Pakete verloren gehen.
2 Antworten auf die Frage
ARQ ist der Name einer Methodenfamilie, von der eine Variante von TCP verwendet wird. Einige Varianten werden manchmal verwendet, um UDP zu "wickeln".
Beim Videostreaming kann beispielsweise UDP verwendet werden, um den TCP-Aufwand zu vermeiden. In einigen Fällen wird eine Vielzahl von ARQ verwendet, um die Zuverlässigkeit eines MPEG-Transportstroms zu erhöhen, der Video über das Internet transportiert. Eine solche Vielzahl von ARQ soll einen geringeren Overhead als TCP erzeugen und gleichzeitig die Zuverlässigkeit des Empfangens des Videostroms erhöhen.
Eine ausführlichere Diskussion und eine Liste der Referenzen finden Sie in diesem Wikipedia-Artikel: https://en.wikipedia.org/wiki/Automatic_repeat_request
Verwandte Probleme
-
2
Erinnert sich Windows 7 Home Premium an Netzwerkfreigaben-Passwörter?
-
5
XP-Netzwerkverbindung ohne Neustart freigeben?
-
5
Wie richte ich Windows ein, 802.11 gegenüber 3G zu bevorzugen?
-
4
Gibt es eine Möglichkeit, den Scanner eines Multifunktionsdruckers gemeinsam zu nutzen?
-
3
Gibt es eine Möglichkeit, zwei Computer über USB anzuschließen?
-
3
Wie halten Sie mehrere Verbindungen zum Internet?
-
4
iPod-Touch zum Abspielen von Filmen vom PC auf der PS3?
-
2
Mac tritt der Windows-Arbeitsgruppe nicht bei
-
1
Wie kann ich die Sicherheit meines Portals erhöhen?
-
1
Wie vernetzt man Windows XP und Ubuntu Linux?