WO2010022629A1 - 一种多链路协议分片数据的重组方法、装置及系统 - Google Patents

一种多链路协议分片数据的重组方法、装置及系统 Download PDF

Info

Publication number
WO2010022629A1
WO2010022629A1 PCT/CN2009/073247 CN2009073247W WO2010022629A1 WO 2010022629 A1 WO2010022629 A1 WO 2010022629A1 CN 2009073247 W CN2009073247 W CN 2009073247W WO 2010022629 A1 WO2010022629 A1 WO 2010022629A1
Authority
WO
WIPO (PCT)
Prior art keywords
fragment
description information
data block
sequence number
slice
Prior art date
Application number
PCT/CN2009/073247
Other languages
English (en)
French (fr)
Inventor
权星月
康泱
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2010022629A1 publication Critical patent/WO2010022629A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present invention relates to the field of communications, and in particular, to a method, an apparatus, and a system for reassembling multi-link protocol fragment data.
  • Protocol A multi-link protocol that generates an extended feature in use (MP, Multilink)
  • the principle is that a plurality of physically independent PPP links are bundled and externally represented as a logical link. Packets transmitted on this logical link are fragmented first, and then fragments are sent to each sub-link for transmission, which increases the efficiency of packet forwarding.
  • Each of the above sub-links is called an MP group.
  • the serial number of the received fragment a fixed space is allocated to each fragment.
  • the corresponding storage address of this slice is free and no other information is stored.
  • the longer the supported link delays the more fragments are received, and the larger the space used to store the slices.
  • the sequence of the shards is not divided, and all the received shards are sorted by the sequence number.
  • the inventors of the present invention have implemented the embodiment of the present invention and found that the packet fragment storage mode used in the prior art allocates a fixed storage space for each fragment of the packet, and does not distinguish the fragmentation. In the order of the queues, this makes it necessary to traverse the storage space of all the fragments after the fragmentation data is reorganized.
  • an embodiment of the present invention provides a method, device, and system for recombining multi-link protocol fragment data.
  • an embodiment of the present invention provides a method for reassembling multi-link protocol fragment data, where the method includes:
  • An embodiment of the present invention provides a device for reassembling multi-link protocol fragment data, including:
  • an extracting unit configured to extract, from a stored data block of each slice description information data block, slice description information of a slice with the smallest sequence number, wherein a slice description information data block is used for receiving according to The serial number of the fragment of the same link, and the fragment description information of the fragment of the same link is sequentially stored;
  • an adding unit configured to add the fragment description information of the fragment with the smallest sequence number extracted by the extracting unit to the tail of the ordered data block, and store the fragment description information according to the sequence number of the fragment in the sequence Ordered data block;
  • the reassembly processing unit is configured to determine, according to the fragment description information in the ordered data block, all fragments of a received message, and reassemble the packet.
  • the embodiment of the present invention provides a reassembly system for multi-link protocol fragment data, including:
  • a storage device configured to store received fragmentation data, a plurality of fragmentation description information data blocks, and an ordered data block, wherein the one fragmentation description information data block is used for fragmentation according to the received same link
  • the sequence number of the fragments of the same link is stored in sequence, and the slice description information is stored in the ordered data block according to the sequence number of the fragments;
  • a reorganization device configured to extract, from a data block header of each slice description information data block stored by the storage device, slice description information of a slice with the smallest sequence number; and extract the extracted sequence number
  • the fragmentation description information of the smallest fragment is added to the tail of the ordered data block, and according to the fragment description information in the ordered data block, it is determined that all fragments of a message have been received, and the newspaper is reassembled. Text.
  • a plurality of fragments are used to describe information data blocks according to the received fragments of the same link.
  • Serial number the sequence description information of the fragment of the same link is sequentially stored, and in the recombination process, the fragment description information of the data block header of each fragment description information data block corresponds to receiving from a certain link.
  • the fragment with the smallest serial number in the fragment so the embodiment of the present invention can find the fragment of the smallest serial number by comparing the information of the data block header of each fragment description information data block, thereby avoiding the need of the prior art.
  • the complicated work of sorting all the shards therefore, the complexity of recombining the multi-link protocol data can be simplified in the embodiment of the present invention and the prior art requires traversing the storage range of the entire shard to sort the shards.
  • FIG. 1 is a schematic structural diagram of a recombination system of multi-link protocol fragmentation data according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a storage device of multi-link protocol fragment data according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a dynamic linked list including three links and an indicating unit thereof;
  • FIG. 4 is a schematic structural diagram of a recombination apparatus for multi-link protocol fragmentation data according to an embodiment of the present invention
  • FIG. 5 is a block diagram showing the structure of a recombination apparatus for multi-link protocol fragment data according to another embodiment of the present invention.
  • Figure 6 is a schematic view showing the structure of an embodiment of the extracting unit 33 of Figure 4.
  • Figure 7 is a block diagram showing the structure of an embodiment of the reorganization processing unit 36 of Figure 4.
  • Figure 8 is a schematic diagram showing the structure of an embodiment of the fourth processing unit 362 of Figure 4;
  • FIG. 9 is a simplified flow diagram of a method for recombining multi-link protocol fragmentation data in accordance with an embodiment of the present invention.
  • FIG. 10 is a schematic flowchart of the process according to an embodiment of step S200 in FIG. 9;
  • FIG. 11 is a detailed flowchart of the flow according to an embodiment of step S230 in FIG. 9;
  • Figure 12 is a detailed flow diagram of a method of recombining multi-link protocol fragmentation data in accordance with one embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a recombination system of multi-link protocol fragment data according to an embodiment of the present invention; as shown in FIG. 1, the reorganization system of this embodiment includes a storage device 1 and a reassembly device 2, among them:
  • the storage device 1 is configured to store received slice data, a plurality of slice description information data blocks, and an ordered data block, where the one slice description information data block is used according to the received PPP chain.
  • the serial number of the fragment of the path, the fragment description information of the fragment of the same PPP link is sequentially stored, and the fragment description information is sequentially stored in the ordered data block according to the sequence number of the fragment;
  • the sequence number of the fragment received on the different PPP links bound to the group corresponds to the receiving time, that is, the sequence number of the fragment received first on the PPP link, and the sequence number of the fragment received later. small.
  • the sending mechanism of the transmitting end is to slice first, assign a sequence number to each slice, and then send a fragment with a small sequence number to a ppp link.
  • the transmission to the receiving is logically fixed.
  • PPP link unlike the mechanism that Ethernet will go to the peer through different routes. Therefore, from the point of view, after the previous fragment is sent on a PPP link, the next fragment can be sent on the PPP link, so the serial number of the next fragment is greater than the previous fragment serial number. of.
  • the fragmentation description information is generated by the storage device according to the embodiment of the present invention, and the sequence number of the fragment of the same PPP link is received according to the sequence. Storing fragmentation description information of each fragment of the same PPP link
  • the storage device of the embodiment of the present invention may include two blocks, and the first block is located outside the chip, such as an off-chip synchronous static random access memory (SSRAM, Synchronous Static Random Access).
  • SSRAM Synchronous Static Random Access
  • the second block for storing received fragment data; the second block is located inside the chip, such as static random access memory (SRAM, Static Random Access) inside the chip.
  • SRAM static random access memory
  • a slice description information and an ordered data block for storing the slice data wherein the stored slice description information includes at least an MP header information of the slice and a score corresponding to the slice description information.
  • the MP header information includes a sequence number of the fragment, and the fragment description information may further include a reception time of the fragment.
  • the recombining device 2 is configured to extract, from the data block header of each fragment description information data block stored by the storage device 1, the fragment description information of the fragment with the smallest sequence number; Extracting the fragmentation description information of the fragment with the smallest sequence number added to the end of the ordered data block, and determining, according to the fragment description information in the ordered data block, all the fragments of the received message. Reorganize the message.
  • the fragmentation description information of the fragment of the same PPP link is sequentially stored according to the serial number of the fragment of the same PPP link, and the fragmentation description information of the fragment of the same PPP link is sequentially used.
  • the embodiment of the present invention can compare each The fragment describes the information of the data block header of the information data block to find a fragment with the smallest serial number, and avoids the complicated work that the prior art needs to sort all the fragments. Therefore, the embodiment of the present invention and the prior art It is necessary to traverse the storage range of the entire slice to sort the fragments, which simplifies the complexity of reorganizing the data of the multi-link protocol.
  • the storage device of this embodiment may be built in the reforming device as a structural module of the reassembly.
  • FIG. 2 is a schematic structural diagram of a storage device for multi-link protocol fragment data according to an embodiment of the present invention
  • the storage device of the embodiment includes a fragment data storage unit 10, The slice description information storage unit 11 and the instruction unit 12, wherein:
  • the fragment data storage unit 10 is configured to receive and store the fragment data according to each of the stored fragment data.
  • the slice description information storage unit 11 is configured to store a plurality of slice description information data blocks and an ordered data block, wherein the one slice description information data block is used according to the slice data storage unit.
  • the serial number of the fragment of the same PPP link is received, and the fragment description information of the fragment of the same PPP link is sequentially stored, and the fragment description information is sequentially stored in the ordered data block according to the sequence number of the fragment.
  • the slice description information includes at least MP header information of the slice and storage address information of the slice data corresponding to the slice description information,
  • the MP header information includes a sequence number of the fragment, and the fragment description information may further include a reception time of the fragment.
  • the indication unit 12 is configured to, for each fragment description information data block stored in the fragment description information storage unit 11, set the first indication information to indicate the data block header of the fragment description information data block. And setting the second indication information to indicate that the fragment describes a data block tail of the information data block.
  • the indication unit 12 may be another SRAM, and the SRAM sets a head pointer (Head) for each fragment description information link table, and is used to indicate the fragment description information.
  • the data block header of the data block is set with a tail pointer (Tail) for indicating that the fragment describes the tail of the information data block.
  • the storage device of this embodiment further includes a counting unit (not shown) for storing each fragment description information data block stored in the fragment description information storage unit 11
  • the number of pieces of fragmentation description information is counted (indicated by Cnt).
  • Cnt the count of the counting module corresponding to the fragment description information data block.
  • FIG. 3 is a schematic diagram of a dynamic linked list including three links and an indication unit thereof, wherein the fragments received by each link are stored in a dynamic linked list according to the reception, in the middle of each dynamic linked list.
  • the sequence number (PD_i) of the fragments is sorted from small to large, for example, the fragments received from the first link are sorted in the linked list as PD_1, PD_4, ... PD_i; the fragments received from the second link
  • the order in the linked list is PD_2, P
  • each dynamic linked list has an indicating unit
  • the indicating unit includes a linked list head pointing to the linked list to indicate a head pointer of the linked list of the linked list, Pointing to the linked list of the linked list to indicate a tail pointer (Tail) of the tail of the linked list and a counting parameter Cnt for the fragment description information contained in the linked list.
  • the fragmentation description information at the beginning of the linked list of each linked list must be the fragmentation description information of the smallest sequence fragment received from a link.
  • FIG. 4 is a schematic structural diagram of a recombination apparatus for multi-link protocol fragmentation data according to an embodiment of the present invention.
  • the reorganization apparatus of this embodiment includes an extraction unit 33, an update unit 34, An adding unit 35 and a reorganization processing unit 36, wherein:
  • the extracting unit 33 is configured to extract, from the stored data block header of each slice description information data block, slice description information of the slice with the smallest sequence number;
  • the reorganization device of this embodiment may further include a first determining unit, configured to determine whether there is at least one slice description The first data block of the information data block is updated. If the determination is yes, the extracting unit 33 is notified to re-extract the fragment description information of the fragment with the smallest serial number from the data block header of each fragment description information data block. .
  • the fragment description information data block may be a dynamic linked list.
  • the updating unit 34 is configured to: after the extracting unit 33 extracts the fragment description information of the fragment with the smallest serial number, the data of the data block where the fragment description information of the fragment with the smallest serial number is located The block header is updated to the next slice description information pointed to by the slice description information of the sequence number minimum slice; when the slice description information data block is a dynamic link table, the update unit 34 may modify the Head pointer to make the Head pointer And pointing to the next fragment description information pointed by the extracted fragment description information with the smallest sequence number, so that the slice description information pointed by the updated Head pointer becomes the first list of the fragment description information linked list.
  • the storage device may include a first counting unit, and counts the number of fragmentation description information included in each fragment description information data block (indicated by Cnt), when the updating unit 34 updates the completion point. After the slice describes the data block of the information data block, the count of the first counting unit is automatically decremented by one.
  • the adding unit 35 is configured to add the fragmentation description information of the fragment with the smallest sequence number extracted by the extraction unit 33 to the tail of the ordered data block where the fragmentation description information of the sorted fragment is located;
  • the slice description information data block and the ordered data block are both dynamic linked lists, and the adding unit 35 may point the Tail pointer indicating the tail of the ordered data block and the pointer of the ordered data block tail part slice description information to The slice description information of the extracted fragment with the smallest sequence number is extracted, so that the slice description information of the extracted fragment with the smallest sequence number is added to the tail of the ordered data block.
  • the recombining device may comprise a second counting unit, configured to count the number of fragmentation description information in the ordered data block. When the adding unit 35 adds the slice description information of the slice with the smallest extracted sequence number to the tail of the ordered data block, the count of the second counting unit is incremented by one.
  • the reassembly processing unit 36 is configured to determine, according to the fragment description information in the ordered data block, that all fragments of a packet have been received, and reassemble the packet.
  • the MP header in the received fragment description information may include a B identifier and an E identifier.
  • the B identifier in the MP header is valid, it indicates that the first fragment of a packet is received, when the MP header is in the MP header.
  • the E flag is valid, indicating that the last fragment of a message is received. Therefore, in a specific implementation, the reassembly processing unit 36 may receive the fragment after determining whether the receiver receives a valid B flag.
  • An E of the same message identifies a valid fragment, and if so, it is determined that all fragments of a message have been received, and the reorganization reprocessing unit 36 is The fragment information of the fragment corresponding to the fragment description information of the packet finds each fragment, and the packet is reassembled. No. I", the extracting unit 33 is notified to continue extracting the slice description information of the slice having the smallest sequence number from the data block header of each slice description information data block.
  • the re-establishment apparatus in this embodiment may further include a seventh processing unit 37, configured to release the packets after the reassembly processing unit reassembles the packet.
  • a seventh processing unit 37 configured to release the packets after the reassembly processing unit reassembles the packet.
  • the extracting unit 33 in FIG. 4 may include the structural composition shown in FIG. 6.
  • the extracting unit 33 may further include a determining unit 330, a second determining unit 331, and a first processing unit 332. And a second processing unit 333, wherein:
  • the determining unit 330 is configured to determine, from the data block header of each fragment description information data block, a fragment with the smallest sequence number; as described above, the data block header of each fragment description information data block is The fragmentation description information of the smallest sequence fragment received from a PPP link, and each fragment description information includes the sequence number of the corresponding fragment. Therefore, the determining unit 330 can check the data block of the information block by checking each fragment. The first way is to determine the fragment with the smallest sequence number.
  • the second determining unit 331 is configured to determine whether the fragment with the smallest sequence number determined by the determining unit 330 is a target fragment, and the sequence number of the target fragment is a tail of the ordered data block.
  • the sequence number of the slice corresponding to the slice description information is increased by 1;
  • the first processing unit 332 is configured to: when the determination result of the second determining unit 331 is ⁇ , extract the fragment with the smallest serial number from the data block header of each fragment description information data block. Fragment description
  • the second processing unit 333 is configured to: when the determination result of the second determining unit is negative, discard the determined fragment with the smallest sequence number, and release the storage resource occupied by the fragment.
  • the second processing unit 333 of this embodiment discards a certain fragment, and releases the storage space of the internal storage device occupied by the fragment, which is lower than that of the prior art, which uses a fixed linear linked list to store fragmentation information.
  • the resource consumption which reduces the cost of the chip.
  • the reorganization apparatus of this embodiment may further include a third determining unit, configured to determine, when the determination result of the second judging unit 331 is negative, the sequence number of the fragment and the ordered data. Whether the difference between the serial number of the fragment corresponding to the fragment description information at the end of the block is greater than a preset threshold, and if the determination is yes, the notification station The second processing unit 333 discards the determined fragment with the smallest sequence number, and releases the storage resource occupied by the fragment.
  • a third determining unit configured to determine, when the determination result of the second judging unit 331 is negative, the sequence number of the fragment and the ordered data. Whether the difference between the serial number of the fragment corresponding to the fragment description information at the end of the block is greater than a preset threshold, and if the determination is yes, the notification station The second processing unit 333 discards the determined fragment with the smallest sequence number, and releases the storage resource occupied by the fragment.
  • the recombining apparatus of this embodiment may further include a fourth judging unit, configured to determine, when the determining result of the second judging unit 331 is negative, the sub-division with the smallest sequence number determined by the determining unit 330. Whether the slice is over, if the determination is yes, the second processing unit 333 is notified to discard the slice with the smallest sequence number.
  • a fourth judging unit configured to determine, when the determining result of the second judging unit 331 is negative, the sub-division with the smallest sequence number determined by the determining unit 330. Whether the slice is over, if the determination is yes, the second processing unit 333 is notified to discard the slice with the smallest sequence number.
  • the recombining apparatus of this embodiment may further include a fifth determining unit, configured to determine, when the determination result of the second judging unit 331 is negative, whether to arrive at an update point of the fragment If judged to be
  • the reassembly processing unit 36 may include at least a sixth judging unit 360, a third processing unit 361, and a fourth Processing unit 362, wherein:
  • the sixth determining unit 360 is configured to determine, according to the fragment description information in the ordered data block, whether all fragments of a message have been received;
  • the third processing unit 361 is configured to: when the determination result of the sixth determining unit 360 is yes, reassemble the message;
  • the fourth processing unit 362 is configured to: when the determination result of the sixth determining unit 360 is negative, notify the extracting unit 33 to extract from the data block header of each fragment description information data block. Fragment description information of the smallest fragment.
  • FIG. 8 is a schematic structural diagram of an embodiment of the fourth processing unit 362 according to FIG. 4, and the fourth processing unit 362 further includes:
  • the seventh determining unit 3621 is configured to: when the determination result of the sixth determining unit 360 is negative, determine whether the message fragmentation is in error;
  • the fifth processing unit 3622 is configured to: when the determination result of the seventh determining unit is yes, discard the error fragment and release the storage resource occupied by the error fragment;
  • the seventh judging unit may determine whether the received sequence number is a shard that includes two shards identified as the first shard, and does not include the shard that is identified as the last shard, if the YES is determined, Discarding all the fragments between the sequence number of the previous first slice and the sequence number of the next first slice, and releasing the discarded points The storage resources occupied by the slice;
  • the sixth processing unit 3623 is configured to: when the determination result of the seventh determining unit is negative, notify the extracting unit 33 to extract the smallest serial number from the data block header of each fragment description information data block. Fragmentation description information of the fragment.
  • the fragmentation description information of the fragment of the same PPP link is sequentially stored according to the sequence number of the fragment of the same PPP link, and the fragmentation description information of the fragment of the same PPP link is sequentially used in the reorganization process.
  • the slice description information of the data block header of each slice description information data block corresponds to the slice with the smallest sequence number among the received fragments of a certain PPP link, so the embodiment of the present invention can compare each slice description
  • the information of the data block header of the information data block is used to find a fragment with the smallest serial number, and the complicated work that needs to sort all the fragments in the prior art is avoided. Therefore, the embodiment of the present invention and the prior art need to traverse the entire
  • the storage range of the slice can simplify the complexity of reorganizing the data of the multi-link protocol compared to sorting the slices.
  • the reorganization device and the storage device are respectively independent devices.
  • the storage device and the reorganization device may be disposed in one device, or the storage device may be used as the reorganization The internal module of the device.
  • FIG. 9 is a method for recombining multi-link protocol fragment data according to an embodiment of the present invention. Schematic diagram of the process; As shown in FIG. 9, the method of this embodiment includes at least:
  • Step S200 Extract the fragmentation description information of the fragment with the smallest sequence number from the data block header of each fragment description information data block.
  • it may further include determining whether there is at least one sub-segment.
  • the data block of the slice description information data block is updated first. If the determination is yes, step S200 is performed.
  • the fragment description information data block may be a dynamic linked list.
  • Step S210 Update a data block header of the slice description information data block where the slice description information of the slice with the smallest sequence number is located to a next slice pointed by the slice description information of the sequence minimum fragment.
  • Descriptive information when the fragmentation description information data block is a dynamic linked list, the Head pointer can be modified to point the Head pointer to the next fragment description information pointed to by the extracted fragmentation description information with the smallest sequence number, so that after updating The fragment description information pointed to by the head pointer becomes the head of the linked list of the fragment description information list.
  • the step S210 may further include, after updating the data block header, a step of counting the number of the fragment description information included in each fragment description information data block (represented by Cnt), specifically, when the update is completed. After the slice describes the data block of the information data block, the count of the slice description information of the corresponding slice description information data block is automatically decremented by one.
  • Step S220 adding the fragmentation description information of the extracted fragment with the smallest sequence number to the tail of the ordered data block, and storing the fragment description information in the sequence order in the ordered data block;
  • the information data block and the ordered data block are both dynamic linked lists, and the Tail pointer indicating the tail of the ordered data block and the pointer of the end piece description information of the ordered data block may be pointed to the smallest extracted sequence number.
  • the sliced slice description information such that the extracted slice description information of the slice with the smallest sequence number is added to the tail of the ordered data block.
  • the step S220 may further include, after adding the fragment description information to the end of the ordered data block, counting the number of the fragment description information in the ordered data block. Specifically, after the fragmentation description information of the fragment with the smallest extracted sequence number is added to the tail of the ordered data block, the number of fragment description information in the ordered data block is counted. 1.
  • Step S230 Determine, according to the fragment description information in the ordered data block, whether all fragments of a message have been received. If the determination is yes, execute step S240; otherwise, return to step S200.
  • the MP header in the received fragment description information may include a B identifier and an E identifier. When the B identifier in the MP header is valid, it indicates that the first fragment of a packet is received, when the M p header The E mark in the valid ⁇
  • step S230 it is determined whether the reception is After receiving a valid fragment of the B flag, it receives an E slice with the same message as a valid fragment. If yes, it determines that all fragments of a message have been received.
  • Step S240 reassembling the message.
  • the step S240 may further include: releasing the storage resources occupied by each fragment of the packet after the reassembling the packet.
  • FIG. 10 is a flow refinement according to an embodiment of step S200 in FIG. 9. As shown in FIG. 10, step S200 may further include:
  • Step S211 determining, from the data block header of each fragment description information data block, a fragment with the smallest sequence number; as described above, each data fragment of the fragment description information data block is from a PPP link.
  • the fragmentation description information of the received minimum sequence fragment, and each fragment description information includes the sequence number of the corresponding fragment. Therefore, the method of comparing the data block headers of each fragment description information data block may be used to determine the smallest sequence number. sheet.
  • Step S212 determining whether the determined fragment with the smallest sequence number is the target fragment, and the sequence number of the target fragment is the serial number of the fragment corresponding to the fragment description information of the tail of the ordered data block. If the determination is yes, go to step S213; if the answer is no, go to step S214.
  • Step S213, extracting, from the data block header of each fragment description information data block, the fragment description information of the fragment with the smallest sequence number;
  • Step S214 Discard the determined fragment with the smallest sequence number, and release the storage resource occupied by the discarded fragment.
  • step S214 may further include:
  • step S230 may further include: [94] Step S231, determining, according to the fragment description information in the ordered data block, whether all fragments of a message have been received, if the determination is yes, go to step S240 in FIG. 7; , performing step S232;
  • Step S232 Determine whether the message fragmentation is in error. If the determination is yes, go to step S233; if the determination is no, go to step S200 in Fig. 7. In a specific implementation, it may be determined in step S232 whether the first fragment of the same packet is received twice, but the last fragment of the packet is not received, and if the determination is yes, the packet is determined to be in error; or In step S232, it can be determined whether the last slice of the same message is received twice, and the first slice of the message is not received. If the determination is yes, the message is determined to be in error.
  • Step S233 discarding the erroneous fragment, and releasing the storage resource occupied by the erroneous fragment.
  • FIG. 12 is a detailed flow diagram of a method for recombining multi-link protocol fragment data according to an embodiment of the present invention, including the following steps:
  • Step S300 determining whether at least one fragment description information data block has an update of the data block header, and if the determination is yes, executing step S301; if the determination is no, step S300 continues to perform the determination;
  • Step S301 Determine, from the data block header of each piece of the information data block, the slice with the smallest sequence number
  • Step S302 determining whether the determined fragment with the smallest sequence number is the target fragment, and the sequence number of the target fragment is the sequence number of the fragment corresponding to the fragment description information of the tail of the ordered data block. 1 ; If the determination is yes, step S303 is performed; if the determination is no, step S308 is performed;
  • Step S303 extracting, from the data block header of each fragment description information data block, the fragment description information of the fragment with the smallest sequence number;
  • Step S304 adding the slice description information of the slice with the smallest extracted sequence number to the tail of the ordered data block;
  • Step S305 determining whether all fragments of a message have been received, if the determination is yes, performing steps
  • step S312 is performed
  • Step S306 reorganizing the message
  • Step S307 releasing the storage resources occupied by each fragment of the packet, and then stopping, or returning to step S300;
  • Step S308 determining whether the difference between the sequence number of the slice with the smallest sequence number and the sequence number of the slice corresponding to the slice description information at the end of the ordered data block is greater than a preset threshold, if If yes, go to step S310; if the answer is no, go to step S309; [107] Step S309, determining whether the determined fragment with the smallest sequence number is exceeded, if the determination is yes, step S310 is performed; if the determination is no, step S300 is performed;
  • Step S310 discarding the determined fragment with the smallest sequence number, and releasing the storage resource occupied by the determined fragment with the smallest sequence number, and returning to step S300;
  • Step S312 Determine whether the extracted fragment with the smallest sequence number is in error. If the determination is yes, go to step S313; if the determination is no, go to step S300.
  • Step S313 Discard the erroneous packet, and release the storage resource occupied by the erroneous packet.
  • the fragmentation description information of the fragment of the same PPP link is sequentially stored according to the sequence number of the fragment of the same PPP link, and the fragmentation description information of the fragment of the same PPP link is sequentially used in the reassembly process.
  • the embodiment of the present invention can compare each fragment because the fragment description information of the data block header of each fragment description information data block corresponds to the fragment with the smallest sequence number in the received fragment from a certain link. Describe the information of the data block header of the information data block to find a fragment with the smallest sequence number, and avoid the complicated work that the prior art needs to sort all the fragments. Therefore, the embodiment of the present invention needs to traverse the prior art.
  • the storage range of the entire slice can simplify the complexity of reorganizing the data of the multi-link protocol compared to sorting the slices.
  • the fixed linear linked list is used to store the fragmentation information.
  • the resource consumption which reduces the cost of the chip.
  • the present invention can be implemented by hardware, or can be realized by means of software plus necessary general hardware platform, the present invention.
  • the technical solution can be embodied in the form of a software product, which can be stored in a computer readable storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.), and includes a plurality of instructions for making a computer device (may be a personal computer, server, or network device, etc.) Perform the methods described in various embodiments of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

