流水线、滑动窗口与带宽时延积
流水线(Pipelining)
为了提高发送方的利用率,可以不以停等方式运行,而是采用流水线协议,允许发送方在收到ACK之前连续发送多个分组。
使用流水线协议,就需要更大的序列号范围,因为每个输送中的分组必须有一个唯一的序号。同时发送方和接收方需要更大的存储空间以缓存分组。
解决流水线的差错恢复有两种基本方法:
- Go-Back-N
- 选择重传(Selective Repeat)
滑动窗口
发送窗口限制未确认的在途分组数量。是最老未确认分组的序号,是下一个待发送分组的序号。窗口大小为时,仅当才能发送新分组;确认使窗口向前移动。
互动实验
移动四分组发送窗口
访问权限PRO
PRO EXCLUSIVE探索不止于此
尊享 Pro 权益解锁完整互动实验、进阶解析与精选参考答案。
知识测验
题目
base=5,nextseqnum=8,窗口N=4,下一个能发送的序号是?
带宽时延积与利用率
带宽时延积描述一个往返传播时间内链路能发送的数据量。以下用传播RTT,不含首个数据分组的发送时间,并假设ACK发送与处理可忽略、分组等长、无丢包:
若要在第一个ACK回来之前不出现发送空隙,需要。最小整数窗口为:
实际网络还受丢包、接收缓存与拥塞限制影响。扩大窗口不等于可以无限增加吞吐量。
互动实验
用在途分组填满链路
访问权限PRO
PRO EXCLUSIVE探索不止于此
尊享 Pro 权益解锁完整互动实验、进阶解析与精选参考答案。
知识测验
题目
速率不变,RTT增为原来两倍。保持链路忙碌所需的在途数据约怎样变化?
动手练习
由RTT计算分组窗口
10 Mbps链路传播RTT为30毫秒,分组1000字节。忽略ACK发送与丢包。求带宽时延积、N=1与N=10时的利用率和吞吐量,以及达到满利用率的最小整数窗口。解释base=5、next=8、N=4时的四个区域。