CN101022411A - Multi-link binding protocol message zone receiving method - Google Patents
Multi-link binding protocol message zone receiving method Download PDFInfo
- Publication number
- CN101022411A CN101022411A CNA2007100642268A CN200710064226A CN101022411A CN 101022411 A CN101022411 A CN 101022411A CN A2007100642268 A CNA2007100642268 A CN A2007100642268A CN 200710064226 A CN200710064226 A CN 200710064226A CN 101022411 A CN101022411 A CN 101022411A
- Authority
- CN
- China
- Prior art keywords
- message
- pointer
- sequence number
- fragments
- serial number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种多链路捆绑协议报文分片接收方法,包括:设置指针及序列号窗口;接收报文分片,并判断接收的报文分片的序列号是否与指针连续;若判断结果为报文分片的序列号与指针不连续,则判断报文分片的序列号是否位于序列号窗口中;若判断结果为报文分片的序列号位于序列号窗口外,修改指针进行序列号跳变跟踪。本发明降低了接收端对定时IDLE报文分片的依赖性,还缩短了接收端的业务恢复的时间。此外,本发明能够容忍一定程度上的报文分片序列号的突变并可对非连续报文进行判断,快速跟踪报文分片序列号跳变,加快了业务恢复,提高了系统的健壮性。
A method for receiving multi-link binding protocol message fragments, comprising: setting a pointer and a sequence number window; receiving message fragments, and judging whether the sequence number of the received message fragments is continuous with the pointer; if the judgment result is a report If the sequence number of the message fragment is not continuous with the pointer, then judge whether the sequence number of the message fragment is located in the sequence number window; if the judgment result is that the sequence number of the message fragment is outside the sequence number window, modify the pointer to jump Change tracking. The invention reduces the dependence of the receiving end on timing IDLE message fragmentation, and also shortens the service recovery time of the receiving end. In addition, the present invention can tolerate a certain degree of mutation of the serial number of message fragments and can judge discontinuous messages, quickly track the jump of the serial number of message fragments, speed up service recovery, and improve the robustness of the system .
Description
技术领域technical field
本发明关于通信技术,特别关于一种多链路捆绑协议报文分片接收方法。The invention relates to communication technology, in particular to a method for receiving multi-link binding protocol message fragments.
背景技术Background technique
多链路捆绑协议(MP,Multilink PPP)是将多个物理通路通过协议捆绑的方式,根据协议RFC1990,添加相应的序列号,把多个物理通道当成一个逻辑通道来看,提供比单个物理通道更大的带宽以满足用户带宽需求。在多链路捆绑协议的实现中,报文分片接收端通过检测序列号对接收到的报文分片进行排序,以保证逻辑通道按照发送报文分片的先后顺序上传报文分片至接收端的网络层进行处理。The Multilink Binding Protocol (MP, Multilink PPP) is a method of bundling multiple physical channels through the protocol. According to the protocol RFC1990, the corresponding serial number is added, and multiple physical channels are regarded as a logical channel, which provides more than a single physical channel. Greater bandwidth to meet user bandwidth requirements. In the implementation of the multi-link bundling protocol, the receiving end of the message fragments sorts the received message fragments by detecting the sequence number, so as to ensure that the logical channel uploads the message fragments to the The network layer at the receiving end handles it.
多链路捆绑协议内部提供了一种保序的机制,也就是当链路建立时,发送端发送的序列号必须从0开始。接收端在本地维护一个基准序列号,并将基准序列号与接收到的报文分片的序号进行比较;如果接收端本地的基准序列号与接收的序号不相同,则接收端等待与发送端间的所有报文分片都收到以后再上传报文分片至网络层。The multi-link bundling protocol internally provides an order-preserving mechanism, that is, when the link is established, the sequence number sent by the sender must start from 0. The receiving end maintains a reference sequence number locally, and compares the reference sequence number with the sequence number of the received message fragment; if the local reference sequence number of the receiving end is different from the received sequence number, the receiving end waits for After all the message fragments in the network are received, the message fragments are uploaded to the network layer.
如图1所示,发送端发送报文分片0-5,其中报文分片序号为3的报文分片丢失。在新的报文分片到达接收端之前,接收端将一直等待分片3到来。As shown in FIG. 1 , the sender sends message fragments 0-5, and the message fragment whose sequence number is 3 is lost. Before the new packet fragment arrives at the receiving end, the receiving end will wait for
为避免接收端过长时间等待丢失报文分片,现有技术提供以下两种解决方案:In order to prevent the receiving end from waiting for too long to lose packet fragments, the existing technology provides the following two solutions:
一、由发送端定时发送IDLE报文分片至接收端,使接收端快速判断未收到的报文分片丢失并上传接收的其它报文分片。1. The sending end regularly sends IDLE message fragments to the receiving end, so that the receiving end can quickly judge that the unreceived message fragments are lost and upload other received message fragments.
二、通过接收端的定时器设置等待接收报文分片的时间,如果报文分片到达接收端的时间超过接收端定时器设定的时间,则接收端判断此报文分片丢失,接收端上传接收的其它报文分片。2. Set the waiting time for receiving message fragments through the timer on the receiving end. If the time for the message fragments to reach the receiving end exceeds the time set by the receiving end timer, the receiving end will judge that the message fragments are lost, and the receiving end will upload Fragmentation of other received packets.
但上述两种解决方法的缺点在于:采用方法一,发送端定时发送的IDLE报文分片会消耗部分带宽;而采用方法二,一旦接收端接收的报文分片的序列号发生跳变,接收端通过定时器判断报文分片丢失的速度太慢,链路恢复时间长,用户需要长时间等待。However, the disadvantages of the above two solutions are: using
发明内容Contents of the invention
为解决现有技术的缺点,本发明实施例的目的在于,提供一种多链路捆绑协议报文分片接收方法,降低对定时IDLE报文分片的依赖性并缩短接收端的业务恢复的时间。In order to solve the shortcomings of the prior art, the purpose of the embodiment of the present invention is to provide a multi-link bundling protocol message fragmentation receiving method, which reduces the dependence on timing IDLE message fragmentation and shortens the service recovery time of the receiving end .
为实现上述发明目的,本发明提供了:一种多链路捆绑协议报文分片接收方法,包括:设置指针及序列号窗口;接收报文分片,并判断接收的报文分片的序列号是否与指针连续;若判断结果为报文分片的序列号与指针不连续,则判断报文分片的序列号是否位于序列号窗口中;若判断结果为报文分片的序列号位于序列号窗口外,修改指针进行序列号跳变跟踪。In order to achieve the purpose of the above invention, the present invention provides: a method for receiving multi-link bundling protocol message fragments, including: setting pointers and sequence number windows; receiving message fragments, and judging the sequence of received message fragments Whether the number is continuous with the pointer; if the judgment result is that the serial number of the message fragment is not continuous with the pointer, then judge whether the serial number of the message fragment is in the sequence number window; if the judgment result is that the serial number of the message fragment is in Outside the serial number window, modify the pointer to track the serial number jump.
序列号窗口具有上限位置和下限位置;指针与上限位置间的距离等于指针与下限位置间的距离。The serial number window has an upper limit position and a lower limit position; the distance between the pointer and the upper limit position is equal to the distance between the pointer and the lower limit position.
判断报文分片的序列号是否位于序列号窗口中的步骤中,若判断结果为报文分片的序列号位于序列号窗口内时,还包括以下步骤:判断报文分片的序列号是位于上限位置与指针之间还是位于下限位置与指针之间,若判断结果为报文分片序列号位于序列号窗口的上限位置与指针之间,根据序列号存储报文分片至缓冲器;若判断结果为报文分片的序列号位于序列号窗口的下限位置与指针之间时,丢弃报文分片。In the step of judging whether the sequence number of the message fragment is located in the sequence number window, if the result of the judgment is that the sequence number of the message fragment is located in the sequence number window, the following steps are also included: judging that the sequence number of the message fragment is Whether it is located between the upper limit position and the pointer or between the lower limit position and the pointer, if the result of the judgment is that the sequence number of the message fragment is between the upper limit position of the sequence number window and the pointer, store the message fragment into the buffer according to the sequence number; If the judgment result is that the sequence number of the message fragment is between the lower limit position of the sequence number window and the pointer, the message fragment is discarded.
判断接收的报文分片的序列号是否与指针连续的步骤中,判断结果为报文分片的序列号与指针连续时,还包括以下步骤:根据报文分片序列号存储报文分片至缓冲器;将指针值加一;查询连续报文分片并将连续报文分片重组为报文;上传报文;接收端修改指针Rpt指向当前连续接收报文分片序列号的最大值。In the step of judging whether the sequence number of the received message fragment is continuous with the pointer, if the judgment result is that the sequence number of the message fragment is continuous with the pointer, the following steps are also included: storing the message fragment according to the sequence number of the message fragment To the buffer; add one to the pointer value; query the continuous message fragments and reassemble the continuous message fragments into messages; upload the message; the receiver modifies the pointer Rpt to point to the maximum value of the serial number of the current continuous received message fragments .
指针用于保存连续接收的报文分片序列号的最大值。The pointer is used to save the maximum sequence number of the fragmented fragments received continuously.
修改指针进行序列号跳变跟踪是指,将报文分片的序列号赋值给指针。Modifying the pointer to track the sequence number jump refers to assigning the sequence number of the packet fragment to the pointer.
根据序列号存储报文分片至缓冲器是指:将报文分片的序列号与缓冲器深度求模,计算报文分片在缓冲器中的存储地址。Storing the message fragments into the buffer according to the sequence numbers refers to calculating the modulo of the sequence numbers of the message fragments and the depth of the buffer to calculate the storage address of the message fragments in the buffer.
缓冲器深度是指用于暂存报文分片的缓冲器的个数。Buffer depth refers to the number of buffers used to temporarily store message fragments.
上限位置与指针间的距离,以及下限位置与指针间的距离为序列号空间长度的一半。The distance between the upper limit position and the pointer, and the distance between the lower limit position and the pointer are half the length of the serial number space.
本发明实施例的有益效果在于,能够容忍一定程度(在序列号窗口内,如1/2序列号空间,序列号的突变),本发明还可以对非连续报文分片能够进行快速的判断以追踪序列号跳变,从而快速恢复业务,提高了系统的健壮性。与现有技术相比,发送端发送的报文分片序列号不必一定从序列号0开始。The beneficial effect of the embodiment of the present invention is that it can tolerate a certain degree (in the sequence number window, such as 1/2 sequence number space, the mutation of the sequence number), and the present invention can also quickly judge the non-sequential message fragmentation By tracking the jump of the serial number, the business can be restored quickly and the robustness of the system is improved. Compared with the prior art, the sequence numbers of the packet fragments sent by the sender do not necessarily start from
附图说明Description of drawings
图1所示为现有多链路捆绑协议报文分片接收示意图;FIG. 1 is a schematic diagram of receiving fragmented packets of an existing multi-link bundling protocol;
图2所示为本发明实施例中指针与报文分片的序列号连续的示意;Fig. 2 shows that in the embodiment of the present invention, the sequence number of the pointer and message fragmentation is continuous;
图3所示为本发明多链路捆绑接收报文分片接收实施例的流程图;Fig. 3 shows the flow chart of the embodiment of multi-link bundling reception message fragmentation reception of the present invention;
图4-图6所示为序列号窗口中的报文分片序列号位于下限位置与指针之间的状态示意图;Figures 4-6 are schematic diagrams showing the state in which the sequence number of the packet fragment in the sequence number window is located between the lower limit position and the pointer;
图7A-图9所示为序列号窗口外的报文分片序列号的状态示意图。FIG. 7A-FIG. 9 are schematic diagrams showing the states of the sequence numbers of packet fragments outside the sequence number window.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention more clear, the embodiments of the present invention will be further described in detail below in conjunction with the embodiments and the accompanying drawings. Here, the exemplary embodiments and descriptions of the present invention are used to explain the present invention, but not to limit the present invention.
如图2所示,在接收端中设置Rpt和序列号窗口。指针Rpt用于保存接收端中连续接收的报文分片的序列号的最大值,即接收端已经连续接收的所有报文分片(包括Rpt当前值指向的报文分片以及Rpt当前值之前的所有报文分片),因而指针Rpt指向的是一个已经正确组包的包尾或者一个没有重组的连续报文分片序列号的最大值。而序列号窗口用于表示新到来的报文分片与指针Rpt的在缓冲器中的相对位置。序列号窗口包括一上限位置Hpt和一下限位置Lpt。As shown in Figure 2, set the Rpt and serial number windows in the receiving end. The pointer Rpt is used to save the maximum value of the sequence numbers of the message fragments received continuously in the receiving end, that is, all the message fragments that the receiving end has received continuously (including the message fragments pointed to by the current value of Rpt and the All message fragments), so the pointer Rpt points to the end of a package that has been correctly assembled or the maximum value of the sequence number of a continuous message fragment that has not been reassembled. The sequence number window is used to indicate the relative position of the newly arrived packet fragment and the pointer Rpt in the buffer. The serial number window includes an upper limit position Hpt and a lower limit position Lpt.
根据图3所示的本发明的多链路捆绑协议报文分片接收方法的流程图,简要介绍本发明的实施过程。According to the flow chart of the multi-link bundling protocol message fragment receiving method of the present invention shown in FIG. 3 , the implementation process of the present invention is briefly introduced.
步骤301,接收端接收发送端发送的报文分片S’;
步骤302,接收端比较报文分片S’的序列号与指针Rpt是否连续;若是,进入步骤309;若否,进入步骤303;Step 302, the receiving end compares whether the serial number of the message fragment S' is continuous with the pointer Rpt; if so, enters
步骤303,则接收端判断报文分片S’是否位于序列号窗口中;若是,进入步骤306;若否,进入步骤304;
步骤304,接收端判断报文分片S’的链路上发生序列号跳变,接收端根据报文分片S’的序列号将其送入缓存器暂存,退出处理,接收端继续接收下一个报文分片;
步骤305,接收端进行序列号跳变跟踪,将发生跳变的报文分片S’的序列号赋值给指针,以修改指针Rpt;
步骤306,接收端判断报文分片S’的序列号是否在指针Rpt与上限位置Hpt间,若是,则进入步骤308;若否,则进入步骤307;
步骤307,接收端丢弃该报文分片S’;Step 307, the receiving end discards the message fragment S';
步骤308,接收端根据报文分片S’的序列号将报文分片S’送至缓存器暂存;
步骤309,接收端根据报文分片S’的序列号将报文分片S’送至缓存器暂存并将指针Rpt值加1;
步骤310,接收端查询缓存器是否有可以组成报文的连续报文分片;接收端从指针Rpt前向搜索和后向搜索,分别寻找包头和包尾,若接收端找到包头和包尾,则进入步骤311;
步骤311,接收端将连续的报文分片S’重组为报文;
步骤312,接收端上传重组后的报文至网络层;
步骤313,接收端修改指针Rpt指向当前连续接收报文分片序列号的最大值,即将接收端搜索包尾时后向搜索到的最后一个报文分片的序列号。In
在上述步骤304、步骤308、步骤309中,接收端将报文分片S’的序列号与缓冲器深度取模后得到值为报文分片暂存在缓冲器的数组中的地址,用计算公式表示:缓冲器数组的地址=序列号%(取模)缓冲器长度。而缓冲器深度就是指接收端用于缓存报文分片的缓冲器的个数。接收端根据计算得到的存储地址缓存报文分片。In the
以下结合附图4-9,更加细致地详细描述本发明的上述实施过程:Below in conjunction with accompanying drawing 4-9, describe above-mentioned implementation process of the present invention in more detail:
接收端收到发送端发送的报文本片后,接收端提取报文分片的序列号,接收端判断该报文分片的序列号是否与指针Rpt连续。如图2所示,该报文分片的序列号S’与指针连续,即S’=Rpt+1时,则接收端将该报文序列号赋值给指针Rpt,表示报文序列号为S’的报文分片及其之前的报文分片已经被接收端连续接收。当接收端接收的报文分片的序列号与指针连续,则缓冲器暂存完毕报文分片后,接收端根据指针Rpt同时进行前向搜索和后向搜索,以寻找报文分片的包头和包尾,如果接收端找到连续完整的报文分片,接收端对缓冲器中的连续的报文分片重组为报文上传后上传至网络层进行处理,并同时将找到的包尾的报文分片序列号赋值给指针Rpt。这是因为,如图3中所示,接收端收到与指针Rpt不连续的报文分片S’后,若该报文分片S’在序列号窗口中,接收端不会修改指针Rpt,但是,当接收端搜寻到连续的报文分片并重组为报文后,则含有包尾的报文分片的存储位置才应当是指针Rpt指向的接收端连续接收的报文分片序列号的最大值的存储位置。After the receiving end receives the message fragment sent by the sending end, the receiving end extracts the serial number of the message fragment, and the receiving end judges whether the serial number of the message fragment is continuous with the pointer Rpt. As shown in Figure 2, the serial number S' of the message fragment is continuous with the pointer, that is, when S'=Rpt+1, the receiving end assigns the message serial number to the pointer Rpt, indicating that the message serial number is S 'The packet fragment and its previous packet fragments have been continuously received by the receiving end. When the serial number of the message fragment received by the receiving end is continuous with the pointer, after the buffer temporarily stores the message fragment, the receiving end performs forward search and backward search at the same time according to the pointer Rpt to find the address of the message fragment. Packet header and packet tail, if the receiving end finds continuous and complete message fragments, the receiving end reassembles the continuous message fragments in the buffer into messages and uploads them to the network layer for processing, and at the same time, the found packet tails The sequence number of the fragmented packet is assigned to the pointer Rpt. This is because, as shown in Figure 3, after the receiving end receives a message fragment S' that is not continuous with the pointer Rpt, if the message fragment S' is in the sequence number window, the receiving end will not modify the pointer Rpt , however, when the receiving end searches for continuous message fragments and reassembles them into messages, the storage location of the message fragments containing the end of the packet should be the sequence of message fragments continuously received by the receiving end pointed to by the pointer Rpt The storage location for the maximum value of the number.
若接收端接收到的报文分片的序列号与指针Rpt不连续,如图4-6所示,该报文分片S’的序列号位于Rpt与下限位置Lpt之间,接收端将该报文分片丢弃。这是因为,指针Rpt保存的是连续接收的报文分片序列号的最大值。若接收端接收的报文分片的序列号在Rpt之前,就表示该报文分片应当是过去的处理中认为已经丢弃的报文分片,因此必须丢弃,以保证缓冲器中暂存的报文分片的能够按顺序重组并上传。If the serial number of the message fragment received by the receiving end is not continuous with the pointer Rpt, as shown in Figure 4-6, the serial number of the message fragment S' is between Rpt and the lower limit position Lpt, and the receiving end will set the Packet fragments are discarded. This is because the pointer Rpt stores the maximum value of the sequence numbers of the continuously received packet fragments. If the sequence number of the packet fragment received by the receiving end is before Rpt, it means that the packet fragment should be the packet fragment considered to have been discarded in the past processing, so it must be discarded to ensure that the buffer temporarily stores Fragmented packets can be reassembled and uploaded in sequence.
在此需要强调的是,在本领域中,接收端的缓冲器的地址空间通常是一个循环的空间,因而新到来的分片与Rpt间的相对位置是变化的,接收端接收的报文分片的序列号在Rpt之前包括以下三类情况:What needs to be emphasized here is that in this field, the address space of the buffer at the receiving end is usually a circular space, so the relative position between the newly arrived fragment and Rpt changes, and the message fragment received by the receiving end The serial number before Rpt includes the following three situations:
(一)、指针Rpt在缓冲器的序列号地址空间的中间,如图4所示,序列号窗口与指针Rpt的关系为:下限位置Lpt<指针Rpt<上限位置Hpt;则报文分片的序列号S’与序列号窗口和指针Rpt的关系为Lpt<S’<Rpt。(1), the pointer Rpt is in the middle of the serial number address space of the buffer, as shown in Figure 4, the relationship between the serial number window and the pointer Rpt is: lower limit position Lpt<pointer Rpt<upper limit position Hpt; then message fragmentation The relationship between the serial number S', the serial number window and the pointer Rpt is Lpt<S'<Rpt.
(二)、指针Rpt靠近缓冲器的序列号地址顶端,如图5所示,序列号窗口与指针Rpt的关系为:上限位置Hpt<下限位置Lpt<指针Rpt;则报文分片的序列号S’与序列号窗口和指针Rpt的关系为Lpt<S’<Rpt。(2), the pointer Rpt is close to the top of the serial number address of the buffer, as shown in Figure 5, the relationship between the serial number window and the pointer Rpt is: upper limit position Hpt<lower limit position Lpt<pointer Rpt; then the serial number of the message fragment The relationship between S', the serial number window and the pointer Rpt is Lpt<S'<Rpt.
(三)、指针Rpt靠近缓冲器的序列号地址底部,如图6所示,序列号窗口与指针Rpt的关系为:指针Rpt<上限位置Hpt<下限位置Lpt;则报文分片的序列号S’与序列号窗口和指针Rpt的关系可以是:Rpt<S’或者是Rpt>S’(图6中所示为Rpt<S’,而未示Rpt>S’)。(3), the pointer Rpt is close to the bottom of the serial number address of the buffer, as shown in Figure 6, the relationship between the serial number window and the pointer Rpt is: pointer Rpt<upper limit position Hpt<lower limit position Lpt; then the serial number of the message fragment The relationship between S', the serial number window and the pointer Rpt can be: Rpt<S' or Rpt>S' (Rpt<S' is shown in Figure 6, but Rpt>S' is not shown).
若接收端接收到的报文分片的序列号S’与指针Rpt不连续,且该报文分片的序列号S’位于序列号窗口外。由于缓冲器的地址空间是循环空间,因此,报文分片序列号与Rpt的关系可参照图7A、图7B、图8和图9所示的几种状况:If the sequence number S' of the message fragment received by the receiving end is not continuous with the pointer Rpt, and the sequence number S' of the message fragment is outside the sequence number window. Since the address space of the buffer is a circular space, the relationship between the sequence number of the message fragment and Rpt can refer to several situations shown in Fig. 7A, Fig. 7B, Fig. 8 and Fig. 9:
当接收端接收到的报文分片的序列号S’与指针Rpt不连续并位于序列号窗口之外时,则在序列号窗口外的报文分片也包括以下三类情况:When the sequence number S' of the message fragment received by the receiving end is not continuous with the pointer Rpt and is located outside the sequence number window, the message fragments outside the sequence number window also include the following three types of situations:
(一)、指针Rpt在缓冲器的序列号地址空间的中间,如图7A、7B所示,序列号窗口与指针Rpt的关系为:下限位置Lpt<指针Rpt<上限位置Hpt;而报文分片的序列号S’与序列号窗口的关系为:S’<Lpt(请见图7A)或者是Hpt<S’(请见图7B)。(1), the pointer Rpt is in the middle of the serial number address space of the buffer, as shown in Figure 7A and 7B, the relationship between the serial number window and the pointer Rpt is: lower limit position Lpt<pointer Rpt<upper limit position Hpt; The relationship between the slice serial number S' and the serial number window is: S'<Lpt (see FIG. 7A ) or Hpt<S' (see FIG. 7B ).
(二)、指针Rpt靠近缓冲器的序列号地址顶端,如图8所示,序列号窗口与指针Rpt的关系为:上限位置Hpt<下限位置Lpt<指针Rpt;则报文分片的序列号S’与序列号窗口的关系为Hpt<S’<Lpt。(2), the pointer Rpt is close to the top of the serial number address of the buffer, as shown in Figure 8, the relationship between the serial number window and the pointer Rpt is: upper limit position Hpt<lower limit position Lpt<pointer Rpt; then the serial number of the message fragment The relationship between S' and the serial number window is Hpt<S'<Lpt.
(三)、指针Rpt靠近缓冲器的序列号地址底部,如图9所示,序列号窗口与指针Rpt的关系为:指针Rpt<上限位置Hpt<下限位置Lpt;则报文分片的序列号S’与序列号窗口的关系为Hpt<S’<Lpt。(3), the pointer Rpt is close to the bottom of the serial number address of the buffer, as shown in Figure 9, the relationship between the serial number window and the pointer Rpt is: pointer Rpt<upper limit position Hpt<lower limit position Lpt; then the serial number of the message fragment The relationship between S' and the serial number window is Hpt<S'<Lpt.
图7A、图7B、图8、图9中报文分片的序列号位于序列号窗口外时,将接收端判断为序列号发生跳变。这是因为,对于本领域技术人员来说,一个报文的分片的数目不可能超过序列号空间长度的一半。本实施例中,如果序列号位于序列号窗口之外时,就表示,当前接收的报文分片的序列号S’与指针Rpt的差值,即S’与当前连续接收的报文分片的序列号间的差值超过了一半的序列号空间长度。而通常的网络设计不会导致链路之间的报文分片的延迟差别达到这样的时间差异,有理由相信链路上的报文分片的发送发生了跳变,即当前连续接收的报文分片与刚收到的报文分片间的报文分片已经丢失;或者报文分片因为某种那原因不能重组,譬如:用户在捆绑为MP的几条链路中选择其中一路进行了本地环回,环回链路上的报文分片的序列号与其它几条链路上的报文分片的序列号明显异步,报文分片不能重组;如果环回链路被取消,而本地接收端跟踪上了错误序列号,会导致不能正常跟踪序列号。When the sequence number of the message fragment in Fig. 7A, Fig. 7B, Fig. 8, and Fig. 9 is outside the sequence number window, the receiving end judges that the sequence number jumps. This is because, for those skilled in the art, the number of fragments of a message cannot exceed half of the length of the sequence number space. In this embodiment, if the sequence number is outside the sequence number window, it means that the difference between the sequence number S' of the currently received message fragment and the pointer Rpt, that is, the difference between S' and the current continuously received message fragment The difference between the serial numbers exceeds half the length of the serial number space. However, the usual network design will not cause the delay difference of packet fragments between links to reach such a time difference. The message fragment between the message fragment and the message fragment just received has been lost; or the message fragment cannot be reassembled for some reason, for example: the user selects one of the several links bundled as MP A local loopback is performed, and the serial numbers of the packet fragments on the loopback link are obviously asynchronous with those of the packet fragments on several other links, and the packet fragments cannot be reassembled; if the loopback link is Canceled, and the local receiving end tracks the wrong serial number, which will cause the serial number to not be tracked normally.
在此需要强调的是,上述将上限位置Hpt与指针间Rpt的距离,与指针Rpt与下限位置Lpt间的距离,都设置为序列号空间长度的一半是本发明的较佳实施方式。因为MP协议规定发送端必须在分片的报文分片前加入连续的长序列号(0~0xffffff)和短序列号(0~0xfff)就是序列号空间。序列号空间与缓冲器中循环存储的Smask对应。对本领域技术人员来说,报文的全部分片数目不可能达到序列号空间一半。使得利用序列号空间长度设置序列号窗口进行序列号跳变最终将更加准确。对于本领域技术人员来说,上述实施例揭示序列号窗口设置方式并非唯一方式,本领域技术人员可根据本发明揭示方式,设置序列号窗口的宽度及指针与上限位置、下限位置间的距离。What needs to be emphasized here is that setting the distance between the upper limit position Hpt and the pointer Rpt and the distance between the pointer Rpt and the lower limit position Lpt to be half the length of the serial number space is a preferred embodiment of the present invention. Because the MP protocol stipulates that the sender must add continuous long sequence numbers (0~0xffffff) and short sequence numbers (0~0xfff) before the fragmented message fragmentation, which is the sequence number space. The sequence number space corresponds to the Smask stored circularly in the buffer. For those skilled in the art, the total number of fragments of a message cannot reach half of the sequence number space. It will be more accurate to use the serial number space length to set the serial number window to perform serial number jumping. For those skilled in the art, the above embodiment reveals that the setting method of the serial number window is not the only way, and those skilled in the art can set the width of the serial number window and the distance between the pointer and the upper limit position and the lower limit position according to the method disclosed in the present invention.
其中,根据MP协议规定:长序列号和短序列号的结构如下:Among them, according to the MP protocol: the structure of the long sequence number and the short sequence number is as follows:
表一长序列号结构Table 1 Long serial number structure
表二短序列结构Table 2 Short sequence structure
从上面的结构可以看出,只要知道缓存的起始地址,长短序列号设置,就可以取出报文分片的序列号,该内容与现有技术相同,因而此处不再详细描述。It can be seen from the above structure that as long as the starting address of the cache is known and the long and short sequence number settings are known, the sequence number of the message fragment can be retrieved. This content is the same as the prior art, so it will not be described in detail here.
本发明还解决了通过接收端定时器判断报文分片丢失或者由发送IDLE(只含序列号)报文分片来达到判断报文分片丢失,而导致链路长时间等待、链路恢复时间长、用户数据容易大量丢失等问题。The present invention also solves the problem of judging the loss of message fragments by the timer at the receiving end or by sending IDLE (sequence number only) message fragments to determine the loss of message fragments, which leads to long-term waiting of the link and recovery of the link It takes a long time and user data is easy to be lost in large quantities.
本发明的有益效果在于,能够容忍一定程度(如序列号窗口中 1/2序列号空间内的序列号的突变),本发明还可以对非连续报文分片能够进行快速的判断以追踪序列号跳变,从而快速恢复业务,提高了系统的健壮性。与现有技术相比,发送端开始发送报文分片时,报文分片的起始序列号不必一定从0开始。The beneficial effect of the present invention is that it can tolerate a certain degree (such as the mutation of the serial number in the 1/2 serial number space in the serial number window), and the present invention can also quickly judge non-sequential message fragments to track the sequence The number jumps, so as to quickly restore the service and improve the robustness of the system. Compared with the prior art, when the sender starts sending message fragments, the starting sequence number of the message fragments does not necessarily start from 0.
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The specific embodiments described above have further described the purpose, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above descriptions are only specific embodiments of the present invention and are not intended to limit the scope of the present invention. Protection scope, within the spirit and principles of the present invention, any modification, equivalent replacement, improvement, etc., shall be included in the protection scope of the present invention.
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100642268A CN100531147C (en) | 2007-03-07 | 2007-03-07 | Multi-link binding protocol message zone receiving method |
PCT/CN2008/070423 WO2008106893A1 (en) | 2007-03-07 | 2008-03-06 | Method for receiving message fragment of multilink ppp and device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100642268A CN100531147C (en) | 2007-03-07 | 2007-03-07 | Multi-link binding protocol message zone receiving method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101022411A true CN101022411A (en) | 2007-08-22 |
CN100531147C CN100531147C (en) | 2009-08-19 |
Family
ID=38710066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100642268A Expired - Fee Related CN100531147C (en) | 2007-03-07 | 2007-03-07 | Multi-link binding protocol message zone receiving method |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN100531147C (en) |
WO (1) | WO2008106893A1 (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106893A1 (en) * | 2007-03-07 | 2008-09-12 | Huawei Technologies Co., Ltd. | Method for receiving message fragment of multilink ppp and device thereof |
CN101483637A (en) * | 2008-01-11 | 2009-07-15 | 上海博达数据通信有限公司 | Method for lowering buffered packet number in Multilink PPP waiting queue |
WO2010072122A1 (en) * | 2008-12-25 | 2010-07-01 | 华为技术有限公司 | Method, port and system for transmitting messages |
CN101795236A (en) * | 2010-03-31 | 2010-08-04 | 成都市华为赛门铁克科技有限公司 | Report sequence preservation method and device |
CN101917472A (en) * | 2010-08-12 | 2010-12-15 | 北京星网锐捷网络技术有限公司 | Method, device and equipment for recombining multi-link messages |
CN102204183A (en) * | 2011-05-09 | 2011-09-28 | 华为技术有限公司 | Message order-preserving processing method, order-preserving coprocessor and network equipment |
CN102685000A (en) * | 2012-04-24 | 2012-09-19 | 中兴通讯股份有限公司 | Method, device and system for realizing synchronization of serial numbers of MP (Multilink Protocol) fragments |
WO2014101090A1 (en) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | Message caching method and device |
CN107612890A (en) * | 2017-08-24 | 2018-01-19 | 中国科学院信息工程研究所 | A kind of network monitoring method and system |
CN108667755A (en) * | 2017-03-27 | 2018-10-16 | 中兴通讯股份有限公司 | A kind of method and apparatus message fragment storage and recombinated |
CN109246036A (en) * | 2017-07-10 | 2019-01-18 | 深圳市中兴微电子技术有限公司 | A kind of method and apparatus handling fragment message |
CN109714135A (en) * | 2018-12-24 | 2019-05-03 | 北京威努特技术有限公司 | A kind of data pack transmission method and device |
CN109842856A (en) * | 2017-11-29 | 2019-06-04 | 成都鼎桥通信技术有限公司 | A kind of method and apparatus shielding uplink packet loss |
WO2019178813A1 (en) * | 2018-03-22 | 2019-09-26 | 华为技术有限公司 | Method, device and system for handling message fragmentation |
CN111371703A (en) * | 2018-12-25 | 2020-07-03 | 迈普通信技术股份有限公司 | Message recombination method and network equipment |
CN112751724A (en) * | 2019-10-31 | 2021-05-04 | 华为技术有限公司 | Method and device for detecting link state |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101447930B (en) * | 2008-12-25 | 2011-01-05 | 华为技术有限公司 | Message processing method and device thereof |
CN112383418B (en) * | 2020-11-02 | 2023-07-14 | 北京左江科技股份有限公司 | Design method for high-speed reliable transmission of Ethernet message based on FPGA |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3120963B2 (en) * | 1995-12-14 | 2000-12-25 | 株式会社日立製作所 | Method for transferring messages and system for transferring messages |
GB2399980A (en) * | 2003-03-26 | 2004-09-29 | Zarlink Semiconductor Ltd | Packet buffer management |
KR20040102835A (en) * | 2003-05-29 | 2004-12-08 | 유티스타콤코리아 유한회사 | Method for communication of message queue in real time operating system |
JP5171263B2 (en) * | 2005-01-18 | 2013-03-27 | 台灣積體電路製造股▲ふん▼有限公司 | Improved IP datagram decapsulation |
CN100531147C (en) * | 2007-03-07 | 2009-08-19 | 华为技术有限公司 | Multi-link binding protocol message zone receiving method |
-
2007
- 2007-03-07 CN CNB2007100642268A patent/CN100531147C/en not_active Expired - Fee Related
-
2008
- 2008-03-06 WO PCT/CN2008/070423 patent/WO2008106893A1/en active Application Filing
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008106893A1 (en) * | 2007-03-07 | 2008-09-12 | Huawei Technologies Co., Ltd. | Method for receiving message fragment of multilink ppp and device thereof |
CN101483637A (en) * | 2008-01-11 | 2009-07-15 | 上海博达数据通信有限公司 | Method for lowering buffered packet number in Multilink PPP waiting queue |
CN101483637B (en) * | 2008-01-11 | 2013-01-30 | 上海博达数据通信有限公司 | Method for lowering buffered packet number in Multilink PPP waiting queue |
WO2010072122A1 (en) * | 2008-12-25 | 2010-07-01 | 华为技术有限公司 | Method, port and system for transmitting messages |
CN101795236A (en) * | 2010-03-31 | 2010-08-04 | 成都市华为赛门铁克科技有限公司 | Report sequence preservation method and device |
CN101917472A (en) * | 2010-08-12 | 2010-12-15 | 北京星网锐捷网络技术有限公司 | Method, device and equipment for recombining multi-link messages |
CN101917472B (en) * | 2010-08-12 | 2013-05-29 | 北京星网锐捷网络技术有限公司 | Method, device and equipment for recombining multi-link messages |
CN102204183A (en) * | 2011-05-09 | 2011-09-28 | 华为技术有限公司 | Message order-preserving processing method, order-preserving coprocessor and network equipment |
WO2011120467A3 (en) * | 2011-05-09 | 2012-04-05 | 华为技术有限公司 | Message order-preserving processing method, order-preserving coprocessor and network equipment |
CN102685000B (en) * | 2012-04-24 | 2017-12-19 | 中兴通讯股份有限公司 | A kind of MP fragments sequence number synchronization realizing method, equipment and system |
CN102685000A (en) * | 2012-04-24 | 2012-09-19 | 中兴通讯股份有限公司 | Method, device and system for realizing synchronization of serial numbers of MP (Multilink Protocol) fragments |
WO2014101090A1 (en) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | Message caching method and device |
CN108667755A (en) * | 2017-03-27 | 2018-10-16 | 中兴通讯股份有限公司 | A kind of method and apparatus message fragment storage and recombinated |
CN109246036A (en) * | 2017-07-10 | 2019-01-18 | 深圳市中兴微电子技术有限公司 | A kind of method and apparatus handling fragment message |
CN107612890A (en) * | 2017-08-24 | 2018-01-19 | 中国科学院信息工程研究所 | A kind of network monitoring method and system |
CN107612890B (en) * | 2017-08-24 | 2020-09-15 | 中国科学院信息工程研究所 | Network monitoring method and system |
CN109842856A (en) * | 2017-11-29 | 2019-06-04 | 成都鼎桥通信技术有限公司 | A kind of method and apparatus shielding uplink packet loss |
WO2019178813A1 (en) * | 2018-03-22 | 2019-09-26 | 华为技术有限公司 | Method, device and system for handling message fragmentation |
US11411892B2 (en) | 2018-03-22 | 2022-08-09 | Huawei Technologies Co., Ltd. | Packet fragment processing method and apparatus and system |
CN109714135A (en) * | 2018-12-24 | 2019-05-03 | 北京威努特技术有限公司 | A kind of data pack transmission method and device |
CN109714135B (en) * | 2018-12-24 | 2021-10-15 | 北京威努特技术有限公司 | Data packet transmission method and device |
CN111371703A (en) * | 2018-12-25 | 2020-07-03 | 迈普通信技术股份有限公司 | Message recombination method and network equipment |
CN112751724A (en) * | 2019-10-31 | 2021-05-04 | 华为技术有限公司 | Method and device for detecting link state |
Also Published As
Publication number | Publication date |
---|---|
WO2008106893A1 (en) | 2008-09-12 |
CN100531147C (en) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100531147C (en) | Multi-link binding protocol message zone receiving method | |
CN104170353B (en) | TCP link configurations method, apparatus and equipment | |
CN100583828C (en) | Packet message processing method and device | |
WO2010075795A1 (en) | Method and device for fragment information processing | |
CN103023808B (en) | Block link list structure based 6lowpan data packet repackaging buffering method | |
CN104580371B (en) | File is fixed and variable-size fragment, transmission, copy control methods in opportunistic network | |
CN103840917A (en) | Multipath parallel transmission scheme based on network coding | |
CN104780119B (en) | A Packet Loss Location and Detection Method Based on SCPS‑TP | |
CN103905300A (en) | Data message sending method, device and system | |
WO2019128287A1 (en) | Flexe service-based cell exchange method and system | |
CN113055942B (en) | Method for data aggregation in 6tisch network | |
CN102006173B (en) | Method and device for expanding Ethernet interface | |
CN103281156A (en) | Methods and devices for compressing and decompressing data | |
CN103297346A (en) | TCP (Transmission Control Protocol) friendly rate control method based on ECN (Explicit Congestion Notification) mechanism | |
CN101316232A (en) | Fragment reassembly method based on network protocol version 6 | |
CN106656425A (en) | Efficient error retransmission and access mechanism of fixed frame length in fiber channel | |
CN115297504B (en) | Communication method, computer readable storage medium and electronic device | |
CN103166912B (en) | The transmission method of a kind of packet, system | |
CN102487330B (en) | Method and device for sending operation, administration and maintenance messages | |
CN104426638A (en) | Data submission method and device | |
CN117675959A (en) | A multi-link parallel network communication method and device | |
CN107135271A (en) | An Energy Efficient Content-Centric Network Caching Method | |
CN107959956B (en) | A WIA-PA Network Packet Aggregation Method Based on Wireless Channel State | |
CN102164095B (en) | Datagram segmentation and reassembly system and realization method for onboard switching module | |
CN114070796B (en) | Electronic device and frame transmission method for electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090819 Termination date: 20170307 |
|
CF01 | Termination of patent right due to non-payment of annual fee |