Netzwerk-Protokolle und PB
Ich bin kein Experte, aber ich glaub daß da weder UDP noch TCP was zu melden haben, sondern daß das eine oder mehrere Ebenen tiefer bereits geregelt wird. Du mußt es so sehen, daß UDP und TCP bereits die Nutzdaten enthalten, verpackt in ein kleines Paket. Aber das ganze Management mit IP-Adresse, MAC-Adresse und was da noch so alles dazugehört, übernehmen die unteren Schichten.


ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Der Geschwindigkeitsunterschied zwischen UDP und TCP resuliert nicht aus einem kürzerem / besseren Weg zwischen Sender und Empfänger sondern aus dem Protokolldesign. In der Regel werden TCP und UDP Pakete identisch im Backbone identisch geroutet.Scarabol hat geschrieben: Suchen sich die Pakete immer den schnellsten weg bei UDP?
UDP Pakete werden in IP-Paketen vom Absender nach dem "Fire and Forget" Prinzip abgeschickt. Nach Protokolldesign UDP ist nicht vorgesehen das der Empfänger oder einer der Router auf dem Weg zum Empfänger eine Benachrichtigung an den Absender geben wenn das Paket nicht oder korrupt eingetroffen ist.
Bevor Daten über eine TCP Verbindung übermittelt werden, findet ein TCP Verbindungsaufbau statt. "Hallo? Wenn Du da bist antworte doch bitte und erhöhe meine Seq 4711 um eins" "Ja, Hallo bin da. Hier Deine Seq: 4712" "Ah, super. Schön das Du da bist. Werd Dir gleich was schicken. wird unter 4714 und durchnummeriert kommen. Wenn was nicht eintrifft gib kurz bescheid, dann schick ich den Teil nochmals !" ... usw ...
Nochmals "zum kürzesten Weg": Ein Datenpaket wird vom Absender abgeschickt. In der Regel an sein Default Gateway. Das wird schon wissen was es damit tun soll. Dieses GW schickt es wiederum an einem ihm bekannten Router, der seiner Meinung nach noch am ehesten etwas anfangen kann. usw.. bis es schließlich (hoffentlich) beim Empfänger eintrifft. Ein Paket sucht sich in 99,9% aller Fälle nicht den Weg (Route) sondern wird von Routern jeweils weitergeleitet. [Die 0,1% sind dann doch source-routed Pakete. Werden jedoch als Pfui Bah angesehen].
UDP Pakete werden in IP-Paketen vom Absender nach dem "Fire and Forget" Prinzip abgeschickt. Nach Protokolldesign UDP ist nicht vorgesehen das der Empfänger oder einer der Router auf dem Weg zum Empfänger eine Benachrichtigung an den Absender geben wenn das Paket nicht oder korrupt eingetroffen ist.
Bevor Daten über eine TCP Verbindung übermittelt werden, findet ein TCP Verbindungsaufbau statt. "Hallo? Wenn Du da bist antworte doch bitte und erhöhe meine Seq 4711 um eins" "Ja, Hallo bin da. Hier Deine Seq: 4712" "Ah, super. Schön das Du da bist. Werd Dir gleich was schicken. wird unter 4714 und durchnummeriert kommen. Wenn was nicht eintrifft gib kurz bescheid, dann schick ich den Teil nochmals !" ... usw ...
Forge hat geschrieben: Eins vorab:
Pakete können immer fehlerhaft ankommen.
UDP ignoriert das. Er sendet das Paket nur einmal und gut ist. Egal obs kaputt ist oder nicht.
TCP hingegen funktioniert so, dass die Pakete einfach nochmal gesendet werden, falls sie fehlerhaft ankommen sollten.
UDP ist schneller,
TCP ist sicherer.
Wenn du ein Datenaustauschprogramm programmieren willst, solltest du immer TCP benutzen.
Scarabol hat geschrieben:Danke Forge ist mir bereits bekannt.
Wirklich schöne Infoseiten zu dem Thema mit Hintergrund und Theorie:
Netzmafia-Skripte
Ruhruni Bochum - Lokale Netze
Gruß,
Martin
Netzmafia-Skripte
Ruhruni Bochum - Lokale Netze
Gruß,
Martin
Theoretisch kann man doch zwei Protokolle gleichzeitg verwenden ohne das sie sich in die Quere kommen, bei Multiplayer spielen sollten die Chat Nachrichten ja ankommen (TCP), aber ob die Spielerpositionen immer richtig ankommen ist doch egal (UDP) bzw. werden die fehlerhaften Daten aussortiert, oder?
Gruß
Scarabol
Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Ja, bei einigen Spielen werden auch in der Tat beide Protokolle verwendet, aber natürlich an unterschiedlichen Ports. Jenachdem welches Protokoll für welche Aufgabe besser passt.Scarabol hat geschrieben:Theoretisch kann man doch zwei Protokolle gleichzeitg verwenden ohne das sie sich in die Quere kommen, bei Multiplayer spielen sollten die Chat Nachrichten ja ankommen (TCP), aber ob die Spielerpositionen immer richtig ankommen ist doch egal (UDP) bzw. werden die fehlerhaften Daten aussortiert, oder?
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

Das Spielprotokoll ist eine Schicht höher, basiert normalerweise auf TCP und/oder UDP.Forge hat geschrieben:Nein, automatisch wird garnichts gemacht. Bei Spielen schreibt man sich außerdem ein eigenes Protokoll, in der Regel.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
