以下の tcpdump ログは、私が最近実行したテストからコピーされたものです。最初はすべてが非常にスムーズに進みました。その後、クライアント側が最終的にルーターを圧倒し、多くのパケット [# - 6176] がドロップされます (それらの ACK は表示されません)。次いで、6177で、rtoタイマーがタイムアウトしたために再送信がトリガーされる。
だからここに質問があります:
- 再送があった場合、送信側輻輳ウィンドウ(snd_cwnd)はどうなりますか? OS は Linux カーネル 3.4.42 です。言われているように、再送信があると snd_cwnd は 1 に減ります。この場合、パケット 6179、6180 を送信できるのはなぜですか?
- 6179、6180 が ACK を取得しなかったのはなぜですか? 代わりに、6178 は ACK を取得できます。つまり、パケットが通過できることを意味します。
6174 2.881075 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6379071 Ack=1 Win=13824 Len=1358 TSval=4294945643 TSecr=2532115493
6175 2.881094 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6380429 Ack=1 Win=13824 Len=1358 TSval=4294945643 TSecr=2532115493
6176 2.881114 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6381787 Ack=1 Win=13824 Len=1358 TSval=4294945643 TSecr=2532115493
6177 3.227347 10.203.85.190 207.198.102.53 TCP 1426 [TCP Retransmission] 58206 > 80 [ACK] Seq=5887475 Ack=1 Win=13824 Len=1358 TSval=4294945685 TSecr=2532115493
6178 3.323055 207.198.102.53 10.203.85.190 TCP 68 http > 58206 [ACK] Seq=1 Ack=5888833 Win=980480 Len=0 TSval=2532115623 TSecr=4294945685
6179 3.326368 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6383145 Ack=1 Win=13824 Len=1358 TSval=4294945694 TSecr=2532115623
6180 3.326454 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6384503 Ack=1 Win=13824 Len=1358 TSval=4294945694 TSecr=2532115623
6181 3.727429 10.203.85.190 207.198.102.53 TCP 1426 [TCP Retransmission] 58206 > 80 [ACK] Seq=5888833 Ack=1 Win=13824 Len=1358 TSval=4294945735 TSecr=2532115623
6182 3.813101 207.198.102.53 10.203.85.190 TCP 68 80 > 58206 [ACK] Seq=1 Ack=5890191 Win=980480 Len=0 TSval=2532115746 TSecr=4294945735
6183 3.813606 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6385861 Ack=1 Win=13824 Len=1358 TSval=4294945743 TSecr=2532115746
6184 3.813822 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6387219 Ack=1 Win=13824 Len=1358 TSval=4294945743 TSecr=2532115746
6185 4.197341 10.203.85.190 207.198.102.53 TCP 1426 [TCP Retransmission] 58206 > 80 [ACK] Seq=5890191 Ack=1 Win=13824 Len=1358 TSval=4294945782 TSecr=2532115746
6186 4.294162 207.198.102.53 10.203.85.190 TCP 68 80 > 58206 [ACK] Seq=1 Ack=5891549 Win=980480 Len=0 TSval=2532115866 TSecr=4294945782
6187 4.297450 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6388577 Ack=1 Win=13824 Len=1358 TSval=4294945792 TSecr=2532115866
6188 4.297675 10.203.85.190 207.198.102.53 TCP 1426 58206 > 80 [ACK] Seq=6389935 Ack=1 Win=13824 Len=1358 TSval=4294945792 TSecr=2532115866