说明书 一种多链路协议分片数据的重组方法、 装置及系统
[1] 本申请要求了 2008年 8月 27日提交的、 申请号为 200810198050.X、 发明名称为" 一种多链路协议分片数据的重组方法、 装置及系统"的中国申请的优先权, 其全 部内容通过引用结合在本申请中。
[2] 技术领域
[3] 本发明涉及通信领域, 尤其涉及一种多链路协议分片数据的重组方法、 装置及 系统。
[4] 发明背景
[5] 点对点协议 (ΡΡΡ' Point-to-Point
Protocol) 在使用中产生了一种扩展特性的多链路协议 (MP, Multilink
Protocol) , 其原理是将多个物理上独立的 PPP链路通过捆绑, 对外表现为一条 逻辑链路。 在此逻辑链路上传送的报文, 会先被分片, 然后将分片发送到各个 子链路上传送, 从而增加了报文转发的效率。 上述各个子链路称为一个 MP组。
[6] 现有技术对 MP绑定的 PPP链路上收到的分片数据, 釆用固定线性表存储的方案
, 按照收到分片的序号存储, 给每个分片都分配一个固定的空间。 当一个分片 未收到吋, 此分片对应的存储地址空闲, 不存放任何其他信息。 理论上来说, 支持的链路延吋吋间越长, 则接收到的分片数量越多, 那么用于存储分片的空 间越大。 并且, 在对 MP组中的各条链路收到的分片进行重组排序处理吋, 不区 分分片入队吋间先后顺序, 而是对所有收到分片按序号进行排序处理。
[7] 本发明的发明人在实施本发明实施例吋发现, 现有技术所釆用的报文分片存储 方式, 为报文的每个分片分配固定的存储空间, 且不区分分片入队吋间先后顺 序, 这使得在对分片数据进行重组吋, 重组需要遍历所有分片的存储的空间, 非常复杂。
[8] 发明内容
[9] 鉴于此, 本发明实施例提供一种多链路协议分片数据的重组方法、 装置及系统
。 可减小多链路协议数据的重组的复杂度。 [10] 为了解决上述技术问题, 本发明实施例提供了一种多链路协议分片数据的重组 方法, 该方法包括:
[11] 从各分片描述信息数据块的数据块首中, 提取出序号最小的分片的分片描述信 息, 其中, 一个分片描述信息数据块用于根据接收的同一链路的分片的序号, 顺序存储所述同一链路的分片的分片描述信息;
[12] 将所述提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部, 将 分片描述信息依据分片的序号顺序存储于所述有序数据块;
[13] 根据所述有序数据块中的分片描述信息, 确定已接收完一个报文的所有分片, 重组所述报文。
[14] 本发明实施例提供了一种多链路协议分片数据的重组装置, 包括:
[15] 提取单元, 用于从存储的各分片描述信息数据块的数据块首中, 提取出序号最 小的分片的分片描述信息, 其中, 一个分片描述信息数据块用于根据接收的同 一链路的分片的序号, 顺序存储所述同一链路的分片的分片描述信息;
[16] 添加单元, 用于将所述提取单元提取出的序号最小的分片的分片描述信息加入 到有序数据块的尾部, 将分片描述信息依据分片的序号顺序存储于所述有序数 据块;
[17] 重组处理单元, 用于根据所述有序数据块中的分片描述信息, 确定已接收完一 个报文的所有分片, 重组所述报文。
[18] 本发明实施例提供了一种多链路协议分片数据的重组系统, 包括:
[19] 存储装置, 用于存储接收的分片数据、 多个分片描述信息数据块及有序数据块 , 其中所述一个分片描述信息数据块用于根据接收的同一链路的分片的序号, 顺序存储所述同一链路的分片的分片描述信息, 将分片描述信息根据分片的序 号顺序存储于所述有序数据块;
[20] 重组装置, 用于从所述存储装置所存储的各分片描述信息数据块的数据块首中 , 提取出序号最小的分片的分片描述信息; 并将所述提取出的序号最小的分片 的分片描述信息加入到有序数据块的尾部, 并根据所述有序数据块中的分片描 述信息, 确定已接收完一个报文的所有分片吋, 重组所述报文。
[21] 本发明实施例釆用多个分片描述信息数据块分别根据接收的同一链路的分片的 序号, 顺序存储所述同一链路的分片的分片描述信息, 在重组过程中, 由于每 个分片描述信息数据块的数据块首的分片描述信息对应于从某条链路的接收的 分片中序号最小的分片, 因此本发明实施例可以通过比较各分片描述信息数据 块的数据块首的信息, 来找出一个最小序号的分片, 而避免了现有技术需要对 所有分片进行排序的复杂工作, 因此, 本发明实施例与现有技术需要遍历整个 分片的存储范围对分片进行排序相比, 可以简化对多链路协议数据进行重组的 复杂度。
[22] 附图简要说明
[23] 图 1是根据本发明的一个实施例的多链路协议分片数据的重组系统的结构组成 示意图;
[24] 图 2是根据本发明的一个实施例的多链路协议分片数据的存储装置的结构组成 示意图;
[25] 图 3是一个包括三条链路的动态链表及其指示单元的示意图;
[26] 图 4是根据本发明的一个实施例的多链路协议分片数据的重组装置的结构组成 示意图;
[27] 图 5是根据本发明的另一个实施例的多链路协议分片数据的重组装置的结构组 成示意图;
[28] 图 6是根据图 4中提取单元 33的一个实施例的结构组成示意图;
[29] 图 7是根据图 4中重组处理单元 36的一个实施例的结构组成示意图;
[30] 图 8是根据图 4中第四处理单元 362的一个实施例的结构组成示意图;
[31] 图 9是根据本发明的一个实施例的多链路协议分片数据的重组方法的简化流程 示意图;
[32] 图 10是根据图 9中的步骤 S200的一个实施例流程细化示意图;
[33] 图 11是根据图 9中的步骤 S230的一个实施例流程细化示意图;
[34] 图 12是根据本发明的一个实施例的多链路协议分片数据的重组方法的一个详细 流程示意图。
[35] 实施本发明的方式
[36] 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部 的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
[37] 图 1是根据本发明的一个实施例的多链路协议分片数据的重组系统的结构组成 示意图; 如图 1所示, 本实施例的重组系统包括存储装置 1和重组装置 2, 其中:
[38] 所述存储装置 1, 用于存储接收的分片数据、 多个分片描述信息数据块及有序 数据块, 其中所述一个分片描述信息数据块用于依据接收的同一 PPP链路的分片 的序号, 顺序存储所述同一 PPP链路的分片的分片描述信息, 将分片描述信息依 据分片的序号顺序存储于所述有序数据块; 具体实现中, 一个 MP组内绑定的不 同 PPP链路上收到的分片的序号大小与接收吋间相对应, 即一条 PPP链路吋间上 先收到的分片的序号比后收到的分片的序号小。 这是由于发送端的发送机制是 先分片, 为每一个分片分配一个序号, 然后先发送序列号小的分片到一条 ppp链 路上, 发送到接收之间从逻辑上来看是一条固定的 PPP链路, 而不同于以太网会 经过不同路由到达对端的机制。 因此从吋间上来看, 在一条 PPP链路上前一个分 片发送完成后, 后一个分片才能在此 PPP链路上发送, 因此后一个分片的序列号 是大于前一个分片序列号的。 这样本发明实施例中当从同一条 PPP链路上接收到 分片数据后, 通过本发明实施例的存储装置生成分片描述信息, 并依据接收的 同一 PPP链路的分片的序号, 顺序存储所述同一 PPP链路各分片的分片描述信息
[39] 本发明实施例的存储装置可包括两块, 第一块位于芯片的外部, 比如为芯片外 的同步静态随机访问存储器 (SSRAM, Synchronous Static Random Access
Memory) ,用于存储接收的分片数据; 第二块位于芯片的内部, 比如可为芯片内 部的静态随机访问存储器 (SRAM, Static Random Access
Memory) , 用于存储所述分片数据的分片描述信息和有序数据块, 其中所述存 储的分片描述信息至少包括该分片的 MP头信息和所述分片描述信息对应的分片 数据的存储地址信息,
所述 MP头信息中包括分片的序号, 所述分片描述信息还可进一步包括分片的接 收吋间。 [40] 所述重组装置 2, 用于从所述存储装置 1所存储的各分片描述信息数据块的数据 块首中, 提取出序号最小的分片的分片描述信息; 并将所述提取出的序号最小 的分片的分片描述信息加入到有序数据块的尾部, 并根据所述有序数据块中的 分片描述信息, 确定已接收完一个报文的所有分片吋, 重组所述报文。
[41] 本发明实施例釆用多个分片描述信息数据块分别根据接收的同一 PPP链路的分 片的序号, 顺序存储所述同一 PPP链路的分片的分片描述信息, 在重组过程中, 由于每个分片描述信息数据块的数据块首的分片描述信息对应于从某条 PPP链路 的接收的分片中序号最小的分片, 因此本发明实施例可以通过比较各分片描述 信息数据块的数据块首的信息, 来找出一个最小序号的分片, 而避免了现有技 术需要对所有分片进行排序的复杂工作, 因此, 本发明实施例与现有技术需要 遍历整个分片的存储范围对分片进行排序相比, 可以简化对多链路协议数据进 行重组的复杂度。
[42] 具体实现中, 本实施例的存储装置可内置于所述重整装置中, 作为所述重组装 置的结构模块。
[43] 下面对系统中存储装置和重组装置的结构分别进行说明。
[44] 图 2是根据本发明的一个实施例的多链路协议分片数据的存储装置的结构组成 示意图; 如图 2所示, 本实施例的存储装置包括分片数据存储单元 10、 分片描述 信息存储单元 11以及指示单元 12, 其中:
[45] 所述分片数据存储单元 10用于接收并存储分片数据, 根据存储的每个分片数据
, 生成并存储每个分片的分片描述信息;
[46] 所述分片描述信息存储单元 11, 用于存储多个分片描述信息数据块及有序数据 块, 其中所述一个分片描述信息数据块用于依据所述分片数据存储单元 10接收 的同一 PPP链路的分片的序号, 顺序存储所述同一 PPP链路的分片的分片描述信 息, 将分片描述信息依据分片的序号顺序存储于所述有序数据块。 所述分片描 述信息至少包括该分片的 MP头信息和所述分片描述信息对应的分片数据的存储 地址信息,
所述 MP头信息中包括分片的序号, 所述分片描述信息还可进一步包括分片的接 收吋间。 所述指示单元 12, 用于针对所述分片描述信息存储单元 11中存储的每个分片描 述信息数据块, 设置第一指示信息用于指示所述分片描述信息数据块的数据块 首, 设置第二指示信息用于指示所述分片描述信息数据块的数据块尾。 当所述 分片描述信息数据块为动态链表吋, 该指示单元 12可为另一个 SRAM, 该 SRAM 为每一个分片描述信息链表设置头指针 (Head) 、 用于指示所述分片描述信息 数据块的数据块首, 设置尾指针 (Tail) , 用于指示所述分片描述信息数据块的 尾部。
[48] 较佳的, 本实施例的存储装置还包括一计数单元 (图中未示出) , 用于对所述 分片描述信息存储单元 11中存储的每个分片描述信息数据块包含的分片描述信 息的个数进行计数 (用 Cnt表示) , 当某个分片描述信息数据块中新增一个分片 描述信息, 则对应于该分片描述信息数据块的计数模块的计数会增加 1, 当某个 分片描述信息数据块中减少一个分片描述信息吋, 对应于该分片描述信息数据 块的计数模块的计数会减 1。
[49] 如图 3所示为一个包括三条链路的动态链表及其指示单元的示意图, 其中, 每 个链路接收的分片按照接收先后存储在一个动态链表中, 每个动态链表的中分 片的序号 (PD_i) 由小到大排序, 比如从第一链路接收的分片在链表中的排序 为 PD_1、 PD_4, ...... PD_i; 从第二链路接收的分片在链表中的排序为 PD_2、 P
D_5, ...... PDJ , 且对应于每个动态链表均有一个指示单元, 所述指示单元包括 指向所述链表的链表头以指示所述链表的链表首的头指针 (Head) , 指向所述 链表的链表尾以指示所述链表的尾部的尾指针 (Tail) 以及对所述链表包含的分 片描述信息的计数参数 Cnt。 从图 2中可以看出, 每个链表的链表首的分片描述信 息必然是从某链路接收的最小序号分片的分片描述信息。
[50] 图 4是根据本发明的一个实施例的多链路协议分片数据的重组装置的结构组成 示意图; 如图 4所示, 本实施例的重组装置包括提取单元 33、 更新单元 34、 添加 单元 35以及重组处理单元 36, 其中:
[51] 所述提取单元 33, 用于从存储的各分片描述信息数据块的数据块首中, 提取出 序号最小的分片的分片描述信息;
[52] 本实施例的重组装置还可包括第一判断单元, 用于判断是否至少有一个分片描 述信息数据块的数据块首发生更新, 如果判断为是, 则通知所述提取单元 33从 各分片描述信息数据块的数据块首中, 重新提取出序号最小的分片的分片描述 信息。 如前所述, 所述分片描述信息数据块可为动态链表。
[53] 所述更新单元 34, 用于当所述提取单元 33提取出序号最小的分片的分片描述信 息后, 将所述序号最小的分片的分片描述信息所在的数据块的数据块首更新为 所述序号最小分片的分片描述信息指向的下一分片描述信息; 当分片描述信息 数据块为动态链表吋, 所述更新单元 34, 可通过修改 Head指针, 使 Head指针指 向所述被提取出的序号最小的分片描述信息所指向的下一分片描述信息, 这样 更新后 Head指针指向的分片描述信息成为分片描述信息链表的链表首。 具体实 现中, 所述存储装置可包括第一计数单元, 对每个分片描述信息数据块包含的 分片描述信息的个数进行计数 (用 Cnt表示) , 当所述更新单元 34更新完分片描 述信息数据块的数据块首后, 所述第一计数单元的计数自动减 1。
[54] 所述添加单元 35, 用于将所述提取单元 33提取出的序号最小的分片的分片描述 信息加入已排序分片的分片描述信息所在的有序数据块的尾部; 当分片描述信 息数据块和有序数据块均为动态链表吋, 所述添加单元 35可将指示所述有序数 据块尾部的 Tail指针和所述有序数据块尾部分片描述信息的指针指向所述提取出 的序号最小的分片的分片描述信息, 这样所述提取出的序号最小的分片的分片 描述信息即加入到所述有序数据块的尾部。 相应的, 所述重组装置可包括第二 计数单元, 用于对所述有序数据块中的分片描述信息的个数进行计数。 当所述 添加单元 35将所述提取出的序号最小的分片的分片描述信息加入到所述有序数 据块的尾部后, 所述第二计数单元的计数加 1。
[55] 所述重组处理单元 36, 用于根据所述有序数据块中的分片描述信息, 确定已接 收完一个报文的所有分片, 重组所述报文。 具体实现中, 接收的分片描述信息 中的 MP头可包括 B标识和 E标识, 当 MP头中的 B标识有效吋, 表示接收的是一个 报文的第一个分片, 当 MP头中的 E标识有效吋, 表示接收的是一个报文的最后 一个分片, 因此, 具体实现中, 所述重组处理单元 36可通过判断接收是否接收 到一个 B标识有效的分片后, 又接收到同一个报文的一个 E标识有效的分片, 如 果是, 则判定已经接收完一个报文的所有分片, 此吋重组处理单元 36根据所述 报文的各分片描述信息对应的分片的地址信息找到各分片, 重组所述报文。 否 贝 I」, 通知所述提取单元 33继续从各分片描述信息数据块的数据块首中, 提取出 序号最小的分片的分片描述信息。
[56] 具体实现中, 如图 5所示, 本实施例的重组装置还可包括第七处理单元 37, 用 于当所述重组处理单元重组所述报文后, 释放所述报文各分片占用的存储资源
[57] 较佳的, 图 4中的提取单元 33可包括图 6所示的结构组成, 参考图 6, 提取单元 3 3进一步可包括确定单元 330、 第二判断单元 331、 第一处理单元 332以及第二处 理单元 333, 其中:
[58] 所述确定单元 330, 用于从各分片描述信息数据块的数据块首中, 确定序号最 小的分片; 如前所述, 每个分片描述信息数据块的数据块首是从某 PPP链路接收 的最小序号分片的分片描述信息, 且各分片描述信息中包含对应分片的序号, 因此, 确定单元 330可通过检査各分片描述信息数据块的数据块首的方式, 确定 序号最小的分片。
[59] 所述第二判断单元 331, 用于判断所述确定单元 330确定的序号最小的分片是否 为目标分片, 所述目标分片的序号为所述有序数据块的尾部的分片描述信息对 应的分片的序号增 1 ;
[60] 所述第一处理单元 332, 用于当所述第二判断单元 331的判断结果为是吋, 从各 分片描述信息数据块的数据块首中提取出所述序号最小的分片的分片描述信息
[61] 所述第二处理单元 333, 用于当所述第二判断单元的判断结果为否吋, 丢弃所 述确定的序号最小的分片, 并释放所述分片占用的存储资源。 本实施例的第二 处理单元 333在丢弃某个分片吋, 及吋释放所述分片占用的内部存储装置的存储 空间, 与现有技术釆用固定线性链表存储分片信息相比, 降低了资源消耗, 从 而降低了芯片成本。
[62] 较佳的, 本实施例的重组装置还可包括第三判断单元, 用于当所述第二判断单 元 331的判断结果为否吋, 判断该分片的序号与所述有序数据块尾部的分片描述 信息对应的分片的序号的差值是否大于预设的门限值, 如果判断为是, 通知所 述第二处理单元 333丢弃所述确定的序号最小的分片, 并释放所述分片占用的存 储资源。
[63] 较佳的, 本实施例的重组装置还可包括第四判断单元, 用于当所述第二判断单 元 331的判断结果为否吋, 判断所述确定单元 330确定的序号最小的分片是否超 吋, 如果判断为是, 通知所述第二处理单元 333丢弃所述确定的序号最小的分片
, 并释放所述分片占用的存储资源。
[64] 较佳的, 本实施例的重组装置还可包括第五判断单元, 用于当所述第二判断单 元 331的判断结果为否吋, 判断是否到达所述分片的更新吋间点, 如果判断为是
, 通知所述第四判断单元, 判断该分片是否超吋。
[65] 图 7是根据图 4中重组处理单元 36的一个实施例的结构组成示意图; 参考图 7, 所述重组处理单元 36至少可包括第六判断单元 360、 第三处理单元 361、 第四处 理单元 362, 其中:
[66] 所述第六判断单元 360, 用于根据所述有序数据块中的分片描述信息, 判断是 否已接收完一个报文的所有分片;
[67] 所述第三处理单元 361, 用于当所述第六判断单元 360的判断结果为是吋, 重组 所述报文;
[68] 所述第四处理单元 362, 用于当所述第六判断单元 360的判断结果为否吋, 通知 所述提取单元 33从各分片描述信息数据块的数据块首中, 提取出序号最小的分 片的分片描述信息。
[69] 较佳的, 图 8是根据图 4中第四处理单元 362的一个实施例的结构组成示意图, 所述第四处理单元 362还包括:
[70] 第七判断单元 3621, 用于当所述第六判断单元 360的判断结果为否吋, 判断报 文分片是否出错;
[71] 第五处理单元 3622, 用于当所述第七判断单元的判断结果为是吋, 丢弃出错分 片并释放所述出错分片占用的存储资源;
[72] 第七判断单元可判断接收的序号是连续的分片中是否包括有两个标识为第一分 片的分片, 而未包括标识为最后分片的分片, 如果判断为是, 将前一个第一分 片的序号到后一个第一分片的序号之间的所有分片丢弃, 并释放所述丢弃的分 片占用的存储资源;
[73] 或, 判断接收的序号是连续的分片中是否包括有两个标识为最后分片的分片, 而未包括标识为第一分片的分片, 如果判断为是, 将前一个最后分片到后一个 最后分片之间的所有分片, 连同所述后一个最后分片一起丢弃, 并释放所述丢 弃的分片占用的存储资源。
[74] 如前所述, 当接收到一个 B标识有效的分片后, 又接收到一个 E标识有效的分 片, 则判定已经接收完一个报文的所有分片; 相反的, 在接收的多个序号连续 的情况下, 当接收到一个 B标识有效的分片后, 未接收到一个 E标识有效的分片 吋, 又接收到另一个 B标识有效的分片, 则可判定报文出错; 或者在接收的多个 序号连续的情况下, 当接收到一个 E标识有效的分片后, 在未接收到一个 B标识 有效的分片吋, 又接收到另一个 E标识有效的分片, 则可判定报文出错。
[75] 第六处理单元 3623, 用于当所述第七判断单元的判断结果为否吋, 通知所述提 取单元 33从各分片描述信息数据块的数据块首中, 提取出序号最小的分片的分 片描述信息。 本实施例釆用多个分片描述信息数据块分别根据接收的同一 PPP链 路的分片的序号, 顺序存储所述同一 PPP链路的分片的分片描述信息, 在重组过 程中, 由于每个分片描述信息数据块的数据块首的分片描述信息对应于从某条 P PP链路的接收的分片中序号最小的分片, 因此本发明实施例可以通过比较各分 片描述信息数据块的数据块首的信息, 来找出一个最小序号的分片, 而避免了 现有技术需要对所有分片进行排序的复杂工作, 因此, 本发明实施例与现有技 术需要遍历整个分片的存储范围对分片进行排序相比, 可以简化对多链路协议 数据进行重组的复杂度。
[76] 另外, 本实施例方案在丢弃某个分片吋, 及吋释放所述分片占用的内部存储装 置的存储空间, 与现有技术釆用固定线性链表存储分片信息相比, 降低了资源 消耗, 从而降低了芯片成本。
[77] 本实施例中, 重组装置和存储装置分别为独立的设备, 在具体实现中, 所述存 储装置和所述重组装置可设置在一个设备中, 或者所述存储装置可作为所述重 组装置的内部模块。
[78] 相应的, 图 9是根据本发明的一个实施例的多链路协议分片数据的重组方法的 流程示意图; 如图 9所示, 本实施例的方法至少包括:
[79] 步骤 S200、 从各分片描述信息数据块的数据块首中, 提取出序号最小的分片的 分片描述信息; 具体实现中, 在步骤 S200之前还可包括判断是否至少有一个分 片描述信息数据块的数据块首发生更新, 如果判断为是, 则执行步骤 S200。 如 前所述, 所述分片描述信息数据块可为动态链表。
[80] 步骤 S210, 将所述序号最小的分片的分片描述信息所在的分片描述信息数据块 的数据块首更新为所述序号最小分片的分片描述信息指向的下一分片描述信息 ; 当分片描述信息数据块为动态链表吋, 可通过修改 Head指针, 使 Head指针指 向所述被提取出的序号最小的分片描述信息所指向的下一分片描述信息, 这样 更新后 Head指针指向的分片描述信息成为分片描述信息链表的链表首。 具体实 现中, 步骤 S210在更新数据块首后还可包括, 对每个分片描述信息数据块包含 的分片描述信息的个数进行计数 (用 Cnt表示) 的步骤, 具体的, 当更新完分片 描述信息数据块的数据块首后, 将对应的分片描述信息数据块的分片描述信息 的计数自动减 1。
[81] 步骤 S220, 将所述提取出的序号最小的分片的分片描述信息加入有序数据块的 尾部, 将分片描述信息按序号顺序存储于所述有序数据块; 当分片描述信息数 据块和有序数据块均为动态链表吋, 可将指示所述有序数据块尾部的 Tail指针和 所述有序数据块尾部分片描述信息的指针指向所述提取出的序号最小的分片的 分片描述信息, 这样所述提取出的序号最小的分片的分片描述信息即加入到所 述有序数据块的尾部。 相应的, 步骤 S220在将分片描述信息加入有序数据块尾 部之后还可包括, 对所述有序数据块中的分片描述信息的个数进行计数。 具体 的, 当将所述提取出的序号最小的分片的分片描述信息加入到所述有序数据块 的尾部后, 将所述有序数据块中的分片描述信息的个数计数加 1。
[82] 步骤 S230, 根据所述有序数据块中的分片描述信息, 判断是否已接收完一个报 文的所有分片, 如果判断为是, 执行步骤 S240; 否则, 返回执行步骤 S200。 具 体实现中, 接收的分片描述信息中的 MP头可包括 B标识和 E标识, 当 MP头中的 B 标识有效吋, 表示接收的是一个报文的第一个分片, 当 Mp头中的 E标识有效吋
, 表示接收的是一个报文的最后一个分片, 在步骤 S230, 可通过判断接收是否 接收到一个 B标识有效的分片后, 又接收到同一个报文的一个 E标识有效的分片 , 如果是, 则判定已经接收完一个报文的所有分片。
[83] 步骤 S240, 重组所述报文。
[84] 具体实现中, 所述步骤 S240在重组所述报文之后还可包括: 释放所述报文各分 片占用的存储资源。
[85] 进一步, 图 10是根据图 9中的步骤 S200的一个实施例流程细化示意图; 如图 10 所示, 步骤 S200进一步可包括:
[86] 步骤 S211 , 从各分片描述信息数据块的数据块首中, 确定序号最小的分片; 如 前所述, 每个分片描述信息数据块的数据块首是从某 PPP链路接收的最小序号分 片的分片描述信息, 且各分片描述信息中包含对应分片的序号, 因此, 可通过 比较各分片描述信息数据块的数据块首的方式, 确定序号最小的分片。
[87] 步骤 S212, 判断所述确定的序号最小的分片是否为目标分片, 所述目标分片的 序号为所述有序数据块的尾部的分片描述信息对应的分片的序号增 1 ; 如果判断 为是, 执行步骤 S213 ; 如果判断为否, 执行步骤 S214。
[88] 步骤 S213, 从各分片描述信息数据块的数据块首中提取出所述序号最小的分片 的分片描述信息;
[89] 步骤 S214, 丢弃所述确定的序号最小的分片, 并释放所述丢弃的分片占用的存 储资源。
[90] 较佳的, 步骤 S214可进一步包括:
[91] 判断所述确定的序号最小的分片的序号与所述有序数据块尾部的分片描述信息 对应的分片的序号的差值是否大于预设的门限值, 如果判断为是, 丢弃所述确 定的序号最小的分片, 并释放所述分片占用的存储资源。
[92] 或, 判断所述确定的序号最小的分片是否超吋, 如果判断为是, 丢弃所述确定 的序号最小的分片, 并释放所述分片占用的存储资源。 且在判断超吋之前还需 确定是否到达所述序号最小的分片的更新吋间点, 如果是, 对所述序号最小的 分片是否超吋进行判断。
[93] 图 11是根据图 9中的步骤 S230的一个实施例流程细化示意图; 如图 11所示, 步 骤 S230可进一步包括: [94] 步骤 S231、 根据所述有序数据块中的分片描述信息, 判断是否已接收完一个报 文的所有分片, 如果判断为是, 转到图 7中步骤 S240; 如果判断为否, 执行步骤 S232;
[95] 步骤 S232, 判断报文分片是否出错, 如果判断为是, 执行步骤 S233 ; 如果判断 为否, 转到图 7中步骤 S200。 具体实现中, 在步骤 S232可判断是否将同一报文的 第一个分片接收两次, 而未接收到所述报文的最后一个分片, 如果判断为是, 判定报文出错; 或, 在步骤 S232可判断是否将同一报文的最后一个分片接收两 次, 而未接收到所述报文的第一个分片, 如果判断为是, 判定报文出错。
[96] 步骤 S233 , 丢弃所述出错的分片, 并释放所述出错的分片占用的存储资源。
[97] 图 12是根据本发明的一个实施例的多链路协议分片数据的重组方法的一个详细 流程示意图, 包括如下步骤:
[98] 步骤 S300, 判断是否至少有一个分片描述信息数据块的数据块首发生更新, 如 果判断为是, 执行步骤 S301 ; 如果判断为否, 步骤 S300继续进行判断;
[99] 步骤 S301 , 从各分片描述信息数据块的数据块首中, 确定序号最小的分片;
[100] 步骤 S302, 判断所述确定的序号最小的分片是否为目标分片, 所述目标分片的 序号为所述有序数据块的尾部的分片描述信息对应的分片的序号增 1 ; 如果判断 为是, 执行步骤 S303 ; 如果判断为否, 执行步骤 S308 ;
[101] 步骤 S303 , 从各分片描述信息数据块的数据块首中提取出所述序号最小的分片 的分片描述信息;
[102] 步骤 S304, 将所述提取出的序号最小的分片的分片描述信息加入有序数据块的 尾部;
[103] 步骤 S305 , 判断是否已接收完一个报文的所有分片, 如果判断为是, 执行步骤
S306; 如果判断为否, 执行步骤 S312;
[104] 步骤 S306 , 重组所述报文;
[105] 步骤 S307 , 释放所述报文各分片占用的存储资源, 后停止, 或返回步骤 S300;
[106] 步骤 S308 , 判断所述确定的序号最小的分片的序号与所述有序数据块尾部的分 片描述信息对应的分片的序号的差值是否大于预设的门限值, 如果判断为是, 执行步骤 S310; 如果判断为否, 执行步骤 S309; [107] 步骤 S309, 判断所述确定的序号最小的分片是否超吋, 如果判断为是, 执行步 骤 S310; 如果判断为否, 执行步骤 S300;
[108] 步骤 S310, 丢弃所述确定的序号最小的分片, 并释放所述确定的序号最小的分 片占用的存储资源, 返回步骤 S300;
[109] 步骤 S312, 判断所述提取出的序号最小的分片是否出错, 如果判断为是, 执行 步骤 S313; 如果判断为否, 执行步骤 S300。
[110] 步骤 S313 , 丢弃所述出错的报文, 并释放所述出错的报文所占存储资源。
[111] 本实施例釆用多个分片描述信息数据块分别根据接收的同一 PPP链路的分片的 序号, 顺序存储所述同一 PPP链路的分片的分片描述信息, 在重组过程中, 由于 每个分片描述信息数据块的数据块首的分片描述信息对应于从某条链路的接收 的分片中序号最小的分片, 因此本发明实施例可以通过比较各分片描述信息数 据块的数据块首的信息, 来找出一个最小序号的分片, 而避免了现有技术需要 对所有分片进行排序的复杂工作, 因此, 本发明实施例与现有技术需要遍历整 个分片的存储范围对分片进行排序相比, 可以简化对多链路协议数据进行重组 的复杂度。
[112] 另外, 本实施例方案在丢弃某个分片吋, 及吋释放所述分片占用的内部存储装 置的存储空间, 与现有技术釆用固定线性链表存储分片信息相比, 降低了资源 消耗, 从而降低了芯片成本。
[113] 通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可以 通过硬件实现, 也可以可借助软件加必要的通用硬件平台的方式来实现基于这 样的理解, 本发明的技术方案可以以软件产品的形式体现出来, 该软件产品可 以存储在一个计算机可读存储介质 (可以是 CD-ROM, U盘, 移动硬盘等) 中, 包括若干指令用以使得一台计算机设备 (可以是个人计算机, 服务器, 或者网 络设备等) 执行本发明各个实施例所述的方法。
[114] 以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并不局限于 此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到 的变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围 应该以权利要求的保护范围为准。

