Forums Neueste Beiträge
 

UDP-Paketverlust

22/11/2008 - 11:07 von Benjamin Lippelt | Report spam
Hallo,

wir haben das folgende Problem:

Wir haben zwei Rechner, die über einen Hub miteinander verbunden sind.
Auf beiden làuft ein Linux-System, Kernel 2.6.x. Zwei Prozesse
kommunizieren via UDP miteinander. Der sendende Prozess (Programm A)
versendet UDP-Pakete an den Empfànger. Der Empfànger erhàlt die Pakete
jedoch nicht, jedenfalls kommen diese nicht in der Applikation an. Wenn
wir auf dem sendenden Rechner UDP-Pakete mit einem kleinen Perlskript
(Programm B) an den Empfànger (an den gleich Port) senden, werden die
Pakete empfangen, die Applikation verarbeitet die Pakete auch. Auf einem
Messrechner sniffen wir die Pakete mit. Die Pakete werden übertragen,
haben gültige IP- und UDP-Header und enthalten auch die korrekten Daten.
Möglicherweise verwirft der Empfànger die Pakete von Programm A. Der
einzige sichtbare Unterschied zwischen den Paketen von Programm A und
Programm B ist aber, dass Programm B die UDP-Checksumme verwendet,
Programm A tràgt hier standardkonform eine 0 ein.

Kann mir jemand einen Tipp geben, woran das Problem liegen kann? Kann es
sein, dass manche IP-Stacks nicht mit UDP-Paketen ohne Checksumme
arbeiten können?

MfG
Benjamin
 

Lesen sie die antworten

#1 Florian Weimer
22/11/2008 - 12:57 | Warnen spam
* Benjamin Lippelt:

Kann mir jemand einen Tipp geben, woran das Problem liegen kann? Kann es
sein, dass manche IP-Stacks nicht mit UDP-Paketen ohne Checksumme
arbeiten können?



Das will ich nicht ausschließen. Es ist ja auch recht sinnvoll, dies
so zu machen. Ggf. kann man mittels SO_NO_CHECK das Paket trotzdem auf
den Socket bekommen.

Ähnliche fragen