计算机网络原理停-等协议
停-等协议是最简单的流量控制算法(策略),当源主机发送一个帧后,即停止发送,等
待对方的应答。如果收到目的地主机的肯定应答,则接着发送下一个帧;如果收到否定应答
或者超过规定的时间没有收到肯定应答,则重发该帧。它是简单而重要的数据链路层协议,
在物理链路层上进行流量控制和差错控制,实现可靠的数据传输。下面我们来通过下列几咱
数据传输情况,来学习停-等协议的原理。
图4-2(a)所示,源主机发送一个数据帧,而目的地主机收到正确的数据帧,将此帧进
行拆装后传送到网络层,然后向源主机返回一个确认帧ACK。当源主机收到确认ACK后,
发送下一个数据帧。
数据传输有差错,一般通过出错重发和超时重发机制来解决此问题。数据在传输过程中
差错,目的地主机收到有差错的数据帧以后可以通过检错码检查出错误,于是不向源主机发
送确认帧ACK或者向其发送否认帧NAK;为了避免源主机陷入一直等待,使它在发出一个
数据帧后就立即启动一个定时器,如果超出了重发时间后,还没有收到目的地主机的确认帧,
就重新发送该数据帧。例如,图4-2(b)和图4-2(c)分别表示原始帧和ACK丢失的情况。
在发送数据帧后,重发时间应定得适当,一般选为略大于从发送完毕
图
到收到确认帧所需时间的平均值。
4-2(d)
技巧数据在发送过程中,如果连续多次重新发送都出现差错,超过一定次
表示
数据,就停止发送,向上一级报告故障情况。
源主
机正确接收了数据帧,但返回的确认帧丢失的情况。例如,源主机发送数据帧,目的地主机
返回确认帧ACK,但该确认帧在传送过程中丢失或者超时。因此,源主机收不到确认帧,又
重新发送该数据帧,于是目的地主机收到两个同样的数据帧,所以就产生错误。
“丢失”是帧在传输中出错,目的地主机用差错码检测到这类差错,
源主机目的地主机
接着将帧丢弃。
提示帧
时间超时
CK
A
(a)确认在超时前到达
源主机目的地主机
帧
时间超时
帧
超时
CK
A
(b)原始帧丢失
源主机目的地主机源主机目的地主机
帧帧
时间超时