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