一、流量控制与可靠传输机制
1、数据链路层的流量控制
2、流量的控制方式
- 停止-等待协议 :发送接收窗口均为1
- 滑动窗口协议
- 后退N桢协议(GBN):发送窗口大于1,接收窗口为1
- 选择重传协议(SR):发送接收窗口均大于1
3、可靠传输、滑动窗口、流量控制三者关系
- 可靠传输:发送端发啥,接收端接啥
- 流量控制:控制发送速率,使接收方有足够的缓冲空间来接收每一桢。
二、停止-等待协议
这里只讨论可靠传输的原理,不考虑数据在哪一层传送。
- 为什么要有停止-等待协议?
除了比特出差错,底层信道还会出现丢包问题;为了实现流量控制。 - 研究前提
单工通信方式
1、停等协议——无差错情况
2、停等协议——有差错情况
(1)数据帧丢失检测到桢出错
(2)确认帧ACK丢失
(3)ACK迟到
3、性能分析
简单!
信道利用率太低!
4、信道利用率
三、后退N桢协议(GBN)
1、GBN的滑动窗口
发送窗口:维持一组连续的允许发送的桢的序号
接收窗口:维持一个接受桢的序号。
2、GBN发送方必须响应的三件事
3、GBN接收方要做的事
4、运行中的GBN
5、滑动窗口长度
6、GBN协议重点总结
1、累计确认(偶尔捎带确认)!
2、接收方按序接收桢,错序丢弃
3、确认桢是发送按序到达的最大序列号的桢
4、发送窗口最大为
2
n
−
1
2^n-1
2n−1,接收窗口为1
缺点:不出错的桢也需要重传
四、选择重传协议(SR)
设置单个确认、加大接收窗口、设置接收缓存、缓存乱序到达的桢
1、SR的滑动窗口
2、SR发送方必须响应三件事
3、SR接收方要做的事
4、运行中的SR
5、滑动窗口长度
不可以
发送窗口最好等于接收窗口
W
T
m
a
x
=
W
R
m
a
x
=
2
n
−
1
W_{Tmax}=W_{Rmax}=2^{n - 1}
WTmax=WRmax=2n−1
6、GBN协议重点总结
1、数据桢单个确认
2、只需重传出错桢
3、接收方有缓存
4、
W
T
m
a
x
=
W
R
m
a
x
=
2
n
−
1
W_{Tmax}=W_{Rmax}=2^{n - 1}
WTmax=WRmax=2n−1
7、GBN和SR对比
重传最大确认桢之后的数据桢
只重传出错桢