3-2 流量控制和差错控制
流量控制和差错控制简介
流量控制∶协调发送站和接收站工作步调,避免发送速度过快,接收站处理不过来
- 支持流量控制的协议∶X.25、 TCP
差错控制∶检测和纠正传输错误的机制
支持检错:检错码∶CRC
支持纠错:纠错码∶海明码
流量控制的2种方式
流量控制有两种方式
- 停等协议
- 滑动窗口协议
流量控制:停等协议
工作原理:发送站发一帧,收到应答信号后再发送下一帧,接收站每收到一帧后回送一个应答信号(ACK),表示愿意接收下一帧,如果接收站不应答,发送站必须等待。
发送数据用时:
$$
T_{FA}=2t_p+t_f
$$
其中 tf 为路上传送时间(路上跑的时间), tp 为发送时间(排队上车的时间),其实第2个 tp 实际上是确认信号的接收时间

像这样,一收一发还要等待确认信号,浪费资源和时间,因此我们引入了滑动窗口协议
流量控制:滑动窗口协议(X.25和TCP的流控机制)
滑动窗口协议主要思想是∶允许连续发送多个帧而无须等待应答
如图假设站S1和S2通过全双工链路连接,S维持能容纳6个帧的缓冲区(W收=6 )
这样S就可以连续发送6个帧而不必等待应答信号(W发=6 )

应付差错控制的方法
| 接收方发现传递出现差错 | 处理方法 | 备注 |
|---|---|---|
| 肯定回答:Yes,sir | - | - |
| 否定回答:No,sir | - | - |
| 默不作声:Enn…… | 超时重传 | 计算机网络中最常用的处理接收到差错的方法 |
自动重传ARQ(Automatic Repeat reQuest),它们都是超时重传的协议
- 停等ARQ协议
- 选择重发ARQ协议
- 后退N帧ARQ协议
停等ARQ协议
停等ARQ协议是停等流控技术和自动请求重发技术的结合。
发送站发出一帧后必须等待应答信号:
- 收到肯定应答信号ACK后继续发送下一帧;
- 收到否定应答信号NAK后重发该帧;
- 若在一定的时间内没有收到应答信号也必须重发。

选择重发ARQ协议和后退N帧ARQ协议(最常考)
选择重发ARQ协议
选择重发ARQ协议:重传特定的某一帧
如图所示,当接收站收到NAK2,则接收站需要重发第2帧(滑动窗口大小为8)

后退N帧ARQ协议
后退N帧ARQ协议:重传此帧和后续的N帧
如图所示,当接收站收到NAK2,则接收站需要重发第2帧及其后续帧(滑动窗口大小为8)

选择重发ARQ协议和后退N帧ARQ的滑动窗口大小公式(考得不多,记忆即可,选上退下)
设W表示滑动窗口大小,k表示帧编号的位数,记忆**“选上退下”**
选择重发ARQ协议:$$W_发 = W_收 ≤ 2^{k-1}$$
后退N帧ARQ:$$W_发 = W_收 ≤ 2^k - 1$$
注:
- 上下指-1的位置上下
- k即帧编号为几位,如上面图中帧编号为0~7共8位
例题


解析:REJ(Reject)用于后退N帧ARQ流控方案,SREJ(Select Reject)帧用于选择重发ARQ流控方案
HDLC
HDLC简介
HDLC (High Level Data Link Control,高级数据链路控制)
是一种面向位(比特)的数据链路层控制协议
通常帧末尾处使用CRC-16、CRC-32校验
帧尾存在8位帧边界符:“01111110”,即帧头、帧尾以此为界

例题
