UDP socket buffer overflow

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Sobota Prosinec 27 12:22:05 CET 2003


On Mon, 15 Dec 2003, Bogdan Pilch wrote:

> Nevi nekdo, jak zjistit stav input socket bufferu?

Treba tak, ze z neho zacnu provadet neblokujici cteni a skoncim, az uz mi 
to nic nevraci. :)

Jinak je to jedna polozka v /proc/net/udp (rx_queue).

> Kdyz mam otevreny UDP socket, tak vim, ze se da nastavovat napr. velikost
> input bufferu (coz muze mit priznivy vliv na performance), ale
> co kdyz i velky buffer pretece?

Tak se zacnou prichozi datagramy zahazovat.

> Je mozne nejakym prikazem zjistit, jestli nepretekl, pripadne kolik
> messagi bylo vyhozeno?

Tezko. Jestli to dobre chapu, tak by se mela zvetsovat polozka 
Udp.InErrors  v SNMP statistikach, ale ta je spolecna pro cely system.

Na druhou stranu je otazka, jestli je to vubec potreba to umet, protoze 
program pouzivajici UDP k prenosu dat se musi byt schopen obecne vyporadat 
s tim, ze se mu ztraceji pakety (napr. pri pruchodu siti), a tudiz lze 
tento problem elegantne obejit.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux