流水线机制与滑动窗口协议
流水线协议
允许发送方在收到ACK之前连续发送多个分组
更大的序列号范围
发送方和/或接收方需要更大的存储空间以缓存分组
滑动窗口协议
窗口
允许使用的序列号范围
窗口尺寸为N,,最多有N个等待确认的消息
滑动窗口
随着协议的运行,窗口在序列号空间内向前滑动
滑动窗口协议:GBN,SR
Go-Back-N(GBN)协议
分组头部包含k-bit序列号
窗口尺寸为N,最多允许N个分组未确认
ACK(n):确认到序列号n(包含n)的分组均已被正确接收
为空的分组设置计时器
超时事件:重传序列号大于等于n,还未收到ACK所有分组
GBN:发送方扩展FSM
GBN:接收方扩展FSM
ACK机制:发送拥有最高序列号的,已被正确接收的分组的ACK
可能产生重复ACK
只需要记住唯一的expectedseqnum
乱序到达的分组
直接丢弃,因为接收方没有缓存
重新确认序列号最大的,按序到达的分组
GBN的缺陷
重传时会重传很多分组,影响效率
Selective-Repeat-N(SR)协议
接收方对每个分组单独进行确认。
设置缓存机制,缓存乱序到达的分组发送方只重传那些没收到ACK的分组
发送方窗口
N个连续的序列号
限制已发送且未确认的分组
发送方/接收方窗口