tcp事实重传会延迟连续数据传输,并更新窗口大小

时间:2018-04-11 06:49:30

标签: tcp tcpdump

我正在测试与tcp相关的功能。客户端连接到服务器并每66ms发送一次数据,并设置tcp_nodelay。

当一个包丢失时,我希望收到3个重复的ack并开始快速重传,丢失的包被重新传输,生成的新数据无延迟地传输(每66ms)。

但tcpdump告诉我,首先窗口大小变大,并且只有当新的ack到达时才会传输连续的新包。

10:18:16.622232 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6325:6387, ack 1, win 457, options [nop,nop,TS val 23063446 ecr 205448249], length 62
10:18:16.643665 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6263, win 310, options [nop,nop,TS val 205448265 ecr 23063413], length 0
10:18:16.710056 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6325, win 310, options [nop,nop,TS val 205448282 ecr 23063429], length 0
10:18:16.753846 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6449:6511, ack 1, win 457, options [nop,nop,TS val 23063479 ecr 205448282], length 62
10:18:16.776349 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6387, win 310, options [nop,nop,TS val 205448298 ecr 23063446], length 0
10:18:16.820181 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6511:6573, ack 1, win 457, options [nop,nop,TS val 23063495 ecr 205448298], length 62
10:18:16.885504 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6573:6635, ack 1, win 457, options [nop,nop,TS val 23063512 ecr 205448298], length 62
10:18:16.907999 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6387, win 319, options [nop,nop,TS val 205448331 ecr 23063446,nop,nop,sack 1 {6449:6511}], length 0
10:18:16.951821 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6635:6697, ack 1, win 457, options [nop,nop,TS val 23063528 ecr 205448331], length 62
10:18:16.974209 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6387, win 327, options [nop,nop,TS val 205448348 ecr 23063446,nop,nop,sack 1 {6449:6573}], length 0
10:18:17.018129 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6697:6759, ack 1, win 457, options [nop,nop,TS val 23063545 ecr 205448348], length 62
10:18:17.039598 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6387, win 336, options [nop,nop,TS val 205448364 ecr 23063446,nop,nop,sack 1 {6449:6635}], length 0
10:18:17.039633 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6387:6449, ack 1, win 457, options [nop,nop,TS val 23063550 ecr 205448364], length 62
10:18:17.105851 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6387, win 344, options [nop,nop,TS val 205448381 ecr 23063446,nop,nop,sack 1 {6449:6697}], length 0
10:18:17.105888 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6759:6821, ack 1, win 457, options [nop,nop,TS val 23063567 ecr 205448381], length 62
10:18:17.172216 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6387, win 352, options [nop,nop,TS val 205448397 ecr 23063446,nop,nop,sack 1 {6449:6759}], length 0
10:18:17.172251 IP 184.*.*.*.42766 > 193.*.*.*.2099: Flags [P.], seq 6821:6883, ack 1, win 457, options [nop,nop,TS val 23063583 ecr 205448397], length 62
10:18:17.193679 IP 193.*.*.*.2099 > 184.*.*.*.42766: Flags [.], ack 6759, win 352, options [nop,nop,TS val 205448403 ecr 23063550], length 0
  1. 我们可以看到6387-6449包丢失了,重复的ack从310-319-327-336-344-352增加了胜利。

  2. 6697:6759数据发送于17.018129,6759:6821发送于17.105888,延迟,而不是66ms的原始差距。

0 个答案:

没有答案
相关问题