Claims

权利要求书
[1] 一种多链路协议分片数据的重组方法, 其特征在于, 该方法包括:
从各分片描述信息数据块的数据块首中, 提取出序号最小的分片的分片描 述信息, 其中, 一个分片描述信息数据块用于根据接收的同一链路的分片 的序号, 顺序存储所述同一链路的分片的分片描述信息;
将所述提取出的序号最小的分片的分片描述信息加入到有序数据块的尾部 , 将分片描述信息依据分片的序号顺序存储于所述有序数据块; 根据所述有序数据块中的分片描述信息, 确定已接收完一个报文的所有分 片, 重组所述报文。
[2] 如权利要求 1所述的多链路协议分片数据的重组方法, 其特征在于, 所述从 各分片描述信息数据块的数据块首中, 提取出序号最小的分片的分片描述 信息之后还包括:
将所述提取出的序号最小的分片的分片描述信息所在的分片描述信息数据 块的数据块首更新为所述序号最小的分片的分片描述信息指向的下一个分 片描述信息。
[3] 如权利要求 2所述的多链路协议分片数据的重组方法, 其特征在于, 所述从 各分片描述信息数据块的数据块首中, 提取出序号最小的分片的描述信息 之前还包括:
判断是否至少有一个分片描述信息数据块的数据块首发生更新, 如果判断 为是, 从各分片描述信息数据块的数据块首中, 重新提取出序号最小的分 片的描述信息。
[4] 如权利要求 1所述的多链路协议分片数据的重组方法, 其特征在于, 所述从 各分片描述信息数据块的数据块首中, 提取出序号最小的分片的描述信息 包括:
从各分片描述信息数据块的数据块首中, 确定序号最小的分片; 判断所述序号最小的分片是否是目标分片, 所述目标分片的序号为所述有 序数据块的尾部的分片描述信息对应的分片的序号增 1, 如果判断为是, 从 各分片描述信息数据块的数据块首中提取出所述序号最小的分片的描述信 息。
[5] 如权利要求 4所述的多链路协议分片数据的重组方法, 其特征在于, 还包括 当判断所述序号最小的分片是否是目标分片的判断结果为否吋, 丢弃所述 序号最小的分片, 并释放所述序号最小的分片占用的存储资源。
[6] 如权利要求 5所述的多链路协议分片数据的重组方法, 其特征在于, 所述丢 弃所述序号最小的分片包括:
判断所述序号最小的分片的序号与所述有序数据块的尾部的分片描述信息 对应的分片的序号的差值是否大于预设的门限值, 如果判断为是, 丢弃所 述序号最小的分片;
或, 判断所述序号最小的分片是否超吋, 如果判断为是, 丢弃所述序号最 小的分片。
[7] 如权利要求 2所述的多链路协议分片数据的重组方法, 其特征在于, 所述方 法还包括:
当根据所述有序数据块中的分片描述信息, 确定未接收完一个报文的所有 分片, 判断所述报文的分片是否出错, 如果判断为是, 丢弃出错的分片并 释放所述出错的分片占用的存储资源; 如果判断为否, 从各分片描述信息 数据块的数据块首中, 提取出序号最小的分片的分片描述信息。
[8] 如权利要求 7所述的多链路协议分片数据的重组方法, 其特征在于, 所述判 断报文分片是否出错, 如果判断为是, 丢弃出错的分片并释放所述出错的 分片占用的存储资源包括:
判断接收的序号是连续的分片中是否包括有两个标识为第一分片的分片, 而未包括标识为最后分片的分片, 如果判断为是, 将前一个第一分片的序 号到后一个第一分片的序号之间的所有分片丢弃, 并释放所述丢弃的分片 占用的存储资源;
或, 判断接收的序号是连续的分片中是否包括有两个标识为最后分片的分 片, 而未包括标识为第一分片的分片, 如果判断为是, 将前一个最后序号 到后一个最后序号之间的所有分片, 连同所述后一个最后分片一起丢弃, 并释放所述丢弃的分片占用的存储资源。
[9] 如权利要求 1所述的多链路协议分片数据的重组方法, 其特征在于, 所述重 组所述报文之后包括:
释放所述报文的各分片占用的存储资源。
[10] 如权利要求 1-9中任一项所述的多链路协议分片数据的重组方法, 其特征在 于, 所述分片描述信息数据块为动态链表。
[11] 一种多链路协议分片数据的重组装置, 其特征在于, 包括:
提取单元, 用于从存储的各分片描述信息数据块的数据块首中, 提取出序 号最小的分片的分片描述信息, 其中, 一个分片描述信息数据块用于根据 接收的同一链路的分片的序号, 顺序存储所述同一链路的分片的分片描述
I口自te!、.,
添加单元, 用于将所述提取单元提取出的序号最小的分片的分片描述信息 加入到有序数据块的尾部, 将分片描述信息依据分片的序号顺序存储于所 述有序数据块;
重组处理单元, 用于根据所述有序数据块中的分片描述信息, 确定已接收 完一个报文的所有分片, 重组所述报文。
[12] 如权利要求 11所述的多链路协议分片数据的重组装置, 其特征在于, 所述 装置还包括:
更新单元, 用于当所述提取单元提取出序号最小的分片的分片描述信息后 , 将所述分片描述信息所在的分片描述信息数据块的数据块首更新为所述 序号最小的分片的分片描述信息指向的下一个分片描述信息。
[13] 如权利要求 12所述的多链路协议分片数据的重组装置, 其特征在于, 所述 装置还包括:
第一判断单元, 用于判断是否至少有一个分片描述信息数据块的数据块首 发生更新, 如果判断为是, 通知所述提取单元重新提取出序号最小的分片 的分片描述信息。
[14] 如权利要求 11所述的多链路协议分片数据的重组装置, 其特征在于, 所述 提取单元包括: 确定单元, 用于从各分片描述信息数据块的数据块首中, 确定序号最小的 分片;
第二判断单元, 判断所述确定单元确定的序号最小的分片是否为目标分片 , 所述目标分片的序号为所述有序数据块的尾部的分片描述信息对应的分 片的序号增 1 ;
第一处理单元, 用于当所述第二判断单元的判断结果为是吋, 从各分片描 述信息数据块的数据块首中提取出所述序号最小的分片的分片描述信息;
[15] 如权利要求 14所述的多链路协议分片数据的重组装置, 其特征在于, 所述 提取单元还包括:
第二处理单元, 用于当所述第二判断单元的判断结果为否吋, 丢弃所述确 定单元确定的序号最小的分片, 并释放所述序号最小的分片占用的存储资 源。
[16] 如权利要求 15所述的多链路协议分片数据的重组装置, 其特征在于, 所述 提取单元还包括:
第三判断单元, 用于当所述第二判断单元的判断结果为否吋, 判断所述序 号最小的分片的序号与所述有序数据块尾部的分片描述信息对应的分片的 序号的差值是否大于预设的门限值, 如果判断为是, 通知所述第二处理单 元丢弃所述序号最小的分片, 并释放所述序号最小的分片占用的存储资源
[17] 如权利要求 15所述的多链路协议分片数据的重组装置, 其特征在于, 所述 提取单元还包括:
第四判断单元, 用于当所述第二判断单元的判断结果为否吋, 判断所述序 号最小的分片是否超吋, 如果判断为是, 通知所述第二处理单元丢弃所述 序号最小的分片, 并释放所述序号最小的分片占用的存储资源。
[18] 如权利要求 12所述的多链路协议分片数据的重组装置, 其特征在于, 所述 重组处理单元包括:
第六判断单元, 用于根据所述有序数据块中的分片描述信息, 判断是否已 接收完一个报文的所有分片; 第三处理单元, 用于当所述第六判断单元的判断结果为是吋, 重组所述报 文;
第四处理单元, 用于当所述第六判断单元的判断结果为否吋, 通知所述提 取单元从各分片描述信息数据块的数据块首中, 提取出序号最小的分片的 分片描述信息。
[19] 如权利要求 18所述的多链路协议分片数据的重组装置, 其特征在于, 所述 第四处理单元包括:
第七判断单元, 用于当所述第六判断单元的判断结果为否吋, 判断报文分 片是否出错;
第五处理单元, 用于当所述第七判断单元的判断结果为是吋, 丢弃出错的 分片并释放所述出错的分片占用的存储资源;
第六处理单元, 用于当所述第七判断单元的判断结果为否吋, 通知所述提 取单元从各分片描述信息数据块的数据块首中, 提取出序号最小的分片的 分片描述信息。
[20] 如权利要求 11所述的多链路协议分片数据的重组装置, 其特征在于, 所述 装置还包括:
第七处理单元, 用于当所述重组处理单元重组所述报文后, 释放所述报文 的各分片占用的存储资源。
[21] 如权利要求 11-20中任一项所述的多链路协议分片数据的重组装置, 其特征 在于, 所述装置还包括:
存储单元, 用于存储接收的多个分片数据、 多个分片描述信息数据块及有 序数据块, 其中所述一个分片描述信息数据块用于根据接收的同一链路的 分片的序号, 顺序存储所述同一链路的分片的分片描述信息, 将分片描述 信息根据分片的序号顺序存储于所述有序数据块。
[22] 一种多链路协议分片数据的重组系统, 其特征在于, 包括:
存储装置, 用于存储接收的分片数据、 多个分片描述信息数据块及有序数 据块, 其中所述一个分片描述信息数据块用于根据接收的同一链路的分片 的序号, 顺序存储所述同一链路的分片的分片描述信息, 将分片描述信息 根据分片的序号顺序存储于所述有序数据块;
重组装置, 用于从所述存储装置所存储的各分片描述信息数据块的数据块 首中, 提取出序号最小的分片的分片描述信息; 并将所述提取出的序号最 小的分片的分片描述信息加入到有序数据块的尾部, 并根据所述有序数据 块中的分片描述信息, 确定已接收完一个报文的所有分片吋, 重组所述报 文。
PCT/CN2009/073247 2008-08-27 2009-08-13 一种多链路协议分片数据的重组方法、装置及系统 WO2010022629A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810198050.X 2008-08-27
CN200810198050XA CN101662461B (zh) 2008-08-27 2008-08-27 一种多链路协议分片数据的重组方法、装置及系统

