1.一种卫星移动通信无线链路控制RLC层确认AM模式传输方法,其特征在于:所述AM模式传输方法的数据发送过程包括以下步骤:S11:发送端接收到上层的数据SDU时,将数据存储在SDU缓冲区中;
S12:待发送端收到媒体接入控制MAC的发送机会时,根据其所需要的数据块大小和个数将缓冲区中SDU通过分段或级联组成PDU;所述S12待发送端收到MAC接收到的发送机会后,首先判断数据中是否含有控制块,如果有,优先发送控制块;
发送过程中,判断是否含有MAC控制块,如果有,则根据后面将要发送数据块的大小对MAC控制块进行填充比特的添加并发送,所述MAC控制块和数据块复用发送,MAC控制块在前,数据块在后;
进而判断是否含有RLC控制块,如果有,则根据后面将要发送数据块的大小对RLC控制块进行填充比特的添加并发送,所述RLC控制块不和数据块复用发送;
如果没有任何控制块,则在数据块之前添加一个空的控制块,根据后面要发送数据的长度来进行填充并发送;
S13:添加报头并将PDU发送给低层,将PDU进行编号并存储在发送窗口中;
所述AM模式传输方法的数据接收过程包括以下步骤:
S21:接收端接收到来自低层的PDU后,去掉报头并将其存储在接收窗口中;所述S21接收端接收到来自低层的PDU后,需要对数据块进行重复检测,具体包括以下步骤:接收到下层发送的PDU,首先通过BSN判断该PDU是否在接收窗口中,如果不在窗口中,则将该PDU丢弃,否则将该PDU存储在接收缓冲区;
继续判断该PDU是否是重传的PDU,如果是重传的PDU,则将重传的PDU放在重传缓冲区中,继续判断是否收全了重传的SDU所有重传PDU,如果是,则将收到的数据进行重组并按序发送给高层,否则,继续等待数据的接收;如果不是重传的PDU,继续判断是否收全了一个SDU的所有PDU部分,如果是,则将收到的PDU进行重组并按序发送给高层,否则,继续等待数据的接收;
S22:根据报头的字段信息将PDU进行重组之后按序发送给高层。
2.根据权利要求1所述的一种卫星移动通信RLC层AM模式传输方法,其特征在于:所述发送窗口具有3种状态数据块,没有得到确认而未被接收的NACK数据块、得到确认并已正确接收的ACK数据块和发送后正在等待确认的PENDDING_ACK数据块。
3.根据权利要求2所述的一种卫星移动通信RLC层AM模式传输方法,其特征在于:所述控制块发送完后,判断发送窗口中是否有NACK的数据块,如果有NACK的数据块,则先发送NACK的数据块;
如果没有NACK的数据块,继续判断是否有新的SDU或发送窗口处于满状态,如果没有,则发送最早的PENDDING_ACK数据块;如果没有NACK数据块,但发送窗口未满同时还有新的SDU时,优先发送新的SDU,发送之后放入发送窗口并将状态数组更新为PENDDING_ACK。
4.根据权利要求3所述的一种卫星移动通信RLC层AM模式传输方法,其特征在于:所述发送窗口中有NACK的数据块,先发送NACK的数据块,包括以下步骤:根据调制编码规则的要求将NACK的数据进行重分段,然后进行重传,发送后发送窗口的状态数组更新为PENDDING_ACK;如果所有PENDDING_ACK的数据块都发送过一次,则从最早未被确认的数据块开始重复这一流程。
5.根据权利要求2所述的一种卫星移动通信RLC层AM模式传输方法,其特征在于:在发送过程中,每发送完一个PDU之后,开启定时T3198,待T3198超时后没有收到数据块的确认情况,则将数据块的状态设置为NACK,然后进行重传。
6.根据权利要求1所述的一种卫星移动通信RLC层AM模式传输方法,其特征在于:所述数据发送时,使用发送窗口滑动机制,发送窗口具有状态变量V(A)、V(S)和V(B),V(S)表示按顺序将要发送的下一个RLC数据块的序列号,取值范围为0到1023;V(A)表示最早没有被对端确认的数据块的序列号,取值范围为0到1023;V(B)由SNS个元素组成的数据,表示RLC数据块的确认状态,其确认状态有三种,即没有得到确认而未被接收NACK、得到确认并已正确接收ACK和发送后正在等待确认PENDDING_ACK;
初始时V(A)和V(S)为0,WS表示窗口大小,WS为512;
V(B)数组根据位图进行更新,数据块发送后就将V(B)的状态修改为PENDDING_ACK,当接收到位图时,确定BSN所对应的数据块接收到,则相对应的V(B)状态更新为ACK,否则为NACK;如果V(A)所对应的BSN的状态为ACK,V(A)的数值为V(A)++,窗口移动,依次更新。
7.根据权利要求1所述的一种卫星移动通信RLC层AM模式传输方法,其特征在于:所述数据接收时,使用接收窗口滑动机制,接收窗口状态变量包括接收状态变量V(R)、接收窗口状态变量V(Q)和接收状态数组V(N);V(R)表示待接收的下一个数据块的BSN值,V(Q)表示窗口内最早没有被接收的BSN值,V(N)为接收数据的状态情况;当接收到BSN=V(R)的数据块时,将其放入接收窗口,并将其对应的状态数组修改为RECEIVED,没有接收到的数据块对应的状态数组为INVALID,V(R)的数值为V(R)++,当接收到BSN=V(Q)的数据块时,V(Q)的数值为V(Q)++。
8.根据权利要求1所述的一种卫星移动通信RLC层AM模式传输方法,其特征在于:所述数据接收过程,接收端接收到RLC控制块,首先根据接收窗制作位图,然后判断是否有压缩增益,如果有,则使用压缩算法制作位图;否则,直接发送没有压缩的位图;然后将位图存储在RLC控制缓冲区中,待收到发送机会时发送。