ifpw check-state a mnoho tcp wait
michal_sjx
michal_sjx at seznam.cz
Sat Jul 21 17:22:56 CEST 2007
Ahoj,
mam tcpdump. Nekdy kolem 16:40 jsem restartoval apache, abych pripadne
odmazal nejake jeho stare spojeni. V apache server-status neni zadne
"K", ktere by naznacovalo ustalene spojeni.
Porty v prikladu odpovidaji otevrenym portum v netstat. Odstranil jsem z
ipfw check-state a limit. Packety prestali chodit.
Pak jsem ho po 8mi minutach nahodil zpet a zacali mizet z netstat
finwait2. Pritom zadne packety v tcpdump nebyli.
Nastavil jsem pak i sysctl net.inet.ip.fw.dyn_keepalive=0 a uvidim
jestli to na to bude mit vliv.
dump pri check-state a limit:
16:36:56.457045 IP server.http > client.60321: . ack 1 win 65535
16:36:56.457061 IP server.http > client.60567: . ack 1 win 65535
16:36:56.457075 IP server.http > client.60503: . ack 1 win 65535
16:39:01.437872 IP server.http > client.63621: . ack 1 win 0
16:39:01.437947 IP server.http > client.63621: . ack 1 win 65535
16:39:46.431055 IP server.http > client.59437: . ack 1 win 0
16:39:46.431163 IP server.http > client.59437: . ack 1 win 65535
16:41:31.415023 IP server.http > client.62959: . ack 1 win 0
16:41:31.415157 IP server.http > client.62959: . ack 1 win 65535
16:41:41.413490 IP server.http > client.65251: . ack 1 win 0
16:41:41.413519 IP server.http > client.60321: . ack 1 win 0
16:41:41.413537 IP server.http > client.60567: . ack 1 win 0
16:41:41.413552 IP server.http > client.60503: . ack 1 win 0
16:41:41.413612 IP server.http > client.65251: . ack 1 win 65535
16:41:41.413634 IP server.http > client.60321: . ack 1 win 65535
16:41:41.413651 IP server.http > client.60567: . ack 1 win 65535
16:41:41.413665 IP server.http > client.60503: . ack 1 win 65535
Dan Lukes wrote:
> michal_sjx napsal/wrote, On 07/19/07 10:57:
>> Zatim mam dojem, ze tcp zustane ve fin_wait_2 protoze v nastaveni Apache
>> mam povolene KeepAlive a v ipfw ho mam taky
>
>> net.inet.ip.fw.dyn_keepalive=1.
>
>> Takze nabyvam dojmu, ze si tihle dve "keep-alive" spolu obcas vymeneji
>> packet, ktery zajisti, ze spojeni zustane ve stavu fin_wait_2.
>
> Jadro by ve fin-wait2 stavu zadne keep-alive pakety posilat snad
> nemelo. Spis nez sitovy stack podezrivam z pripadneho nekorektniho
> chovani spis ipfw.
>
> Celkove mi ale tahle hypoteza zni podezrele. Nakonec, je ale snadno
> overitelna - pro libovolne vybrane spojeni v dotcenem stavu lze preci
> snadni spustit tcpdump a podivat se, jestli si nejake pakety vymenuji ...
>
> Pokud ne, bude jasne, ze mechanismus vzniku je nejaky zcela jiny.
>
> Dan
>
>
--
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me
spread!
More information about the Users-l
mailing list