2019-06-09

流水线机制与滑动窗口协议:

流水线协议;
允许发送方在收到ACK之前连续发送多个分组
需要更大的序列号范围
发送方和/或接收方需要更大的存储空间以缓存分组

两者对比:

滑动窗口协议:
窗口: 允许使用的序列号范围
窗口尺寸为N:最多有N个等待确认的消息

GBN(Go -Back - N)协议:
分组头部包含k-bit序列号
窗口尺寸为N,最多允许N个分组未确认

只有当接收方 新的ACK对于发送窗口中后续字节的确认时,窗口滑动

ACK(n)确认到序列号n(包含n)的分组均已被正确接收
此中可能收到重复ACK
为空的分组设置计时器(timer)

超时Timeout(n)事件:重传序列号大于等于n,还未收到ACK的所有分组(存在资源的浪费)

发送方FSM:

接收方FSM:

ACK机制:发送拥有最高序列号的,已被正确接收的分组的ACK
可能产生重复ACK
只需要记住唯一的expectedseqnum

乱序到达的分组:
直接丢弃(接收方没有缓存)
重新确认序列号最大的,按序到达的分组

GBN有什么缺陷?
没有缓存机制,乱序传输重新发送,造成资源的浪费
改进方法:
接收方对每个分组单独进行确认:
设置缓存机制,缓存乱序到达的分组。
发送方只重传那些没收到ACK的分组
为每个分组设置定时器
发送方窗口:
N个连续的序列号
限制已发送且未确认的分组

Selective Repeat协议:

你可能感兴趣的:(2019-06-09)