Thread View: pl.comp.os.freebsd
1 messages
1 total messages
Started by Michal Wojciechowski
Tue, 18 May 2004 14:22
Dziwne zachowanie net.inet.tcp.recvspace
Author: Michal Wojciechowski
Date: Tue, 18 May 2004 14:22
Date: Tue, 18 May 2004 14:22
71 lines
3439 bytes
3439 bytes
Witam,
Próbując zmienić wartość okna TCP za sprawą zmiennej
net.inet.tcp.recvspace, natrafiłem na dziwne zjawisko:
System:
freebsd# uname -srm
FreeBSD 4.9-RELEASE i386
Wartość recvspace "by default":
freebsd# sysctl net.inet.tcp.recvspace
net.inet.tcp.recvspace: 57344
Zmieniam na 65535:
freebsd# sysctl -w net.inet.tcp.recvspace=65535
net.inet.tcp.recvspace: 57344 -> 65535
Próbuję się połączyć telnetem z maszyną 10.0.0.2 (telnet zamknięty,
więc dostaję od razu RST, ale to nieważne). Wynik tcpdumpa:
16:00:24.804579 10.0.0.223.1025 > 10.0.0.2.23: S
601274092:601274092(0) win 65535 <mss 1460,nop,wscale
0,nop,nop,timestamp 44303 0> (DF) [tos 0x10]
16:00:24.804714 10.0.0.2.23 > 10.0.0.223.1025: R 0:0(0) ack
601274093 win 0 (DF) [tos 0x10]
Jak widać, SYN poszedł z wartością win taką, jaką przypisałem, czyli
65535. Wygląda jednak na to, że działa to tylko w jedną stronę,
ponieważ przy próbie połączenia w drugą stronę (tym razem z portem
SMTP, otwartym):
16:04:19.800112 10.0.0.2.60907 > 10.0.0.223.25: S
2262904504:2262904504(0) win 5840 <mss 1460,sackOK,timestamp
59280573 0,nop,wscale 0> (DF) [tos 0x10]
16:04:19.800498 10.0.0.223.25 > 10.0.0.2.60907: S
3673106996:3673106996(0) ack 2262904505 win 57344 <mss
1460,nop,wscale 0,nop,nop,timestamp 67802 59280573> (DF)
Wartość win w SYN/ACK pozostaje niezmieniona - 57344. Wygląda to tak,
jakby zmiana recvspace obowiązywała tylko dla połączeń inicjowanych
przez 10.0.0.223.
Co ciekawe, jeśli wpiszę tę wartość w sysctl.conf i zrebootuję,
wówczas działa prawidłowo:
16:12:49.757937 10.0.0.223.1024 > 10.0.0.2.23: S
1856655461:1856655461(0) win 65535 <mss 1460,nop,wscale
0,nop,nop,timestamp 16198 0> (DF) [tos 0x10]
16:12:49.758061 10.0.0.2.23 > 10.0.0.223.1024: R 0:0(0) ack
1856655462 win 0 (DF) [tos 0x10]
16:13:33.444613 10.0.0.2.60937 > 10.0.0.223.25: S
2855969076:2855969076(0) win 5840 <mss 1460,sackOK,timestamp
59335928 0,nop,wscale 0> (DF) [tos 0x10]
16:13:33.444856 10.0.0.223.25 > 10.0.0.2.60937: S
3037975791:3037975791(0) ack 2855969077 win 65535 <mss
1460,nop,wscale 0,nop,nop,timestamp 20567 59335928> (DF)
W obu połączeniach win == recvspace.
Bug? Czy może o czymś nie wiem?
Pozdrawiam,
--
* Michal Wojciechowski
* odyniec -at- odyniec -dot- net
* http://odyniec.net/
* Signatures longer than three lines suck.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads