返回N协议与选择重传协议的发送窗口大小问题

来源:互联网 发布:磁盘擦除软件 编辑:程序博客网 时间:2024/06/06 02:58
首先说明:

接收窗口接收到分组就向前移动。发送窗口接受到接收窗口发送的ACK才会向前移动


对于返回N协议,发送窗口大小<=(2^m)-1

  • 在返回N协议中,发送窗口大小必须<=2m-1,接收窗口大小始终为1。本质就是窗口大小不能 超过序号能表示的范围,例如最大序号是3,窗口是6窗口比最大序号大,会出现0,1,2,3,0,1这样的窗口,你无法判断接收窗口返回的ACK0是代表第一个0收到还是第二个0收到。

  • 接收方一般都是采用累积确认的方式。这就是说,接收方不必对收到的分组逐个发送 确认,而是可以在收到几个分组后,对按序到达的最后一个分组发送确认,这样就表示:到 这个分组为止的所有分组都已正确收到了
对于选择重传协议,窗口大小<=2^(m-1)

  • 首先,发送窗口不能比接收窗口大,不然接收窗口可能会溢出


  • 其次,要最大化发送窗口的流水线分组,但是要保证不能产生二义性。假设序号最大为7即0,1,2,3,4,5,6,7,发送窗口大小为5,当发送窗口发送0,1,2,3,4后,假设接收窗口全部收到,则接收窗口向前移动到5次,接受窗口期望接收5,6,7,0,1.若发送窗口并没接收到任何ACK,所以发送窗口重发0,1,2,3,4此时接收窗口会以为重发的0,1是新的分组。



  • 因为发送窗口<=接收窗口。要最大化发送窗口,则发送窗口=接收窗口。假设发送窗口为m,则接收窗口也为m.发送窗口发送m个分组时,接收窗口向前移动m,接收窗口为m+1,m+2,...2m.要避免二义性,必须满足2m<=序号最大值,




1 1
原创粉丝点击