Wie funktioniert eine Linux-socket-buffer overflow?

Ich habe ein Java-reader-Anwendung, liest aus einem multicast-socket auf einem Linux-64-bit-Plattform (2.6.18). Die socket-Größe auf 2 MB festgelegt. Wenn der reader nicht Lesen kann, schnell genug die Buchse "überläuft", d.h. Pakete aus dem Puffer.

Was ich gerne wissen würde ist, wie der Linux-kernel-Tropfen-Pakete für die socket-buffer. Ich gehe davon aus, dass die socket-buffer selbst ist ein FIFO-Puffer. Allerdings, wenn es voll ist was passiert? Wird das nächste Paket werden verworfen (und der Puffer-Inhalt nicht ändern)? Oder wird das neue Paket ersetzt ein älteres Paket im Puffer? Wenn ja, welches Paket (das älteste?, der jüngste?, ein zufällig ausgewähltes Paket?)?

Vielen Dank für jede Einsicht.

InformationsquelleAutor AtomicJake | 2010-07-08

Schreibe einen Kommentar