TCP RENO MSS、发送方 Window、阈值和接收方 window
TCP RENO MSS, Sender Window, Threshold and Receiver window
我很难理解当发送方从接收方收到三次重复的 ACK 时会发生什么,以及发生超时时会发生什么。
目前我的理解是:
根据三次重复 ACK:(1) 将阈值设置为发送方 window 大小的一半,(2) 将接收方 window 大小设置为 1 MSS
我不太确定除了重传之外发生超时时会发生什么。
我正在处理下面列出的这个问题。如果有人可以帮助我确认发生三重 ACK 和超时发生时会发生什么,将不胜感激。
Consider a TCP connection has an initial Threshold of 24 kB and a
Maximum Segment Size (MSS) of 4 kB. The receiver advertised window is
40 kB. Suppose all transmission attempts are successful except for a
triple duplicate ACK received (for the same previously transmitted
data) on the number 7 transmission and a timeout at transmission
number 12. The first transmission attempt is number 0. Find the size
of the sender’s congestion window for the first 18 transmission
attempts (number 0-17) assuming the sender’s TCP implementation is
using the slow-start congestion control scheme
Trans. # Sender wnd. (kb) Threshold (kb) Receiver wnd. (kb)
0 4 24 40
1 8 24 40
2 16 24 40
3 24 24 40
4 28 24 40
5 32 24 40
6 4 16 40
7 8 16 40
8 12 16 40
9 16 16 40
10 20 16 40
11 24 16 40
12 40
13 40
14 40
15 40
16 40
17 40
对于未来的读者,TCP Reno 的正确答案如下:
在三次重复 ACK 后,阈值设置为发送方 window 大小的一半,发送方 window 大小减半。
超时后,阈值设置为发送方 window 大小的一半,发送方 window 重置为 1 MSS 并使用慢启动。
对于 TCP Tahoe:
在三次重复 ACK 后,阈值发送到发送方 window 大小的一半,发送方 window 大小重置为 1 MSS。然后使用慢启动,直到发送方达到阈值。
暂停时,Tahoe 和 Reno 执行相同的功能。
正确答案:(TCP Reno)
Trans. # Sender wnd. (kb) Threshold (kb) Receiver wnd. (kb)
0 4 24 40
1 8 24 40
2 16 24 40
3 24 24 40
4 28 24 40
5 32 24 40
6 36 24 40
7 40 24 40 <- tripple duplicate ack after attempting to transmit
8 20 20 40
9 24 20 40
10 28 20 40
11 32 20 40
12 36 20 40 <- timeout after attempting to transmit
13 4 18 40
14 8 18 40
15 16 18 40
16 18 18 40
17 22 18 40
我很难理解当发送方从接收方收到三次重复的 ACK 时会发生什么,以及发生超时时会发生什么。
目前我的理解是:
根据三次重复 ACK:(1) 将阈值设置为发送方 window 大小的一半,(2) 将接收方 window 大小设置为 1 MSS
我不太确定除了重传之外发生超时时会发生什么。
我正在处理下面列出的这个问题。如果有人可以帮助我确认发生三重 ACK 和超时发生时会发生什么,将不胜感激。
Consider a TCP connection has an initial Threshold of 24 kB and a Maximum Segment Size (MSS) of 4 kB. The receiver advertised window is 40 kB. Suppose all transmission attempts are successful except for a triple duplicate ACK received (for the same previously transmitted data) on the number 7 transmission and a timeout at transmission number 12. The first transmission attempt is number 0. Find the size of the sender’s congestion window for the first 18 transmission attempts (number 0-17) assuming the sender’s TCP implementation is using the slow-start congestion control scheme
Trans. # Sender wnd. (kb) Threshold (kb) Receiver wnd. (kb)
0 4 24 40
1 8 24 40
2 16 24 40
3 24 24 40
4 28 24 40
5 32 24 40
6 4 16 40
7 8 16 40
8 12 16 40
9 16 16 40
10 20 16 40
11 24 16 40
12 40
13 40
14 40
15 40
16 40
17 40
对于未来的读者,TCP Reno 的正确答案如下:
在三次重复 ACK 后,阈值设置为发送方 window 大小的一半,发送方 window 大小减半。
超时后,阈值设置为发送方 window 大小的一半,发送方 window 重置为 1 MSS 并使用慢启动。
对于 TCP Tahoe:
在三次重复 ACK 后,阈值发送到发送方 window 大小的一半,发送方 window 大小重置为 1 MSS。然后使用慢启动,直到发送方达到阈值。
暂停时,Tahoe 和 Reno 执行相同的功能。
正确答案:(TCP Reno)
Trans. # Sender wnd. (kb) Threshold (kb) Receiver wnd. (kb)
0 4 24 40
1 8 24 40
2 16 24 40
3 24 24 40
4 28 24 40
5 32 24 40
6 36 24 40
7 40 24 40 <- tripple duplicate ack after attempting to transmit
8 20 20 40
9 24 20 40
10 28 20 40
11 32 20 40
12 36 20 40 <- timeout after attempting to transmit
13 4 18 40
14 8 18 40
15 16 18 40
16 18 18 40
17 22 18 40