链路就是一条无源的从点到点的物理线路段,中间没有任何其他的交换节点。在进行通信时,两台计算机的通信通路是由多条链路串接而成的。
当需要在一条链路上通信时,除了需要物理链路,还需要一些规程来控制这些数据的传输,把实现这些规程的硬件和软件加到链路上,就构成了数据链路
自动请求重发又可以称为后向纠错,包括停止等待ARQ协议和连续连续ARQ协议
原理如下,发送方A向接收方B发送数据帧0,并设置超时定时器T0,开始等待,接收方收到数据帧0后,开始校验,如果正确发送ACK给A,A收到ACK,取消定时器T0,开始发送数据帧1,并设置超时定时器T1,如下图
如果接收方B校验发现错误,则发送NAK给A,请求重传,A收到NAK后,重新发送数据帧0,设置超时定时器T0,开始等待,如下图
上面都是没有考虑丢包的情况,那如果数据丢失了会怎样呢?
那么这样的协议有什么问题呢?
发送方在发送完一个数据帧后,不是停留下来等待确认,而是可以连续发送若干个数据帧,由于减少了等待时间,提高了吞吐率
每个数据帧都需要进行编号并关联一个定时器,当接收到ACK(n)时取消定时器Tn-1 发送方A不断发送数据帧data0,data1,datan,并设置相应的定时器T0,T1,TN
这时候接收方B做什么呢,和停止等待ARQ协议一样,一个一个接收数据帧,校验正确发送ACK(n),错误发送ACK(n-1),这时候为什么不是发送NAK了呢,这边的ACK(N),代表n-1个数据帧已经接收到了,现在需要发送方发送N个数据帧,当有问题或者没有收到时,就需要发送ACK(n-1)让发送方重发n-1个数据帧。这是发送方收到ACK后直接发送数据帧么,不是,因为发送方是连续发送的,所以所需的数据帧很可能已经在路上了,这是需要把N-1的定时器取消。
那如果数据丢失了会怎样呢?
那么发送方能无限制的发送数据么,无限的发送会出现什么问题呢
本文地址:https://blog.csdn.net/m0_46173483/article/details/107340502
如对本文有疑问, 点击进行留言回复!!
rfid档案管理-基于RFID技术的智能档案管理系统—铨顺宏fuwit
基于解决sci和ei等国外期刊论文翻译阅读难等问题的辅助软件分析
网友评论