文章目录
- 1 概述
- 2 流量控制协议
- 2.1 停等协议
- 2.2 滑动窗口协议
1 概述
2 流量控制协议
2.1 停等协议
- 停等协议:最简单的流量控制协议
- 工作原理:发送站发出一帧,然后等待应答信号到达后再发送下一帧;接收站每收到一帧后送回一个应答信号(ACK),表示愿意接收下一帧,如果接收站不送回应答,则发送站必须等待。这样,在源和目标之间的数据流动是由接收站控制的。
- 举例说明:如下图所示,假设在半双工的点对点链路上,
S
1
S_1
S1 站向
S
2
S_2
S2 站发送数据帧,
S
1
S_1
S1 每发送一个帧就等待
S
2
S_2
S2 送回应答信号。
- 发送一帧的时间为: T F A = 2 t p + t f T_{FA} = 2 t_p + t_f TFA=2tp+tf
- t p t_p tp 为传播延迟, t f t_f tf 为发送一帧的时间(称为一帧时)
- 效率:
E
=
t
f
2
t
p
+
t
f
E = \frac{t_f}{2t_p + t_f}
E=2tp+tftf
2.2 滑动窗口协议
- 滑动窗口协议:允许连续发送多个帧而无需等待应答。(停等协议 的升级版)
- 举例说明:如下图所示,假设站
S
1
S_1
S1 和
S
2
S_2
S2 通过全双工链路交接,
S
2
S_2
S2 维持能容纳 6 个帧的缓冲区(
W
收
=
6
W_收 = 6
W收=6),这样,
S
1
S_1
S1 就可以连续发送 6 个帧而不必等待应答信号(
W
发
W_发
W发 = 6)。为了使
S
2
S_2
S2 能够表示哪些帧已被成功接收,每个帧都给予一个顺序编号。假设
S
1
S_1
S1 向
S
2
S_2
S2 发出 0 号帧,
S
2
S_2
S2 收到 0 号帧后返回应答帧 ACK1,并把窗口(W)滑动到图中虚线的位置。
- S 1 S_1 S1 开始发送 0 号帧到 S 2 S_2 S2 返回应答帧 ACK1 回到 S 1 S_1 S1 的时间是: 2 t p + t f 2t_p + t_f 2tp+tf
- 在这段时间内, S 1 S_1 S1 可连续发送 W 个帧,时间为: W × t f W \times t_f W×tf
- 效率: E = W × t f 2 t p + t f E = \frac{W \times t_f}{ 2 t_p + t_f} E=2tp+tfW×tf