Laden...

Geschwindigkeit TCP<->UDP

Erstellt von Rodney vor 18 Jahren Letzter Beitrag vor 18 Jahren 6.406 Views
R
Rodney Themenstarter:in
341 Beiträge seit 2004
vor 18 Jahren
Geschwindigkeit TCP<->UDP

Hallo Leute,

mit was für einem Geschwindigkeitsvorteil kann man rechnen, wenn man für kleine Pakete (ca 10 Byte) UDP statt TCP verwendet. Eine gewisse Steigerung müsste es ja allein dadurch geben das TCP ein wenig wartet um mehrere Pakete zusammenzufassen.
Im LAN ergibt sich auch bei TCP eine Latency von nur 1ms

S
27 Beiträge seit 2005
vor 18 Jahren

Hi Rodney,

ich denke mal, das du im Lan keine richtigen Ergebnisse für solch eine Messung erhalten wirst.

Tcp ist ein Protokoll, das ein Ankommen der Daten garantiert. Wenn also unterwegs im Wan (Internet) einige Packete verloren gehen, dann vordert TCP die Sendung dieses Packetes nach.

Bei UDP ist das nicht der Fall, Entweder geht bei UDP alles glatt, oder es kommt keine Nachricht an.

Also braucht TCP bei einer Verbindung, die "Gestört" ist länger. Dafür kommt die Nachricht aber auch an.

Wie das ist, wenn beide Nachrichten auf jeden Fall ankommen, k.a. Ich schätze aber mal, das UDP schneller sein wird, da es ein facheres Protokoll ist.

Gruß

R
Rodney Themenstarter:in
341 Beiträge seit 2004
vor 18 Jahren

War mir alles auch schon bekannt, trotzdem danke für die Erklärung.
Mir ist klar das UDP schneller sein muss, ich wollte nur wissen ob jemand Erfahrung hat um wie viel schneller es mit UDP wird.

F
529 Beiträge seit 2003
vor 18 Jahren

Warum ist dir klar, dass Udp schneller sein muss?
Udp hat nur keine Fehlerkorrektur die kaputte Packete nachfordert. Wenn bei Udp ein Packet gehimmelt ist, wird es halt verworfen. Von der Geschwindigkeit ist TCP und UDP annähernd gleichschnell. Allerdings kann es passieren, dass die Daten mittels TCP langsamer übertragen werden, wenn Packete fehlen. Bei UDP verschwinden diese Packete wie gesagt aber. Weiterhin merkst du niemals bei UDP ob die Gegenseite die Packete entgegenommen hat, oder ob sie weg sind.

--
mfg
Franknstein

Besuchen sie das VisualC++ - Forum

I
1.739 Beiträge seit 2005
vor 18 Jahren

Vielleicht wegen der geringeren Protokolldaten? Vielleicht weil keine Antwort erwartet wird? Wer weiss? Merkwürdig das jemand zu der Annahme kommt das UDP schneller sein könnte...

I
1.739 Beiträge seit 2005
vor 18 Jahren

@Rodney: Die Grösse des Vorteil hängt schlicht und einfach von der Qualität und vom Traffic im Netzwerk ab. Niemand kann dir echte Vergleichszahlen liefern.

F
529 Beiträge seit 2003
vor 18 Jahren

Kann man ja auch garnicht! Das eine ist dazu da, um große Mengen Daten rauszufeuern, bei denen es Egal ist ob ein Teil dieser Daten abhanden kommt. Mit dem anderen muss man etwas übertragen und sich sicher sein, dass es auf der Gegenseite ankommt.

Besuchen sie das VisualC++ - Forum

R
Rodney Themenstarter:in
341 Beiträge seit 2004
vor 18 Jahren

Original von Franknstein
Kann man ja auch garnicht! Das eine ist dazu da, um große Mengen Daten rauszufeuern, bei denen es Egal ist ob ein Teil dieser Daten abhanden kommt. Mit dem anderen muss man etwas übertragen und sich sicher sein, dass es auf der Gegenseite ankommt.

Die Begründung versteh ich irgendwie nicht, testen kann man es doch trotzdem.
Ich bin mir nur für mein Game nicht sicher ob sich der zusätzliche Programmieraufwand wegen UDP lohnt (Rückbestätigung z.B.)

F
529 Beiträge seit 2003
vor 18 Jahren

Ich würde ehr den Mehraufwand aufwenden beim Protkolldesign um den Datendurchsatz zu senken. Umso weniger Daten gesendet werden, umso weniger Packete gehen verlohren und müssen nachgeschickt werden.... Und umso weniger Daten müssen verarbeitet werden. Das kostet nämlich vermutlich mehr Zeit wie das verschicken(wenn du das ungünstig machst)....

Besuchen sie das VisualC++ - Forum

4.221 Beiträge seit 2005
vor 18 Jahren

Bei UDP können nicht nur Pakete verlorengehen.... es gibt schlichtweg auch keine resequenzierung.... die Pakete können in willkürlicher Reihenfolge eintreffen....

Wenn es also was wichtiges ist, dann kommt nur TCP in Frage... ausser Du machst selber ein Handshake drauf

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

C
1.215 Beiträge seit 2004
vor 18 Jahren

UDP ist tatsächlich "schneller" wegen des bedeutend kleineren protokoll-overheads.
und trotz fehlender sicherheitsmechanismen ist UDP sehr verlässlich.

gerade bei einem spiel kann UDP interessant sein, da es multicast-fähig ist und dieselben daten gleichzeitig an mehrere addressaten versenden kann.

grüsse