最近在做无线传输的通信协议实现,这里涉及到超时重传,窗口移动,可靠性传输的问题,有些一些心得,也有很多的调试历程,与大家分享,当然源码不会开源,但是思想会毫无保留.
首先我们看重传原理ARQ
ARQ(AutomaticRepeat reQuest,自动重传请求)是在数据链路层(MAC)实现的一种可靠性传输机制。其重传原理是发送端先将数据链路层的数据SDU按照固定的ARQ块大小来进行分片,最后剩下的数据不管多小都分为一个分片,接着为每个分片进行编号BSN(Block Sequence Number),如下图所示:
ARQ机制中SDU分片和BSN示意图
随后确定发送端的ARQ滑窗