Udp

hansy

Neuling
Thread Starter
Mitglied seit
13.09.2006
Beiträge
16
Hi!

Ich wollte mal fragen, ob es die Möglichkeit gibt das UDP Protokoll zu optimieren und wenn ja, wie es geht :)
Ich brauch es um evtl. bei Online-Spielen weniger Datenverlust zu haben. Bei TCP habe ich schon alles Mögliche eingestellt.

Über eine Antwort würde ich mich freuen, denn beim Googlen habe ich noch nichts diesbezüglich gefunden.

MfG

hansy
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
im Netzwerk kannst Du da auch nichts optimieren (im Sinne von einstellen), Du mußt im Programm eine Sicherungsschiccht stricken, die auf Vollständigkeit und korrekte Reihenfolge der Packerl achtet.

Jürgen
 
Das kannst du bei UDP aber vergessen. Denn da weisst du garnicht ob die Pakete in der richtigen Reihenfolge ankommen. Du muesstest die Reliability dann schon im Datensegment implementieren. Und dein Aplicationlayer Paket duerfte die Groesse eines UPD-Datensegements nicht uebersteigen.
--Dann benutzt du aber besser gleich TCP das kann das macht das schon von alleine.

Generell nutz man UDP immer dann, wenn es auf geringe Latenz und nicht auf Reliability ankommt.
In dem Sinne ist UDP also schon optimiert. Daher ist die Antwort: Nein.
 
wie kommst Du denn da drauf? Es ging um Optimierungsmöglichkeiten von UDP; schau Dir mal den RFC-1889 an, RTP setzt auf UDP auf und ergänzt es um die notwendigen Parameter Sequenz, Timestamp und Source-Id.
Der RTP-Header ist afaik nur 12 Byte groß und erfüllt ideal alle Anforderungen einer Sicherungsschicht.
Einsatz übrigens weltweit bei SIP, hier zählt jedes Packerl ;)

Übrigens hat auch die Fa. Sun hervorragende SW um UDP die "Regeln des Anstands beizubringen; ich such da gerne was raus wenns von allgemeinem Interesse ist...

Gruß, Jürgen
 
transdat schrieb:
wie kommst Du denn da drauf? Es ging um Optimierungsmöglichkeiten von UDP; schau Dir mal den RFC-1889 an, RTP setzt auf UDP auf und ergänzt es um die notwendigen Parameter Sequenz, Timestamp und Source-Id.
Der RTP-Header ist afaik nur 12 Byte groß und erfüllt ideal alle Anforderungen einer Sicherungsschicht.
Einsatz übrigens weltweit bei SIP, hier zählt jedes Packerl ;)

Übrigens hat auch die Fa. Sun hervorragende SW um UDP die "Regeln des Anstands beizubringen; ich such da gerne was raus wenns von allgemeinem Interesse ist...

Gruß, Jürgen

:d
Ja, dass ist aber RTP, und das macht, wenn ich es richtig verstanden habe, ganau das was ich oben geschrieben habe. Es baut einen Header in das Datensegment von UDP Paketen ein.
Aber: Es erfuellt immer noch ich die Anforgerungen fuer Reliability. Man kann, beispielsweise, verlohrene Pakete nicht wieder anfordern.
RFC-1889 schrieb:
Note that RTP itself does not provide any mechanism to ensure timely delivery or provide other quality-of-service guarantees, but relies on lower-layer services to do so. It does not guarantee delivery or prevent out-of-order delivery, nor does it assume that the underlying network is reliable and delivers packets in sequence.
Ausserdem baut RTP auf vorhandenen Protokollen auf, was IMHO zu einer Aplicationlayer Software macht. Und haette damit nichts mit dem eingentlichen Protokolllayer zu tun. Es muesste noch nicht einmal zwingend auf UDP/IP aufbauen, auch wenn das das uebliche Szenario ist.

UDP selbst ist extrem dumm und schert sich nicht um Reliability, QoS oder was es sonst noch an tollen Features gibt. Es schickt einfach so viele Pakete wie moeglich ab. Ob oder wie diese ankommen ist UDP egal. RFC 768
 
na dann schau mal hier rein: http://de.wikipedia.org/wiki/Network_File_System

