发布网友 发布时间:2024-07-03 01:48
共1个回答
热心网友 时间:2024-07-12 12:08
在数据链路层,流量控制是至关重要的功能之一,它负责调节链路上数据的传输速率,确保接收方有足够空间接收数据。例如,如果计算机链路服务多台终端,可能会因接收能力不足而在高峰时段过载。在自动重发请求系统中,大量待确认帧可能导致缓冲器溢出。XON/XOFF方案通过使用ASCII控制字符DC1和DC3,实现了某种程度的流量控制。当接收方过载时,通过发送XOFF信号暂停发送,待接收方处理完数据后恢复。这种方法虽然被动,但能缓解速率差异,许多异步通信软件支持它。
为了提高效率,窗口机制也被采用。发送方连续发送帧而不等待确认,形成流水线模式。但由于可能需要重发,发送方需要预留一定容量的缓冲区。如果接收方处理速度跟不上,发送方会限制待发送帧的数量,这通过调整重发表中确认帧的数目实现。发送方的发送窗口(发送帧的序号范围)和接收窗口(接收帧的序号范围)在传输过程中会滑动,反映接收和发送的实时能力。
发送方在发送帧后,待确认帧数增加,收到确认后减少。当待确认帧数等于发送窗口大小时,停止发送新帧。帧号循环使用,发送窗口大小的选择需平衡接收方处理能力、帧长、缓冲容量和比特速率等因素。滑动窗口协议如空闲RQ、Go-back-N和选择重发,主要区别在于发送和接收窗口的大小,如空闲RQ(窗口大小1),Go-back-N(发送窗口大于1,接收窗口1),选择重发(发送窗口和接收窗口都大于1)。接收窗口的大小通常大于1,以确保接收任何在范围内的帧,而Go-back-N是接收窗口为1的特殊情况。
数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源机网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。