CN106576073A - Methods and systems for transmitting data through an aggregated connection - Google Patents

Methods and systems for transmitting data through an aggregated connection Download PDF

Info

Publication number
CN106576073A
CN106576073A CN201480081080.6A CN201480081080A CN106576073A CN 106576073 A CN106576073 A CN 106576073A CN 201480081080 A CN201480081080 A CN 201480081080A CN 106576073 A CN106576073 A CN 106576073A
Authority
CN
China
Prior art keywords
oep
gsn
dep
tunnel
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480081080.6A
Other languages
Chinese (zh)
Other versions
CN106576073B (en
Inventor
宋浩伟
陈浩明
吴锦超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pismo Labs Technology Ltd
Original Assignee
Pismo Labs Technology 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 Pismo Labs Technology Ltd filed Critical Pismo Labs Technology Ltd
Priority to CN201911234144.2A priority Critical patent/CN110912798B/en
Publication of CN106576073A publication Critical patent/CN106576073A/en
Application granted granted Critical
Publication of CN106576073B publication Critical patent/CN106576073B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking

Landscapes

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

Abstract

The present invention discloses methods and systems for processing data packets received at a first network node and for processing encapsulating packets received at a second network node. The first network node receives data packets from its network interface. It then selects a first tunnel and selects none or at least one second tunnel according to a selection policy. Original en capsulating packets (OEPs) are transmitted to a second network node through the first tunnel and at least one duplicate encapsulating packet (DEP) is transmitted through the at least one second tunnel. The second network node receives an encapsulating packet with a global sequence number (GSN) through an aggregated connection. The second network node determines whether one or more data packets corresponding to the encapsulating packet have been received earlier. The second network node may then determine whether or not to forward the one or more data packets.

Description

For by the method and system of polymerization connection transmission data
Technical field
The present invention relates generally to computer network field.More particularly, the present invention relate to process by with multiple The method and system of the packet, wrapper and duplication wrapper of the polymerization connection transmission in tunnel.
Background technology
Many wide area network (WAN) site-to-site vpn routers are to support the multiple interconnection of polymerization (for example, for accessing one Or multiple remote private networks WAN connection) bandwidth router.In some embodiments, each TCP/IP can speech channel By to only one WAN.In this configuration, single TCP file transfer sessions can only utilize the band of the WAN connections on often end It is wide.For example, in conversation-based site-to-site Virtual Private Network (VPN) connection, VPN flows are routed to two websites Multiple WAN connections between (for example, website A and website B).
In one embodiment, initially WAN connection between formed M × N number of tunnel, wherein M and N is respectively website A The quantity connected with the WAN network of website B.Subsequently, application program TCP/IP session route on different tunnels.However, value It is to be noted that, although conversation-based site-to-site vpn can for different sessions use different tunnels, but Single download session in such connection can only utilize a tunnel.
In wireless communications, the quality of bag transmission is possibly uncertain, and packet loss can be frequently changed.This meeting Reduce the quality of whole bag transmission.Even if the bandwidth in each tunnel limits very high, but packet loss is likely to improve.Need Improving the probability of Successful transmissions data using multiple tunnels, this can come real to a solution by using copy package It is existing.
The content of the invention
The invention discloses the method and system for processing the packet received at first network node.When the first net Network node from the network interface receiving data bag of first network node when, first network node according to selection strategy select the first tunnel Road, and also at least one second tunnels are not selected or selected according to the selection strategy.Subsequently, first network node passes through first Tunnel transmission original package bag (OEP).OEP is by packet encapsulation, and each OEP has original package bag global sequence number (OEP-GSN).OEP-GSN is stored in the field of each OEP.When have selected at least one second tunnels, first network section Point also replicates wrapper (DEP) by least one second tunnel transmission at least one.In at least one DEP encapsulated data packets At least one.Each at least one DEP has the duplication envelope being stored in the field of each at least one DEP Zhuan Bao global sequences number (DEP-GSN).
First tunnel and at least one second tunnels may include in polymerization connection.Selection strategy is based in following standard One or more:User's selection, the performance in multiple tunnels, service provider, using restrictions, position, the time, using price, pacify Quan Xing, user identity, Internet protocol address scope, communication protocol, the communication technology, application and device.According to one of embodiment, The performance in the first tunnel is confirmed as the performance better than the second tunnel, and performance is based essentially on delay and the bandwidth in tunnel.
According to one of embodiment, the OEP-GSN of OEP is identical with the DEP-GSN of at least one DEP.
According to one of embodiment, at least one DEP includes the list of OEP-GSN.The list of OEP-GSN is comprising at least One OEP-GSN.
According to one of embodiment, when multiple DEP are transmitted for each OEP, passed by the different tunnels of polymerization connection Each in defeated multiple DEP.
The invention also discloses be used to be processed at the second network node being received from first network node by polymerization connection Wrapper method and system.A reception wrapper in the tunnel that second network node passes through polymerization connection.Wrapper Can be OEP or DEP.When wrapper is OEP, its encapsulated data packet.Alternatively, when wrapper is DEP, its encapsulation is real Packet information in matter based on packet.Packet may originate from first network node, or be received by first network node Packet.Second network node have received packet before determining whether by the connection that is polymerized.The determination is based essentially on The record of the global sequence number (GSN) of disappearance.When the second network node determines forwarding packet, if wrapper is OEP, Second network node decapsulates packet from wrapper.If wrapper is DEP, the second network node is based essentially on number Packet is re-created according to package informatin.Subsequently, the second network node forwards the packet to its destination.In the header of packet Middle instruction destination.Subsequently, the record of the GSN of the renewable disappearance of the second network node.
According to one of embodiment, when wrapper is that DEP and packet information preserve the bag or error correction information of multiple encapsulation, Wrapper includes the list of OEP-GSN.
According to one of embodiment, whether the second network node determines GSN corresponding with packet in the record of the GSN for lacking In.If GSN is not in the record of the GSN of disappearance, the determination of the second network node does not forward packet, if alternatively, In the record of the GSN of disappearance, then the second network node determines forwarding packet to GSN.
According to one of embodiment, the second network node can be expected determining whether to further be updated after forwarding packet Global sequence number.
Description of the drawings
Fig. 1 shows the whole system of the handling capacity for being used for optimizing multiple bandwidth varying connections according to an embodiment of the invention System;
Figure 1B shows the network environment of each embodiment of the invention;
Fig. 1 C show and fitted according to the embodiment for being configured to the handling capacity for optimizing multiple bandwidth varyings connection of binding The system 100 matched somebody with somebody;
Fig. 2A shows the stream of the method for describing the handling capacity for being used for improving binding connection according to an embodiment of the invention Cheng Tu;
Fig. 2 B show the stream of the method for describing the handling capacity for being used for improving binding connection according to an embodiment of the invention Cheng Tu;
Fig. 3 is that the type for illustrating the information that can be encapsulated according to an embodiment of the invention in transmitted IP bags is shown Example embodiment;
Fig. 4 A are the example realities of the type for illustrating the information that can be encapsulated according to an embodiment of the invention in feedback bag Apply example;
Fig. 4 B are the charts of the probable value of the field of the feedback bag for illustrating Fig. 4 A;
Fig. 5 depicts the block diagram of the processing system for being adapted for carrying out the present invention;
Fig. 6 is the flow process for transmitting the process of wrapper by polymerization connection for illustrating each embodiment of the invention Figure;
Fig. 7 is to illustrate the flow chart for processing the process of the wrapper for receiving;
Fig. 8 A show the structure of the original package bag (OEP) according to each embodiment;
Fig. 8 B show the structure of the duplication wrapper (DEP) of one of embodiments in accordance with the present invention;
Fig. 8 C show the structure of the DEP of one of embodiments in accordance with the present invention;
Fig. 9 is the flow chart for transmitting the process of DEP for illustrating one of embodiments in accordance with the present invention;
Figure 10 is the flow chart of the process for illustrating one of embodiments in accordance with the present invention;
Figure 11 is the flow chart for illustrating the process for processing the wrapper received by polymerization;
Figure 12 A show the content of the DEP according to exemplary embodiment;
Figure 12 B show the content of the DEP according to one of embodiment;
Figure 12 C show the content of the DEP according to one of embodiment;And
Figure 13 is to illustrate the flow chart for processing the process of DEP according to one of embodiment.
Specific embodiment
Figure 1A shows that basis is configured to be adjusted during data transmission conversation tunnel bandwidth weighting pattern come excellent Change the system 100 that the embodiment of the handling capacity of multiple bandwidth varyings connection of binding is adapted to.System 100 including each include to Multiple websites 102 and 104 of a few network node.Network node can be referred to as communications router.However, the model of the present invention Enclose and be not limited to communications router so that the present invention can be in the network node of gateway, router, server or any other type Place performs.For simplicity, Figure 1A is illustrated:Website 102 include communications router 106 and website 104 include communication lines by Device 108.Communications router 106 and communications router 108 are capable of achieving to support many WAN of the bandwidth of the multiple internet connections of polymerization Router.Communications router 106 and communications router 108 are connected by network 110.Network 110 may include LAN, MAN, WAN, Wireless network, PSTN, internet, Intranet, extranet etc..
Website 102 and router 106 may include M connection 112, and website 104 and router 108 may include N number of company Connect 114.Connection 112 and connection 114 are for the data company of the communication information in the network 110 between website 102 and website 104 Connect.In the embodiment shown, M is equal to 3 and N and is equal to 2;However, these values can change according to desired router and configuration.Even Connecing 112 can have similar or different bandwidth ability with connection 114.Additionally, connection 112 and connection 114 may include inhomogeneity The WAN connections of type, such as WiFi, wired, DSL, Tl, 3G, 4G, satellite connection etc..It shall yet further be noted that website 102 and website 104 are equal Can be considered as sender or recipient, and the discussion with regard to the function of either site among both can be on another website Realize.In other words, system 101 can be implemented as symmetrical network.
Figure 1B shows the network environment of one of embodiments in accordance with the present invention.Communications router 106 and communication lines by Tunnel 103A, 103B and 103C are established between device 108.Tunnel 103A, 103B and 103C can be bound to form polymerization connection.
According to one of embodiment, communications router 106 and communications router 108 can have multiple network interfaces.Communication lines Built with one or more network interfaces of communications router 108 via one or more in its multiple network interface by device 106 Vertical tunnel 103A, 103B and 103C.
Communicator 106 and communicator 108 can be used as gateway, router, switch, access point, hub, bridge Deng.
Fig. 1 C show and fitted according to the embodiment for being configured to the handling capacity for optimizing multiple bandwidth varyings connection of binding The system 100 matched somebody with somebody.In addition to MxN virtual channel 116, system 100 is similar to system 101.When such as by realizing binding Site-to-site VPN be connected between website 102 and website 104 create binding connection when, MxN tunnel 116 can be created. Tunnel 116 is corresponding with the unique arrangement of the network connection of website 102 and the network connection of website 104.Polymerization connection can be logical Formed between letter router 106 and communications router 108.Tunnel 116 can be virtual channel.
Multiple set up tunnels 116 can be polymerized, combined or bound together to form a polymerization connection.Ability It should be understood that there are numerous ways to be polymerized, combine or bind multiple set up tunnels to form one in field technique personnel Aggregating tunnel.Polymerization connection is currently in use its session or application program is considered as a tunnel.Polymerization connection can be end-to-end Connection, VPN connect or without connection-oriented connection.For example, the connection that is polymerized can be TCP connections or UDP connections. In another example, polymerization connection is the polymerization in multiple tunnels, and each tunnel is in communications router 106 and communications router Link between 108.In another example, polymerization connection can be the vpn tunneling for including multiple set up tunnels, and each The tunnel set up is linked between communications router 106 and communications router 108.
Fig. 2A shows the senior of the operation of the system 100 of the method 200 for describing the handling capacity for raising binding connection Flow chart.It should be appreciated that specific function, order of function for providing in Fig. 2A etc. are intended to as the example according to present inventive concept Property operation.Therefore, it can the various modes in the way of different from illustrated embodiment to realize design herein.
At the block 201 of illustrated embodiment, when the site-to-site vpn such as bound by realization is connected to router When binding connection is set up between 102 and router 104, MxN virtual channel 116 as is shown in fig. 1 c can be created.Virtually Tunnel 116 is corresponding with the unique arrangement of the network connection of website 102 and the network connection of website 104.
At the block 202 of illustrated embodiment, it is determined that and/or distribution tunnel default-weight.It is real in order to determine default-weight The connection 112 that example is exchanged between website 102 and website 104 is applied with the uplink bandwidth data and downlink band that connect 114 Wide data.Using this band data, default-weight can be calculated according to following methods:Assume the connection 1 of website 102 to connection The downlink bandwidth of m is d1, d2...dm, and the uplink bandwidth of the connection 1 of website 104 to connection n is U1, U2,...Un;The default-weight in the tunnel between the connection X of website 102 and the connection Y of website 104 can be defined as DW (x, y), Wherein DW (x, y)=dx.dy.Default-weight is calculated using said method, if connection 112-1 to connection 112-3 is that have The WAN connections of many wan routers of the uplink/downlink bandwidth of corresponding 10M/6M, 8M/4M and 6M/6M, and even Connect many WAN routes that 114-1 to connection 114-2 is the uplink/downlink bandwidth with corresponding 7M/5M and 9M/3M The WAN connections of device, then the respective default-weight in each tunnel will be shown below:
【Table 001】
Website 102 Website 104
DW (1,1)=6*7=42 DW (1,1)=5*10=50
DW (1,2)=6*9=54 DW (1,2)=5*8=40
DW (2,1)=4*7=28 DW (1,3)=5*6=30
DW (2,2)=4*9=36 DW (2,1)=3*10=30
DW (3,1)=6*7=42 DW (2,2)=3*8=24
DW (3,2)=6*9=54 DW (2,3)=3*6=18
Note, contemplate the alternate manner for calculating default-weight, therefore the above is only embodiments of the invention Embodiment example.Note, it is possible to use many different weighting patterns are defining the initial bandwidth in tunnel.For example, it may be possible to Expect only to come in one direction to tunnel using the downlink capacity of receiving station and the uplink capacity of transmitting station Weighting.Can use for being characterized in any weighting mould for setting up the capacity in tunnel when binding connects for the purpose of the present invention Formula.
When bag slave site 102 is routed to into website 104 according to embodiment, with according to the ratio of effective weight EW (x, y) Bag is distributed to into tunnel.Initially, effective weight of embodiment is equal to into default-weight, EW (x, y)=DW (x, y), and And if the bandwidth in tunnel 116 keeps initial setting up constant, then effective weight is optimal for bag distribution.However, If the user while one or more tunnel packet losses, then session when binding network connection is passed through in TCP sessions to download file Whole handling capacity can decline to a great extent.In a way, this is because packet loss will cause TCP constant retransmissions, although do not have The tunnel for having packet loss is not otherwise fully engaged, but the flow control of TCP will also keep relatively low handling capacity.
A kind of effective means for increasing handling capacity is to avoid this packet loss.For this purpose, embodiments of the invention are in shown enforcement When tunnel is just experiencing being identified when increasing or decreasing for packet loss at the block 203 of example.Embodiment is additionally operable to be changed at block 204 Experiencing or having gone through effective weight in the tunnel of packet loss change.Packet loss information can be continuously monitored, or Packet loss information is monitored based on the concrete time period.Once it is determined that (block 204- when tunnel is experiencing unacceptable packet loss 1), then illustrated embodiment block reduces effective weight in tunnel at 204-2.In certain embodiments, it is impossible to which receiving may meaning It is non-zero amount packet loss, and other embodiments can determine that unacceptable ratio is any ratio more than predefined threshold value Rate.Embodiment is realized in a step-wise fashion, in a continuous manner, the mode such as proportionally disposably to reduce with the increase of packet loss Effectively weight is reduced.When in a step-wise fashion being reduced, embodiment can continue to monitor the tunnel, be realized to optimize Decrement.
Tunnel can be set up or monitor by sending heartbeat packet via each tunnel from router 106 or router 108 116.In certain embodiments, when receiving terminal fails to receive heartbeat packet from tunnel within a period of time, then it regards in the tunnel To close, and the tunnel will be not used in routing traffic.If heartbeat packet is started again at and received, the tunnel can be built again It is vertical, and be weighted together with other tunnels.Thus, lose in tunnel in all bags and effective weight in the tunnel is reduced In the case of being zero, embodiment can monitor and re-establish connection using heartbeat packet.
Additionally, when its each all or part of bandwidth of tunnel restoration, for example, determine that packet loss declines (block 204-3), Then illustrated embodiment is used to increase effective weight (block 204-4) in this tunnel, fully or more fully to utilize band It is wide.Some embodiments increase effective weight in tunnel using pre- fixed step size, until regaining accurate effectively weight.Other Embodiment can the bandwidth that remeasure corresponding with the packet loss for remeasuring proportionally increase effective weight.Additionally, real Applying example can increase effective weight in tunnel based on predetermined linear or exponential scale.
After effective weight in adjustment tunnel, or determine when need not adjust, then at the block 205 of illustrated embodiment more The weighting pattern of new system.The renewal may include to store the information of any process, in further processing using this information, make The system of obtaining does not take action etc..For example, the operable process with regard to performed by block 205 is with the average weighted mould within a period of time Formula, such as, so as to reduce the mistake extremely related to height transient state.Additionally, as discussed with regard to Fig. 2 B, the letter of renewal Breath can be used on the system 100, be distributed with the bag for changing data transmission conversation.System 100 can continue in the data transmission conversation phase Between the step of continuously or periodically implement 203 to 205.
Fig. 2 B show such embodiment, wherein after method of weighting 200 is implemented, being based at least partially on modification Tunnel weight is distributing bag.Specifically, the block 206 of illustrated embodiment is operated and determined by the operation of method 200 with basis Weighting pattern distributing the bag for passing through tunnel.In certain embodiments, this distribution will change during data transmission conversation, Therefore, the step of Fig. 2 B are shown as circulation.Some embodiments change bag distribution whenever the more new system at block 205.Additionally, block 205 may be in response to some Loss Rates changes threshold value etc. so that change is implemented periodically.It should be appreciated that by the behaviour of method 200 Make to determine to weight to distribute to bag from the weight application by determined by block 206 there can be the different cycles.For example, method 200 are operable as providing the renewal of weighting pattern information using relatively short iteration cycle, and use longer iteration cycle To be based on the distribution that this weighting pattern information changes bag.
In order to monitor the bandwidth in each tunnel 116, some embodiments of the present invention make the IP encapsulatings of each transmission equipped with each The information of kind.Fig. 3 shows the example embodiment for illustrating the information type 300 that can be encapsulated in the IP bags of transmission.The IP of transmission Bag is referred to alternatively as wrapper, i.e. original package bag replicates wrapper.The details of original package bag and duplication wrapper is in figure Illustrate in 8A, Fig. 8 B and Fig. 8 C.Version field 302 can include the information of the protocol version with regard to being currently in use, and protocol class Type-word section 303 can include the protocol type of payload bag.Generally, the value of the field will be relative with the Ethernet protocol type of bag Should.However, the added value defined in other documents.Tunnel ID field 304 can be 32 bit fields, and can include for recognizing The identifier of the current tunnel of IP bags.Advanced Encryption Standard (AES) initialization vector field 306 can be 32 bit fields, and can Comprising the initialization vector for AES encryption.Global sequence's field 308 can be 32 bit fields, and can comprising be used for work as Each bag of various sessions is resequenced as the sequence of appropriate order when the bag of each session occurs from the tunnel of each of which Number.Each tunnel sequence number (per tunnel sequence number) field 310 can be 32 bit fields, and it can represent distribution To the sequence number of each bag for being routed to particular tunnel.AES encryption payload field 312 can be used to transmit the effective of IP bags Load.For the higher security of payload, AES encryption can be applied to prevent from third-party attack.
Each tunnel sequence number discussed above can be used to monitor the bag lost in tunnel.In one embodiment, receive Each the tunnel sequence number for the bag that router at end is received by monitoring, the packet loss DR in each tunnel is calculated with every f seconds (x,y).The sequence number that DR (x, y) is characterized by being lacked in time period f increases divided by sequence number.The length of time period f can Become, and in one embodiment f is equal to 5 seconds.
Also the packet of loss can be monitored using other methods, for example:Sender can periodically notify receiving terminal it How many packets are have sent, sender sends heartbeat packet and receiving terminal per constant time period to receiving terminal can be passed through The Loss Rate of monitoring heartbeat packet estimating whole Loss Rate, by obtaining Loss Rate data, etc. from physical interface/device/layer.
Receiving terminal can be to Loss Rate, effective weight or other bandwidth indicators for sending router feedback particular tunnel.When When sender receives the information with regard to packet loss, effective weight EW (x, y) in tunnel is reduced EW (x, y) DR by some embodiments (x,y).Other modules can be used for changing effective weight in tunnel.In certain embodiments, sender can receive feedback, And effectively weight can be lowered the number more than or less than packet loss.This difference can be configured according to the particular demands of communication system It is different.Above-mentioned example proposes such a module, and its trial is reduced to effective weight in tunnel prevents further bag from losing The weight of the amount of bandwidth available in tunnel is maximized while mistake.Any module for finding this balance can be preferred.
Fig. 4 A show the example embodiment of the information type 400 that can be encapsulated in feedback bag, the feedback data coating Send to transmission route device to be reported in the packet loss or other bandwidth related datas that receive at receiving terminal router.Class type-word Section 402 may include the data relevant with the type of the data being included within the field 404 of data 1 and the field 406 of data 2.Data 1 Field 404 and including for the field 406 of data 2 can be used for auxiliary router determination with regard in tunnel quantity, tunnel bandwidth, tunnel Any information of the tunnel information of the quantity of the bag of loss etc..During data field 404 and 406 is shown in the chart of Fig. 4 B The example of the probable value of type field 402.
The information being encapsulated in the IP packets of transmission illustrated in such as Fig. 3 and Fig. 4 can be additionally used in bag buffering and again Sequence.Because the delay in each tunnel can be different, two when identical TCP sessions are continuously wrapped by binding When vpn tunneling is sent to VPN peer-to-peers, due to routeing the two continuous bags via two different tunnels, so it May not sequentially reach.If TCP sessions receive out-of-sequence packet from VPN, the TCP sessions will drop because TCP is transmitted again Speed.Therefore, receiving terminal should buffer the too early bag for arriving, until slower bag reaches or already exceed expiration time.There is this Buffering is planted, the delay bag come before expiration time will be sequentially forwarded to destination apparatus.This buffering contributes to optimizing end To end handling capacity.
Note, sometimes embodiments described herein is discussed in the context of VPN connections.Propose these discussion be in order to The example embodiment of binding connection is shown.Inventive concept claimed herein is not limited to this connection.It is in fact possible to sharp Realize to obtain wherein and exchanging enough data so that dynamic monitoring is in data transmission conversation with embodiments of the invention Any connection of the bandwidth of the multiple communication paths for using.
As described above, each bag can be allocated two different sequence numbers, global sequence number (GSN) and each tunnel sequence Number (PTSN).These numbers can be used for auxiliary bag buffering and operation of resequencing.After coating is transferred to upper strata, receiving terminal can be more New next expected each tunnel sequence number (NE-PTSN) and next expected global sequence number (NE-GSN)
It is explained below it is a kind of receive and decrypted packet after how can be forwarded to destination apparatus with buffers packet or by bag Method.
1., if the GSN of bag is equal to 0, destination apparatus are forwarded it to immediately.
2. whether the PTSN for checking bag is equal to NE-PTSN.If it is not, then sequentially go out team's (being forwarded to destination apparatus) have than All bags of the GSN of the bag little GSN.The bag is kept not process.
3. NE-PTSN (that is, NE-PTSN being set to into PTSN+1) is updated.
4., if GSN is less than NE-GSN, destination apparatus are forwarded to.
If 5. the GSN of bag is equal to NE-GSN, updates NE-GSN (that is, NE-GSN being set to into GSN+1) and forward To destination apparatus.If the GSN of header is equal to new NE-GSN, repeatedly updates NE-GSN and make buffering stem postpone and go out Team.
6. otherwise (GSN is more than NE-GSN), this is wrapped into by team with the order of GSN.
If 7. time of the bag in queue is longer than set time amount, the GSN+1 that NE-GSN is set to wrap, and presses Sequence wraps out team by the bag and with all of the GSN than the bag little GSN.
Therefore, the encapsulation package informatin for discussing in Fig. 2 and Fig. 3 may include such information:By in response to monitoring packet loss The optimization of liaison tunnel bandwidth and effective sequence of the bag by receiving in auxiliary data transmission session, Advance data quality number According to the whole handling capacity of Transmission system (such as, system 100).
Fig. 5 show can be used to implementing according to the system of some embodiments, apparatus and method it is exemplary based on processor System 500.The framework of communications router 106 and communications router 108 can be represented based on the system 500 of processor.Centre Reason unit (CPU) 501 is coupled to system bus 502.CPU 501 can be any universal cpu, or can be to be designed to realize State the dedicated cpu of teaching.The disclosure is not limited by the framework of CPU 501 (or other parts of example system 500), as long as CPU 501 (and other parts of system 500) supports that invention specifically described herein is operated.CPU 501 is executable herein Described various logic instruction.For example, CPU 501 can perform machine according to the example operational flow described above in conjunction with Fig. 2 Device level is instructed.When the instruction for representing the operating procedure illustrated in Fig. 2 is performed, it is according to herein that CPU 501 is changed into special configuration The application specific processor of the dedicated computing platform that the various embodiments of the teaching of description are operated.
System 500 also includes the random access memory (RAM) that can be SRAM, DRAM, SDRAM etc..RAM 503 can be to deposit Store up by the additional storage of the executable programmed instruction of CPU 501.System 500 includes being PROM, EPROM, EEPROM etc. Read-only storage (ROM) 504.As known in the art, RAM 503 and ROM 504 preserve user and system data with And program.
System 500 also includes input/output (I/O) adapter 505, communication adapter 511, user interface adapter 508 With display adapter 509.In certain embodiments, I/O adapters 505, user interface adapter 508 and/or communication adapter 511 can allow users to be interacted with input information with system 500.
I/O adapters 505 are by storage device 506 (such as hard disk drive, CD (CD) driver, floppy disk, magnetic One or more in tape drive etc.) it is connected to system 500.For associating with the operation for performing discussion in above-described embodiment Storage demand, also use storage device in addition to RAM 503.Communication adapter 511 is suitable to for system 500 to be coupled to net Network 512, this can make it possible to via this network 512 (for example, internet or other wide area networks, LAN, public or special friendship Change any combination of telephone network, wireless network, aforementioned network) to the input information of system 500 and/or from the output information of system 500.
Communication adapter 511 can be considered as network interface, and system 500 may include multiple communication adapters 511.With Family interface adapter 508 fills user input apparatus (such as, keyboard 513, fixed-point apparatus 507 and microphone 514) and/or output Put (such as, loudspeaker 515) and be coupled to system 500.Display adapter 509 is driven to control in display device 510 by CPU 501 Display.Display adapter 509 transmits the state for changing or manipulating the pixel of the various quantity that display device 510 is used Instruction, so that desired information is visually presented to user.This instruction includes special to pass, setting by opening for changing state Determine the instruction of color, intensity, duration etc..Each this instruction composition control how to show in display device 510 and What presentation instruction is shown in display device 510.
Fig. 6 is to illustrate connecting wrapper from communications router for passing through polymerization for each embodiment of the invention 106 flow charts for transmitting the process to communications router 108.Polymerization connection may include multiple tunnels.In step 601, communicate The CUP 501 of router 106 selects tunnel for transmitting original package bag (OEP) in multiple tunnels.Selected tunnel can It is referred to as the first tunnel.Subsequently, communications router 106 passes through the first tunnel transmission OEP.In step 602, CPU 501 is more Another tunnel is selected in individual tunnel for transmission copying wrapper (DEP).The tunnel for selecting in step 602 is referred to alternatively as Two tunnels.Subsequently, communications router 106 passes through the second tunnel transmission DEP.
In a modification, the process of Fig. 6 can be performed periodically.The process is preferably every to be performed one in several seconds It is secondary.Once alternatively, receive the process that triggering is carried out Fig. 6.For example, when CPU 501 is determined by the first tunnel and/or the When two tunnels do not receive confirmation or postpone to receive confirmation, triggering is received.This can be shown that prolonging for the first tunnel and/or the second tunnel Become very high late.Subsequently, the step of CPU 501 performs again Fig. 6 is selecting again the first tunnel and the second tunnel. In another example, triggering can be received when user or keeper manually start the process of Fig. 6.
First tunnel and the second tunnel can be selected according to selection strategy.In a modification, selection strategy can be based on following One or more in standard:The performance in tunnel, service provider, using restriction, position, the time, using price, security, User identity, Internet protocol address scope, communication protocol, the communication technology, application and device.When selection strategy is based on tunnel During performance, can be according to such as handling capacity, error rate, packet delay, packet jitter, symbol shake, service quality, bandwidth, bit error code Rate, packet error rate, frame error ratio, packet loss, queueing delay, circulation time, capacity, signal level, interference level, bandwidth -- delay The performance metrics of product, switching delay time, signaling interface ratio and signal to noise ratio etc are performing selection.
User or keeper can configure the selection strategy.For example, the selection strategy can be configured to be based only upon multiple by user The bandwidth in each tunnel in tunnel.Therefore, the tunnel with optimum bandwidth is selected as the first tunnel that OEP is transmitted by it Road.Another tunnel with sub-optimal bandwidth is selected as the second tunnel that DEP is transmitted by it.In another embodiment, Selection strategy can be configured to the delay in each tunnel that is based only upon in multiple tunnels by user.Therefore, select that there is lowest latency Tunnel as by its transmit OEP the first tunnel.Another tunnel with time low latency is selected as by its transmission Second tunnel of DEP.
In another example, user can be configured to selection strategy using restriction and packet loss.Select that there is highest Using the tunnel of restriction and/or minimum packet loss as the first tunnel.Select to have time highest using limiting and/or secondary minimum lose The tunnel of bag rate is used as the second tunnel.
In another modification, selection strategy is selected based on user.User or keeper can configure communications router 106 Be using certain tunnel as the first tunnel, and will other certain tunnel as the second tunnel.
User or keeper can by by web interface, application programming interfaces (API), command line interface or console come this Ground or remotely send configuration are configuring the selection strategy of communications router 106.
It will be appreciated by those skilled in the art that in wireless communications, bag transmission quality is possibly uncertain, and Postponing in some cases may be higher.Packet loss is likely to higher.Transmission DEP increased the receiving data of communications router 108 Chance, because OEP may lose.However, it is possible to significantly improve bandwidth by the transmission of DEP use.DEP can be additionally used in it is front to Error correction (FEC), this will be described in greater detail below.
Reference picture 8A, Fig. 8 B and Fig. 8 C, the information type being included in OEP 800 and DEP 810 and DEP 820 can be with figure The information type illustrated in 3 is similar.
Wrapper is packaged to packet.Therefore, when being packaged to packet by wrapper, packet is changed into Wrapper.Can by communications router 106 by one or more in its network interface from can be visited by communications router 106 Receiving data bag at main frame or node in the website 102 asked.Main frame or node can be located in the LAN of communications router 106.Can The source and destination of packet are indicated in the header of packet.
Each wrapper can be assigned two sequence numbers, i.e. global sequence number and each tunnel sequence number.Global sequence number Can be used for auxiliary bag buffering and operation of resequencing.When wrapper is assigned global sequence, it is intended that main frame or node root It is arranged into up to the wrapper at given host or node according to the corresponding global sequence number of wrapper.Each tunnel sequence number shows By which in multiple tunnels transmitting wrapper.
Fig. 8 A show the structure of the OEP according to each embodiment.OEP 800 includes that IP headers 801, original package bag are global The bag 805 of sequence number (OEP-GSN) 802, each tunnel sequence number 803, other information 804 and encapsulation.OEP-GSN 802 is preserved The OEP-GSN of OEP 800.IP headers 801 may include version field 302 and protocol type field 303.Each tunnel sequence number 803 can be optional.In a modification, each tunnel sequence number 803 and tunnel ID field 304 can be used to compare tunnel And bag can be redistributed according to tunnel performance.In another modification, when not including each tunnel sequence number 803 and tunnel ID words During section 304, it may be necessary to the information for maintaining database to store which tunnel for transmitting the wrapper of which GSN.By right Database performs lookup, may compare tunnel performance.Including each tunnel sequence number 803 and tunnel ID field 304 can be not therefore, Auxiliary determines and postpones in the case of needing maintenance and searching the database of all GSN.Other information 804 may include that AES is initialized VECTOR field 306 and tunnel ID field 304.In a modification, OEP-GSN 802, each tunnel sequence number 803 and other letters Breath 804 is included in the Option Field of IP headers 801, and the bag 805 for encapsulating is included in AES encryption payload field 312 In.The selection field of IP headers 801 includes the benefit of OEP-GSN 802, each tunnel sequence number 803 and other information 804 It is:Information is obtained in these fields by OEP 800 need not be decapsulated, this can be significantly reduced process time.However, working as During by tunnel transmission OEP 800, the router and device passed through due to OEP 800 can change IP headers 801, therefore, if They are included into that in the selection field of IP headers 801, then the information in these fields may be lost.Accordingly, as replacement, It is effective that the bag 805 of OEP-GSN 802, each tunnel sequence number 803, other information 804 and encapsulation can be entirely included in AES encryption In payload field 312 so that when the processes of OEP 800 can change the router and device of IP headers 801, information will not be lost.
Fig. 8 B show the structure of the DEP of one of embodiments in accordance with the present invention.DEP 810 includes IP headers 811, replicates The bag 815 of wrapper global sequence number (DEP-GSN) 812, each tunnel sequence number 813, other information 814 and encapsulation.IP is reported 811 may include version field 302 and protocol type field 303.Each tunnel sequence number 813 and other information 814 can be Optionally.Other information 814 may include AES initialization vectors field 306 and tunnel ID field 304.In a modification, DEP- GSN 812, each tunnel sequence number 813 and other information 814 are included in the Option Field of IP headers 811, and encapsulate Bag 815 is included in AES encryption payload field 312.Alternatively, DEP-GSN 812, each tunnel sequence number 813, its Its information 814 and the bag 815 of encapsulation are included in AES encryption payload field 312.Because DEP 810 includes and OEP The bag of 800 identicals encapsulation, so postpone during OEP 800 loses, loses or transmits, and before OEP 800 is received In the case of receiving DEP 810, DEP 810 can be used to re-create the information in OEP 800.
OEP-GSN 802 and DEP-GSN 812 can be identical.The bag 805 of encapsulation can be identical with 815 , thus, OEP 800 and DEP 810 encapsulates identical packet, the packet is changed into respectively the bag 805 and 815 for encapsulating.When When communications router 106 produces DEP 810 to transmit, its payload phase of payload (that is, the bag of encapsulation) with OEP 800 Together.Because OEP 800 and DEP 810 has identical content, therefore their global sequence number is also identical.
Fig. 8 C show the structure of the DEP of one of embodiments in accordance with the present invention.DEP 820 includes IP headers 821, DEP- The bag 825 of GSN 822, each tunnel sequence number 823, the list 826 of m OEP-GSN, other information 824 and encapsulation.Because The payload of DEP 820 connects the information of the last several OEP for transmitting comprising having passed through to be polymerized, so it can be used for again Create the bag of the encapsulation of the disappearance corresponding with OEP.This is explained in more detail in Figure 12 A, Figure 12 B and Figure 12 C.
DEP 820 can be transmitted periodically.In a deformation, can be between predefined each DEP 820 of transmission Time period.When the quantity of the OEP transmitted within the time period is n, DEP 820 may include the m envelope corresponding with n OEP The bag of dress, wherein, m is less than or equal to n, and the value of m is at least 1.The envelope in m OEP in the bag and n OEP of m encapsulation The bag of dress is identical.The bag of the m encapsulation of the bag 825-1,825-2 to 825-m that such as encapsulate may include to add in the AES of DEP 820 In close payload field 312.The list 826 of m OEP-GSN includes the OEP-GSN of the corresponding OEP of the bag with m encapsulation. For example, 10 OEP are transmitted in the predefined time period.First DEP 820 may include relative with 6 OEP in 10 OEP The bag of 6 encapsulation answered, and the 2nd DEP 820 may include the bag of 4 encapsulation corresponding with remaining 4 OEP.Advance After the time period of definition, a DEP 820 and the 2nd DEP 820 is transmitted.First DEP 820 and the 2nd DEP 820 can pass through Same tunnel or different tunnels are transmitted.Alternatively, a DEP 820 may include respectively corresponding with 10 OEP 10 The bag of individual encapsulation.After the predefined time period, a DEP 820 is transmitted.DEP 820 not may include more than 10 encapsulation Bag because each encapsulation bag must be corresponding with each OEP.
In another modification, the quantity of OEP before one DEP 820 of transmission is pre-defined.Therefore, predefined number Measure as n.DEP 820 may include the m bag that encapsulate corresponding with n OEP, wherein, m is less than or equal to n.The bag of m encapsulation Can be identical with the bag of the encapsulation in m OEP in n OEP.The m encapsulation of the bag 825-1,825-2 to 825-m that such as encapsulate Bag may include in the AES encryption payload field 312 of DEP 820.For example, when it is 5 to define n, per 5 OEP quilts After transmission, DEP 820 is transmitted, and DEP 820 includes the bag of 5 encapsulation corresponding with this 5 OEP.Transmission DEP 820 Between time period can not pre-define.The list 826 of m OEP-GSN includes 5 OEPs' corresponding with the bag of encapsulation OEP-GSN.Alternatively, when it is 5 to define n, after being transmitted per 5 OEP, transmitting a DEP 820 and the 2nd DEP 820.First DEP 820 may include the bag of the encapsulation corresponding with 2 OEP in this 5 OEP, and the 2nd DEP 820 can be wrapped Include the bag of the encapsulation corresponding with remaining 3 OEP in this 5 OEP.
DEP 820 can be used to correct any mistake that may be had occurred and that during n OEP of transmission, because the bag 825 of encapsulation is wrapped Containing the information in the packet being encapsulated in OEP.In a modification, DEP-GSN 822, each tunnel sequence number 823, The list 826 of m OEP-GSN and other information 824 may include in the Option Field of IP headers 821, and the bag 825 for encapsulating In being included in AES encryption payload field 312.Alternatively, DEP-GSN 822, each tunnel sequence number 823, m OEP- The bag 825 of the list 826, other information 824 and encapsulation of GSN is included in AES encryption payload field 312.By poly- One or more closed in the OEP of connection transmission have lost, lost or have postponed to be possible.Even if when OEP is received, Mistake is also likely to be present in OEP.DEP 820 can be used to re-create the bag of the encapsulation in OEP, and also for checking any mistake By mistake.Illustrate in Figure 12 A, Figure 12 B and Figure 12 C with regard to the details for re-creating of the bag of transmission and the encapsulation of DEP 820.
OEP 800 by from for transmitting the different tunnel transmission in tunnel of DEP 810 or DEP 820.Therefore, each tunnel Road sequence number 803 can be differed with each tunnel sequence number 813 or each tunnel sequence number 823.If OEP 800 and DEP passes through phase Same tunnel transmission, and the performance degradation in the tunnel, then possible OEP 800 and DEP can not be by communications router 108 successfully Receive.Therefore, in order to increase the chance that at least one of OEP 800 or DEP is received, by with for transmitting DEP 810 Or the different tunnel in tunnel of DEP 820 is transmitting OEP 800.
The source address shown in IP headers 801,811 and 812 can be the IP ground of one of the network interface of communications router 106 Location.The destination address shown in IP headers 801,811 and 812 can be the IP address of one of the network interface of communications router 108. The source address of the bag 805,815 and 825 of encapsulation can be can to pass through the main frame or section in the website 102 that communications router 106 is accessed The IP address of point.The destination address of the bag 805,815 and 825 of encapsulation can be can to pass through the website 104 that communications router 108 is accessed In main frame or node IP address.
OEP-GSN 802, DEP-GSN 812 and DEP-GSN 822 can be corresponding with global sequence field 308.Each Tunnel sequence number 803,813 and 823 can be corresponding with each tunnel sequence-number field 310.
Because the possible out of order arrival of wrapper, so one of purpose data envelope being mounted in wrapper is when in polymerization Packet is resequenced when wrapper is received at the other end of connection.The packet can also have different agreement, and can In being encapsulated in wrapper, so as to meet the protocol requirement of polymerization connection.
Fig. 9 is the flow chart for transmitting the process of DEP for illustrating one of embodiments in accordance with the present invention.Communications router 106 CPU 501 determines in step 901 the quantity of DEP to be transmitted.In step 902, which CPU 501 determines (a little) tunnel is not yet used to transmit OEP or DEP, and tunnel determined by selecting is used to transmit DEP.In step 903, CPU 501 determine whether to be limited Jie Jin the bandwidth in selected tunnel, and in step 904 communications router 106 does not pass through just to connect The tunnel transmission DEP that nearly its bandwidth is limited.If bandwidth is limited and is not close to, communications router 106 passes through institute in step 905 The tunnel transmission DEP of selection.In step 906, the process terminates.The when close bandwidth restriction of monitoring can help to reduction and gather around Plug, and prevent tunnel from flooding.It will be recognized by those skilled in the art that with tunnel bandwidth limit be close to, more and more Bag may be lost, the performance degradation in tunnel.It is therefore preferred that stopping being transmitted by the tunnel of just close its bandwidth restriction DEP。
One of embodiments in accordance with the present invention, communications router 106 can transmit multiple DEP for an OEP.Multiple DEP In each pass through different tunnel transmissions.The quantity of DEP to be transmitted can be by the user of communications router 106 or management Member's definition.However, the quantity of the DEP being transmitted can not be higher than the quantity in the tunnel that can be used to transmit DEP.This is because for every Individual OEP may not be beneficial by the multiple DEP of tunnel transmission.When the performance degradation in tunnel, possibly cannot be successfully received To the great majority in the plurality of DEP.Therefore, this can unnecessarily consume more bandwidth, and do not increase and be properly received in DEP At least one chance.When user or keeper are defined higher than the quantity of DEP to can be used for the quantity in the tunnel of transmission DEP When, communications router 106 does not transmit the quantity of the DEP defined by user or keeper.Conversely, transmission of communications router 106 etc. In the DEP, i.e. one, each tunnel DEP of the quantity in available tunnel.At least one tunnel can be retained for transmitting OEP, remaining tunnel Road can be used to transmit DEP.For purpose of explanation, the quantity of DEP to be transmitted is defined as 5 by user.Communications router 106 is only With 4 tunnels set up with communications router 108, i.e. the first tunnel, the second tunnel, the 3rd tunnel and the 4th tunnel.Each OEP By the first tunnel transmission.A DEP corresponding with each OEP passes through respectively the second tunnel, the 3rd tunnel and the 4th tunnel In each transmitting.Therefore, 3 DEP, rather than 5 are only transmitted for each OEP.
In one example, if the quantity of DEP to be defined as less than the quantity in available tunnel for user or keeper, can DEP is transmitted according to the performance in the tunnel.For purpose of explanation, the quantity of DEP to be transmitted is defined as 2 by user.Communication Router 106 has 4 tunnels set up with communications router 108, i.e. the first tunnel, the second tunnel, the 3rd tunnel and the 4th Tunnel.OEP is by the first tunnel transmission with optimum performance.If the second tunnel and the 3rd tunnel have compared with the 4th tunnel There is better performance, then by one DEP of the second tunnel transmission, and by the 3rd tunnel transmission another DEP.
In another example, when there is more than two available tunnel, OEP is by the first tunnel with optimum performance Transmit in road.DEP is transmitted by remaining tunnel using load balancing techniques.Alternatively, DEP can be being passed through with polling mode Remaining tunnel transmitting, especially when DEP to be transmitted quantity less than remaining tunnel quantity when.
Fig. 7 is to illustrate the flow chart for processing the process of received wrapper.Firstly, there are processing environment be this A kind of processing environment of sample:The polymerization company including multiple tunnels is established between communications router 106 and communications router 108 Connect, and communications router 106 is connected to the transmission wrapper of communications router 108 by the polymerization.Communications router 108 passes through The polymerization connection receives wrapper from communications router 106.The wrapper may include its destination to pass through communications router The bag of the encapsulation of 108 main frames for accessing or node.
Communications router 108 can receive the bag of the multiple encapsulation being encapsulated in OEP and/or DEP.OEP may be than DEP more Early to reach, vice versa.Accordingly, it would be desirable to have been received that the bag of encapsulation before knowing whether, no matter it is packaged in OEP also In being DEP.
In step 701, communications router 108 receives wrapper from communications router 106.In a step 702, communication lines The bag of the encapsulation for having been received by being encapsulated in wrapper before being determined whether by the CPU of device 108.If the global sequence of wrapper Row number is identical with another global sequence number for another wrapper having been received by before, it is determined that have received that before The bag of the encapsulation.If having been received that the bag of encapsulation before, in step 703, communications router 108 is not by wrapper The bag of internal encapsulation is forwarded to destination, and abandons the wrapper.If being not received by the bag of the encapsulation before, In step 704, the bag of the encapsulation is forwarded to into destination.In step 705, the process terminates.When it is determined that received before During to the bag for encapsulating, then the bag that may be assumed that the encapsulation has been forwarded.For this reason, communications router 108 again will not The bag forwarding of the encapsulation in wrapper, and abandon the wrapper.
Wrapper can be OEP 800 or DEP 810.With reference to step 702, there may be and determine whether to have been received by encapsulation Bag various methods.As described above, a kind of method of determination is the GSN by checking wrapper.If poly- by identical Close and have been received by any other wrapper with identical global sequence number before connection, then communications router 108 determines The received bag to encapsulation.Subsequently, the bag without the need for forwarding the identical to encapsulate.
Another kind of method for determining whether the bag for having been received by encapsulation is by checking hash code.When wrapper reaches logical During letter router 108, the CPU of communications router 108 can be after the wrapper be decapsulated to payload (that is, the bag of encapsulation) Using hash function.Can be stored in storage medium by the hash code produced using hash function.Storage medium can be Local storage medium (such as, RAM 503) or remote medium storage (such as, remote server).When to having been received by before Identical encapsulation bag application hash function when, hash code will be identical.Subsequently, the CPU of communications router 108 can determine that Whether produced hash code is unique, or whether it is stored in the past.If the hash code is unique, really The bag of the encapsulation was not received before fixed.If having stored the hash code in the past, it is determined that have been received by the encapsulation Bag.Although hash function or seed can change, it more likely keeps constant within a few minutes.Therefore, can be using hash Whether the uniqueness of code has been received by the bag of encapsulation to determine in past a few minutes.
Figure 10 be illustrate when communications router 108 from communications router 106 receive wrapper when at communications router 108 The flow chart of performed process.Wrapper is assigned global sequence number, is subsequently passed by polymerization connection by communications router 106 Transport to communications router 108.Wrapper can be OEP 800 or DEP 810.
In step 1000, communications router 108 receives the wrapper for being assigned global sequence No. the first (GSN-1). In step 1001, the CPU of communications router 108 determines expected global sequence number (E-GSN).Subsequently, in step 1002, will GSN-1 is compared with E-GSN.What the GSN that E-GSN can be used to estimate next wrapper should be.
If determining that E-GSN is bigger than GSN-1 in step 1002, then it is assumed that wrapper is delayed to reach.In step 1003 In, the CPU of communications router 108 determines whether to recognize GSN-1 in the record of the GSN of disappearance.If the GSN's for lacking GSN-1 is recognized in record, then in step 1005, updates the record of GSN of disappearance to remove from the record of the GSN of disappearance GSN-1.Subsequently, communications router 108 decapsulates wrapper to obtain the bag of encapsulation, and in step 1009, by encapsulation Bag is forwarded to its destination.Destination can be main frame or node in website 104, and can be accessed by communications router 108. If alternatively, disappearance GSN record in it is unidentified to GSN-1, in step 1004, abandon the wrapper, and And do not forward it to destination.Wrapper is lost and is because that it is considered as the bag comprising the encapsulation having been received by before. Since not finding GSN-1 in the record of the GSN of disappearance, this is had been received that with the another of identical GSN-1 before indicating that One wrapper, and destination may be forwarded to.
In step 1002, if E-GSN be not determined to it is bigger than GSN-1, in step 1006, communications router 108 CPU determines whether E-GSN is equal to GSN-1.If E-GSN is equal to GSN-1, in step 1007, if necessary E-GSN can be increased.Wrapper is decapsulated to obtain the bag of encapsulation, subsequently, in step 1009, the bag of encapsulation purpose is forwarded to into Ground.If E-GSN is not equal to GSN-1 (that is, E-GSN is less than GSN-1), then it is assumed that wrapper is reached ahead of time.Therefore, in step In 1008, wrapper stores in the buffer a predefined time period.When the predefined time period is expired, The wrapper then can be removed from buffering area, and decapsulates to obtain the bag of encapsulation.Subsequently, in step 1009, encapsulation Coating is forwarded to destination.Alternatively, when E-GSN has been changed to be equal to GSN-1, then can remove from buffering area and decapsulate The wrapper.Subsequently, in step 1009, the bag of the encapsulation is forwarded to into destination.E-GSN can be changed into equal to GSN-1 be because It is that E-GSN is increased by the CPU of communications router 108 based on the GSN of the wrapper for receiving.In a modification, first Wrapper can be decapsulated to obtain the bag of the encapsulation, subsequently, in step 1008, the bag of the encapsulation is stored in into buffering area In.When the predefined time period is expired or when E-GSN becomes equal to GSN-1, then can be by the bag of the encapsulation from buffering Area removes and is forwarded to destination.In step 1010, the process terminates.
It is by wrapper storage benefit in the buffer:Wrapper need not be decapsulated before storing, so as to save For the computing resource of decapsulation.However, compared with the bag of encapsulation, wrapper can consume more spaces in buffering area, and this can Can not be gratifying.When encapsulation bag storage in the buffer when, show the table of corresponding GSN also together with the bag of encapsulation by Storage.
Even if when several wrappers with less global sequence number may lack (that is, postpone, lost or dropped) When, can also increase E-GSN.E-GSN continues to increase and is because that the cushion space for storage enclosure bag is limited, once and The GSN of wrapper becomes equal to E-GSN, and wrapper just should be removed from buffering area.
The detailed process corresponding with step 1007 and step 1008 and for calculating the method for E-GSN at 2013 4 Disclosed in months 11 days, international publication number be W02013/049960Al, entitled " METHOD AND SYSTEM FOR REDUCTION OF TIME VARIANCE OF PACKETS RECEIVED FROM BONDED COMMUNICATION Disclose in LINKS " (" for reducing the method and system of the time variable of the bag received from BOUND communication link ").At one In modification, can be according to the process of Figure 13 come execution step 1008.
Communications router 108 stores the GSN of the wrapper received by polymerization connection.The GSN of disappearance is recordable in disappearance GSN record in.For example, communications router 108 is had been received by a period of time with GSN 01, GSN 02, GSN 03rd, 5 wrappers of GSN 05 and GSN 06.It is determined that the disappearance of the bag with GSN 04.Therefore, GSN 04 is recorded in disappearance In the record of GSN.
In a modification, communications router 108 store its corresponding encapsulation bag be forwarded to destination host or The GSN of each wrapper of node.GSN may be recorded in the record of the GSN of forwarding.Wrapper can be OEP 800 or DEP 810.When the bag of the encapsulation for determining whether to forward corresponding with wrapper, communications router 108 checks the note of the GSN of forwarding Record.If finding the GSN of wrapper in the record of the GSN of forwarding, the bag of the encapsulation destination host or section are not forwarded to into Point, because being forwarded before it.
Figure 11 is the flow chart for illustrating the process for processing the wrapper received by polymerization connection.For example, communications router 108 receive wrapper by the polymerization connection including multiple tunnels from communications router 106.Wrapper may include that its destination is Bags of one or more encapsulation of the main frame or node that can be accessed by communications router 108.
In step 1100, communications router 108 receives wrapper.In step 1101, the CPU of communications router 106 Determine the list whether wrapper includes OEP-GSN.If the wrapper includes the list of OEP-GSN, it can be DEP 820, and if the wrapper is not including the list of OEP-GSN, then it can be OEP 800.
When it is determined that wrapper is OEP 800, in step 1110, the CPU of communications router 108 determines the wrapper During whether GSN (that is, OEP-GSN 802) is recorded in the record of the GSN of disappearance.If GSN is recorded in the note of the GSN of disappearance In record, then in step 1112, the bag (such as, the bag 805 of encapsulation) of the encapsulation being encapsulated in wrapper is forwarded to target master Machine or node.If GSN is not recorded in the record of the GSN for lacking, it is determined that received before the bag of the encapsulation, and And the bag of the encapsulation has been forwarded, therefore, in step 1111, no longer the bag of the encapsulation is forwarded to into destination.
When it is determined that wrapper is DEP 820, in step 1120, the CPU of communications router 108 determines m OEP-GSN At least one of list 826 OEP-GSN whether be recorded in the record of the GSN of disappearance.If it is not, then in step 1121 In, the bag 825 of encapsulation is not all forwarded to destination host or node.If finding at least one in the record of the GSN of disappearance OEP-GSN, then in step 1122, communications router 106 is forwarded and m OEP- being recorded in the record of the GSN of disappearance The bag of at least one of list of GSN OEP-GSN corresponding encapsulation.For example, if found in the record of the GSN of disappearance Only corresponding with bag 825-2 and the 825-3 of encapsulation OEP-GSN, then subsequently in step 1122, only by the bag 825-2 of encapsulation Destination is forwarded to 825-3, and the bag of remaining encapsulation is not forwarded to destination.In step 1130, the process terminates.
According to one of embodiment, when communications router 108 receives wrapper, it can determine this by checking tunnel ID Wrapper is OEP or DEP.Communications router 106 can notify that communications router 108 selects the first tunnel to be used to transmit OEP, and And select the second tunnel to be used to transmit DEP.Therefore, communications router 108 can determine that any bag received by the first tunnel is OEP, and any bag received by the second tunnel is DEP.However, in some cases, the second tunnel can be additionally used in transmission Other bags, such as manage bag, health examination bag etc..In this case, wrapper can have show wrapper be OEP or The added field of DEP.Alternatively, showing that wrapper is the other information word that the information of OEP or DEP may include in wrapper Duan Zhong.It is executable to check tunnel ID or check added field rather than execution step 1101 come to determine wrapper be OEP or DEP.
Figure 12 A show the content of the DEP 820 created based on n OEP according to exemplary embodiment.For the ease of Check, do not illustrate in OEP 800-1, OEP 800-2, OEP 800-3, OEP 800-4 and DEP 820-1 IP headers, each Tunnel sequence number and other information.Although not shown IP headers, each tunnel sequence number and other information, in OEP and DEP Each include those fields.
Main frame or node receiving data bag 1, packet 2 in the slave site 102 first of communications router 106, the and of packet 3 Packet 4.These data envelopes are mounted in OEP.Packet 1 is changed into the 805-1 of bag 1 of the encapsulation being encapsulated in OEP 800-1. Packet 2 is changed into the 805-2 of bag 2 of the encapsulation being encapsulated in OEP 800-2.Packet 3 is changed into being encapsulated in OEP 800-3 The 805-3 of bag 3 of encapsulation.Packet 4 is changed into the 805-4 of bag 4 of the encapsulation being encapsulated in OEP 800-4.Field OEP-GSN 802-1, OEP-GSN 802-2, OEP-GSN 802-3 and OEP-GSN 802-4 respectively comprising OEP-GSN 1, OEP-GSN 2, OEP-GSN 3 and OEP-GSN 4.Communications router 106 is by the first tunnel of polymerization connection by OEP 800-1, OEP 800- 2nd, OEP 800-3 and OEP 800-4 are transmitted to communications router 108.OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800-4 is n OEP being transmitted, and their GSN is respectively OEP-GSN 1, OEP-GSN 2, OEP-GSN 3 and OEP- GSN 4.Subsequently, communications router 106 passes through for four OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800-4 DEP 820-1 are transmitted to communications router 108 in second tunnel.The list 826 of m OEP-GSN includes OEP-GSN 1, OEP- GSN 2, OEP-GSN 3 and OEP-GSN 4.As shown in Figure 12 B and Figure 12 C, information (packet information) 1225 is based on OEP- The bag 1 to 4 of the encapsulation of GSN.One of purpose of transmission DEP 820-1 is any letter for recovering to lose during transmission OEP Breath.If any one in four OEP is not received by communications router 108, or in any one in four OEP There is mistake, then DEP 820-1 can be used to re-create any one in four OEP, this is because it is included from four The information of OEP.Information 1225 may or may not include the bag 1 to 4 of encapsulation.However, information 1225 can be used to re-create envelope The bag 1 to 4 of dress.
Figure 12 B show the content of the DEP of four OEP with regard to Figure 12 A according to one of embodiment.For the ease of looking into See, IP headers, each tunnel sequence number and other information are not shown in DEP 820-2.For four OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800-4 can be transmitted DEP 820-2 to communications router 108 by the second tunnel.In DEP In 820-2, information 1225 includes the bag of the 805-1 of bag 1, the 805-2 of bag 2 of encapsulation, the 805-3 of bag 3 of encapsulation and the encapsulation of encapsulation 4 805-4.In this way, bag 1 to 4 of the information 1225 based on encapsulation, therefore, it can use DEP by communications router 108 Information 1225 in 820-2 is re-creating the bag 1 to 4 of encapsulation.
Figure 12 C show the content of the DEP of four OEP with regard to Figure 12 A according to alternate embodiment.For the ease of looking into See, IP headers, each tunnel sequence number and other information are not shown in DEP 820-3.For four OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800-4 can be transmitted DEP 820-3 to communications router 108 by the second tunnel.In DEP In 820-3, information 1225 includes information 805-12 and information 805-34.Information 805-12 and information 805-34 can be by encapsulation The application operating of bag 1 to 4 producing.For example, the operation is XOR (XOR) computing.By the bag 1 to encapsulating and the bag 2 of encapsulation Information 805-12 is produced using XOR operation.Therefore, information 805-12 can be used to re-creating the bag 1 of encapsulation and/or encapsulation Bag 2.Information 805-34 is produced using XOR operation by the bag 4 of the bag 3 to encapsulating and encapsulation.Therefore, information 805-34 can use In the bag 4 of the bag 3 and/or encapsulation for re-creating encapsulation.When communications router 108 receives DEP 820-3, it can be using letter Breath 805-12 and information 805-34 are come appointing in re-creating the bag 1 to 4 of the encapsulation of any disappearance or the bag 1 to 4 of correction encapsulation Any mistake in one.The different combination of the bag 1 to 4 of encapsulation can be used together, with by perform XOR operation come Other types of information is produced in the information 1225 of DEP820-3.The scope of the present invention is not limited to the operation as XOR operation, makes It can be any operation for being adapted for carrying out forward error correction to obtain it.Transmitting one of benefit of DEP 820-3 rather than DEP 820-2 is The transmission of DEP 820-3 can consume less bandwidth because of reduced overhead.
Figure 13 is to illustrate the process for processing the DEP (such as, DEP 820-3) received at communications router 108 Flow chart.In step 1301, communications router 108 receives DEP 820-3 by polymerization connection.In step 1302, communication The CPU of router 108 determines the OEP-GSN in the list 827 of OEP-GSN.In step 1303, communications router 1303 CPU determines whether to have been received by least one of the OEP-GSN in the list 827 with OEP-GSN corresponding OEP.More Speak by the book, in step 1303, it is determined whether have been received by OEP 800-1, OEP 800-2, OEP 800-3 and OEP At least one of 800-4.If OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800-4 are not received, In step 1304, information 805-12 and information 805-34 can be stored in the buffer for processing after a while.If received At least one of OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800-4, and prolonging in step 1309 are arrived After late, all OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800- are have received if determined in step 1305 4, then DEP 820-3 are subsequently abandoned in step 1308.If OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800- At least one of 4 but it is not all of OEP 800-1, OEP 800-2, OEP 800-3 and OEP 800-4 and is received, then In step 1306, if it would be possible, communications router 108 can use information 805-12 and/or information 805-34 of storage Come one or more corresponding packets of one or more OEP for re-creating with do not received in the past.In step 1307, may be used The packet for re-creating is forwarded to into its destination.
Delay is introduced between step 1303 and step 1305 and is because that all OEP may need some times logical to reach Letter router 108.Therefore, in OEP is received afterwards, may not immediately receive all OEP.
For purposes of illustration, if having received OEP 800-1 before determining in step 1303, but it is not received by OEP 800-2, then in step 1306, can use information 805-12 re-creating packet 2.This is possible, because letter Breath 805-12 and packet 1 are both available, and there is the enough information for creating packet 2.If before Both OEP 800-3 and OEP 800-4 are not received by, then in step 1306, it may not be possible to using DEP 820-3 and letter Cease 805-34 to re-create packet 3 or packet 4, because even having been received that OEP 800-1 and/or OEP before 800-2, but also without enough information.
In another example, when by being included in DEP 820-3 to produce to three packets execution XOR operations Information, and when receiving the OEP corresponding with the only one in three packets before, then may not re-create in addition Two packets.
In a modification, in step 1304, whole DEP 820-3 rather than only storage information are stored in the buffer 805-12 and information 805-13.The benefit for storing whole DEP 820-3 is without the need for decapsulation before storage DEP 820-3.Such as Fruit DEP 820-3 are eventually discarded, then can save the computing resource for decapsulation.However, with information 805-12 and information 805-34 is compared, and DEP 820-3 can consume the more spaces in buffering area, and this may not be gratifying.
In a modification, step 1307 forwarding packet before, communications router 108 by packet in the buffer One section of predefined time period of storage.When expiring the predefined time period, then the packet is forwarded to destination.Make To substitute, the packet is storable in buffering area, until E-GSN becomes equal to the OEP-GSN corresponding with the packet, with Afterwards, the packet is forwarded to into destination.
In one example, communications router 106 is set up with communications router 108 including three tunnels (that is, the first tunnel Road, the second tunnel and the 3rd tunnel) polymerization connection.Select the first tunnel to transmit OEP, and select the second tunnel and the 3rd Tunnel is transmitting DEP.User or keeper's configurable communication router 106 are the species in transmission DEP 810 and DEP 820 Type, or transmission DEP 810 and the both types of DEP 820.When communications router 106 is configured to transmit DEP 810, then pin At least one DEP 810 is transmitted to each OEP 800.As discussed above, can configure corresponding with each OEP 800 The quantity of DEP 810 to be transmitted.
When communications router 106 is configured to transmit DEP 820, a DEP 820 can be transmitted for n OEP 800.Number Amount n can be configured.For purposes of illustration, n is 5, and communications router 106 is configured to:By the first tunnel guide to per 5 Individual transmitted OEP 800 transmits a DEP 820.Therefore, communications router 106 is by 5 OEP of the first tunnel transmission After 800, by one DEP 820 in the second tunnel or the 3rd tunnel transmission.If transmitting an OEP 800, the 2nd OEP 800th, the 3rd OEP 800, the 4th OEP 800 and the 5th OEP 800, and DEP 820 includes and an OEP 800, the 2nd OEP 800th, the 3rd OEP 800, the 4th OEP 800 corresponding with the bag of the encapsulation of the 5th OEP 800 information, then m OEP-GSN The OEP-GSN of list 826 an including OEP 800, the OEP-GSN of the 2nd OEP 800, the OEP-GSN of the 3rd OEP 800, the The OEP-GSN of the OEP-GSN and the 5th OEP 800 of four OEP 800.DEP-GSN 822 not with the OEP-GSN of any OEP 800 802 is identical.The bag 825 of encapsulation include respectively with an OEP 800, the 2nd OEP 800, the 3rd OEP 800, the 4th OEP 800 The bag 825-1 of the encapsulation corresponding with the 5th OEP 800, the bag 825-2 of encapsulation, the bag 825-3 of encapsulation, the bag 825-4 of encapsulation With the bag 825-5 of encapsulation.
When communications router 106 is configured to transmit both DEP 810 and DEP 820, it may or may not use phase Same tunnel is transmitted.For purposes of illustration, communications router 106 is configured to each OEP 800 and transmits two DEP 810, and for transmitting a DEP 820 per 5 OEP 800.Two DEPs 810 corresponding with identical OEP 800 are not By identical tunnel transmission.A DEP 810 corresponding with each OEP 800 can by the second tunnel transmission, and with The 2nd each OEP 800 corresponding DEP 810 can pass through the 3rd tunnel transmission.DEP 820 can pass through the second tunnel or the 3rd Tunnel transmission.DEP 820 can be with polling mode by the second tunnel and the 3rd tunnel transmission.Alternatively, when communication lines by When device 106 is configured to not pass through identical tunnel transmission DEP 810 and DEP 820, it may be selected the second tunnel and comes for each OEP 800 one DEP 810 of transmission, and select the 3rd tunnel to transmit a DEP 820 per 5 OEP 800 to be directed to.
In some cases it may be preferred to ground does not transmit DEP, because it may have adverse effect to the transmission of OEP.Example Such as, first is set up using the identical network interface of communicator 106 and/or using the identical network interface of communicator 108 When tunnel and the second tunnel, the delay that OEP is experienced by the first tunnel can be extended by the second tunnel transmission DEP.Can be with Reduce the handling capacity of OEP.Identical WAN and/or the identical WAN in website 104 in by website 102 set up the first tunnel and During the second tunnel, similar impact can be observed.When setting up the first tunnel and using the network provided by same operator During two tunnels, it is also possible to it was observed that similar impact, because the base station that tunnel is connected may be identical.Additionally, producing and transmitting The computing resource that DEP is consumed may slow down the transmission of OEP.Therefore, in these cases, it is preferable to do not transmit DEP or The substantial amounts of DEP corresponding with each OEP is not transmitted.
Above-mentioned process applies also for encapsulation and transmits from communications router 108 to the bag of communications router 106.
It should be appreciated that the disclosure is not limited to the framework of system 500.For example, any suitable device based on processor can For realizing above-mentioned teaching, the device include but is not limited to router, personal computer, notebook computer, computer workstation, Multiprocessor servers, even mobile phone.Additionally, some embodiments can be in special IC (ASIC) or ultra-large collection Realize on circuit (VLSI).In fact, those of ordinary skill in the art are available to be able to carry out being transported according to the logic of embodiment Any amount of appropriate structure calculated.
Although embodiments of the invention and its advantage is described in detail, but it is to be understood that without departing from by appended In the case of spirit and scope of the invention as, various changes, modification can be carried out with here and be replaced.This Outward, scope of the present application is not limited to the process described in specification, machine, manufacture, material composition, device, method and step Rapid specific embodiment.Those of ordinary skill in the art will readily appreciate that from disclosure of the invention, can be according to the present invention Using the execution that there is currently or the develop function substantially the same to corresponding embodiment as herein described or realization and sheet later The process of substantially the same result of corresponding embodiment described in text, machine, manufacture, material composition, device, method or step.Cause This, claims are intended to include these process, machine, manufacture, material composition, device, method or steps in its scope It is interior.

Claims (21)

1. a kind of method for processing the packet received at network node, comprises the following steps:
Step (a):From the network interface receiving data bag of the network node;
Step (b):First tunnel is selected according to selection strategy;
Step (c):At least one second tunnels are not selected or selected according to the selection strategy;
Step (d):By the first tunnel transmission original package bag (OEP), wherein, the OEP encapsulates the packet, its In, each described OEP has original package bag global sequence number (OEP-GSN);
Step (e):When have selected at least one second tunnels, answered by described at least one second tunnel transmissions at least one Wrapper (DEP) processed, wherein, packet information of at least one DEP encapsulation based at least one of the packet, Wherein, each at least one DEP has duplication wrapper global sequence number (DEP-GSN);
Wherein, the OEP-GSN is stored in the field of each OEP, and the DEP-GSN is stored in described at least one In the field of each in individual DEP.
2. method according to claim 1, wherein, first tunnel and at least one second tunnel are included in poly- In closing connection.
3. method according to claim 1, wherein, the selection strategy is based on one or more in following standard:With Family selection, the performance in multiple tunnels, service provider, using restriction, position, the time, using price, security, user identity, Internet protocol address scope, communication protocol, the communication technology, application and device.
4. method according to claim 1, wherein, the OEP-GSN is identical with the DEP-GSN of at least one DEP.
5. method according to claim 1, wherein, at least one DEP includes the list of OEP-GSN, wherein, it is described The list of OEP-GSN includes at least one OEP-GSN.
6. method according to claim 1, wherein, the performance in first tunnel better than second tunnel performance, Wherein, the performance is based essentially on bandwidth and/or delay.
7. method according to claim 1, wherein, when passing through the multiple DEP of the network node transmissions for each OEP When, by it is described polymerization connection different tunnels to transmit the plurality of DEP in each.
8. it is a kind of to pass through polymerization connection from the side of the wrapper of first network node reception for processing at the second network node Method, comprises the following steps:
Step (a):Wrapper is received from the first network node by the tunnel of the polymerization connection, wherein, The wrapper be original package bag (OEP) or replicate wrapper (DEP), wherein, OEP be used for encapsulated data packet, wherein, DEP For encapsulation of data package informatin, wherein, the packet information is based essentially on the packet, wherein, the source data packet The packet is received from the first network node or by the first network node;
Step (b):It is described poly- to have passed through before determining whether to be based essentially on the record of the global sequence number (GSN) of disappearance Close connection and have received the packet;
Step (c):When it is determined that not receiving the packet before:
I () decapsulates the packet when the wrapper is the OEP from the OEP;
(ii) when the wrapper is the DEP, it is based essentially on the packet information and re-creates the packet;
(iii) packet is forwarded to into destination, wherein, the destination is instructed in the header of the packet; And
(iv) record of the GSN of the disappearance is updated.
9. method according to claim 8, wherein, when the wrapper is the DEP and packet information preserves many When the bag or error correction information of individual encapsulation, the wrapper includes the list of original package bag global sequence number (OEP-GSN).
10. method according to claim 8, is additionally included in after step (b) and updates expected global sequence number.
11. methods according to claim 8, wherein, step (b) includes:
It is determined that whether the GSN corresponding with the packet be in the record of the GSN of the disappearance;
If the GSN corresponding with the packet be not in the record of the GSN of the disappearance, it is determined that do not forward the data Bag;And
If the GSN corresponding with the packet is in the record of the GSN of the disappearance, it is determined that the forwarding packet.
12. is a kind of including first network node and the system of the second network node, wherein the first network node and described Two network nodes all include:
Multiple network interfaces;
At least one main storage;
Wherein, the first network node also includes at least one first processing units and at least one first additional storages, It is executable to process described first that described at least one first additional storages store at least one first processing units The programmed instruction of the packet received at network node, comprises the following steps:
Step (a):From the network interface receiving data bag of the first network node;
Step (b):First tunnel is selected according to selection strategy;
Step (c):At least one second tunnels are not selected or selected according to the selection strategy;
Step (d):By the first tunnel transmission original package bag (OEP), wherein, the OEP encapsulates the packet, its In, each described OEP has original package bag global sequence number (OEP-GSN);
Step (e):When have selected at least one second tunnels, answered by described at least one second tunnel transmissions at least one Wrapper (DEP) processed, wherein, information of the shown at least one DEP encapsulation based at least one of the packet, wherein, Each at least one DEP has duplication wrapper global sequence number (DEP-GSN);
Wherein, the OEP-GSN is stored in the field of each OEP, and the DEP-GSN is stored in described at least one In the field of each in individual DEP;
Wherein, second network node also includes at least one second processing unit and at least one second additional storages, Second additional storage store at least one second processing unit it is executable with second network node everywhere The programmed instruction of the wrapper that reason is received by the polymerization connection from the first network node, comprises the following steps:
Step (f):Wrapper is received from the first network node by the tunnel of the polymerization connection, wherein, The wrapper is OEP or DEP, wherein, OEP is used for encapsulated data packet, wherein, DEP is used for encapsulation of data package informatin, wherein, The packet information is based essentially on the packet, wherein, the source data packet is from the first network node or passes through The first network node is receiving the packet;
Step (g):It is described poly- to have passed through before determining whether to be based essentially on the record of the global sequence number (GSN) of disappearance Close connection and have received the packet;
Step (h):When it is determined that not receiving the packet before:
I () decapsulates the packet when the wrapper is the OEP from the OEP;
(ii) when the wrapper is the DEP, it is based essentially on the packet information to re-create the packet;
(iii) packet is forwarded to into destination, wherein, the destination is instructed in the header of the packet; And
(iv) record of the GSN of the disappearance is updated.
13. systems according to claim 12, wherein, first tunnel and at least one second tunnel are included in In the polymerization connection.
14. systems according to claim 12, wherein, the selection strategy is based on one or more in following standard: User's selection, the performance in multiple tunnels, service provider, using restriction, position, the time, using price, security, Yong Hushen Part, Internet protocol address scope, communication protocol, the communication technology, application and device.
15. systems according to claim 12, wherein, the DEP- of the OEP-GSN and at least one DEP GSN is identical.
16. systems according to claim 12, wherein, at least one DEP includes the list of OEP-GSN, wherein, institute The list for stating OEP-GSN includes at least one OEP-GSN.
17. systems according to claim 12, wherein, the performance in first tunnel is better than the property in second tunnel Can, wherein, the performance is based essentially on bandwidth and/or delay.
18. systems according to claim 12, wherein, when many by the first network node-node transmission for each OEP During individual DEP, by it is described polymerization connection different tunnels to transmit the plurality of DEP in each.
19. systems according to claim 12, wherein, when the wrapper is that DEP and the packet information are preserved When the bag or error correction information of multiple encapsulation, the wrapper includes the list of OEP-GSN.
20. systems according to claim 12, are additionally included in after step (g) and update expected global sequence number.
21. systems according to claim 12, wherein, step (g) includes:
It is determined that whether the GSN corresponding with the packet be in the record of the GSN of the disappearance;
If the GSN corresponding with the packet be not in the record of the GSN of the disappearance, it is determined that do not forward the data Bag;And
If the GSN corresponding with the packet is in the record of the GSN of the disappearance, it is determined that the forwarding packet.
CN201480081080.6A 2014-08-08 2014-08-08 Method and system for transmitting data through aggregated connections Active CN106576073B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911234144.2A CN110912798B (en) 2014-08-08 2014-08-08 Method and system for transmitting data through aggregated connections

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2014/063791 WO2016020727A1 (en) 2014-08-08 2014-08-08 Methods and systems for transmitting data through an aggregated connection

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201911234144.2A Division CN110912798B (en) 2014-08-08 2014-08-08 Method and system for transmitting data through aggregated connections

Publications (2)

Publication Number Publication Date
CN106576073A true CN106576073A (en) 2017-04-19
CN106576073B CN106576073B (en) 2019-12-27

Family

ID=54606055

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480081080.6A Active CN106576073B (en) 2014-08-08 2014-08-08 Method and system for transmitting data through aggregated connections
CN201911234144.2A Active CN110912798B (en) 2014-08-08 2014-08-08 Method and system for transmitting data through aggregated connections

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201911234144.2A Active CN110912798B (en) 2014-08-08 2014-08-08 Method and system for transmitting data through aggregated connections

Country Status (4)

Country Link
CN (2) CN106576073B (en)
GB (1) GB2532587B (en)
HK (1) HK1232353A1 (en)
WO (1) WO2016020727A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110301116A (en) * 2017-11-27 2019-10-01 柏思科技有限公司 Pass through the method and system of binding connection transmission and reception data grouping
CN110913026A (en) * 2019-12-31 2020-03-24 奇安信科技集团股份有限公司 Message transmission method, device, electronic equipment and medium
CN112236982A (en) * 2018-05-11 2021-01-15 剑桥宽带网络集团有限公司 System and method for distributing packets in a network
CN112913170A (en) * 2019-10-01 2021-06-04 柏思科技有限公司 Method and system for transmitting and receiving transmission control protocol segments on internet protocol packets
CN114258108A (en) * 2020-09-22 2022-03-29 华为技术有限公司 Data distribution method and mobile aggregation equipment

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10084754B2 (en) * 2015-12-11 2018-09-25 Microsoft Technology Licensing, Llc Virtual private network aggregation
CN111869168B (en) * 2017-11-20 2022-06-17 马科网络(新西兰)有限公司 Method and system for transmitting data
US11095617B2 (en) 2017-12-04 2021-08-17 Nicira, Inc. Scaling gateway to gateway traffic using flow hash
EP3963769A1 (en) * 2019-05-02 2022-03-09 Nokia Technologies Oy Apparatus, method and computer program
US11277343B2 (en) 2019-07-17 2022-03-15 Vmware, Inc. Using VTI teaming to achieve load balance and redundancy
US11509638B2 (en) 2019-12-16 2022-11-22 Vmware, Inc. Receive-side processing for encapsulated encrypted packets
US11902264B2 (en) 2020-06-22 2024-02-13 Vmware, Inc. Path selection for data packets encrypted based on an IPSEC protocol
US11303389B2 (en) 2020-08-07 2022-04-12 Hyannis Port Research, Inc. Systems and methods of low latency data communication for physical link layer reliability
US20230011715A1 (en) * 2020-08-28 2023-01-12 Pismo Labs Technology Limited Methods and systems for transmitting session-based packets
WO2022260711A1 (en) * 2021-06-07 2022-12-15 Vmware, Inc. Multi-uplink path quality aware ipsec
US11863514B2 (en) 2022-01-14 2024-01-02 Vmware, Inc. Performance improvement of IPsec traffic using SA-groups and mixed-mode SAs
US11956213B2 (en) 2022-05-18 2024-04-09 VMware LLC Using firewall policies to map data messages to secure tunnels
GB202410867D0 (en) * 2022-12-29 2024-09-11 Pismo Labs Technology Ltd Methods for reducing packet loss during slow start of a session

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008106773A1 (en) * 2007-03-02 2008-09-12 Hexago Tunneling device for automatic protocol provisioning in a network
EP1995928A1 (en) * 2007-05-24 2008-11-26 France Télécom Method for controlling a communicaton of a mobile node and related home agent and gateway
CN101325557A (en) * 2008-07-25 2008-12-17 华为技术有限公司 Method, system and apparatus for sharing tunnel load
EP2020129A2 (en) * 2006-05-24 2009-02-04 AT & T Intellectual Property LLP Method and apparatus for reliable communications in a packet network
CN101938421A (en) * 2010-09-14 2011-01-05 北京星网锐捷网络技术有限公司 Method for realizing route summarization in multi-protocol label switching network and router
CN102546382A (en) * 2010-12-08 2012-07-04 中国电信股份有限公司 Method and system for realizing multicast in Internet protocol version 4 over Internet protocol version 6 (IPv4overIPv6) tunnel
CN103166846A (en) * 2013-03-27 2013-06-19 杭州华三通信技术有限公司 Message forwarding method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101018259B (en) * 2006-02-08 2010-12-01 中国电信股份有限公司 Telecom integrated information system and method
ATE479250T1 (en) * 2007-04-17 2010-09-15 Alcatel Lucent METHOD AND DEVICE FOR RESERVING NETWORK RESOURCES FOR A POINT-TO-POINT PSEUD CONNECTION
US8798077B2 (en) * 2010-12-29 2014-08-05 Juniper Networks, Inc. Methods and apparatus for standard protocol validation mechanisms deployed over a switch fabric system
CN102056199A (en) * 2011-01-19 2011-05-11 中国人民解放军信息工程大学 Method for optimizing self-adaption route in nested mobile network
US20130124605A1 (en) * 2011-11-14 2013-05-16 Microsoft Corporation Aggregating and presenting tasks
WO2013158882A1 (en) * 2012-04-18 2013-10-24 Acme Packet, Inc. Redundancy for real time communications

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2020129A2 (en) * 2006-05-24 2009-02-04 AT & T Intellectual Property LLP Method and apparatus for reliable communications in a packet network
WO2008106773A1 (en) * 2007-03-02 2008-09-12 Hexago Tunneling device for automatic protocol provisioning in a network
EP1995928A1 (en) * 2007-05-24 2008-11-26 France Télécom Method for controlling a communicaton of a mobile node and related home agent and gateway
CN101325557A (en) * 2008-07-25 2008-12-17 华为技术有限公司 Method, system and apparatus for sharing tunnel load
CN101938421A (en) * 2010-09-14 2011-01-05 北京星网锐捷网络技术有限公司 Method for realizing route summarization in multi-protocol label switching network and router
CN102546382A (en) * 2010-12-08 2012-07-04 中国电信股份有限公司 Method and system for realizing multicast in Internet protocol version 4 over Internet protocol version 6 (IPv4overIPv6) tunnel
CN103166846A (en) * 2013-03-27 2013-06-19 杭州华三通信技术有限公司 Message forwarding method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
翁亮,陈依群,诸鸿文: "VPN的隧道技术", 《计算机与网络》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110301116A (en) * 2017-11-27 2019-10-01 柏思科技有限公司 Pass through the method and system of binding connection transmission and reception data grouping
CN112236982A (en) * 2018-05-11 2021-01-15 剑桥宽带网络集团有限公司 System and method for distributing packets in a network
CN112236982B (en) * 2018-05-11 2024-06-07 剑桥宽带网络集团有限公司 System and method for distributing packets in a network
CN112913170A (en) * 2019-10-01 2021-06-04 柏思科技有限公司 Method and system for transmitting and receiving transmission control protocol segments on internet protocol packets
CN113193944A (en) * 2019-10-01 2021-07-30 柏思科技有限公司 Method and system for transmitting and receiving transmission control protocol segments on internet protocol packets
CN113193944B (en) * 2019-10-01 2024-02-23 柏思科技有限公司 Improved method and system for transmitting and receiving transmission control protocol segments on internet protocol packets
CN110913026A (en) * 2019-12-31 2020-03-24 奇安信科技集团股份有限公司 Message transmission method, device, electronic equipment and medium
CN110913026B (en) * 2019-12-31 2022-10-04 奇安信科技集团股份有限公司 Message transmission method, device, electronic equipment and medium
CN114258108A (en) * 2020-09-22 2022-03-29 华为技术有限公司 Data distribution method and mobile aggregation equipment
CN114258108B (en) * 2020-09-22 2024-09-17 华为技术有限公司 Data distribution method and mobile aggregation equipment

Also Published As

Publication number Publication date
CN110912798B (en) 2021-12-21
WO2016020727A1 (en) 2016-02-11
CN110912798A (en) 2020-03-24
CN106576073B (en) 2019-12-27
GB201517507D0 (en) 2015-11-18
HK1232353A1 (en) 2018-01-05
GB2532587A (en) 2016-05-25
GB2532587B (en) 2021-08-04

Similar Documents

Publication Publication Date Title
CN106576073A (en) Methods and systems for transmitting data through an aggregated connection
US10958469B2 (en) Methods and systems for increasing wireless communication throughput of a bonded VPN tunnel
US10116591B2 (en) Methods and systems for transmitting data through an aggregated connection
US9923833B2 (en) Network packet flow controller
EP3278514B1 (en) Data transmission
JP2021528014A (en) Information transmission method and equipment
CN110475267A (en) A kind of configuration method, data transmission method and device
WO2018187135A1 (en) A proxy for serving internet-of-things (iot) devices
US11140082B2 (en) Data transmission method and device
US9019827B1 (en) Throughput optimization for bonded variable bandwidth connections
EP2204018A1 (en) Limiting rlc window size in the hsdpa flow control
CN106992917A (en) Message forwarding method and device
CN105723784A (en) Methods and systems for transmitting and receiving data through tunnel groups
CN105359467B (en) Pass through the method and system of the end to end connection transmission packet of concentration
CN107787570A (en) Light weight transportation protocol
CN107846703A (en) A kind of data transmission method and device
CN108141743A (en) The method of improved disposition, telecommunication network, user equipment, system, program and the computer program product exchanged at least one communication between telecommunication network and at least one user equipment
CN106302213A (en) A kind of method and device of data transmission
CN108282391A (en) A kind of VXLAN message fragmenting methods and device
CN107612928A (en) Ensure the method and system of Radio Link communication quality under thin ap mode
CN101557386A (en) Method and device for sending data and method and device for receiving data
CN108934084A (en) Dynamic tunnel establishment in a mesh network
CN110301116A (en) Pass through the method and system of binding connection transmission and reception data grouping
CN110022263A (en) A kind of method and relevant apparatus of data transmission
CN106797281A (en) For the method and system by the connection transmission data that are polymerized

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1232353

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant