大学士考试网

考研分类

2016年考研计算机专业辅导:TCP的滑动窗口机制

专业课  时间: 2019-03-09 12:18:57  作者: 匿名 
 为了提高报文段的传输速率,TCP采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。发送窗口在连接建立时由双方商定,但在通信过程中,接收端可根据自己的接收缓存的大小,随时动态地调整发送端的发送窗口的上限值。这就是接收端窗口rwnd(receiver window),这个值被放在接收端发送的TCP报文段首部的窗口字段中。 同时,发送端根据其对当前网络拥塞程度的估计而确定的窗口值,叫做拥塞窗口cwnd(congestion window)。其大小与网络的带宽和时延密切相关。

发送端设置的当前能够发送数据量的大小叫做发送窗口,发送窗口的上限值由下面公式确定:

发送窗口的上限值=Min[cwnd,rwnd] rwnd由接收端根据其接收缓存确定,发送端确定cwnd比较复杂,详细情况在慢启动和拥塞避免一节中叙述。

发送窗口的左边沿对应已发送数据中被确认的最高序号+1,其右边沿对应左边沿的序号加上发送窗口的大小。在数据传输的过程中,这个发送窗口不时地向右移动构成了滑动窗口。窗口的两个边沿的相对运动增加或减少了窗口的大小。

  描述窗口左右边沿的运动:

(1)当窗口左边沿向右边沿靠近时,我们称之为窗口合拢。这种现象发生在数据被发送和确认时。如果窗口的左边沿与右边沿重合,则称其为一个零窗口,此时发送方不能发送任何数据。

(2)当窗口右边沿向右移动时将允许发送更多的数据,我们称之为窗口张开。这种现象发生在另一端的接收进程读取已经确认的数据并释放了TCP的接收缓存时。

(3)当右边沿向左移动时,我们称之为窗口收缩。这种情况一般不会发生,但是TCP必须能够在某一端产生这种情况时进行处理。

猜你喜欢

精选专题