Publications (1)

Publication Number Publication Date
WO2010022629A1 true WO2010022629A1 (zh) 2010-03-04

Family

ID=41720826

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/073247 WO2010022629A1 (zh) 2008-08-27 2009-08-13 一种多链路协议分片数据的重组方法、装置及系统

Country Status (2)

Country Link
CN (1) CN101662461B (zh)
WO (1) WO2010022629A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491096A (zh) * 2013-09-29 2014-01-01 中国科学院信息工程研究所 一种IPv6分片报文抗攻击重组方法及装置
CN108667755A (zh) * 2017-03-27 2018-10-16 中兴通讯股份有限公司 一种报文分片存储及重组的方法和装置
CN114731334A (zh) * 2020-02-14 2022-07-08 华为技术有限公司 报文保序方法和装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101917472B (zh) * 2010-08-12 2013-05-29 北京星网锐捷网络技术有限公司 一种多链路报文的重组方法、装置及设备
CN102647353B (zh) * 2012-04-06 2015-01-21 华为技术有限公司 报文分片获取方法及装置
CN104639511B (zh) * 2013-11-13 2018-08-03 安凯(广州)微电子技术有限公司 一种节省内存的实现方法及装置
CN105376165B (zh) * 2015-10-15 2019-02-22 深圳市金证科技股份有限公司 Udp组播方法、系统、发送装置及接收装置
CN105871739B (zh) * 2016-06-17 2018-12-07 华为技术有限公司 一种处理报文的方法及计算设备
CN107666626B (zh) * 2016-07-27 2020-10-23 中国电信股份有限公司 多波长通道的数据传输方法、光线路终端以及系统
CN108616327B (zh) * 2016-12-12 2021-03-26 中国航空工业集团公司西安航空计算技术研究所 基于fc-asm协议的并发分片消息接收方法及电路
CN112311692A (zh) * 2019-07-31 2021-02-02 华为技术有限公司 报文处理方法及装置、端设备
CN112996053B (zh) * 2019-12-16 2023-04-18 成都鼎桥通信技术有限公司 语音数据包的重排序方法、装置及设备
CN113259715A (zh) * 2021-05-07 2021-08-13 广州小鹏汽车科技有限公司 多路视频数据的处理方法、装置、电子设备及介质
CN114584560B (zh) * 2022-03-11 2023-12-22 西南科技大学 一种分片帧重组方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4703475A (en) * 1985-12-04 1987-10-27 American Telephone And Telegraph Company At&T Bell Laboratories Data communication method and apparatus using multiple physical data links
US20030156599A1 (en) * 2002-02-21 2003-08-21 Lorenzo Casaccia Method and apparatus for radio link control of signaling messages and short message data services in a communication system
CN1509025A (zh) * 2002-12-18 2004-06-30 ��Ϊ�������޹�˾ 一种实现报文分片组包的方法
CN1581793A (zh) * 2003-08-05 2005-02-16 华为技术有限公司 因特网协议(ip)包进行重组的装置和方法
CN1713637A (zh) * 2004-06-27 2005-12-28 华为技术有限公司 一种分片报文的重组方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4703475A (en) * 1985-12-04 1987-10-27 American Telephone And Telegraph Company At&T Bell Laboratories Data communication method and apparatus using multiple physical data links
US20030156599A1 (en) * 2002-02-21 2003-08-21 Lorenzo Casaccia Method and apparatus for radio link control of signaling messages and short message data services in a communication system
CN1509025A (zh) * 2002-12-18 2004-06-30 ��Ϊ�������޹�˾ 一种实现报文分片组包的方法
CN1581793A (zh) * 2003-08-05 2005-02-16 华为技术有限公司 因特网协议(ip)包进行重组的装置和方法
CN1713637A (zh) * 2004-06-27 2005-12-28 华为技术有限公司 一种分片报文的重组方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491096A (zh) * 2013-09-29 2014-01-01 中国科学院信息工程研究所 一种IPv6分片报文抗攻击重组方法及装置
CN108667755A (zh) * 2017-03-27 2018-10-16 中兴通讯股份有限公司 一种报文分片存储及重组的方法和装置
CN114731334A (zh) * 2020-02-14 2022-07-08 华为技术有限公司 报文保序方法和装置
CN114731334B (zh) * 2020-02-14 2023-10-20 华为技术有限公司 报文保序方法和装置

