TCP keepalive?

Stanislav Meduna stano-cznews na meduna.org
Neděle Prosinec 22 21:03:46 CET 2002


Ahojte,

existuje nejaka moznost, ako globalne alebo este lepsie pre
konkretne spojenie "zvonku" nastavit posielanie TCP keepalive?
Viem, ze si ho moze na danom spojeni nastavit aplikacia,
ale ide mi prave o nastavenie mimo nej.

Problem je nasledovny: ftp cez NAT. FTP ma dve spojenia -
riadiace a datove. Ked sa taha dlhsi subor, cez riadiaci
kanal sa nic neprenasa. No a ked to trva nad cca 15 minut,
zrejme vytimeoutuje zaznam v NAT tabulke a "je po ptakach" -
subor sa dotiahne v poriadku, ale na riadiacom spojeni
sa klient viac nedocka odpovede. Ten NAT je zial mimo
mna a nemam nad nim kontrolu.

Zrejme si proste patchnem klienta, aby to spojenie otvoril
so SO_KEEPALIVE a vhodne nastavim
/proc/sys/net/ipv4/tcp_keepalive_time, ale riesenie
bez patchovania by mi bolo milsie. Zbeznym pohladom
do jadra som ziskal pocit, ze to asi nepojde,
ale mozno niekto pozna nejaky trik, alebo aspon
klienta, co to uz tak robi.

Iba nastavenie tcp_keepalive_time nestaci - to spojenie
musi byt tak vytvorene.

Zdravi
-- 
                                  Stano



Další informace o konferenci Linux