CN106576073A - Methods and systems for transmitting data through an aggregated connection - Google Patents
Methods and systems for transmitting data through an aggregated connection Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link 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
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.
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)
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)
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)
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)
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 |
-
2014
- 2014-08-08 CN CN201480081080.6A patent/CN106576073B/en active Active
- 2014-08-08 CN CN201911234144.2A patent/CN110912798B/en active Active
- 2014-08-08 WO PCT/IB2014/063791 patent/WO2016020727A1/en active Application Filing
- 2014-08-08 GB GB1517507.8A patent/GB2532587B/en active Active
-
2017
- 2017-06-09 HK HK17105737.8A patent/HK1232353A1/en unknown
Patent Citations (7)
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)
Title |
---|
翁亮,陈依群,诸鸿文: "VPN的隧道技术", 《计算机与网络》 * |
Cited By (10)
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 |