Also Published As

Publication number Publication date
CN101662461A (zh) 2010-03-03
CN101662461B (zh) 2012-08-08

Similar Documents

Publication Publication Date Title
WO2010022629A1 (zh) 一种多链路协议分片数据的重组方法、装置及系统
EP1754349B1 (en) Hardware filtering support for denial-of-service attacks
JP5827413B2 (ja) 多配送ルートパケット順序付け
JP5859669B2 (ja) 通信ネットワークにおける配送ルート変化に基づくパケットオーダリング
JP4779955B2 (ja) パケット処理装置及びパケット処理方法
US7602809B2 (en) Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability
JP5696854B2 (ja) パケット再送制御装置とパケット再送制御方法
WO2010075795A1 (zh) 分片信息处理的方法和装置
US8170061B2 (en) Communication device
WO2009021417A1 (fr) Procédé, système et dispositif de transmission et de réception de données de réseau
WO2012162949A1 (zh) 一种报文重组重排序方法、装置和系统
US8773977B2 (en) Packet receiving device, packet communication system, and packet reordering method
US10880778B2 (en) Message cache management in a mesh network
JPWO2008029793A1 (ja) パケット回復方法、通信システム、情報処理装置およびプログラム
US10505677B2 (en) Fast detection and retransmission of dropped last packet in a flow
CN107749826B (zh) 一种数据包转发方法及系统
US20120063463A1 (en) Packet aligning apparatus and packet aligning method
US11201825B2 (en) Transfer device and transfer method
CN110858794B (zh) 多频段传输方法及装置
Cui et al. MIND: Message classification based controller scheduling method for resisting DDoS Attack in Software-Defined Networking
JP6221786B2 (ja) 中継装置、通信システム、および、通信方法
CN102447608B (zh) 采用加速技术实现包重组的方法、装置及系统
CN113422741B (zh) 一种时间触发以太网交换机结构
CN117081799A (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: 09809214

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: 09809214

Country of ref document: EP

Kind code of ref document: A1