在linux中找出TCP初始窗口段大小

Qui*_*Par 2 linux optimization kernel tcp tcp-slow-start

我运行 Centos

[user ~]$ cat /etc/redhat-release
CentOS release 6.2 (Final)
Run Code Online (Sandbox Code Playgroud)

带内核

3.0.4-x86_64-linode21
Run Code Online (Sandbox Code Playgroud)

如何检查操作系统中的 TCP 初始窗口大小?我需要验证IW是否为 10。

kup*_*son 6

你可以用 tcpdump 做到这一点:

# show http tcp SYN packets on any interface
tcpdump -n -i any 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn and port 80'
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

12:46:42.632366 IP 10.0.0.1.38758 > 93.184.221.133.80: Flags [S], seq 3142522345, win 14600, options [mss 1460,sackOK,TS val 1588391 ecr 0,nop,wscale 6], length 0
#or
12:43:37.310810 IP 10.0.0.0.48324 > 213.180.146.27.80: S 2019031227:2019031227(0) win 5840 <mss 1460,nop,nop,timestamp 2617840050 0,nop,wscale 6>
Run Code Online (Sandbox Code Playgroud)

Win 和 mss 值对您很重要。您的初始窗口是 WIN/MSS,第一种情况为 10,第二种情况为 4。