什么是流水线?
在计算机网络中,流水线是指在不等待发送的第一个帧的确认的情况下发送多个数据单元的方法。流水线确保更好地利用网络资源,并提高交付速度,尤其是在大量数据单元构成要发送的消息的情况下。
流水线数据传输流程图
以下流程图描述了流水线系统与非流水线系统中的数据传输。这里,流水线集成在数据链路层,并且顺序传输四个数据链路层帧。
使用流水线的数据链路协议
两种数据链路层协议使用流水线的概念 -
回退 N
回退 N 协议提供帧的流水线传输,即在收到第一个帧的确认之前发送多个帧。帧按顺序编号,并且根据发送窗口的大小发送有限数量的帧。如果在一段时间内没有收到某个帧的确认,则从该帧开始的所有帧都将重新传输。在这种情况下,接收窗口的大小为 1。
选择重传
此协议也包含流水线的概念。这里,接收窗口的大小大于 1。在此协议中,仅重新传输错误或丢失的帧,而良好的帧则被接收并缓冲。当发送方超时时,将重新传输最旧的未确认帧。如果正确接收了重新传输的帧,则接收方将从重新传输的帧开始传递它已缓冲的所有帧。
广告