Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » stückchenweise per udp verschicken

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
03.06.2003, 11:25 Uhr
~arkantos
Gast


wie kann ich denn eine große datei stückchenweise per udp verschicken und wieder empfangen und zusammenbauen?

grüße arkantos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.06.2003, 11:43 Uhr
~0xdeadbeef
Gast


Mach das besser über TCP, UDP ist sicherheitstechnisch ein Rohrkrepierer und eine Unsitte vergangener Tage, die schnellstmöglich ausgerottet werden sollte.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.06.2003, 12:15 Uhr
~arkantos
Gast


ich solls aber in udp machen

grüße arkantos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.06.2003, 12:24 Uhr
virtual
Sexiest Bit alive
(Operator)


@beefy:
Tatsächlich, wie kommst Du denn darauf? - Sicherheitsrelevante Protokolle werden IMHO auf TCP oder UDP draufgesetzt, aber auch TCP selbst hat nichts sicherheitsrelevantes an sich. Oder meinst Du mit Sicherheit die verbindungsorientierung von TCP gegenüber UDP? Auch da hat UDP nach wie vor eine berechtigte Bedeutung, weil es die Netzlast gegenüber TCP deutlich senken kann.

@arkantos:
Eine ganz einfache Lösung wäre die: Du stückelst die Daten in einzelne Stücke, gibts diesen eine fortlaufende Nummer mit, an hand derer die Empfängerseite entschiden kann, ob das jeweilige Bruchstück bereits schon da war (und dann verwirft) und es gegebenenfalls in der Richtigen reihenfolge wieder zusammen setzen kann. Ich würde allerdings auch noch ein erstes Paket sichicken, in dem dem Empfänger mit geteilt wird, wie viele Pakete er denn zu erwaten hat. Wenn der Empfänger irgendwelche Pakete vermisst, kann er einen entsprechenden Request an den Sender senden, damit diese nachgeliefert werden. Normalerweise bedient man sich hier irgendwelcher timeouts, bis dann endlich aufgegeben wird, wenn man nicht alle pakete zu einer Datei bekommt.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.06.2003, 12:59 Uhr
~0xdeadbeef
Gast


Bei TCP setzt du ne richtige Verbindung auf, das heißt, das Protokoll kümmert sich um so Sachen wie Datenintegrität, dass keine Pakete verloren gehen und so weiter. UDP macht das von Haus aus nicht, sondern überlässt das den dahinterstehenden Programmen. Dazu kommt, dass UDP nicht verbindungsorientiert ist, wie du schon sagtest, so dass man nicht mal in der Mitte sitzen muss, um einen UDP-Port mit falschen Daten zu versorgen. Alles in allem ist ein UDP-Port eine klaffende Sicherheitslücke. Eine recht effiziente Sicherheitslücke vielleicht, aber eine Sicherheitslücke.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.06.2003, 13:01 Uhr
~0xdeadbeef
Gast


Ach und noch eins - wenn du diese UDP-Pakete-Durchnummerierungsnummer durchziehen willst, bist du den Bandbreitenvorteil von UDP schnell wieder los, weil du im Grunde so ne Art TCP über UDP im Userspace machst.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
03.06.2003, 13:18 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ja aber du kannst eine forward-error-correction einbauen. Dann sparst du dir das mehrfach verschicken. (hast allerdings mehr overhead und es ist auch nicht sicher ob das packet erhalten wird und ob es richtig corrigiert werden kann)
Dies ist insbesondere dann sinnvoll, wenn es lange wenge von sender zu empfänger sind (sonst wird die fenstergrösse üebrtrieben gross und die performance geht in den keller) also z.B. Sonde vom Mars schickt an Erde.
Da kann man einfacha kein TCP- nehmen.

Ferner TCP-eignet sich auch nicht um Mulitcast zu verwenden, sonst müsste der Server die Packete ja so lange vorhalten, bis auch der letzte Empfänger alle bekommen hat.

UDP-artige Protokolle mögen zwar nachteile haben, TCP-artige werden sie trotzdem nicht ganz verdrängen können. UDP ist dann halt für einige spezial-anwendungen vorzuziehen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
03.06.2003, 13:34 Uhr
~arkantos
Gast


ich soll einfach nur "nackte" Daten schicken, ohne Fehlererkennung und Flußsteuerung bei TCP.

Grüße arkantos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
03.06.2003, 13:36 Uhr
virtual
Sexiest Bit alive
(Operator)


@beefy:
Erstmal was die Bandbreite angeht: Bei TCP wird jedes OPaket Bestätigt, bei UDP erstmal keines. Jetzt kann es dem Empfänger auffallen: "Ey, da fehlt mir ja ein paket, da muß ich nochmal nachfragen!". Bei diesen Paketen fällt dann mehraufwand gegene TCP an. Letztlich ist die Frage von der Netztopologie abhängig, aber in einem LAN ohne Router kommst Du schnell auf 30-40% mehr Last, den TCP verursacht. (diese Prozentangaben beziehen sich auf eine Serveranwendung, die ich mit entwickel und die beides - sowohl TCP alsauch UDP unterstützt. Unsere Kunden verwenden interessanterweise sehr gerne UDP).

Was die Sicherheit angeht: Klar kannst Du dich einfach dazwischen klinken, wenn Du UDP fährst. Aber ebenso klar ist, daß Du dich einfach an einen Server mit TCP connecten kannst. Der lehnt dich nur dann ab, wenn die Authentifizierung fehlschlägt. Und dieser ganze Authentifizierungskram ist nicht bestandteil der TCP Protocal Suite, sondern wird von darüberliegenden layern abgefackelt. Ich will es mal so formulieren: Du wirst schwierigkeiten haben, eine Software zu verkaufen, die für sich in Anspruch nimmt sicherer zu sein, weil sie TCP verwendet und nicht wie ihr Konkurrent UDP. Du wirst stets irgendwas darüber bauen müssen. Und für dieses "darüber" gibt es sowohl für UDP alsauch für TCP ganz brauchbare Ansätze. Einen lesenswerten Link kann ich auch bieten: http://plg.uwaterloo.ca/~aeehassa/home/papers/crypto/secureUDP.htm#_Toc480442945
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
03.06.2003, 14:28 Uhr
~arkantos
Gast


na dann probier ichs mal

dankeschön an alle

Grüße arkantos
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: