WO2008106893A1 - Procédé et dispositif pour recevoir un fragment de message de protocole point à point multiliaison - Google Patents

Procédé et dispositif pour recevoir un fragment de message de protocole point à point multiliaison Download PDF

Info

Publication number
WO2008106893A1
WO2008106893A1 PCT/CN2008/070423 CN2008070423W WO2008106893A1 WO 2008106893 A1 WO2008106893 A1 WO 2008106893A1 CN 2008070423 W CN2008070423 W CN 2008070423W WO 2008106893 A1 WO2008106893 A1 WO 2008106893A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence number
fragment
pointer
packet
message
Prior art date
Application number
PCT/CN2008/070423
Other languages
English (en)
French (fr)
Inventor
Cheng Tang
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2008106893A1 publication Critical patent/WO2008106893A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]

Definitions

  • the present invention relates to communication technologies, and more particularly to a multi-link bundling protocol message fragment receiving method and apparatus. Background technique
  • Multi-Link BPP is a method of bundling multiple physical channels through a protocol.
  • a corresponding serial number is added for multiple physical channels, and multiple physical channels are regarded as one logical channel. Processing, thereby providing greater bandwidth than a single physical channel to meet user bandwidth requirements.
  • the packet fragment receiving end processes the received packet fragmentation at the network layer of the receiving end by detecting the sequence number.
  • the multi-link bundling protocol internally provides a mechanism for guaranteeing the order.
  • the principle is as follows: When the link is established, the serial number sent by the sender must start from 0.
  • the receiving end maintains a reference serial number locally, and compares the reference serial 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 message fragment number, After receiving the fragmentation of all the packets between the receiver and the sender, the receiver then uploads the packet to the network layer.
  • the sender sends a packet fragment 0 - 5, in which the packet fragment with the packet fragment number 3 is lost. Before the new message fragment arrives at the receiving end, the receiving end will wait for the fragment 3 to arrive.
  • the sender sends the IDLE packet to the receiving end periodically, so that the receiving end can quickly determine that the packet that has not been received is lost and uploads other received packet fragments.
  • the timer of the receiving end is set to wait for the time of receiving the fragmentation of the message. If the time when the fragment of the packet reaches the receiving end exceeds the time set by the receiving end timer, the receiving end judges If the packet fragment is lost, the receiver will upload other received packet fragments.
  • the inventors have found that the above two solutions have at least the following disadvantages:
  • the IDLE packet fragment sent by the transmitting end periodically consumes part of the bandwidth;
  • the receiver determines that the packet fragment loss rate is too slow. This causes the link recovery time to be long and the user needs to wait for a long time. Summary of the invention
  • the purpose of the embodiments of the present invention is to provide a multi-link bundling protocol packet fragment receiving method and device, which reduces the dependency on the timing IDLE packet fragmentation and shortens the service recovery of the receiving end. time.
  • an embodiment of the present invention provides a method for receiving a multi-link bundling protocol packet, which includes:
  • An embodiment of the present invention further provides a receiving apparatus, which is configured to receive a multi-link bundling protocol packet fragmentation, and includes:
  • a setting unit for setting a pointer and a serial number window
  • a message fragment obtaining unit configured to receive a message fragment, and obtain a sequence number obtaining unit when the sequence number of the received message fragment is not continuous with the pointer set by the setting unit;
  • a sequence number obtaining unit configured to receive the notification of the packet fragment obtaining unit, and notify the processing unit when the sequence number of the packet fragment is located outside the sequence number window;
  • a processing unit configured to modify the pointer to perform sequence number hopping tracking according to the notification of the sequence number acquiring unit.
  • FIG. 1 is a schematic diagram of fragmentation reception of a multi-link bundle protocol packet in the prior art
  • FIG. 2 is a schematic diagram showing a serial number of a pointer and a packet fragment in the embodiment of the present invention
  • FIG. 3 is a flowchart of an embodiment of receiving a multi-link bundled received packet according to an embodiment of the present invention
  • FIG. 4 to FIG. 6 are schematic diagrams showing a state in which a message fragment sequence number in a sequence number window is located between a lower limit position and a pointer according to an embodiment of the present invention
  • FIGS. 7A-9 are schematic diagrams showing states of a message fragment sequence number outside a sequence number window in an embodiment of the present invention.
  • FIG. 10 is a schematic structural view of a receiving apparatus according to an embodiment of the present invention. detailed description
  • an Rpt and sequence number window is set in the receiving end.
  • the pointer Rpt is used to store the maximum sequence number of the consecutively received message fragments in the receiving end, that is, all the message fragments that have been continuously received by the receiving end (including the packet fragment pointed to by the current value of Rpt and the current value of Rpt). All messages are fragmented), so the pointer Rpt points to the end of a packet that has been correctly grouped, or the maximum number of consecutive message fragment sequences that have not been reassembled.
  • the serial number window is used to indicate the new incoming message fragment and the pointer Rpt in the buffer. relative position.
  • the serial number window includes an upper limit position Hpt and a lower limit position Lpt.
  • Step 301 The receiving end receives the packet fragment S′ sent by the sending end.
  • Step 302 the receiving end compares the sequence number of the message fragment S' with the pointer Rpt is continuous; if yes, proceeds to step 309; if not, proceeds to step 303;
  • Step 303 the receiving end determines whether the packet fragment S is located in the serial number window; if yes, proceeds to step 306; if not, proceeds to step 304;
  • Step 304 The receiving end determines the sequence number hopping on the link of the packet fragment S, and the receiving end sends the packet to the buffer for temporary storage according to the sequence number of the packet fragment S, and exits the processing, and the receiving end continues to receive.
  • Step 305 the receiving end performs serial number hopping tracking, and assigns the sequence number of the sharded packet fragment S' to the pointer to modify the pointer Rpt;
  • Step 306 the receiving end determines whether the sequence number of the message fragment S' is between the pointer Rpt and the upper limit position Hpt, and if yes, proceeds to step 308; if not, proceeds to step 307; Step 307, the receiving end discards the message Slice S';
  • Step 308 the receiving end sends the packet fragment S' to the buffer for temporary storage according to the sequence number of the packet fragment S';
  • Step 309 the receiving end sends the message fragment S' to the buffer temporary storage according to the sequence number of the message fragment S' and increments the pointer Rpt value by one;
  • Step 310 The receiving end queries the buffer whether there are consecutive message fragments that can form a message; the receiving end searches forward and backward search from the pointer Rpt, and searches for the packet header and the packet tail respectively, if the receiving end finds the packet header and the trailer tail, Then proceeds to step 311;
  • Step 311 The receiving end fragments the consecutive packets into S packets and reassembles them into packets.
  • Step 312 The receiving end uploads the reassembled packet to the network layer.
  • Step 313 The receiving end modification pointer Rpt points to the maximum value of the serial number of the currently received message fragment, that is, the sequence number of the last packet fragmented after the receiving end searches for the end of the packet.
  • the receiving end will slice 4's.
  • the buffer depth refers to the number of buffers used by the receiving end to buffer message fragments. The receiving end buffers the packet fragmentation according to the calculated storage address.
  • the header and the end of the packet if the receiving end finds a continuous complete packet fragmentation, the receiving end reassembles the consecutive packets in the buffer into packets, uploads them to the network layer for processing, and simultaneously finds them.
  • the packet fragment sequence number at the end of the packet is assigned to the pointer Rpt. This is because, as shown in FIG. 3, after the receiving end receives the 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 does not modify the pointer Rpt.
  • the storage location of the packet fragment containing the end of the packet should be the packet fragment sequence continuously received by the receiving end pointed to by the pointer Rpt.
  • the storage location of the maximum value of the number is the maximum value of the number.
  • the sequence number of the packet fragment received by the receiving end is not continuous with the pointer Rpt, as shown in FIG. 4 to FIG. 6, the sequence number of the packet fragment S' is located between the Rpt and the lower limit position Lpt, and the receiving end will The packet is discarded. This is because the pointer Rpt holds the maximum number of consecutively received message fragment sequence numbers. If the sequence number of the packet received by the receiver is before Rpt, it indicates that the fragment of the packet should be fragmented by the past processing that is considered to have been discarded. Therefore, it must be discarded to ensure that the buffer is in the buffer. Temporary message fragments can be reorganized and uploaded in order.
  • the address space of the buffer of the receiving end is It is often a cyclic space, so the relative position between the newly arrived fragment and Rpt is changed.
  • the sequence number of the packet fragment received by the receiving end includes the following three types of cases before Rpt:
  • the pointer Rpt is in the middle of the buffer serial number address space, as shown in FIG. 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' and the serial number window and the pointer Rpt is Lpt ⁇ S' ⁇ Rptrada
  • the pointer Rpt is close to the top of the serial number address of the buffer. As shown in FIG. 5, the relationship between the serial number window and the pointer Rpt is: upper limit position Hpt ⁇ lower limit position Lpt ⁇ pointer Rpt; The relationship between the serial number S' and the serial number window and the pointer Rpt is Lpt ⁇ S' ⁇ Rpt.
  • the pointer Rpt is close to the bottom of the serial number address of the buffer.
  • the relationship between the serial number window and the pointer Rp t is: pointer Rpt ⁇ upper limit position Hpt ⁇ lower limit position Lpt;
  • the serial number S, the relationship with the serial number window and the pointer Rpt may be: 1 ⁇ 1 ⁇ 8, or 1 ⁇ 1 >8' (Rpt ⁇ S, shown in Figure 6, and Rpt > S is not shown) .
  • 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 fragment of the message fragment is located in the sequence number window. Since the address space of the buffer is a loop space, the relationship between the message fragment sequence number and Rpt can be referred to the conditions shown in FIG. 7A, FIG. 7B, FIG. 8 and FIG.
  • the message fragmentation outside the sequence number window also includes the following three types of cases:
  • the pointer Rpt is in the middle of the buffer serial number address space, as shown in Figs. 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; and message
  • the relationship between the serial number S' of the slice and the serial number window is: S' ⁇ Lpt (see Figure 7A) or Hpt ⁇ S, see Figure 7B).
  • the pointer Rpt is close to the top of the serial number address of the buffer. As shown in Fig. 8, the relationship between the serial number window and the pointer Rp t is: upper limit position Hpt ⁇ lower limit position Lpt ⁇ pointer Rpt; The relationship between the serial number S' and the serial number window is Hpt ⁇ S' ⁇ Lpt.
  • the pointer Rpt is near the bottom of the serial number address of the buffer, as shown in Figure 9,
  • the relationship between the column number window and the pointer Rp t is: pointer Rpt ⁇ upper limit position Hpt ⁇ lower limit position Lpt; then the relationship between the serial number S of the ⁇ fragment and the serial number window is Hpt ⁇ S' ⁇ Lpt.
  • the receiving end judges that the sequence number has hopped. This is because, for those skilled in the art, the number of fragments of a message cannot exceed half the length of the sequence number space.
  • the sequence number is outside the sequence number window, it indicates that the difference between the serial number S' of the currently received message fragment and the pointer Rpt, that is, S' and the currently consecutively received message fragmentation
  • the difference between the serial numbers exceeds half the length of the serial number space.
  • the usual network design does not cause the delay difference of the packet fragmentation between the links to reach such a time difference.
  • the above-described distance between the upper limit position Hpt and the pointer Rpt and the distance between the pointer Rpt and the lower limit position Lpt are set to be half of the serial number space length, which is a preferred embodiment of the present invention.
  • the sender must add a consecutive long sequence number (0 ⁇ 0xfffff) and a short sequence number (0 ⁇ 0xfff) before the slice of the fragment to be the serial number space.
  • the serial number space and the buffer are in the buffer.
  • the Smask corresponding to the cyclic storage corresponds to the number of slices of the message, and it is impossible for the number of slices of the message to reach half of the serial number space.
  • serial number window setting manner is not the only way.
  • a person 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 disclosed manner.
  • the embodiment of the present invention further solves the problem that the receiver timer judges that the packet fragment is lost or the IDLE (including the serial number only) packet fragment is sent to determine that the packet fragment is lost, and the link waits for a long time.
  • the link recovery time is long, and the user data is easily lost in a large amount.
  • the above-described method provided by the embodiment of the present invention achieves the beneficial effect that the mutation of the serial number of a certain degree (such as the mutation of the serial number in the 1/2 serial number space in the serial number window) can be tolerated, and the implementation of the present invention
  • the discontinuous packet fragmentation can be quickly judged to track the sequence number hopping, thereby quickly recovering the service and improving the robustness of the system.
  • the sending sequence number of the message fragment does not necessarily start from 0.
  • An embodiment of the present invention further provides a receiving apparatus, which is configured to receive a multi-link bundle protocol packet fragment, and has a structure as shown in FIG. 10, including:
  • Setting unit 10 configured to set a pointer and a serial number window
  • the packet fragment obtaining unit 20 is configured to receive the packet fragmentation, and obtain the sequence number obtained when the sequence number of the received packet fragment is not continuous with the pointer set by the setting unit 10.
  • the sequence number obtaining unit 30 is configured to receive the notification that the packet fragmentation acquires 20 units, and when the sequence number of the packet fragment is located outside the serial number window, notify the processing unit 40; and the processing unit 40 is configured to use the sequence number The notification of the unit 30 is obtained, and the pointer is modified to perform serial number hopping tracking.
  • the second processing unit 50 is configured to determine, when the serial number obtaining unit 30 obtains the serial number of the packet fragment, that the sequence number of the packet fragment is between the upper limit position and the pointer or the lower limit. Between the position and the pointer; if the result of the judgment is that the message fragment sequence number is located between the upper limit position of the sequence number window and the pointer, the message fragment is stored according to the sequence number to the buffer; if the judgment result is the message fragment sequence When the number is between the lower limit of the serial number window and the pointer, the message fragment is discarded.
  • the third processing unit 60 is configured to: when the packet fragment obtaining unit 20 obtains the serial number of the result packet fragment and the pointer consecutively, perform the following processing: storing the packet fragmentation to the buffer according to the packet fragment serial number Add the pointer value to one; query the continuous message fragmentation and reassemble the continuous message fragment into a message; upload the reassembled message; modify the pointer to the maximum value of the serial number of the currently consecutive received packet.
  • the above-mentioned apparatus achieves the beneficial effects of being able to tolerate a certain degree (such as a mutation of a sequence number in a 1/2 serial number space in a sequence number window), and the implementation of the present invention.
  • the discontinuous packet fragmentation can be quickly judged to track the sequence number hopping, thereby quickly recovering the service and improving the robustness of the system.
  • the sending sequence number of the message fragment does not necessarily start from 0.
  • the present invention can be implemented by means of software plus a necessary general hardware platform, and of course, can also be through hardware, but in many cases, the former is a better implementation. the way.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium, including a plurality of instructions for making a A computer device (which may be a personal computer, server, or network device, etc.) performs the methods described in various embodiments of the present invention.
  • a computer device which may be a personal computer, server, or network device, etc.
  • the invention is only a few specific embodiments of the present invention, but the present invention is not limited thereto, and any changes that can be made by those skilled in the art should fall within the protection scope of the present invention.

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)

Description

多链路捆绑协议报文分片接收方法和装置 技术领域
本发明涉及通信技术,特别是关于一种多链路捆绑协议报文分片 接收方法和装置。 背景技术
多链路捆绑协议( MP, Multilink PPP )是将多个物理通道通过协 议进行捆绑的方式,其根据协议 RFC1990 ,为多个物理通道添加相应 的序列号, 把多个物理通道当成一个逻辑通道进行处理, 从而提供比 单个物理通道更大的带宽以满足用户带宽需求。在多链路捆绑协议的 实现中,报文分片接收端通过检测序列号对接收到的报文分片进行排 收端的网络层进行处理。
多链路捆绑协议内部提供了一种保证顺序的机制, 其原理为: 当 链路建立时, 发送端发送的序列号必须从 0开始。接收端在本地维护 一个基准序列号,并将基准序列号与接收到的报文分片的序号进行比 较; 如果接收端本地的基准序列号与接收到的报文分片的序号不相 同, 则接收端等待收到与发送端间的所有报文分片以后, 再上传报文 分片至网络层。
如图 1所示, 发送端发送报文分片 0 - 5 , 其中报文分片序号为 3 的报文分片丟失。 在新的报文分片到达接收端之前,接收端将一直等 待分片 3到来。
为避免接收端过长时间等待丟失报文分片,现有技术提供以下两 种解决方案:
一、 由发送端定时发送 IDLE报文分片至接收端, 使接收端快速 判断未收到的报文分片丟失并上传接收的其他报文分片;
二、通过接收端的定时器设置等待接收报文分片的时间, 如果报 文分片到达接收端的时间超过接收端定时器设定的时间,则接收端判 断此报文分片丟失, 接收端上传接收的其他报文分片。
发明人在实现本发明的过程中,发现现有的上述两种解决方法至 少存在以下缺点: 釆用方法一, 发送端定时发送的 IDLE报文分片会 消耗部分带宽; 而釆用方法二, 一旦接收端接收的报文分片的序列号 发生跳变,接收端通过定时器判断报文分片丟失的速度太慢, 导致链 路恢复时间长, 用户需要长时间等待。 发明内容
为解决现有技术的缺点, 本发明实施例的目的在于, 提供一种多 链路捆绑协议报文分片接收方法和装置, 降低对定时 IDLE报文分片 的依赖性并缩短接收端的业务恢复的时间。
为实现上述发明目的,本发明的实施例提供了一种多链路捆绑协 议报文分片接收方法, 包括:
设置指针及序列号窗口;
接收报文分片,并确定所述接收的报文分片的序列号与所述指针 不连续;
确定所述报文分片的序列号位于所述序列号窗口外,修改所述指 针进行序列号跳变跟踪。
本发明的实施例还提供一种接收装置,用于多链路捆绑协议报文 分片的接收方法, 包括:
设置单元, 用于设置指针及序列号窗口;
报文分片获取单元, 用于接收报文分片, 获取到所述接收的报文 分片的序列号与所述设置单元设置的指针不连续时,通知序列号获取 单元;
序列号获取单元, 用于接收到所述报文分片获取单元的通知, 获 取到所述报文分片的序列号位于所述序列号窗口外时, 通知处理单 元;
处理单元, 用于根据所述序列号获取单元的通知, 修改所述指针 进行序列号跳变跟踪。 本发明实施例的有益效果在于, 能够容忍一定程度(在序列号窗 口内, 如 1/2序列号空间)序列号的突变, 本发明的实施例还可以对 非连续报文分片能够进行快速的判断以追踪序列号跳变,从而快速恢 复业务, 提高了系统的健壮性。 与现有技术相比, 发送端发送的报文 分片序列号不必一定从序列号 0开始。 附图说明
图 1所示为现有技术中多链路捆绑协议报文分片接收示意图; 图 2 所示为本发明实施例中指针与报文分片的序列号连续的示 意;
图 3 所示为本发明实施例中多链路捆绑接收报文分片接收实施 例的流程图;
图 4 -图 6所示为本发明实施例中序列号窗口中的报文分片序列 号位于下限位置与指针之间的状态示意图;
图 7A-图 9所示为本发明实施例中序列号窗口外的报文分片序列 号的状态示意图;
图 10所示为本发明的实施例中一种接收装置的结构示意图。 具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白, 下面 结合实施例和附图, 对本发明实施例做进一步详细说明。 在此, 本发 明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的 限定。
如图 2所示, 在接收端中设置 Rpt和序列号窗口。 指针 Rpt用于 保存接收端中连续接收的报文分片的序列号的最大值,即接收端已经 连续接收的所有报文分片 (包括 Rpt当前值指向的报文分片以及 Rpt 当前值之前的所有报文分片 ), 因而指针 Rpt指向的是一个已经正确 组包的包尾、 或者一个没有重组的连续报文分片序列号的最大值。 而 序列号窗口用于表示新到来的报文分片与指针 Rpt 的在緩冲器中的 相对位置。 序列号窗口包括一上限位置 Hpt和一下限位置 Lpt。
根据图 3 所示的本发明的多链路捆绑协议报文分片接收方法的 流程图, 简要介绍本发明的实施过程。
步骤 301 , 接收端接收发送端发送的报文分片 S' ;
步骤 302 ,接收端比较报文分片 S'的序列号与指针 Rpt是否连续; 若是, 进入步骤 309; 若否, 进入步骤 303;
步骤 303 ,接收端判断报文分片 S,是否位于序列号窗口中;若是, 进入步骤 306; 若否, 进入步骤 304;
步骤 304, 接收端判断报文分片 S,的链路上发生序列号跳变, 接 收端根据报文分片 S, 的序列号将其送入緩存器暂存, 退出处理, 接 收端继续接收下一个报文分片;
步骤 305 , 接收端进行序列号跳变跟踪, 将发生跳变的报文分片 S'的序列号赋值给指针, 以修改指针 Rpt;
步骤 306, 接收端判断报文分片 S'的序列号是否在指针 Rpt与上 限位置 Hpt间, 若是, 则进入步骤 308; 若否, 则进入步骤 307; 步骤 307 , 接收端丟弃该报文分片 S' ;
步骤 308,接收端根据报文分片 S'的序列号将报文分片 S'送至緩 存器暂存;
步骤 309,接收端根据报文分片 S'的序列号将报文分片 S'送至缓 存器暂存并将指针 Rpt值加 1;
步骤 310, 接收端查询緩存器是否有可以组成报文的连续报文分 片; 接收端从指针 Rpt前向搜索和后向搜索, 分别寻找包头和包尾, 若接收端找到包头和包尾, 则进入步骤 311 ;
步骤 311 , 接收端将连续的报文分片 S,重组为报文;
步骤 312, 接收端上传重组后的报文至网络层;
步骤 313 , 接收端修改指针 Rpt指向当前连续接收报文分片序列 号的最大值,即将接收端搜索包尾时后向搜索到的最后一个报文分片 的序列号。
在上述步骤 304、 步骤 308、 步骤 309中, 接收端将 4艮文分片 S' 的序列号与緩冲器深度取模后得到值为报文分片暂存在緩冲器的数 组中的地址, 用计算公式表示: 緩冲器数组的地址 =序列号% (取模) 緩冲器长度。而緩冲器深度是指接收端用于緩存报文分片的緩冲器的 个数。 接收端根据计算得到的存储地址緩存报文分片。
以下结合附图 4至图 9, 更加细致地详细描述本发明的上述实施 过程:
接收端收到发送端发送的报文分片后,接收端提取报文分片的序 列号, 接收端判断该报文分片的序列号是否与指针 Rpt连续。 如图 2 所示, 该报文分片的序列号 S'与指针连续, 即 S' = Rpt + l时, 则接 收端将该报文序列号赋值给指针 Rpt, 表示报文序列号为 S'的报文分 片及其之前的报文分片已经被接收端连续接收。当接收端接收的报文 分片的序列号与指针连续, 则緩冲器暂存完毕报文分片后,接收端根 据指针 Rpt同时进行前向搜索和后向搜索,以寻找报文分片的包头和 包尾, 如果接收端找到连续完整的报文分片,接收端对緩冲器中的连 续的报文分片重组为报文上传后上传至网络层进行处理,并同时将找 到的包尾的报文分片序列号赋值给指针 Rpt。 这是因为, 如图 3中所 示,接收端收到与指针 Rpt不连续的报文分片 S'后,若该报文分片 S' 在序列号窗口中, 接收端不会修改指针 Rpt, 但是, 当接收端搜寻到 连续的报文分片并重组为报文后,则含有包尾的报文分片的存储位置 才应当是指针 Rpt指向的接收端连续接收的报文分片序列号的最大 值的存储位置。
若接收端接收到的报文分片的序列号与指针 Rpt不连续, 如图 4 至图 6所示,该报文分片 S' 的序列号位于 Rpt与下限位置 Lpt之间, 接收端将该报文分片丟弃。 这是因为, 指针 Rpt保存的是连续接收的 报文分片序列号的最大值。 若接收端接收的报文分片的序列号在 Rpt 之前,就表示该报文分片应当是过去的处理中认为已经丟弃的报文分 片, 因此必须丟弃, 以保证緩冲器中暂存的报文分片的能够按顺序重 组并上传。
在此需要强调的是, 在本领域中,接收端的緩冲器的地址空间通 常是一个循环的空间, 因而新到来的分片与 Rpt间的相对位置是变化 的, 接收端接收的报文分片的序列号在 Rpt之前包括以下三类情况:
(一)、指针 Rpt在緩冲器的序列号地址空间的中间,如图 4所示, 序列号窗口与指针 Rpt的关系为: 下限位置 Lpt <指针 Rpt < 上限位 置 Hpt; 则报文分片的序列号 S'与序列号窗口和指针 Rpt 的关系为 Lpt < S'< Rpt„
(二)、 指针 Rpt靠近緩冲器的序列号地址顶端, 如图 5所示, 序 列号窗口与指针 Rpt的关系为: 上限位置 Hpt <下限位置 Lpt <指针 Rpt;则 4艮文分片的序列号 S'与序列号窗口和指针 Rpt的关系为 Lpt < S'< Rpt。
(三)、 指针 Rpt靠近緩冲器的序列号地址底部, 如图 6所示, 序 列号窗口与指针 Rpt的关系为: 指针 Rpt <上限位置 Hpt < 下限位置 Lpt;则报文分片的序列号 S,与序列号窗口和指针 Rpt的关系可以是: 1^1 < 8,或者是1^1 > 8' (图 6中所示为 Rpt < S,, 而未示 Rpt > S,)。
若接收端接收到的报文分片的序列号 S'与指针 Rpt不连续,且该 报文分片的序列号 S,位于序列号窗口夕卜。由于緩冲器的地址空间是循 环空间, 因此, 报文分片序列号与 Rpt的关系可参照图 7A、 图 7B、 图 8和图 9所示的几种状况:
当接收端接收到的报文分片的序列号 S'与指针 Rpt不连续并位 于序列号窗口之外时,则在序列号窗口外的报文分片也包括以下三类 情况:
(一)、指针 Rpt在緩冲器的序列号地址空间的中间,如图 7A、 7B 所示, 序列号窗口与指针 Rpt的关系为: 下限位置 Lpt <指针 Rpt <上 限位置 Hpt; 而报文分片的序列号 S'与序列号窗口的关系为: S' < Lpt (请见图 7A )或者是 Hpt < S,请见图 7B )。
(二)、 指针 Rpt靠近緩冲器的序列号地址顶端, 如图 8所示, 序 列号窗口与指针 Rpt的关系为: 上限位置 Hpt <下限位置 Lpt <指针 Rpt; 则报文分片的序列号 S'与序列号窗口的关系为 Hpt < S'< Lpt。
(三)、 指针 Rpt靠近緩冲器的序列号地址底部, 如图 9所示, 序 列号窗口与指针 Rpt的关系为: 指针 Rpt <上限位置 Hpt <下限位置 Lpt; 则 "^文分片的序列号 S'与序列号窗口的关系为 Hpt < S'< Lpt。
图 7A、 图 7B、 图 8、 图 9中报文分片的序列号位于序列号窗口 外时, 将接收端判断为序列号发生跳变。 这是因为, 对于本领域技术 人员来说, 一个报文的分片的数目不可能超过序列号空间长度的一 半。 本实施例中, 如果序列号位于序列号窗口之外时, 就表示, 当前 接收的报文分片的序列号 S'与指针 Rpt的差值, 即 S'与当前连续接 收的报文分片的序列号间的差值超过了一半的序列号空间长度。而通 常的网络设计不会导致链路之间的报文分片的延迟差别达到这样的 时间差异, 有理由相信链路上的报文分片的发送发生了跳变, 即当前 连续接收的报文分片与刚收到的报文分片间的报文分片已经丟失;或 者报文分片因为某种原因不能重组, 譬如: 用户在捆绑为 MP的几条 链路中选择其中一路进行了本地环回,环回链路上的报文分片的序列 组; 如果环回链路被取消, 而本地接收端跟踪上了错误序列号, 会导 致不能正常跟踪序列号。
在此需要强调的是, 上述将上限位置 Hpt与指针间 Rpt的距离, 与指针 Rpt与下限位置 Lpt间的距离, 都设置为序列号空间长度的一 半是本发明的较佳实施方式。 因为 MP协议规定发送端必须在分片的 "^文分片前加入连续的长序列号 (0~0xffffff )和短序列号 (0~0xfff ) 就是序列号空间。序列号空间与緩冲器中循环存储的 Smask对应。对 本领域技术人员来说,报文的全部分片数目不可能达到序列号空间一 半。使得利用序列号空间长度设置序列号窗口进行序列号跳变最终将 更加准确。对于本领域技术人员来说, 上述实施例揭示序列号窗口设 置方式并非唯一方式, 本领域技术人员可根据本发明揭示方式,设置 序列号窗口的宽度及指针与上限位置、 下限位置间的距离。
其中, 根据 MP协议规定: 长序列号和短序列号的结构如下表 1 和表 2所示:
表 1 长序列号结构 Oxff 0x03
0x00 0x3 d
B|E|0|0|0|0|0|0| Sequence
Sequence Sequence 表 2 短序列号结构
Oxff 0x03
0x00 0x3 d
B E 0 0 Sequence Sequence 从上面的结构可以看出, 只要知道緩存的起始地址, 长短序列号 设置, 就可以取出报文分片的序列号, 该内容与现有技术相同, 因而 此处不再详细描述。
本发明的实施例还解决了通过接收端定时器判断报文分片丟失 或者由发送 IDLE (只含序列号)报文分片来达到判断报文分片丟失, 而导致链路长时间等待、链路恢复时间长、 用户数据容易大量丟失等 问题。
通过本发明实施例提供的上述方法, 实现的有益效果在于, 能够 容忍一定程度(如序列号窗口中的 1/2序列号空间内的序列号的突变) 的序列号的突变,本发明的实施例还可以对非连续报文分片能够进行 快速的判断以追踪序列号跳变, 从而快速恢复业务, 提高了系统的健 壮性。 与现有技术相比, 发送端开始发送报文分片时, 报文分片的起 始序列号不必一定从 0开始。
本发明的实施例还提供一种接收装置,用于多链路捆绑协议报文 分片的接收方法, 其结构如图 10所示, 包括:
设置单元 10 , 用于设置指针及序列号窗口;
报文分片获取单元 20 , 用于接收报文分片, 获取到接收的报文 分片的序列号与设置单元 10设置的指针不连续时, 通知序列号获取 单元 30;
序列号获取单元 30, 用于接收到报文分片获取 20单元的通知, 获取到报文分片的序列号位于序列号窗口外时, 通知处理单元 40; 处理单元 40 , 用于根据序列号获取单元 30的通知, 修改指针进 行序列号跳变跟踪。
第二处理单元 50 , 用于当序列号获取单元 30获取结果为报文分 片的序列号位于序列号窗口中时,判断报文分片的序列号是位于上限 位置与指针之间还是位于下限位置与指针之间;若判断结果为报文分 片序列号位于序列号窗口的上限位置与指针之间,根据序列号存储报 文分片至緩冲器;若判断结果为报文分片序列号位于序列号窗口的下 限位置与指针之间时, 丟弃报文分片。
第三处理单元 60 , 用于当报文分片获取单元 20获取结果报文分 片的序列号与指针连续时, 进行以下处理: 根据报文分片序列号存储 报文分片至緩冲器; 将指针值加一; 查询连续报文分片并将连续报文 分片重组为报文; 上传重组后的报文; 修改指针指向当前连续接收报 文分片序列号的最大值。
通过本发明实施例提供的上述装置, 实现的有益效果在于, 能够 容忍一定程度(如序列号窗口中的 1/2序列号空间内的序列号的突变) 的序列号的突变,本发明的实施例还可以对非连续报文分片能够进行 快速的判断以追踪序列号跳变, 从而快速恢复业务, 提高了系统的健 壮性。 与现有技术相比, 发送端开始发送报文分片时, 报文分片的起 始序列号不必一定从 0开始。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解 到本发明可借助软件加必需的通用硬件平台的方式来实现, 当然也可 以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以 软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质 中, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服 务器, 或者网络设备等)执行本发明各个实施例所述的方法。 以上公 开的仅为本发明的几个具体实施例, 但是, 本发明并非局限于此, 任 何本领域的技术人员能思之的变化都应落入本发明的保护范围。
以上所述仅为本发明实施例的过程及方法实施例,并不用以限制 本发明实施例, 凡在本发明实施例的精神和原则之内所做的任何修 改、 等同替换、 改进等, 均应包含在本发明实施例的保护范围之内。

Claims

权利要求
1、 一种多链路捆绑协议报文分片接收方法, 其特征在于, 包括: 设置指针及序列号窗口;
接收报文分片,并确定所述接收的报文分片的序列号与所述指针 不连续;
确定所述报文分片的序列号位于所述序列号窗口外,修改所述指 针进行序列号跳变跟踪。
2、 根据权利要求 1所述的多链路捆绑协议报文分片接收方法, 其特征在于, 所述序列号窗口具有上限位置和下限位置; 所述指针与 所述上限位置间的距离等于所述指针与所述下限位置间的距离。
3、 根据权利要求 2所述的多链路捆绑协议报文分片接收方法, 其特征在于, 确定所述>¾文分片的序列号位于序列号窗口中时, 还包 括以下步骤:
判断所述报文分片的序列号是位于所述上限位置与所述指针之 间还是位于所述下限位置与所述指针之间;
若判断结果为所述报文分片序列号位于所述序列号窗口的上限 位置与所述指针之间 , 根据序列号存储所述报文分片至緩冲器;
若判断结果为所述报文分片序列号位于所述序列号窗口的下限 位置与所述指针之间, 丟弃所述报文分片。
4、 根据权利要求 1所述的多链路捆绑协议报文分片接收方法, 其特征在于, 确定所述 >¾文分片的序列号与所述指针连续时, 还包括 以下步骤:
根据所述报文分片序列号存储所述报文分片至緩冲器;
将所述指针值加一;
查询连续报文分片并将连续报文分片重组为报文;
上传所述重组后的报文;
修改所述指针指向当前连续接收报文分片序列号的最大值。
5、 根据权利要求 1所述的多链路捆绑协议报文分片接收方法, 其特征在于, 所述指针用于保存连续接收的报文分片序列号的最大 值。
6、 根据权利要求 1所述的多链路捆绑协议报文分片接收方法, 其特征在于, 所述修改指针进行序列号跳变跟踪具体为, 将所述报文 分片的序列号赋值给所述指针。
7、 根据权利要求 3或 4所述的多链路捆绑协议报文分片接收方 法, 其特征在于, 所述根据序列号存储报文分片至緩冲器是指: 将所 述报文分片的序列号与緩冲器深度求模,计算所述报文分片在緩冲器 中的存储地址。
8、 根据权利要求 7所述的多链路捆绑协议报文分片接收方法, 其特征在于,所述緩冲器深度具体为用于暂存报文分片的緩冲器的个 数。
9、 根据权利要求 8所述的多链路捆绑协议报文分片接收方法, 其特征在于, 所述上限位置与所述指针间的距离, 以及所述下限位置 与所述指针间的距离为序列号空间长度的一半。
10、 一种接收装置, 用于多链路捆绑协议报文分片的接收方法, 其特征在于, 包括:
设置单元, 用于设置指针及序列号窗口;
报文分片获取单元, 用于接收报文分片, 获取到所述接收的报文 分片的序列号与所述设置单元设置的指针不连续时,通知序列号获取 单元;
序列号获取单元, 用于接收到所述报文分片获取单元的通知, 获 取到所述报文分片的序列号位于所述序列号窗口外时, 通知处理单 元;
处理单元, 用于根据所述序列号获取单元的通知, 修改所述指针 进行序列号跳变跟踪。
11、 如权利要求 10所述接收装置, 其特征在于, 还包括: 片的序列号位于序列号窗口中时,判断所述"¾文分片的序列号是位于 所述上限位置与所述指针之间还是位于所述下限位置与所述指针之 间;
若判断结果为所述报文分片序列号位于所述序列号窗口的上限 位置与所述指针之间 , 根据序列号存储所述报文分片至緩冲器; 若判断结果为所述报文分片序列号位于所述序列号窗口的下限 位置与所述指针之间, 丟弃所述报文分片。
12、 如权利要求 10所述接收装置, 其特征在于, 还包括: 文分片的序列号与所述指针连续时, 进行以下处理:
根据所述报文分片序列号存储所述报文分片至緩冲器;将所述指 针值加一; 查询连续报文分片并将连续报文分片重组为报文; 上传所 述重组后的报文;修改所述指针指向当前连续接收报文分片序列号的 最大值。
PCT/CN2008/070423 2007-03-07 2008-03-06 Procédé et dispositif pour recevoir un fragment de message de protocole point à point multiliaison WO2008106893A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710064226.8 2007-03-07
CNB2007100642268A CN100531147C (zh) 2007-03-07 2007-03-07 多链路捆绑协议报文分片接收方法

Publications (1)

Publication Number Publication Date
WO2008106893A1 true WO2008106893A1 (fr) 2008-09-12

Family

ID=38710066

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/070423 WO2008106893A1 (fr) 2007-03-07 2008-03-06 Procédé et dispositif pour recevoir un fragment de message de protocole point à point multiliaison

Country Status (2)

Country Link
CN (1) CN100531147C (zh)
WO (1) WO2008106893A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447930B (zh) * 2008-12-25 2011-01-05 华为技术有限公司 报文处理的方法和装置
CN112383418A (zh) * 2020-11-02 2021-02-19 北京左江科技股份有限公司 一种基于fpga的以太网报文高速可靠传输的设计方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100531147C (zh) * 2007-03-07 2009-08-19 华为技术有限公司 多链路捆绑协议报文分片接收方法
CN101483637B (zh) * 2008-01-11 2013-01-30 上海博达数据通信有限公司 降低Multilink PPP等待队列里缓存分片数量的方法
CN101459615A (zh) * 2008-12-25 2009-06-17 华为技术有限公司 一种传输报文的方法、端口和系统
CN101795236B (zh) * 2010-03-31 2012-08-08 成都市华为赛门铁克科技有限公司 报文保序方法及装置
CN101917472B (zh) * 2010-08-12 2013-05-29 北京星网锐捷网络技术有限公司 一种多链路报文的重组方法、装置及设备
CN102204183A (zh) * 2011-05-09 2011-09-28 华为技术有限公司 报文保序处理方法、保序协处理器和网络设备
CN102685000B (zh) * 2012-04-24 2017-12-19 中兴通讯股份有限公司 一种mp碎片序号同步实现方法、设备及系统
WO2014101090A1 (zh) * 2012-12-28 2014-07-03 华为技术有限公司 缓存报文的方法和装置
CN108667755B (zh) * 2017-03-27 2021-10-22 中兴通讯股份有限公司 一种报文分片存储及重组的方法和装置
CN109246036B (zh) * 2017-07-10 2021-02-09 深圳市中兴微电子技术有限公司 一种处理分片报文的方法和装置
CN107612890B (zh) * 2017-08-24 2020-09-15 中国科学院信息工程研究所 一种网络监测方法及系统
CN109842856A (zh) * 2017-11-29 2019-06-04 成都鼎桥通信技术有限公司 一种屏蔽上行丢包的方法和设备
EP3761571B1 (en) 2018-03-22 2022-06-22 Huawei Technologies Co., Ltd. Method, device and system for handling message fragmentation
CN109714135B (zh) * 2018-12-24 2021-10-15 北京威努特技术有限公司 一种数据包传输方法及装置
CN111371703A (zh) * 2018-12-25 2020-07-03 迈普通信技术股份有限公司 一种报文重组方法及网络设备
CN112751724B (zh) * 2019-10-31 2023-07-11 华为技术有限公司 检测链路状态的方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999964A (en) * 1995-12-14 1999-12-07 Hitachi, Ltd. Method of accessing message queue and system thereof
CN1536845A (zh) * 2003-03-26 2004-10-13 ���ֿ˰뵼�����޹�˾ 分组缓存管理
KR20040102835A (ko) * 2003-05-29 2004-12-08 유티스타콤코리아 유한회사 실시간 운영 시스템에서 메시지 큐 통신 방법
WO2006077523A1 (en) * 2005-01-18 2006-07-27 Nxp B.V. Improved ip datagram de-encapsulation
CN101022411A (zh) * 2007-03-07 2007-08-22 华为技术有限公司 多链路捆绑协议报文分片接收方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999964A (en) * 1995-12-14 1999-12-07 Hitachi, Ltd. Method of accessing message queue and system thereof
CN1536845A (zh) * 2003-03-26 2004-10-13 ���ֿ˰뵼�����޹�˾ 分组缓存管理
KR20040102835A (ko) * 2003-05-29 2004-12-08 유티스타콤코리아 유한회사 실시간 운영 시스템에서 메시지 큐 통신 방법
WO2006077523A1 (en) * 2005-01-18 2006-07-27 Nxp B.V. Improved ip datagram de-encapsulation
CN101022411A (zh) * 2007-03-07 2007-08-22 华为技术有限公司 多链路捆绑协议报文分片接收方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101447930B (zh) * 2008-12-25 2011-01-05 华为技术有限公司 报文处理的方法和装置
CN112383418A (zh) * 2020-11-02 2021-02-19 北京左江科技股份有限公司 一种基于fpga的以太网报文高速可靠传输的设计方法

Also Published As

Publication number Publication date
CN101022411A (zh) 2007-08-22
CN100531147C (zh) 2009-08-19

Similar Documents

Publication Publication Date Title
WO2008106893A1 (fr) Procédé et dispositif pour recevoir un fragment de message de protocole point à point multiliaison
TWI242946B (en) Wireless packet communication apparatus and method
JP5131194B2 (ja) パケット回復方法、通信システム、情報処理装置およびプログラム
CN107979449B (zh) 一种数据传输方法及装置
JP4005974B2 (ja) 通信装置、通信方法、および通信システム
WO2011144141A1 (zh) 拥塞控制方法和系统以及网络设备
WO2015007099A1 (zh) 数据包传输方法及装置
TW201115986A (en) System for efficient recovery of Node-B buffered data following MAC layer reset
JP2010532594A (ja) 複数のインターフェースを介するビデオストリーム
WO2013053304A1 (zh) 一种实现tcp传输的方法及装置
US10439940B2 (en) Latency correction between transport layer host and deterministic interface circuit
JP2002158712A (ja) パケット・データ・システムでパケットをトンネルする方法と装置
RU2460214C2 (ru) Инициирование сообщения статуса в беспроводной системе связи
WO2008025250A1 (fr) Procédé de transmission et d&#39;analyse de données dans un réseau de communications sans fil et son appareil
RU2011141861A (ru) Способ, устройство и система для отправки пакета данных
CN108886713B (zh) 一种数据传输方法、数据接收设备及数据发送设备
CN113765626B (zh) 一种移动通信系统的数据传输方法和装置
WO2004110013A1 (ja) パケット通信装置
WO2012083762A1 (zh) 数据传输方法、设备及系统
US20050066255A1 (en) Status report missing detection in a communication system
JP2007267082A (ja) データ送受信装置及びデータ送受信方法
US8312339B2 (en) Apparatuses and methods for controlling automatic repeat request (ARQ) reset in broadband wireless communication system
WO2010130156A1 (zh) 在双向数据传输中发送ack响应的方法、设备和系统
JP4444244B2 (ja) 通信装置
WO2022152157A1 (zh) 一种通信方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08715159

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08715159

Country of ref document: EP

Kind code of ref document: A1