TCP 使用快重传和快恢复算法,设TCP的sshresh 的初始值为8(单位为报文段)。拥塞窗口初始值为1,当拥塞窗口上升到16时收到3个重复确认。试分别求出第1轮次到第12轮次传输的各拥塞窗口大小。并说明拥塞窗口每一次变化的原因。
时间: 2023-09-05 11:05:16 浏览: 292
TCP拥塞控制1
### 回答1:
第1轮次,拥塞窗口大小为1,因为TCP连接建立后,初始拥塞窗口大小为1。
第2轮次,拥塞窗口大小为2,因为在第1轮次传输中没有出现丢失的分组。
第3轮次,拥塞窗口大小为4,因为在第2轮次传输中没有出现丢失的分组。
第4轮次,拥塞窗口大小为8,因为在第3轮次传输中没有出现丢失的分组。
第5轮次,拥塞窗口大小为16,因为在第4轮次传输中没有出现丢失的分组。
第6轮次,拥塞窗口大小为8,因为收到了3个重复确认,TCP触发了快重传和快恢复算法,将拥塞窗口大小减半,即16/2=8。
第7轮次,拥塞窗口大小为12,因为TCP采用拥塞避免算法,在拥塞窗口大小小于等于sshresh时,每经过一个往返时间RTT,拥塞窗口大小增加1。因此第7轮次时,拥塞窗口大小增加了4。
第8轮次,拥塞窗口大小为16,因为在第7轮次传输中没有出现丢失的分组,拥塞窗口大小增加到sshresh的值,即16。
第9轮次,拥塞窗口大小为8,因为收到了3个重复确认,TCP触发了快重传和快恢复算法,将拥塞窗口大小减半,即16/2=8。
第10轮次,拥塞窗口大小为10,因为TCP采用拥塞避免算法,在拥塞窗口大小小于等于sshresh时,每经过一个往返时间RTT,拥塞窗口大小增加1。因此第10轮次时,拥塞窗口大小增加了2。
第11轮次,拥塞窗口大小为12,因为TCP采用拥塞避免算法,在拥塞窗口大小小于等于sshresh时,每经过一个往返时间RTT,拥塞窗口大小增加1。因此第11轮次时,拥塞窗口大小增加了2。
第12轮次,拥塞窗口大小为14,因为TCP采用拥塞避免算法,在拥塞窗口大小小于等于sshresh时,每经过一个往返时间RTT,拥塞窗口大小增加1。因此第12轮次时,拥塞窗口大小增加了2。
总结:拥塞窗口大小的变化原因主要有两种,一种是采用拥塞避免算法,每经过一个往返时间RTT,拥塞窗口大小增加1;另一种是收到重复确认,触发快重传和快恢复算法,将拥塞窗口大小减半。
### 回答2:
第1轮次传输时,拥塞窗口大小为1。原因是初始时拥塞窗口的大小为1。
第2轮次传输时,拥塞窗口大小为2。原因是第1轮次传输成功,根据慢启动算法,每经过一轮次,拥塞窗口大小都会翻倍,因此为2。
第3轮次传输时,拥塞窗口大小为4。原因是第2轮次传输成功,并且拥塞窗口大小小于sshresh的值,所以继续进行慢启动,拥塞窗口大小翻倍为4。
第4轮次传输时,拥塞窗口大小为8。原因是第3轮次传输成功,并且拥塞窗口大小小于sshresh的值,所以继续进行慢启动,拥塞窗口大小翻倍为8。
第5轮次传输时,拥塞窗口大小为16。原因是第4轮次传输成功,并且拥塞窗口大小等于sshresh的值,所以进入拥塞避免阶段,每经过一轮次,拥塞窗口只增加1。
第6轮次传输时,拥塞窗口大小为17。原因是第5轮次传输成功,并且拥塞窗口大小超过sshresh的值,所以进入拥塞避免阶段,每经过一轮次,拥塞窗口只增加1。
第7轮次传输时,拥塞窗口大小为18。原因是第6轮次传输成功,并且拥塞窗口大小超过sshresh的值,所以进入拥塞避免阶段,每经过一轮次,拥塞窗口只增加1。
第8轮次传输时,拥塞窗口大小为19。原因是第7轮次传输成功,并且拥塞窗口大小超过sshresh的值,所以进入拥塞避免阶段,每经过一轮次,拥塞窗口只增加1。
第9轮次传输时,拥塞窗口大小为20。原因是第8轮次传输成功,并且拥塞窗口大小超过sshresh的值,所以进入拥塞避免阶段,每经过一轮次,拥塞窗口只增加1。
第10轮次传输时,拥塞窗口大小为21。原因是第9轮次传输成功,并且拥塞窗口大小超过sshresh的值,所以进入拥塞避免阶段,每经过一轮次,拥塞窗口只增加1。
第11轮次传输时,拥塞窗口大小为22。原因是第10轮次传输成功,并且拥塞窗口大小超过sshresh的值,所以进入拥塞避免阶段,每经过一轮次,拥塞窗口只增加1。
第12轮次传输时,拥塞窗口大小为23。原因是第11轮次传输成功,并且拥塞窗口大小超过sshresh的值,所以进入拥塞避免阶段,每经过一轮次,拥塞窗口只增加1。
### 回答3:
第1轮次传输的拥塞窗口大小为1,因为拥塞窗口初始值为1。
第2轮次传输的拥塞窗口大小为2,因为第1轮次传输成功,正常进行拥塞窗口加倍操作。
第3轮次传输的拥塞窗口大小为4,因为第2轮次传输成功,再次进行拥塞窗口加倍操作。
第4轮次传输的拥塞窗口大小为8,因为第3轮次传输成功,再次进行拥塞窗口加倍操作。
第5轮次传输的拥塞窗口大小为16,因为第4轮次传输成功,再次进行拥塞窗口加倍操作。
第6轮次传输的拥塞窗口大小为12,因为在第5轮次传输过程中收到了3个重复确认,根据快重传算法,窗口减半,所以拥塞窗口变为原来的一半,即16的一半为8,但是由于还未到达sshresh的值,所以并不是真正的快恢复,而是继续加倍操作,即8*2=16。
第7轮次传输的拥塞窗口大小为16,因为经过快恢复算法后,拥塞窗口恢复为sshresh的值,即8。
第8轮次传输的拥塞窗口大小为9,因为在第7轮次传输过程中,再次收到了3个重复确认,根据快重传算法,窗口减半,所以拥塞窗口变为原来的一半,即8的一半为4,但是由于已经达到了sshresh的值,所以进行慢恢复操作,即4+1=5。
第9轮次传输的拥塞窗口大小为10,因为上一轮次传输成功,进行加1操作。
第10轮次传输的拥塞窗口大小为11,因为上一轮次传输成功,进行加1操作。
第11轮次传输的拥塞窗口大小为12,因为上一轮次传输成功,进行加1操作。
第12轮次传输的拥塞窗口大小为13,因为上一轮次传输成功,进行加1操作。
综上所述,拥塞窗口的每一次变化都是根据TCP的快重传和快恢复算法进行调整的。在传输过程中,如果接收方连续收到相同的确认报文段,即重复确认,就会触发快重传,使发送方将窗口减半。而在窗口减半的情况下,如果再次传输成功,就会采用慢恢复算法,将窗口缓慢地增加回sshresh的值,以避免再次发生拥塞。如果继续收到重复确认,则窗口减半,重复进行这样的调整,直到拥塞窗口达到sshresh的值后,再进行每传输成功一次,窗口增加1的操作。这样,通过快重传和快恢复算法,TCP可以在网络拥塞时进行快速调整,提高传输效率。
阅读全文