ฉันเปลี่ยนหน้าต่างเริ่มต้น tcp ในเครื่องเป็น 10 ตามที่แสดงด้านล่าง
[user@site etc]$ sudo ip route change default via 17.255.209.1 dev eth0 proto static initcwnd 10
และเปลี่ยนไปtcp_slow_start_after_idle
ตามที่แสดงด้านล่าง
[user@site etc]$ sudo sysctl -a | grep tcp_slow_start_after_idle
net.ipv4.tcp_slow_start_after_idle = 0
การยืนยันการแสดงเส้นทาง IP ได้รับด้านล่าง
[user@site etc]$ ip route show
default via 17.255.209.1 dev eth0 proto static initcwnd 10
169.254.0.0/16 dev eth0 scope link metric 1002
17.255.209.0/24 dev eth0 proto kernel scope link src 17.255.209.19
ตอนนี้เมื่อฉันทำการ tcpdump บนเว็บไซต์ฉันไม่เห็นการเปลี่ยนแปลงในหน้าต่างเริ่มต้นด้วยWIN / MSS ที่เหลือ 4เป็นค่าเริ่มต้น 5840/1460 = 4
[user@site etc]$ sudo tcpdump -n -i any 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn and port 80'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
11:17:45.048174 IP 21.101.151.198.45873 > 17.255.209.19.http: Flags [S], seq 2008673341, win 5840, options [mss 1460,sackOK,TS val 1724223146 ecr 0,nop,wscale 6], length 0
ขดตีฉันไม่ไปยังหน้าเว็บที่มีการร้องขอรอบ30 KBของข้อมูล
[user@machine ~]$ curl http://www.site.com/js/main.js > /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 88212 100 88212 0 0 179k 0 --:--:-- --:--:-- --:--:-- 272k
มีอะไรผิดปกติในแนวทางของฉัน
เมล็ด
[user~]$ uname -r
3.0.4x86_64-linode21
ในการอัปเดตนี่คือผลลัพธ์เมื่อฉันลองใช้google.com
[user@site ~]$ sudo tcpdump -n -i any 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn and host www.google.com'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
17:20:28.033236 IP 17.255.209.19.42799 > 74.125.127.106.http: Flags [S], seq 3148947324, win 14600, options [mss 1460,sackOK,TS val 193695310 ecr 0,nop,wscale 4], length 0
อย่างที่คุณเห็นว่าWIN / MSS คือ 14600/1460 = 10ในกรณีนี้
ฉันพยายามกดปุ่มเว็บไซต์ของฉันจากเครื่องเซิร์ฟเวอร์ผ่าน curl และนี่คือผลลัพธ์:
[user@site ~]$ sudo tcpdump -n -i any 'tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn and host www.site.com'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
17:25:14.584338 IP 17.255.209.19.35008 > 17.255.209.19.http: Flags [S], seq 3894567470, win 32792, options [mss 16396,sackOK,TS val 193981861 ecr 0,nop,wscale 4], length 0
ชนะ / MSS คือ 32792/16396 = 2ในกรณีนี้