专利名称:一种无线链路协议帧重传方法及装置的制作方法
技术领域:
本发明涉及无线数据通信领域,特别地涉及码分多址(Code Division Multiple Access, CDMA)通信系统中 一种无线链3各协议 (Radio Link Protocol, RLP)帧重传方法及装置。
背景技术:
无线通信系统逐渐成为人们使用最广泛的通信手段之一。这些系 统可以是能支持多个用户和提供多种类型服务的通信多址系统,包括 基于频分多址(Frequency Division Multiple Access, FDMA )、时分多 址(Time Division Multiple Access, TDMA)、 CDMA或者是其它多 址技术。CDMA系统凭借其高容量、高效、廉价等特点引起用户的 关注。
由于无线环境受外界影响较大,在空中传输过程中数据帧的误帧 率(Frame Error Rate, FER)相对较高。因此需要? 1入一类协议保证 无线系统底层传输的可靠性。CDMA系统在提供分组数据业务时, 是通过RLP重传机制来保证数据传输的可靠性。RLP是被GSM (Globe System for Mobil Communication, 全^求移动通"f言系统)和 CDMA用在为确保稳定数据传输的基于网络错误修正的链路层协议。 数据传输到RLP层后,RLP层会产生序号连续且唯一的RLP帧。当 RLP帧在传输过程中丟失或者出错时,接收端RLP层会通过回复 NAK (Negative Acknowlegment,否定应答)要求发送端RLP层重新 发送丟失或者出错的数据帧。发送端RLP层收到NAK后会重新发送 相应的RLP帧。同时4^收端RLP层将收到的连续的多个RLP帧组成 数据包发送到上一协议层进行处理。
正常情况下,上述方法很好的解决了无线系统中数据传输的稳定 性的问题。但在卫星链路传输、以太网传输等抖动较大的条件下,会 出现错帧、乱序的情况,无论是错帧还是乱序均会使接收端RLP层收到比期望顺序收到帧序号小的帧或者比期望收到的下 一 帧序号大
的帧,如果按照原有的RLP重传机制,将会向对端发送NAK,此时 会出现重传率升高,RLP复位次数增加,传输速率下降等问题。最终 影响到用户对数据业务的正常使用。
因此引入一种兼容性和稳定性更强的RLP重传机制对无线系统 数据业务的推广和应用具有很重要的意义。
发明内容
本发明所要解决的技术问题是,提供一种RLP重传方法及装置, 以克服现有技术中存在的在抖动较大的环境下RLP重传率高、RLP 复位次数增加、传输速率下降的问题。
本发明所述RLP帧重传方法,接收端RLP层将丢失帧的序号保 存在延时緩存区中,当接收到的帧的序号L—SEQ小于期望接收到的 下一帧的序号L一V(R)时,判断所述延时緩存区中是否有与所述 L—SEQ相同的序号,若有,则将相应的序号从所述延时缓存区中删 除,并将所述当前接收到的帧送入重排序緩存区;否则,丢弃当前接 收到的帧,计算丢失帧的序号,并将相应序号保存到延时緩存区中, 同时将预设值前的丢失帧的序号插入到否定应答NAK列表中,在发 送时刻到来时发送NAK给发送端RLP层,要求重传丟失的帧。
所述接收端RLP层接收到帧后,首先提取所述帧的序号L—SEQ。
若所述L—SEQ> L—V(R),则所述接收端RLP层执行如下操作
步骤A:用所述L一SEQ与所述L一V(R)相减的绝对值与预设的第 一阈值a做比较,若所述IL—SEQ-L—V(R)l^a,则执行步骤E;若所述 jL—SEQ- L—V(R)|>a,则执行步骤B;
步骤B:判断所述I^SEQ是否与上一异常帧的序号连续,若是, 则执行步骤C;否则,执行步骤D;
步骤C:异常帧计数器加l后判断计数器的当前值是否大于预设 的第二阈值b,若是,则执行步骤E;否则,执行步骤D;
步骤D:丟弃所述当前接收到的帧,并清零异常帧计数器,本次 帧处理结束;
步骤E:计算丢失帧的序号,并将计算得到的丟失帧序号插入到
6NAK列表中。
若所述接收端RLP层当前接收到的帧是期望顺序接收到的帧, 则所述接收端RLP层将当前帧送入重排序緩存区,本次帧处理结束。
若所述接收端RLP层当前接收到的帧不是期望顺序接收到的帧, 则执行如下步骤
步骤a:比较L—SEQ与期望顺序接收到的帧的序号L—V(N),若 L—SEQ>L—V(N),则执行步骤b;若L—SEQ<L—V(N),则执行步骤c;
步骤b:比较L—SEQ与L一V(R)的大小;
步骤c:用所述L一SEQ与所述L—V(N)相减的绝对值与预设的第 三阈值c做比较,若所述IL—SEQ-L—V(N)l^c,则丢弃所述当前接收到 的帧,本次帧处理结束;若所述IL—SEQ- L—V(N)|>c,则4妄收端RLP 层发起复位,本次帧处理结束。
所述接收端RLP将丢失帧的序号插入到NAK列表的同时,还将 相应帧的序号从所述延时緩存区中删除。
所述接收端RLP会为每一个保存到所述延时緩存区中丟失帧序 号分配一个编号,并在删除丟失帧序号的同时还删除相应的编号。
所述预设值等于最后保存到所述延时緩存区中的丢失帧序号的 编号n与第四阈值d之差。
所述延时緩存区中的丟失帧序号被删除后,其后面的帧序号依次 前移。
本发明进一步公开一种RLP帧重传装置,包括接收模块、控制 模块、延时緩存模块、重排序缓存模块、NAK列表模块以及发送模 块,所述
接收模块用于接收RLP帧,提取L—SEQ并发送给所述控制模块; 控制模块用于比较L—SEQ与L一V(R)的大小;用于在L—SEQ小 于L—V(R)时,判断所述延时緩存区中是否有与当前L一SEQ相同的序 号;用于计算丢失帧的序号;用于将丟失帧的序号添加到所述延时緩 存模块,或者从所述延时模块中删除;用于将接收到的帧丢弃或者送 入所述重排序緩存模块;用于将预设值前的丟失帧的序号插入到 NAK列表模块中;
延时緩存模块用于緩存丟失帧的序号;
7重排序缓存才莫块用于緩存正常的帧;
NAK列表模块用于存储需要重传的帧序号列表;
发送模块用于在发送时刻到来时根据NAK列表模块中的NAK 列表发送NAK给发送端RLP层。
所述控制模块还用于计算所述当前L—SEQ与L—V(R)相减的绝对 值;用于判断所述当前L—SEQ与L—V(R)相减的绝对值与a的大小; 用于判断所述当前L—SEQ是否与上一异常帧的序号连续;用于加1 或者清零异常帧计数器;用于判断所述计数器的当前值与b的大小; 用于比较所述当前L—SEQ与L—V(N)的大小;用于计算所述当前 L—SEQ与所述L—V(N)相减的绝对值;用于判断所述当前L—SEQ与 所述L—V(N)相减的绝对值与c的大小;用于发起复位。
本发明现有技术相比,提高了 RLP层对各种应用场景的兼容性, 使其在抖动较大的情况仍能保证RLP重传率较低及传输速率不变。
图l是本发明所述装置的框图; 图2是本发明所述方法的流程图; 图3是RLP层间的消息交互示意图。
具体实施例方式
下面结合附图和优选实施例对本发明作进一 步的介绍。
如图1所示,是本发明所述RLP帧重传装置,包括接收模块、
控制模块、延时緩存模块、重排序緩存模块、NAK列表模块以及发 送模块,其中,
接收模块用于接收RLP帧,提取L—SEQ并发送给控制模块; 控制模块用于比较L—SEQ与L—V(R)的大小;用于在L—SEQ小 于L—V(R)时,判断所述延时緩存区中是否有与当前L一SEQ相同的序 号;用于计算丟失帧的序号;用于将丢失帧的序号添加到延时緩存模 块,或者从延时模块中删除;用于将接收到的帧丟弃或者送入重排序 緩存模块;用于将预设值前的丢失帧的序号插入到NAK列表^i块中; 还用于计算当前L—SEQ与L一V(R)相减的绝对值;用于判断当前L—SEQ与L一V(R)相减的绝对值与a的大小;用于判断当前L—SEQ是 否与上一异常帧的序号连续;用于加l或者清零异常帧计数器;用于 判断计数器的当前值与b的大小;用于比较当前L—SEQ与L—V(N) 的大小;用于计算当前I^SEQ与所述L一V(N)相减的绝对值;用于判 断当前L—SEQ与所述L一V(N)相减的绝对值与c的大小;用于发起复
位;
延时緩存模块用于緩存丢失帧的序号;
重排序緩存模块用于緩存正常的帧;
NAK列表模块用于存储需要重传的帧序号列表;
发送模块用于在发送时刻到来时根据NAK列表模块中的NAK
列表发送NAK给发送端RLP层。
如图2所示,是本发明所述方法的流程图,结合图3,具体包括
如下步骤
步骤200:接收端RLP层接收到RLP帧后,提取当前帧的序号 L—SEQ;
步骤201:比较L—SEQ与期望顺序收到帧序号L—V(N),若 L—SEQ<L—V(N),则执行步骤202;若L—SEQ=L—V(N),则l丸行步骤 205;若L—SEQ>L—V(N),则执行步骤206;
步骤202:比较IL—SEQ- L—V(N)I与预设的第三阈值c,若IL—SEQ-L—V(N)gc,则执行步骤203;若IL—SEQ-L—V(N)|>c,执行步骤204;
本实施例中,c的值取100;
步骤203:丢弃当前帧,本次帧处理完毕,可以开始下一帧的处
理;
步骤204:发起复位,本次帧处理完毕,可以开始下一帧的处理;
步骤205:则将当前帧送入重排序緩存区,重排序后组包发送到 上一协议层,本次帧处理结束,可以开始下一帧的处理;
步骤206:判断L—SEQ是否大于期望收到的下一帧序号L—V(R); 若是,则执行步骤207;否则,执行步骤213;
步骤207:比较IL—SEQ-L—V(R)l与预设的第一阈值a,若IL—SEQ-L—V(R)^a,则执行步骤212;若IL—SEQ-L—V(R)|>a,则执行步骤208;
本实施例中,a的值取50;步骤208:判断L一SEQ是否与上一异常帧的序号连续,若是, 则执行步骤209;否则,认为当前帧为异常帧,执行步骤211; 步骤209:异常帧计数器加l,
步骤210:判断计数器的当前值是否大于第二阈值b,若是,则 认为当前帧为正常帧,执行步骤212;否则,认为当前帧为异常帧, 执行步骤211;
本实施例中,b的值:取7;
步骤211:丢弃该帧,清零异常帧计数器,本次帧处理完毕,可 以开始下一帧的处理;
步骤212:计算丢失帧的序号,并将其插入到NAK列表中,执 行步骤217;
步骤213:判断延时緩存区中是否存在与L—SEQ相同的帧序号, 若是,则执行步骤214;否则,执行步骤215;
步骤214:删除延时緩存区中与L—SEQ相同的帧序号及其编号, 该帧序号后面的帧序号依次前移,同时将当前帧送入重排序緩存区, 本次帧处理完毕,可以开始下一帧的处理;
步骤215:丢弃当前接收到的帧,计算丢失帧的序号,并将计算 得到的丟失帧序号保存到延时緩存区中,同时为相应的序号分配一个 编号;
步骤216:将最后保存到延时緩存区中的丢失帧序号的编号n与 第四阈值d之差之前的丢失帧的序号插入到NAK列表,同时将相应 的序号及其编号从延时緩存区中删除,剩余的帧序号依次前移;
本实施例中,d的值耳又2;
步骤217:发送时刻到时,根据NAK列表中的信息向发送端RLP 层发送NAK,要求重传丟失的RLP帧。
本发明中,涉及到的阈值均为自然数,其值主要依据发送端RLP 层可以接收的NAK数以及系统可以容忍抖动的范围确定。
以上所述仅为本发明的较佳实施例而已,并非用于限制本发明的 保护范围。应当理解的是,对本发明技术所在领域的普通技术人员来 说,可根据本发明的技术方案及其构思进行相应的等同改变或替换, 而所有这些改变或替换,都应属于本发明所附权利要求的保护范围。
10
权利要求
1、一种无线链路协议RLP帧重传方法,其特征在于,接收端RLP层将丢失帧的序号保存在延时缓存区中,当接收到的帧的序号小于期望接收到的下一帧的序号时,判断所述延时缓存区中是否有与所述当前接收到的帧的序号相同的序号,若有,则将相应的序号从所述延时缓存区中删除,并将所述当前接收到的帧送入重排序缓存区;否则,丢弃当前接收到的帧,计算丢失帧的序号,并将相应序号保存到延时缓存区中,同时将预设值前的丢失帧的序号插入到否定应答NAK列表中,在发送时刻到来时发送NAK给发送端RLP层,要求重传丢失的帧。
2、 如权利要求1所述的RLP帧重传方法,其特征在于,所述接收端RLP层接收到帧后,首先提取所述帧的序号。
3、 如权利要求1所述的RLP帧重传方法,其特征在于,若所述当前4妄收到的帧的序号大于期望接收到的下一帧的序号,则所述"l妄收端RLP层执行如下操作步骤A:用所述当前接收到的帧的序号与所述期望接收到的下一帧的序号相减的绝对值与预设的第一阈值做比较,若所述绝对值小于等于所述第一阔值,则执行步骤E;若所述绝对值大于所述第一阈值,则执行步骤B;步骤B:判断所述当前接收到的帧的序号是否与上一异常帧的序号连续,若是,则执行步骤C;否则,执行步骤D;步骤C:异常帧计数器加1后判断所述计数器的当前值是否大于预设的第二阈值,若是,则执行步骤E;否则,执行步骤D;步骤D:丟弃所述当前接收到的帧,并清零异常帧计数器,本次帧处理结束;步骤E:计算丢失帧的序号,并将计算得到的丟失帧序号插入到NAK列表中。
4、 如权利要求1所述的RLP帧重传方法,其特征在于,若所述接收端RLP层当前接收到的帧是期望顺序接收到的帧,则所述接收 端RLP层将当前帧送入重排序緩存区,本次帧处理结束。
5、 如权利要求1或4所述的RLP帧重传方法,其特征在于,若 所述接收端RLP层当前接收到的帧不是期望顺序接收到的帧,则执 行如下步骤步骤a:比较当前接收到的帧的序号与期望顺序接收到的帧的序 号,若当前接收到的帧的序号大于期望顺序接收到的帧的序号,则执 行步骤b;若当前接收到的帧的序号小于期望顺序接收到的帧的序号, 则执行步骤c;步骤b:比较当前接收到的帧的序号与期望接收到的下一帧的序 号的大小;步骤c:用所述当前接收到的帧的序号与所述期望接收到的帧的 序号相减的绝对值与预设的第三阈值做比较,若所述绝对值小于等于 所述第三阈值,则丢弃所述当前接收到的帧,本次帧处理结束;若所 述绝对值大于所述第三阈值,则接收端RLP层发起复位,本次帧处理 结束。
6、 如权利要求1所述的RLP帧重传方法,其特征在于,所述接 收端RLP将丢失帧的序号插入到NAK列表的同时,还将相应帧的序 号从所述延时緩存区中删除。
7、 如权利要求1所述的RLP帧重传方法,其特征在于,所述接 收端RLP会为每一个保存到所述延时緩存区中丢失帧序号分配一个 编号,并在删除丢失帧序号的同时还删除相应的编号。
8、 如权利要求1所述的RLP帧重传方法,其特征在于,所述预 设值等于最后保存到所述延时緩存区中的丟失帧序号的编号与第四 阈值之差。
9、 如权利要求1或6所述的RLP帧重传方法,其特征在于,所述延时緩存区中的丢失帧序号被删除后,其后面的帧序号依次前移。
10、 一种RLP帧重传装置,其特征在于,包括接收模块、控制模块、延时緩存模块、重排序緩存模块、NAK列表模块以及发送模块,所述接收模块用于接收RLP帧,提取接收到帧的序号并发送给所述控制模块;控制模块用于比较接收到的帧的序号与期望接收到的下一帧的序号的大小;用于在接收到的帧的序号小于期望接收到的下 一 帧的序号时,判断所述延时緩存区中是否有与当前接收到的帧的序号相同的序号;用于计算丢失帧的序号;用于将丟失帧的序号添加到所述延时緩存模块,或者从所述延时模块中删除;用于将接收到的帧丢弃或者送入所述重排序緩存模块;用于将预设值前的丟失帧的序号插入到NAK列表模块中;延时缓存模块用于緩存丢失帧的序号;重排序緩存模块用于緩存正常的帧;NAK列表模块用于存储需要重传的帧序号列表;发送模块用于在发送时刻到来时根据NAK列表模块中的NAK列表发送NAK给发送端RLP层。
11、 如权利要求10所述的RLP帧重传装置,其特征在于,所述控制模块还用于计算所述当前接收到的帧的序号与期望接收到的下一帧的序号相减的绝对值;用于判断所述当前接收到的帧的序号与期望接收到的下一帧的序号相减的绝对值与预设的第一阈值的大小;用于判断所述当前接收到的帧的序号是否与上一异常帧的序号连续;用于加1或者清零异常帧计数器;用于判断所述计数器的当前值与预设的第二阈值的大小;用于比较所述当前接收到的帧的序号与期望顺序接收到的帧的序号的大小;用于计算所述当前接收到的帧的序号与所述期望接收到的帧的序号相减的绝对值;用于判断所述当前接收到的帧的序号与所述期望接收到的帧的序号相减的绝对值与预设的第三阈值的大小;用于发起复位。
全文摘要
本发明涉及一种无线链路协议RLP帧重传方法及装置,所述方法为RLP层将丢失帧的序号保存在延时缓存区中,当接收到的帧的序号L_SEQ小于期望接收到的下一帧的序号时,若延时缓存区中没有与L_SEQ相同的序号,则丢弃当前接收到的帧,计算丢失帧的序号,并将相应序号保存到延时缓存区中,同时将预设值前的丢失帧的序号插入到否定应答NAK列表中,在发送时刻到来时发送NAK给对端RLP层,要求重传丢失的帧;所述装置包括接收模块、控制模块、延时缓存模块、重排序缓存模块、NAK列表模块以及发送模块。本发明提高了RLP层对各种应用场景的兼容性,使其在抖动较大的情况仍能保证RLP重传率较低及传输速率不变。
文档编号H04L1/16GK101488841SQ20091010550
公开日2009年7月22日 申请日期2009年2月18日 优先权日2009年2月18日
发明者懿 张, 谢碧峰 申请人:中兴通讯股份有限公司