NFS wurde von Sun Microsystems Ende der 80er entwickelt und lief ursprünglich ausschliesslich unter UDP (mit seiner eigenen Sicherungsschicht!). Erst viel später gab es die Möglichkeit wahlweise auch TCP zu verwenden um dann zu guterletzt den UDP-Support einzustellen. Der Grund dafür: Qualitativ stark verbesserte Protokollstacks sowie Kostenüberlegungen.

Gruß, Jürgen
 
Hey, sicherlich ist es auch moeglich ueber UPD sicheren Datentransfer hinzubekommen. Das will ich ja garnicht bestreiten. Aber das ist dann sicherlich nicht der Verdienst von UPD, sonderen der Anwendungen die darauf aufbauenen. Es hat bistimmt einen guten Grund warum man heutzutage TCP fuer NFS benutzt und nicht mehr UDP. ;)
Mir scheint du vermichst ein bischen den Transport (oder Protokoll) und den Aplication Layer: http://en.wikipedia.org/wiki/Internet_protocol_suite#Layers_in_the_Internet_protocol_suite_stack

Und wenn ich mich nicht Irre ging es hier um UPD, also nix Aplikacionlayer. ;)
 
es ging darum wie man UDP optimieren kann um weniger Datenverlust zu haben;unschwer nachzulesen im ersten Posting dieses Threads.

Nachdem UDP per Definition ja keine Sicherungsschicht hat kann eine Optimierung im Hinblick auf Paketverluste freilich nur über eine eigene Sicherungssdchicht funktionieren. Ob das nun durch eine Protokollerweiterung von UDP wie bei SIP (RTP) der über eine selbstgeschriebenen Mechanismus im App-Layer erfolgt ist völlig belanglos; Fakt ist halt dass UDP im Hinblick auf mehr Datensicherheit nur so optimirt werden kann.

So gesehen glaube ich nicht irgendetwas vermischt zu haben.

wenn Du Dich ein wenig mit SIP beschäftigst wirst Du folgendes entdecken:

---snip ---
Benutzt werden kann SIP, um beliebige Sessions mit einem oder mehreren Teilnehmern zu verwalten. Dabei ist es nicht auf Internet-Telefonie beschränkt, sondern Sessions können beliebige Multimediaströme, Konferenzen, Computerspiele usw. sein.
---snip---

ich zitiere weiter aus Wikipedia zum Thema SIP:

---snip---
Aufgabe von RTP ist es, den Multimedia-Datenstrom (Audio, Video, Text usw.) zu transportieren, d.h. die gemäß Codec kodierten und komprimierten Daten zu paketieren und über UDP zu versenden.
---snip---

Ich könnte Dir jetzt die Frage stellen warum man denn den Aufwand treibt UDP mit RTP sicherer zu machen wenn der TCP-Stack tatsächlich UDP ebenbürtig wäre. Übrigens, wer Sprachübertragung wirklich verstanden hat weiss, dass ein Retransmit hier sinnlos ist da man den Begriff "Realtime" hier wörtlich verstehen muß und TCP damit aus dem Rennen ist.


Ich denke aber dass wir es dabei belassen sollen da diese Diskussion wohl für die Algemeinheit bereits etwas zu theoretisch ist.


Grüsse, Jürgen
 
hi!

ich versteh ehrlich gesagt höchstens die hälfte von eurem fachjargon :)
so wie ich das jetzt verstanden habe, geht es nicht. :) hätts hald gern gemacht, auch wenn es in euren augen keinen sinn hat. :d
also, falls jemand noch irgend ne idee, freu ich mich, wenn net, danke für die aufmerksamkeit ;)
 
Hallo Hansy,

mir tut es leid wenn ich Dich mit meinen Ausführungen verwirrt habe, ich war wirklich der Meinung Du wolltest ein wenig fachsimpeln und nachdem Catch22 ja auch bereitwillig eingestiegen ist ging mir halt der Gaul durch...

Deine eingangs gestellte Frage kann man klar mit nein beantworten; es ist nicht möglich udp mit Bordmitteln sicherer zu machen; Catch22 wird Dir das auch noch so bestätigen.

Grüsse, Jürgen
 
Jep. Dem ist nichts mehr hinzuzufuegen.
Sry, hansy wenn ich dich verwirrt habe. :wink:
 
ok :) dann kann man nichts machen, wenigstens hattet ihr ja spaß am diskutieren ;)
machts gut
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh