一种mp碎片序号同步实现方法、设备及系统的制作方法

文档序号:7894408阅读:235来源:国知局
专利名称:一种mp碎片序号同步实现方法、设备及系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及ー种端对端的接收端使用双缓冲方式自动同步发送端发送的MP碎片序号的方法,尤其涉及通讯领域的PPP多链路协议(PPPMultilink Protocol,简称MP)需要按序重组的协议,除此之外,本发明也可以扩展到其它需要接收端使用序号排序以恢复报文的协议。
背景技术
RFC1990 中描述了ー种 PPP 多链路协议(PPP Multilink Protocol,简称MP),它允许将多条物理链路绑定成一条逻辑链路bundle,以增加带宽。bundle上承载的PPP报文,在发送端,PPP报文会被切割成多段,即MP碎片,可通过bundle下不同的物理链路传输。在接收端,需要按照MP碎片的序号大小进行排序重组, 恢复成原始的PPP报文。新建的ー个bundle,其发送的第一个MP碎片的序号应该是0,且每发ー个MP碎片,其序号都会严格的递增。由于逻辑链路bundle下的每条物理链路的延时不同,在此过程中,可能导致MP碎片乱序,以及由于物理链路的连接状态变化等原因,可能导致MP碎片丢失。RFC1990提供的检测MP碎片丢失的方法是接收端跟踪bundle中每一条物理链路的序号,并记录当前序号中的最小值,当它超过结束碎片(E = I)的序号时,就检测到一个碎片丢失。中国发明专利CN200510012260提供了一种按期望序号来重组MP报文的方法,在其技术方案中,若期望序号不能重组且存在有效序号则记录有效序号,并设置时间阈值,当有效序号的时间戳超过设置的时间阈值时,则将期望序号与有效序号之间的碎片重组,不能重组的碎片丢弃。但上述协议和专利方法都没有考虑发送端发出的MP碎片在某些场景下发送序号时出现跳序的情況。在通信网络中,出于稳定性考虑,可能会使用主备双机的方法。在实际应用中,当主板复位、挂死或其它原因进行主备倒换时,必然会引起原有的PPP连接中断,通信也因此中断,此时接收端接收到的MP碎片会被认为是乱序报文而直接丢弃,直到发送端发送的报文的序号回到接收端的有效窗ロ或滑动窗ロ,才能被接收端接收重组。在此种情形下,现有技术无法解此种由于主备倒换而造成MP碎片序号出现跳变,接收端无法正常接收的问题。

发明内容
本发明的目的在于提供ー种MP碎片序号同步实现方法、设备及系统,以解决发送端的MP碎片序号出现跳变时,接收端认为是乱包而直接予以丢弃的问题。为了达到本发明的目的,本发明采用以下技术方案ー种MP碎片序号同步实现方法,包括A、设置有效窗ロ以及乱序缓冲窗ロ,其中,所述有效窗ロ用于重组报文,所述乱序缓冲窗ロ用于缓存跳序的MP碎片;B、当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,则将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号;C、当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,则将该当前MP碎片缓存入乱序缓冲窗ロ之中。优选地,在所述步骤B中,包括BI、设置自适应序号机制标识A为0,保存该当前MP碎片至有效窗ロ对应序号的缓冲区中,清空乱序缓冲窗ロ,其中,所述自适应序号机制标识A的最大值为乱序缓冲窗ロ能够缓存的MP碎片的个数;B2、当接收到的当前MP碎片的序号等于期望序号时,有效窗口重组并上传PPP报 文;B3、当接收到的当前MP碎片的序号不等于期望序号时,则等待下ー个MP碎片的接收。更为优选地,在所述步骤C中,包括Cl、当自适应序号机制标识A为O吋,将该当前MP碎片缓存入乱序缓冲窗ロ之中,并将自适应序号机制标识A加1,以开启自适应序号机制,并将该当前MP碎片的序号赋值给自适应序号,返回步骤B。更为优选地,在所述步骤C中,包括C2、当自适应序号机制标识A的大小等于乱序缓冲窗ロ的大小时,判断接收的当前MP碎片的序号与所述自适应序号的绝对差值是否小于有效窗ロ大小的一半,若是,则进行步骤C3;否则,进行步骤C4;C3、将有效窗口中的MP碎片进行重组并上传,不可重组的碎片予以丢弃;将乱序缓冲窗口中缓存的MP碎片保存至有效窗口中,并更新期望序号、PPP包的开始碎片标识以及PPP包的结束碎片标识,返回步骤B ;C4、将乱序缓冲窗ロ缓存的MP碎片丢弃,将自适应序号机制标识A设置为1,以启动自适应序号机制,并将该接收的当前MP碎片缓存至乱序缓冲窗口中,并将该当前MP碎片的序号赋值给自适应序号,返回步骤B。优选地,在所述步骤C中,包括C5、当自适应序号机制已经启动,且自适应序号机制标识A的大小小于乱序缓冲窗ロ的大小时,进入步骤C6 ;C6、判断接收的当前MP碎片的序号与自适应序号的绝对差值是否小于有效窗ロ大小的一半,若是,则进入步骤C7 ;否则,进入步骤CS ;C7、将当前MP碎片缓存至乱序缓冲窗口中,自适应序号机制标识A自加1,且自适应序号更新为当前MP碎片序号与当前自适应序号的较小者,返回步骤B ;CS、将乱序缓冲窗ロ缓存的MP碎片丢弃,启动自适应序号机制,设置自适应序号机制标识A为1,将接收的当前MP碎片缓存至乱序缓冲窗口中,且将该当前MP碎片的序号赋值给自适应序号,返回步骤B。一种接收端设备,包括设置单元,用于设置有效窗ロ以及乱序缓冲窗ロ,其中,所述有效窗ロ用于重组报文,所述乱序缓冲窗ロ用于缓存跳序的MP碎片;
处理单元,用于当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,则将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号;以及进一步用于当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,则将该当前MP碎片缓存入乱序缓冲窗ロ之中。优选地,当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,处理单元将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中的处理步骤包括 设置自适应序号机制标识A为0,保存该当前MP碎片至有效窗ロ对应序号的缓冲区中,清空乱序缓冲窗ロ,其中,所述自适应序号机制标识A的最大值为乱序缓冲窗ロ能够缓存的MP碎片的个数;当接收到的当前MP碎片的序号等于期望序号时,有效窗口重组并上传PPP报文;当接收到的当前MP碎片的序号不等于期望序号时,则等待下ー个MP碎片的接收。优选地,当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,处理单元将该当前MP碎片缓存入乱序缓冲窗ロ之中的步骤包括当自适应序号机制标识A为O吋,将该当前MP碎片缓存入乱序缓冲窗ロ之中,并将自适应序号机制标识A加1,以开启自适应序号机制,并将该当前MP碎片的序号赋值给自适应序号,之后等待下ー个MP碎片的接收。优选地,当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,处理单元将该当前MP碎片缓存入乱序缓冲窗ロ之中的步骤包括a、当自适应序号机制标识A的大小等于乱序缓冲窗ロ的大小时,判断接收的当前MP碎片的序号与所述自适应序号的绝对差值是否小于有效窗ロ大小的一半,若是,则进行步骤b;否则,进行步骤c ;b、将有效窗口中的MP碎片进行重组并上传,不可重组的碎片予以丢弃;将乱序缓冲窗口中缓存的MP碎片保存至有效窗口中,并更新期望序号、PPP包的开始碎片标识以及PPP包的结束碎片标识,之后等待下ー个MP碎片的接收;C、将乱序缓冲窗ロ缓存的MP碎片丢弃,将自适应序号机制标识A设置为1,以启动自适应序号机制,并将该接收的当前MP碎片缓存至乱序缓冲窗口中,并将该当前MP碎片的序号赋值给自适应序号,之后等待下ー个MP碎片的接收。优选地,当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,处理单元将该当前MP碎片缓存入乱序缓冲窗ロ之中的步骤包括d当自适应序号机制已经启动,且自适应序号机制标识A的大小小于乱序缓冲窗ロ的大小时,进入步骤e ;e、判断接收的当前MP碎片的序号与自适应序号的绝对差值是否小于有效窗ロ大小的一半,若是,则进入步骤f ;否则,进入步骤g ;f、将当前MP碎片缓存至乱序缓冲窗口中,自适应序号机制标识A自加1,且自适应序号更新为当前MP碎片序号与当前自适应序号的较小者,之后等待下ー个MP碎片的接收;g、将乱序缓冲窗ロ缓存的MP碎片丢弃,启动自适应序号机制,设置自适应序号机制标识A为1,将接收的当前MP碎片缓存至乱序缓冲窗ロ中,且将该当前MP碎片的序号赋值给自适应序号,之后等待下ー个MP碎片的接收。
—种MP碎片序号同步实现系统,包括发送端设备以及接收端设备,其中,所述接收端设备包括设置单元,用于设置有效窗ロ以及乱序缓冲窗ロ,其中,所述有效窗ロ用于重组报文,所述乱序缓冲窗ロ用于缓存跳序的MP碎片;处理单元,用于当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,则将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号;以及进一步用于当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,则将该当前MP碎片缓存入乱序缓冲窗ロ之中。通过上述本发明的技术方案可以看出,本发明能够解决发送端设备的MP碎片序号出现跳变时,而引起接收端设备认为是乱包而丢弃这些碎片的问题,从而让接收端设备能够区分出这些正常的跳序,尽量少地丢包,而不会造成连接中断,以继续正常接收报文。在本发明实施例中,发送端设备发送的MP碎片序号出现跳变的情形,包含但不只限于以下两种情况,主备倒换,以及发送端自救序号清O。·


此处所说明的附图用来提供对本发明的进ー步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是本发明实施例提供的MP碎片接收流程示意图。图2是本发明实施例提供的MP碎片接收过程中,当乱序缓冲窗ロ的大小N= I时的流程示意图,其中,N表示乱序缓冲窗ロ的大小。图3是本发明实施例提供的MP碎片接收流程示意图。图4是本发明实施例提供的MP碎片序号同步实现系统结构示意图。
具体实施例方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一歩详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用干限定本发明。本发明实施例的主要目的在干,提供一种解决发送端设备发送的MP碎片序号出现跳变的情况下,而引起接收端设备认为是乱包而丢弃报文的问题,让接收端设备能够区分出是正常跳序以尽量少地丢包,而不会连接中断,继续正常接收的方法。在具体实施过程中,发送端设备发送的MP碎片序号出现跳变,包含但不只限于以下两种情況(I)主备倒换,以及,(2)发送端自救序号清O的情况。在本发明实施例中,提供的MP碎片序号同步实现方法采用双缓冲的方式,来解决上述问题。其中一个缓冲,为有效窗ロ,用于重组排序及判断是否有分片丢失等。其窗ロ大小可根据具体情况进行调整,如果PPS (毎秒接收的报文数)越大,则需要将有效窗ロ设置越大;子链路的时延差越大,也需要将有效窗ロ设置越大,具体设置方法请參见RFC1990协议内容或參考中国专利CN200510012260专利详细说明书。
另ー个缓冲,为乱序缓冲窗ロ,用于接收端设备缓存跳序的MP碎片,该乱序缓冲窗ロ的大小与期望跳序的防抖程度相关,在具体实施过程中,该乱序缓冲窗ロ的大小不必设置过大,避免发送端设备跳序后,接收端设备重组的时延延长。例如,其该乱序缓冲窗ロ的大小最小可为I,最大可为有效窗ロ大小的一半。在本发明提供的实施例中,对以下几个概念先行进行说明,以便后续对本发明实施例进行详细描述。A,标识是否进入自适应跳序流程,接收端设备只有收到过ー个乱序的报文才会打开A。其中,A = 0,表示当前没有进入自适应跳序流程;A > 0,表示当前已经进入了自适应跳序的流程,且乱序缓冲窗ロ已经有A个乱序碎片缓存,这A个乱序碎片的序号相差都在有效窗ロ大小的一半之内。BF,标识当前处理的MP报文的第一个碎片的序号,由于其为正在处理的MP报文,所以一定是在有效窗ロ内的碎片。EF,表不下ー个没有收到的碎片的序号,也一定是在有效窗ロ内。期望序号,表示假定按发送的顺序到达接收端设备,此时接收端设备会接收到的报文。例如有序号为0、1、2、3、4、5的MP碎片,接收端设备收到O、1、3碎片,此时期望序号为2。有效窗ロ,用于重组排序及判断是否有分片丢失等。其窗ロ大小可根据具体情况进行调整,如果PPS(毎秒接收的报文数)越大,则需要将有效窗ロ设置越大,子链路的时延差越大,也需要将有效窗ロ设置越大。依照本发明的一个实施例,如图I所示,其MP碎片序号同步实现方法包括以下步骤,其中,所述接收端设备为依照本发明实施例提供的接收端设备,參考图4,所述接收端设备200包括
设置单兀201,用于设置有效窗ロ以及乱序缓冲窗ロ,其中,所述有效窗ロ用于重组报文,所述乱序缓冲窗ロ用于缓存跳序的MP碎片;处理单元202,用于当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,则将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号;以及进一步用于当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,则将该当前MP碎片缓存入乱序缓冲窗ロ之中。继续參考图1,所述MP碎片序号同步实现方法包括如下步骤步骤I,接收端设备200接收到MP碎片,其序号为X。步骤2,当接收的MP碎片的序号X与当前期望的序号Y相差小于等于有效窗ロ大小时,认为没有接收序号异常的碎片,不需要自适应跳序,走正常的按序重组流程;否则走步骤3。步骤3,当接收的MP碎片的序号X与当前期望的序号Y相差大于有效窗ロ大小吋,认为可能需要自适应跳序,进入自适应跳序的流程。其中,自适应跳序流程是将当前接收的碎片与最近接收的最后几个碎片的序号结合起来,判断是否进行自适应跳序。上述的MP碎片接收的步骤中,所述步骤2包括以下具体步骤步骤21,不启动自适应序号机制,设置自适应序号机制标识A = O,保存MP碎片到有效窗口中对应序号X的缓冲区中,清空乱序缓冲窗ロ,即丢弃乱序缓冲窗口中所有缓存的碎片。当接收到的MP碎片序号X等于当前期望序号Y时,进入步骤22 ;当接收到的MP碎片序号X不等于当前期望序号Y吋,不进行重组,等待下ー个MP碎片接收。其中,自适应序号机制可用标识A来表示,A = O,表示没有启动自适应序号机制,A > O,表示启动了,且A的最大值为乱序缓冲窗ロ缓存的MP碎片个数。步骤22 :当前期望序号Y所在的PPP报文可重组,则重组上传PPP包;若不可重组,当前期望序号进行更新。上述的MP碎片接收的步骤中,所述步骤3包括以下具体步骤步骤31,判断是否已经启动自适应序号机制,如果没有启动,即A = O,则进入步骤32 ;如果启动了,且A = N,则进入步骤33 ;如果启动了,iA < N,则进入步骤35 ;其中N表示乱序缓冲窗ロ的大小。 步骤32,将MP碎片暂存到ー个乱序缓冲窗口中,并开启自适应序号机制,即A自加1,并记录下来该碎片的序号到自适应序号。其中,自适应序号是用于记录跳序的序号,方便后面连续接收到的跳序碎片进行序号比较。步骤33,判断接收的MP碎片序号X与自适应序号的绝对差值,是否小于有效窗ロ大小的一半。如果是小于有效窗ロ大小的一半,则进入步骤34;否则,进入步骤36。步骤34,将有效窗ロ中的碎片进行重组,可以重组的碎片重组并上传,不可重组的碎片丢弃。将乱序缓冲窗口中暂存的MP碎片与接收的MP碎片保存到有效窗口中,更新当前期望序号、EF、BF以及有效窗ロ的状态等,其中EF是标识ー个PPP包的结束碎片,BF是标识ー个PPP包的开始碎片,更新为当前接收的碎片X与自适应序号Z的较小值加1,之后返回步骤I。步骤35,判断接收的MP碎片序号X与自适应序号的绝对差值,是否小于有效窗ロ大小的一半。如果是小于有效窗ロ大小的一半,则进入步骤37 ;否则,进入步骤36。步骤36,将乱序缓冲窗ロ暂存的碎片丢弃,启动自适应序号机制,设置A= 1,将当前接收的碎片暂存到乱序缓冲窗口中,自适应序号记录为该碎片的序号。回到步骤I。步骤37,将MP碎片暂存到ー个乱序缓冲窗口中,A自加I,且接收的MP碎片序号与自适应序号比较,自适应序号更新为较小者的值,返回步骤I。在实际应用中,当乱序缓冲窗ロ大小设置为N时,本发明实施例提供的一种应用实例的流程图如图2所示。本发明中MP的每个子链路都可以接收到MP碎片,每个MP碎片的接收都会进行图I所示的流程图,进行一次是否自适应跳序的判断。MP的其中ー个子链路收到ー个MP碎片,MP碎片的头部会带有ー个序号,假设序号为X,接收端根据这个序号X判断是否在有效窗ロ中,如果在有效窗ロ中,表明发送端没有进行跳序,那么接收端按照原来处理的碎片重组的正常流程,继续进行,此时A应该设置为O。如果这个序号X不在有效窗ロ中,表明接收端收到ー个乱包,即没有意义的碎片,或者也有可能是发送端的发送序号进行了跳变,这时就需要进ー步进行判断是哪ー种情況。首先判断接收的乱序碎片是连续收到的第几个乱序碎片。由A与O和N比较,将A的值划分成三种情况A = 0,0 < A < N,A = N。当A = O时,表示是接收端连续接收的第一个乱序碎片,需要将碎片缓存到乱序缓冲窗口中,自适应序号更新为X。等待接收端再接收几个碎片,才能判断出是否发送端发送序号跳变引起的。当O < A < N时,判断X与自适应序号相差的绝对值,是否小于有效窗ロ的一半。如果小于,则将碎片缓存到乱序缓冲窗口中,A自加1,并且更新自适应序号的值,其值为当前乱序缓冲窗口中碎片的最小序号,即自适应序号与X比较,若自适应序号较小,则自适应序号不变;若X较小,则自适应序号更新为X。当X与自适应序号相差的绝对值,大于等于有效窗ロ的一半吋,则说明前面收到的乱序碎片都是无意义的,将乱序缓冲窗口中所有碎片都丢弃,并将当前接收的碎片放到乱序缓冲窗口中,A设置为1,自适应序号为X。当A = N吋,同样需要判断X与自适应序号相差的绝对值,是否小于有效窗ロ的一半。如果小于,则说明接收端接收到连续N个MP碎片都是连续的,说明发送端的发送序号跳序了,就需要将有效窗ロ中所有碎片进行处理,能重组的碎片重组起来井上传,不能重组的碎片进行丢弃。处理完有效窗ロ的碎片后,将有效窗ロ更新为最近收到的这N+1个碎片确认的新窗ロ,窗ロ的起始为自适应序号对应的碎片,窗ロ大小不变,BF、EF、期望序号为当前窗口重新计算出来的值。当X与自适应序号相差的绝对值,不小于有效窗ロ的一半吋,则说明前面收到的乱序碎片都是无意义的,将乱序缓冲窗口中所有碎片都丢弃,并将当前接收的碎片放到乱序缓冲窗口中,A设置为1,自适应序号为X。
·
參见图2,图中所示是当乱序缓冲窗ロ大小设置为I时,本发明的ー种MP碎片序号同步实现方法的实现流程图。其中,本发明中MP的每个子链路都可以接收到MP碎片,每个MP碎片的接收都会进行如图2所示的流程,以进行一次是否自适应跳序的判断。MP的其中ー个子链路收到ー个MP碎片,MP碎片的头部会带有ー个序号,假设序号为X,接收端根据这个序号X判断是否在有效窗ロ中,如果在有效窗ロ中,表明发送端设备100没有进行跳序,那么接收端设备200按照原来处理的碎片重组的正常流程,继续进行,此时A应该设置为O。如果这个序号X不在有效窗ロ中,表明接收端设备200收到ー个乱包,即没有意义的碎片,或者也有可能是发送端设备100的发送序号进行了跳变,这时就需要进ー步进行判断是哪ー种情況。当收到的MP碎片的序号X不在有效窗ロ中,需要判断前一次接收的报文的序号是否是正常的。如果是正常的,此时A为0,否则A为I。当A = O吋,即前一次接收的碎片没有跳序,当前接收的这个碎片是最近第一次出现跳序的碎片,无法判断出跳序的原因,是由于乱包,还是由于发送端设备100的发送序号跳变引起的,需要后面紧接着收的碎片的序号一起才能区分出跳序的原因。此时将A设置为1,表示已经收到了跳序的报文。当希望由于发送端设备100的跳序引起的报文序号跳序,尽可能不丢包时,可以将这个序号为X的MP碎片缓冲起来,序号X也用一个标识记录下来,标识取名为自适应序号。当后面紧接着接收到的碎片序号可以判断出是发送端设备100弓丨起的跳变时,可以将缓冲起来的序号X再拿出来,放到有效窗口中,进行重组和上传。当A = I吋,即前一次接收的碎片已经是跳序的了,就需要判断这两次跳序的碎片的序号是否是连续的。如果是发送端跳序了,那么发送端设备100所发送的碎片不管子链路延时差造成的前后到达不再是顺序,也都应该在同一个新的有效窗口中。判断这次接收的序号X,与上一次接收的碎片的序号,即由自适应序号记录的序号,是否在ー个新的有效窗口内,判断方法是两个序号相差的绝对值,是否小于效窗ロ的一半。如果小于一半,说明是发送端设备100发送序号跳变,否则认为上一次接收的碎片是乱序,本次收到的碎片跳序的原因未知,需要用下一次的碎片来判断。如果确认本次接收的碎片跳序原因未知,仍是将A设置为1,使下一次接收的碎片跳序时可以判断出跳序原因,并将该碎片放到缓冲中暂存,且将缓冲中保存的上一次跳序的碎片丢弃。更新自适应序号为本次接收的碎片X。如果确认本次接收的碎片跳序原因,是发送端设备100发送序号跳序引起的,那么,就需要将有效窗ロ中所有碎片进行处理,能重组的碎片重组起来井上传,不能重组的碎片进行丢弃。处理完有效窗ロ的碎片后,将有效窗ロ更新为最近收到的这两个碎片确认的新窗ロ,窗ロ的起始为两个碎片的序号较小值M,窗ロ大小不变,BF、EF、期望序号为当前窗口重新计算出来的值。參见图3,图中所示是本发明一种应用实例的接收举例。假设乱序缓冲窗ロ大小为I的情況。 例如,发送端设备100发送碎片的序号有100、101、102、0、1、2,发送端在序号102与O碎片之间进行了主备倒换或其它动作,造成序号跳变了。其中100、101是ー个PPP包,102是ー个PPP包,O和I是ー个PPP包,2是ー个PPP包。接收端设备200有效窗ロ假定为10。通常情况下,MP会接收到100、101、102并重组上传,而O、I、2......102序号的碎
片都会丢弃。而下面将描述使用本发明实施例提供的接收端设备200的过程与丢包情況。假定接收端设备200接收到的碎片顺序是100、101、102、0、1、2......,在接收到
的碎片100、101、102会在有效窗口中,就会这三个碎片能够重组那么会在接收到时立即重组上传,如果不能重组,那么不能重组的仍保留在有效窗口中。即接收端设备200收到101的碎片时,有效窗ロ会将100与101的碎片重组上传,接收到102的碎片时,有效窗ロ会将102碎片也重组上传。有效窗ロ由最初的100 109的范围更新到103 112的范围。接
收端设备200后面会再依次接收到0、1、2......碎片。本发明的方法可尽量接收到0、1、
2......100的碎片。当接收端设备200接收到序号为O碎片,发现跳序,此时将A从 更
新为1,碎片和序号都缓存记录下来。当接收端设备200接收到序号I的碎片时,此时发现A已经为1,且连续两次的序号相差为1,比有效窗ロ大小5的一半还要小,认为是发送端设备100发送序号跳序了。那么有效窗ロ里的101序号的碎片因为不能重组而丢弃,有效窗ロ更新为O 9的范围,这时将序号为O与I的碎片放置到有效窗口中,BF为0,EF与期望序号为2,0与I可以重组,重组后BF、EF、期望序号为2,更新有效窗ロ范围是2 11。当接收端接收到分片2时,又可以重组上传。此种情况下,没有ー个PPP包丢失。假定接收端设备200接收到的碎片顺序是100、0、1、101、102、2、3......,(3与4
为ー个PPP包)。此时在接收到100碎片时放到有效窗ロ中,接收到O和I序号的碎片吋,如上述假设一祥,最终确认是发送端跳序引起的跳序,丢弃100号碎片后更新有效窗ロ,O和I放入有效窗ロ,并重组上传,BF、EF、期望序号都更新为2。当收到101与102的碎片后,最终确认是发送端发送序号跳序引起的,更新有效窗ロ为101 110,并将101与102碎片放入后,但101序号的碎片因为已经失去了 100号碎片,所以不可能重组起来。当接收端设备200收到2、3序号的碎片后,又更新有效窗ロ,2可以重组上传,此时BF为3、EF与期望序号为4,有效窗ロ范围是3 12。这种情况下丢包个数为2个PPP包。
相应地,本发明实施例还提供了ー种MP碎片序号同步实现系统,所述系统包括发送端设备100以及接收端设备200,其中,所述接收端设备200继续參照图4所示,包括设置单兀201,用于设置有效窗ロ以及乱序缓冲窗ロ,其中,所述有效窗ロ用于重组报文,所述乱序缓冲窗ロ用于缓存跳序的MP碎片;处理单元202,用于当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,则将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号;以及进一步用于当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,则将该当前MP碎片缓存入乱序缓冲窗ロ之中。上述MP碎片序号同步实现系统实现在发送端发送的MP碎片产生跳序时,接收端、设备200不会认为其为非正常跳序而直接予以丢弃,而是将其暂存入接收端设备200额外增加的乱序缓冲窗ロ之中,之后再将所述跳序报文移入有效窗ロ进行报文重组并上传,尽量少地丢包,而不会造成报文的传输过程中的连接中断,以继续正常接收报文。上述说明示出并描述了本发明的ー个优选实施例,本发明还可有其它多种实施例,只要使用了可序号来进行重组的协议,都可适用该方法,来进行自适应同步对端的发送序号。但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
权利要求
1.ー种MP碎片序号同步实现方法,其特征在于,包括 A、设置有效窗ロ以及乱序缓冲窗ロ,其中,所述有效窗ロ用于重组报文,所述乱序缓冲窗ロ用于缓存跳序的MP碎片; B、当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,则将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号; C、当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,则将该当前MP碎片缓存入乱序缓冲窗ロ之中。
2.如权利要求I所述的MP碎片序号同步实现方法,其特征在于,在所述步骤B中,包括 BI、设置自适应序号机制标识A为O,保存该当前MP碎片至有效窗ロ对应序号的缓冲区中,清空乱序缓冲窗ロ,其中,所述自适应序号机制标识A的最大值为乱序缓冲窗ロ能够缓存的MP碎片的个数; B2、当接收到的当前MP碎片的序号等于期望序号时,有效窗口重组并上传PPP报文; B3、当接收到的当前MP碎片的序号不等于期望序号时,则等待下ー个MP碎片的接收。
3.如权利要求2所述的MP碎片序号同步实现方法,其特征在干,在所述步骤C中,包括 Cl、当自适应序号机制标识A为O吋,将该当前MP碎片缓存入乱序缓冲窗ロ之中,并将自适应序号机制标识A加1,以开启自适应序号机制,并将该当前MP碎片的序号赋值给自适应序号,返回步骤B。
4.如权利要求3所述的MP碎片序号同步实现方法,其特征在干,在所述步骤C中,包括 C2、当自适应序号机制标识A的大小等于乱序缓冲窗ロ的大小时,判断接收的当前MP碎片的序号与所述自适应序号的绝对差值是否小于有效窗ロ大小的一半,若是,则进行步骤C3;否则,进行步骤C4; C3、将有效窗口中的MP碎片进行重组并上传,不可重组的碎片予以丢弃;将乱序缓冲窗口中缓存的MP碎片保存至有效窗口中,并更新期望序号、PPP包的开始碎片标识以及PPP包的结束碎片标识,返回步骤B ; C4、将乱序缓冲窗ロ缓存的MP碎片丢弃,将自适应序号机制标识A设置为1,以启动自适应序号机制,并将该接收的当前MP碎片缓存至乱序缓冲窗口中,并将该当前MP碎片的序号赋值给自适应序号,返回步骤B。
5.如权利要求3所述的MP碎片序号同步实现方法,其特征在干,在所述步骤C中,包括 C5、当自适应序号机制已经启动,且自适应序号机制标识A的大小小于乱序缓冲窗ロ的大小时,进入步骤C6 ; C6、判断接收的当前MP碎片的序号与自适应序号的绝对差值是否小于有效窗ロ大小的一半,若是,则进入步骤C7 ;否则,进入步骤CS ; C7、将当前MP碎片缓存至乱序缓冲窗口中,自适应序号机制标识A自加1,且自适应序号更新为当前MP碎片序号与当前自适应序号的较小者,返回步骤B ;CS、将乱序缓冲窗ロ缓存的MP碎片丢弃,启动自适应序号机制,设置自适应序号机制标识A为1,将接收的当前MP碎片缓存至乱序缓冲窗口中,且将该当前MP碎片的序号赋值给自适应序号,返回步骤B。
6.—种接收端设备,其特征在于,包括 设置单元,用于设置有效窗ロ以及乱序缓冲窗ロ,其中,所述有效窗ロ用于重组报文,所述乱序缓冲窗ロ用于缓存跳序的MP碎片; 处理单元,用于当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,则将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号;以及进一步用于当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,则将该当前MP碎片缓存入乱序缓冲窗ロ之中。
7.如权利要求6所述的接收端设备,其特征在于,当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,处理单元将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中的处理步骤包括 设置自适应序号机制标识A为O,保存该当前MP碎片至有效窗ロ对应序号的缓冲区中,清空乱序缓冲窗ロ,其中,所述自适应序号机制标识A的最大值为乱序缓冲窗ロ能够缓存的MP碎片的个数; 当接收到的当前MP碎片的序号等于期望序号时,有效窗口重组并上传PPP报文; 当接收到的当前MP碎片的序号不等于期望序号时,则等待下ー个MP碎片的接收。
8.如权利要求7所述的接收端设备,其特征在干,当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,处理单元将该当前MP碎片缓存入乱序缓冲窗ロ之中的步骤包括 当自适应序号机制标识A为O吋,将该当前MP碎片缓存入乱序缓冲窗ロ之中,并将自适应序号机制标识A加1,以开启自适应序号机制,并将该当前MP碎片的序号赋值给自适应序号,之后等待下ー个MP碎片的接收。
9.如权利要求8所述的接收端设备,其特征在干,当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,处理单元将该当前MP碎片缓存入乱序缓冲窗ロ之中的步骤包括 a、当自适应序号机制标识A的大小等于乱序缓冲窗ロ的大小时,判断接收的当前MP碎片的序号与所述自适应序号的绝对差值是否小于有效窗ロ大小的一半,若是,则进行步骤b;否则,进行步骤c ; b、将有效窗口中的MP碎片进行重组并上传,不可重组的碎片予以丢弃;将乱序缓冲窗ロ中缓存的MP碎片保存至有效窗ロ中,并更新期望序号、PPP包的开始碎片标识以及PPP包的结束碎片标识,之后等待下ー个MP碎片的接收; C、将乱序缓冲窗ロ缓存的MP碎片丢弃,将自适应序号机制标识A设置为1,以启动自适应序号机制,并将该接收的当前MP碎片缓存至乱序缓冲窗ロ中,并将该当前MP碎片的序号赋值给自适应序号,之后等待下ー个MP碎片的接收。
10.如权利要求8所述的接收端设备,其特征在于,当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,处理单元将该当前MP碎片缓存入乱序缓冲窗ロ之中的步骤包括d当自适应序号机制已经启动,且自适应序号机制标识A的大小小于乱序缓冲窗ロ的大小时,进入步骤e ; e、判断接收的当前MP碎片的序号与自适应序号的绝对差值是否小于有效窗ロ大小的一半,若是,则进入步骤f ;否则,进入步骤g ; f、将当前MP碎片缓存至乱序缓冲窗口中,自适应序号机制标识A自加1,且自适应序号更新为当前MP碎片序号与当前自适应序号的较小者,之后等待下ー个MP碎片的接收; g、将乱序缓冲窗ロ缓存的MP碎片丢弃,启动自适应序号机制,设置自适应序号机制标识A为1,将接收的当前MP碎片缓存至乱序缓冲窗口中,且将该当前MP碎片的序号赋值给自适应序号,之后等待下ー个MP碎片的接收。
11.ー种MP碎片序号同步实现系统,包括发送端设备,其特征在于,还包括如权利要求7-10任一所述的接收端设备,其中,所述接收端设备包括 设置单元,用于设置有效窗ロ以及乱序缓冲窗ロ,其中,所述有效窗ロ用于重组报文,所述乱序缓冲窗ロ用于缓存跳序的MP碎片; 处理单元,用于当接收到的当前MP碎片的序号与期望序号相差不大于有效窗ロ大小吋,则将该当前MP碎片缓存至有效窗ロ对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号;以及进一步用于当接收到的当前MP碎片的序号与期望序号相差大于有效窗ロ大小吋,则将该当前MP碎片缓存入乱序缓冲窗ロ之中。
全文摘要
本发明公开了一种MP碎片序号同步实现方法、设备及系统,所述方法包括设置有效窗口以及乱序缓冲窗口,其中,所述有效窗口用于重组报文,所述乱序缓冲窗口用于缓存跳序的MP碎片;当接收到的当前MP碎片的序号与期望序号相差不大于有效窗口大小时,则将该当前MP碎片缓存至有效窗口对应序号的缓冲区中,其中,期望序号为标识MP碎片重组时正在等待的MP碎片的序号;当接收到的当前MP碎片的序号与期望序号相差大于有效窗口大小时,则将该当前MP碎片缓存入乱序缓冲窗口之中。本发明能够让接收端设备区分出发送端正常的跳序,并尽量少地丢包,而不会造成连接中断,以继续正常接收报文。
文档编号H04L29/06GK102685000SQ201210123340
公开日2012年9月19日 申请日期2012年4月24日 优先权日2012年4月24日
发明者韦先霜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1