CN111327505B - Tunnel-based communication method and communication device - Google Patents
Tunnel-based communication method and communication device Download PDFInfo
- Publication number
- CN111327505B CN111327505B CN201811521270.1A CN201811521270A CN111327505B CN 111327505 B CN111327505 B CN 111327505B CN 201811521270 A CN201811521270 A CN 201811521270A CN 111327505 B CN111327505 B CN 111327505B
- Authority
- CN
- China
- Prior art keywords
- tunnel
- group
- value
- current
- data traffic
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000004891 communication Methods 0.000 title claims abstract description 69
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 20
- 238000001514 detection method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 101000775660 Anarhichas lupus Type-3 ice-structuring protein 1.5 Proteins 0.000 description 2
- 101000775628 Anarhichas lupus Type-3 ice-structuring protein 1.9 Proteins 0.000 description 2
- 101710128746 Cytochrome b6-f complex iron-sulfur subunit 1 Proteins 0.000 description 2
- 101710128742 Cytochrome b6-f complex iron-sulfur subunit 2 Proteins 0.000 description 2
- 101000643905 Nostoc sp. (strain PCC 7120 / SAG 25.82 / UTEX 2576) Cytochrome b6-f complex iron-sulfur subunit 3 Proteins 0.000 description 2
- 101000775697 Pseudopleuronectes americanus Ice-structuring protein 3 Proteins 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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
- 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/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The disclosure provides a communication method and a communication device based on a tunnel, and relates to the technical field of communication. The communication method comprises the following steps: the tunnel group splitter receives data traffic carrying tunnel group identification, obtains a current optimal tunnel according to the priority of each tunnel in the tunnel group and detected index parameters, replaces the tunnel group identification of the data traffic with a tunnel identity identification of the current optimal tunnel, and sends the data traffic carrying the tunnel identity identification to a tunnel wrapper; the tunnel encapsulator obtains a corresponding IP data packet header according to a tunnel identity of a current optimal tunnel, encapsulates the IP data packet header on data traffic, obtains a corresponding outgoing interface identity and a next hop address according to the tunnel identity, and sends the data traffic carrying the outgoing interface identity and the next hop address to the interface piece; and the interface component sends the data traffic to the corresponding ISP line according to the outgoing interface identifier and the next hop address. The data transmission of the present disclosure is more convenient.
Description
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a tunnel-based communication method and a tunnel-based communication apparatus.
Background
In an Overlay Network on-demand scenario, a user VPN (Virtual Private Network) is opened between CPEs (Customer Premise Equipment) across the Internet through a tunnel. Some branches of a user may employ multiple ISP (Internet Service Provider) access. In order to utilize multiple ISP paths for carrying tunneled traffic, in some conventional approaches, tunnels may be established using a loopback address, but the operator is required to be applied for a loopback address routable by the public network. In addition, the prior art fails to optimize tunnels between each tunnel.
Disclosure of Invention
One technical problem that embodiments of the present disclosure solve is: a tunnel-based communication method is provided.
According to an aspect of the embodiments of the present disclosure, there is provided a tunnel-based communication method, including: a tunnel group splitter receives data traffic carrying a tunnel group identifier, obtains a current optimal tunnel according to the priority of each tunnel in a tunnel group corresponding to the tunnel group identifier and detected index parameters, replaces the tunnel group identifier of the data traffic with a tunnel identity identifier of the current optimal tunnel, and sends the data traffic carrying the tunnel identity identifier to a tunnel encapsulator; the tunnel encapsulator obtains a corresponding Internet Protocol (IP) data packet header according to the tunnel identity of the current optimal tunnel, encapsulates the IP data packet header on the data flow, obtains a corresponding outgoing interface identity and a next hop address according to the tunnel identity, adds the outgoing interface identity and the next hop address on the data flow, and sends the data flow carrying the outgoing interface identity and the next hop address to a connector; and the interface piece sends the data traffic to the corresponding Internet service provider ISP line according to the outgoing interface identification and the next hop address.
In some embodiments, the metric parameters include a delay value and a jitter value for each tunnel, and a link capacity for each interface element; the communication method further comprises: and detecting the time delay value and the jitter value of each tunnel and the link capacity of each interface piece, and feeding back the measured time delay value, jitter value and link capacity to the tunnel group splitter.
In some embodiments, the step of obtaining the current optimal tunnel according to the priority of each tunnel in the tunnel group and the detected index parameter includes: the tunnel group shunt judges whether priority is allocated for each tunnel in the tunnel group, if so, the tunnel with the highest priority is taken as the current optimal tunnel, otherwise, the weighted performance value of each tunnel is calculated according to the time delay value and the jitter value of each tunnel and the link capacity of each interface component, and the current optimal tunnel is selected according to the weighted performance value of each tunnel.
In some embodiments, the step of selecting the current optimal tunnel according to the weighted performance values of the tunnels comprises: obtaining the current bandwidth occupancy rate of the tunnel with the highest current weighting performance value in the tunnel group; under the condition that the current bandwidth occupancy rate is less than or equal to a first threshold value, taking the tunnel with the highest current weighting performance value as the current optimal tunnel; under the condition that the first threshold value < the current bandwidth occupancy rate is less than or equal to a second threshold value, determining a current optimal tunnel according to a Differential Service Code Point (DSCP) value of data traffic; and under the condition that the current bandwidth occupancy rate is larger than the second threshold value, selecting the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group.
In some embodiments, the step of determining the current optimal tunnel according to the DSCP value of the data traffic comprises: taking the tunnel with the highest current weighted performance value as the current optimal tunnel under the condition that the DSCP value is larger than a third threshold value; and under the condition that the DSCP value is not larger than the third threshold value, selecting the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group.
In some embodiments, the step of selecting the current optimal tunnel according to whether a tunnel with suboptimal weighted performance value exists in the tunnel group comprises: under the condition that a tunnel with suboptimal weighted performance value exists in the tunnel group, the tunnel with the highest current weighted performance value is excluded, and the current optimal tunnel is selected according to the current bandwidth occupancy rate of the tunnel with suboptimal current weighted performance value; and under the condition that the tunnel with suboptimal weighted performance value does not exist in the tunnel group, taking the tunnel with the highest current weighted performance value as the current optimal tunnel.
In some embodiments, the weighted performance value W for each tunnel is calculated asWherein D is the time delay value of the tunnel, J is the jitter value of the tunnel, C is the link capacity of the interface corresponding to the tunnel, and a1、a2And a3Respectively, predetermined known parameters.
In some embodiments, before the tunnel group streamer receives data traffic carrying a tunnel group identification, the communication method further comprises: and configuring a mapping relation between a tunnel group identification and a tunnel identity identification, the priority of each tunnel in the tunnel group, a corresponding relation between the tunnel identity identification and an IP data packet header, a corresponding relation between the tunnel identity identification and an outgoing interface identification, and a corresponding relation between the tunnel identity identification and a next hop address.
In some embodiments, before the tunnel group streamer receives data traffic carrying a tunnel group identification, the communication method further comprises: the VPN router adds a tunnel group identifier on the received data traffic and sends the data traffic carrying the tunnel group identifier to the tunnel group splitter.
According to another aspect of the embodiments of the present disclosure, there is provided a tunnel-based communication apparatus, including: the tunnel group shunt is used for receiving data traffic carrying tunnel group identification, obtaining a current optimal tunnel according to the priority of each tunnel in a tunnel group corresponding to the tunnel group identification and detected index parameters, replacing the tunnel group identification of the data traffic with a tunnel identity identification of the current optimal tunnel, and sending the data traffic carrying the tunnel identity identification to the tunnel wrapper; a tunnel encapsulator, configured to obtain a corresponding internet protocol IP data packet header according to the tunnel identity of the current optimal tunnel, encapsulate the IP data packet header on the data traffic, obtain a corresponding outgoing interface identifier and a next hop address according to the tunnel identity, add the outgoing interface identifier and the next hop address to the data traffic, and send the data traffic carrying the outgoing interface identifier and the next hop address to a interface component; and the interface component is used for sending the data traffic to the corresponding Internet service provider ISP line according to the outgoing interface identification and the next hop address.
In some embodiments, the metric parameters include a delay value and a jitter value for each tunnel, and a link capacity for each interface element; the communication apparatus further includes: the tunnel performance detector is used for detecting the time delay value and the jitter value of each tunnel and feeding back the measured time delay value and jitter value to the tunnel group flow divider; and the interface detector is used for detecting the link capacity of each interface component and feeding back the measured link capacity to the tunnel component shunt.
In some embodiments, the tunnel group traffic device is configured to determine whether a priority has been configured for each tunnel in the tunnel group, if so, take the tunnel with the highest priority as the current optimal tunnel, otherwise, calculate a weighted performance value of each tunnel according to a delay value and a jitter value of each tunnel and a link capacity of each interface, and select the current optimal tunnel according to the weighted performance value of each tunnel.
In some embodiments, the tunnel group traffic device is configured to obtain a current bandwidth occupancy of a tunnel in the tunnel group with a highest current weighted performance value; under the condition that the current bandwidth occupancy rate is less than or equal to a first threshold value, taking the tunnel with the highest current weighting performance value as the current optimal tunnel; under the condition that the first threshold value < the current bandwidth occupancy rate is less than or equal to a second threshold value, determining a current optimal tunnel according to a Differential Service Code Point (DSCP) value of data traffic; and under the condition that the current bandwidth occupancy rate is larger than the second threshold value, selecting the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group.
In some embodiments, the tunnel group traffic controller is configured to, in a case where the DSCP value > a third threshold, take a tunnel with a highest current weighted performance value as a current optimal tunnel, and in a case where the DSCP value is less than or equal to the third threshold, select the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group.
In some embodiments, the tunnel group traffic device is configured to, in a case that there is a tunnel with a suboptimal weighted performance value in the tunnel group, exclude the tunnel with the highest current weighted performance value, and select a current optimal tunnel according to a current bandwidth occupancy of the tunnel with the suboptimal current weighted performance value; and under the condition that the tunnel with suboptimal weighted performance value does not exist in the tunnel group, taking the tunnel with the highest current weighted performance value as the current optimal tunnel.
In some embodiments, the tunnel group streamer calculates the weighted performance value W for each tunnel asWherein D is the time delay value of the tunnel, J is the jitter value of the tunnel, C is the link capacity of the interface corresponding to the tunnel, and a1、a2And a3Respectively, predetermined known parameters.
In some embodiments, the communication device further comprises: and the tunnel group configurator is used for configuring the mapping relation between the tunnel group identification and the tunnel identity identification, the priority of each tunnel in the tunnel group, the corresponding relation between the tunnel identity identification and the IP data packet header, the corresponding relation between the tunnel identity identification and the outgoing interface identification, and the corresponding relation between the tunnel identity identification and the next hop address.
In some embodiments, the communication device further comprises: the VPN router is used for adding a tunnel group identifier to the received data traffic and sending the data traffic carrying the tunnel group identifier to the tunnel group splitter.
According to another aspect of the embodiments of the present disclosure, there is provided a tunnel-based communication apparatus, including: a memory; and a processor coupled to the memory, the processor configured to perform the method as previously described based on instructions stored in the memory.
According to another aspect of embodiments of the present disclosure, there is provided a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the steps of the method as previously described.
In the above communication method based on tunnels, the tunnel group splitter receives the data traffic carrying the tunnel group identifier, obtains the current optimal tunnel according to the priority of each tunnel in the tunnel group corresponding to the tunnel group identifier and the detected index parameter, replaces the tunnel group identifier of the data traffic with the tunnel identity identifier of the current optimal tunnel, and sends the data traffic carrying the tunnel identity identifier to the tunnel encapsulator. The tunnel wrapper obtains a corresponding IP data packet header according to the tunnel identity of the current optimal tunnel, wraps the IP data packet header on the data flow, obtains a corresponding outbound interface identifier and a next hop address according to the tunnel identity, adds the outbound interface identifier and the next hop address on the data flow, and sends the data flow carrying the outbound interface identifier and the next hop address to the interface component. And the interface component transmits the data traffic to the corresponding ISP line according to the outgoing interface identifier and the next hop address. The method does not need to apply for a routable loopback address of the public network to an operator, so that the data transmission is more convenient. And the method optimizes the tunnel among the tunnels, thereby well utilizing the bandwidth resources of multiple ISPs.
Other features of the present disclosure and advantages thereof will become apparent from the following detailed description of exemplary embodiments thereof, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description, serve to explain the principles of the disclosure.
The present disclosure may be more clearly understood from the following detailed description, taken with reference to the accompanying drawings, in which:
fig. 1 is a flow diagram illustrating a tunnel-based communication method according to some embodiments of the present disclosure;
FIG. 2 is a flow diagram illustrating a method of determining a current optimal tunnel according to some embodiments of the present disclosure;
FIG. 3 is a schematic diagram illustrating a tunnel-based communication method according to further embodiments of the present disclosure;
fig. 4 is a schematic diagram illustrating a structure of a tunnel-based communication device according to some embodiments of the present disclosure;
FIG. 5 is a schematic diagram illustrating a structure of a tunnel-based communication device according to further embodiments of the present disclosure;
FIG. 6 is a schematic diagram illustrating a structure of a tunnel-based communication device according to further embodiments of the present disclosure;
fig. 7 is a schematic diagram illustrating a structure of a tunnel-based communication device according to further embodiments of the present disclosure.
Detailed Description
Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, the numerical expressions, and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.
Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
Fig. 1 is a flow chart illustrating a method of tunnel-based communication in accordance with some embodiments of the present disclosure. As shown in fig. 1, the communication method may include steps S102 to S106.
In step S102, the Tunnel Group splitter receives a data traffic carrying a Tunnel Group ID (TG ID), obtains a current optimal Tunnel according to the priority of each Tunnel in a Tunnel Group corresponding to the Tunnel Group ID and the detected index parameter, replaces the Tunnel Group ID of the data traffic with the Tunnel identity of the current optimal Tunnel, and sends the data traffic carrying the Tunnel identity to the Tunnel encapsulator.
For example, before the tunnel group streamer receives data traffic carrying a tunnel group identifier, the communication method may further include: the VPN router adds a tunnel group identifier to the received data traffic and sends the data traffic carrying the tunnel group identifier to the tunnel group splitter.
In some embodiments, the tunnel group splitter may replace the tunnel group identifier of the data traffic with the tunnel identity identifier of the current optimal tunnel according to the mapping relationship between the tunnel group identifier and the tunnel identity identifier.
In some embodiments, the metric parameters may include a Delay value (Delay) and a Jitter value (Jitter) for each tunnel, and a link Capacity (Capacity) for each interface.
In some embodiments, the communication method may further include: and detecting the time delay value and the jitter value of each tunnel and the link capacity of each interface element, and feeding back the measured time delay value, jitter value and link capacity to the tunnel group splitter.
In some embodiments, the step of obtaining the current optimal tunnel according to the priority of each tunnel in the tunnel group and the detected index parameter may include: the tunnel group shunt judges whether the priority is configured for each tunnel in the tunnel group, if so, the tunnel with the highest priority is taken as the current optimal tunnel, otherwise, the weighted performance value of each tunnel is calculated according to the time delay value and the jitter value of each tunnel and the link capacity of each interface component, and the current optimal tunnel is selected according to the weighted performance value of each tunnel. In this embodiment, it is determined whether a priority has been configured for a tunnel, and if not, the current optimal tunnel is selected by calculating the weighted performance value of each tunnel, which is beneficial to selecting a tunnel that better meets the actual requirement and is also beneficial to data traffic transmission.
In some embodiments, the weighted performance value W for each tunnel is calculated as
Wherein D is the time delay value of the tunnel, J is the jitter value of the tunnel, C is the link capacity of the interface corresponding to the tunnel, and a1、a2And a3Respectively, predetermined known parameters. a is1May be referred to as a first parameter, a2May be referred to as a second parameter, a3May be referred to as a third parameter. For example, a1Is 300, a2Is 5, a3Is 0.2. Of course, the art is replete withThe skilled person will understand that the parameter a here1、a2And a3The value of (b) can be determined according to actual needs, and is not limited thereto. The method for calculating the weighting performance value of the tunnel is simple and easy to implement.
It should be noted that the scope of the present disclosure is not limited to the above embodiment of calculating the weighted performance value. Other calculation methods may be used by those skilled in the art to calculate the weighted performance value of the tunnel.
In some embodiments, the step of selecting the current optimal tunnel according to the weighted performance values of the respective tunnels may include: acquiring the current bandwidth occupancy rate of the tunnel with the highest current weighting performance value in the tunnel group; taking the tunnel with the highest current weighted performance value as the current optimal tunnel under the condition that the current bandwidth occupancy rate is less than or equal to a first threshold value; determining a current optimal tunnel according to a DSCP (Differentiated Services Code Point) value of data traffic under the condition that the first threshold is smaller than the current bandwidth occupancy rate and smaller than or equal to a second threshold; in the case where the current bandwidth occupancy > the second threshold, the current optimal tunnel is selected according to whether there is a tunnel in the tunnel group whose weighted performance value is suboptimal (or referred to as second highest). For example, the first threshold may be N and the second threshold may be M, where 0< N < M < 100%. The specific values of the first threshold and the second threshold can be flexibly configured according to needs. In this embodiment, by obtaining the current bandwidth occupancy of the tunnel with the highest current weighted performance value, the congestion degree of the tunnel can be known, and thus the current optimal tunnel can be selected according to the congestion degree of the tunnel.
In some embodiments, the step of determining the current optimal tunnel according to the DSCP value of the data traffic may include: taking the tunnel with the highest current weighted performance value as the current optimal tunnel under the condition that the DSCP value is larger than a third threshold value; and under the condition that the DSCP value is less than or equal to the third threshold value, selecting the current optimal tunnel according to whether the tunnel with the suboptimal weighted performance value exists in the tunnel group. The third threshold value can be flexibly configured according to needs. In this embodiment, the current optimal tunnel is selected according to the DSCP value of the data traffic, which is beneficial to selecting the optimal tunnel meeting the actual requirement.
In some embodiments, the step of selecting the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group comprises: under the condition that a tunnel with suboptimal weighted performance value exists in the tunnel group, the tunnel with the highest current weighted performance value is excluded, and the current optimal tunnel is selected according to the current bandwidth occupancy rate of the tunnel with suboptimal current weighted performance value; and under the condition that the tunnel with suboptimal weighted performance value does not exist in the tunnel group, taking the tunnel with the highest current weighted performance value as the current optimal tunnel.
In the above embodiment, if there is a tunnel with a suboptimal weighted performance value in the tunnel group, since the tunnel with the highest current weighted performance value is not suitable for transmitting data traffic due to the previous determination, the tunnel with the highest current weighted performance value is excluded, the tunnel with the suboptimal current weighted performance value is used as the tunnel with the highest current weighted performance value in the next loop determination, and the current optimal tunnel is selected according to the current bandwidth occupancy of the tunnel. If no tunnel with suboptimal weighted performance value exists in the tunnel group, the tunnel with the highest current weighted performance value is taken as the current optimal tunnel, which indicates that no other tunnel can be selected.
In step S104, the tunnel encapsulator obtains a corresponding IP packet header according to the tunnel identity of the current optimal tunnel, encapsulates the IP packet header on the data traffic, obtains a corresponding outgoing interface identifier (Port ID) and a next hop address (Nexthop) according to the tunnel identity, adds the outgoing interface identifier and the next hop address to the data traffic, and sends the data traffic carrying the outgoing interface identifier and the next hop address to the interface.
For example, the tunnel encapsulator may obtain an IP packet header corresponding to a current optimal tunnel according to a correspondence between a tunnel identity and an IP (Internet Protocol) packet header and a tunnel identity of the current optimal tunnel. For example, the IP packet header contains a source IP address and a destination IP address.
For another example, the tunnel encapsulator may obtain the corresponding outbound interface identifier according to the corresponding relationship between the tunnel identity identifier and the outbound interface identifier, and the tunnel identity identifier of the current optimal tunnel.
For another example, the tunnel encapsulator may obtain the corresponding next hop address from the corresponding relationship between the tunnel identity and the next hop address and the tunnel identity of the current optimal tunnel.
In step S106, the interface device sends the data traffic to the corresponding ISP line according to the outgoing interface identifier and the next hop address.
There has thus been provided a tunnel-based communication method in accordance with some embodiments of the present disclosure. In the communication method, a tunnel group splitter receives data traffic carrying a tunnel group identifier, obtains a current optimal tunnel according to priorities of tunnels in a tunnel group corresponding to the tunnel group identifier and detected index parameters, replaces the tunnel group identifier of the data traffic with a tunnel identity identifier of the current optimal tunnel, and sends the data traffic carrying the tunnel identity identifier to a tunnel encapsulator. The tunnel wrapper obtains a corresponding IP data packet header according to the tunnel identity of the current optimal tunnel, wraps the IP data packet header on the data flow, obtains a corresponding outbound interface identifier and a next hop address according to the tunnel identity, adds the outbound interface identifier and the next hop address on the data flow, and sends the data flow carrying the outbound interface identifier and the next hop address to the interface element. And the interface component transmits the data traffic to the corresponding ISP line according to the outgoing interface identifier and the next hop address. The method does not need to apply for a routable loopback address of the public network to an operator, so that the data transmission is more convenient. And the method optimizes the tunnel among the tunnels, thereby well utilizing the bandwidth resources of multiple ISPs.
In addition, in some prior art, ISP detailed routes need to be injected, and ISP lines are selected according to destination IP of tunnels, but it is difficult to inject foreign ISP detailed routes when tunnels cross countries, so static routes are not flexible enough. The method disclosed by the invention can select among all tunnels without using ISP detailed routing, and the selection strategy can be changed according to the requirement, so that the method is more flexible.
In addition, in other prior art, dynamic ISP routing needs to be performed with BGP (Border Gateway Protocol) from an operator, but such technology is relatively expensive, and routing can be performed only according to a fixed BGP policy, and bandwidth resources of multiple ISPs cannot be well utilized. The method disclosed by the invention has the advantages of lower cost and flexible strategy configuration, so that the bandwidth resources of multiple ISPs are well utilized.
In some embodiments, before the tunnel group splitter receives the data traffic carrying the tunnel group identifier, the communication method may further include: and configuring a mapping relation between a tunnel group identification and a tunnel identity identification, the priority of each tunnel in the tunnel group, a corresponding relation between the tunnel identity identification and an IP data packet header, a corresponding relation between the tunnel identity identification and an outgoing interface identification, and a corresponding relation between the tunnel identity identification and a next hop address.
Fig. 2 is a flow diagram illustrating a method of determining a current optimal tunnel according to some embodiments of the present disclosure. The method for obtaining the current optimal tunnel according to the priority of each tunnel in the tunnel group and the detected index parameter will be described in detail below with reference to fig. 2. The method may comprise steps S202 to S216.
In step S202, data traffic carrying a tunnel group identifier is received. For example, the VPN router causes data traffic to carry a tunnel group identification and sends the data traffic carrying the tunnel group identification to the tunnel group streamer. The tunnel group splitter receives data traffic carrying a tunnel group identification.
In step S204, it is determined whether priorities have been configured for the respective tunnels in the tunnel group. For example, the tunnel group streamer determines whether a priority has been configured for each tunnel in the tunnel group by the tunnel group configurator. If so, the process proceeds to step S216, where the tunnel with the highest priority is determined as the current optimal tunnel; otherwise, the process advances to step S206.
In step S206, a weighted performance value of each tunnel is calculated. For example, the weighted performance value of each tunnel is calculated based on the delay value and jitter value of each tunnel and the link capacity of each interface element. Of course, those skilled in the art will appreciate that the algorithm for weighting performance values may be flexibly selected by the tunnel group configurator.
In step S208, the size relationship between the current bandwidth occupancy of the tunnel with the highest current weighting performance value and the first threshold and the second threshold is determined. I.e. to determine the congestion level of the tunnel. If the current bandwidth occupancy rate of the tunnel is less than or equal to the first threshold, the process goes to step S216, and the tunnel with the highest current weighting performance value is determined as the current optimal tunnel; if the first threshold value < the current bandwidth occupancy of the tunnel is less than or equal to the second threshold value, the process goes to step S210; if the current bandwidth occupancy of the tunnel > the second threshold, the process proceeds to step S212.
In step S210, the magnitude relationship between the DSCP value of the data traffic and the third threshold is determined. If the DSCP value > the third threshold, the process proceeds to step S216, and determines the tunnel with the highest current weighted performance value as the current optimal tunnel; if the DSCP value is not greater than the third threshold value, the process proceeds to step S212.
In step S212, it is determined whether a tunnel with a suboptimal weighted performance value exists in the tunnel group. If so (i.e., there is a tunnel with a suboptimal weighted performance value), the process proceeds to step S214; otherwise (i.e., there is no tunnel with suboptimal weighted performance value), the process proceeds to step S216, and the tunnel with the highest current weighted performance value is determined as the current optimal tunnel.
In step S214, the tunnel with the suboptimal current weighted performance value is used as the tunnel with the highest weighted performance value in the next loop judgment. In this way, the process returns to step S208, and after the tunnel with the highest current weighted performance value is excluded, the subsequent process is continued with the tunnel with the next suboptimal current weighted performance value as the tunnel with the highest weighted performance value in the next loop judgment.
In step S216, a current optimal tunnel is determined, and the tunnel group identifier of the data traffic is replaced with the tunnel identity identifier of the current optimal tunnel. For example, the tunnel group splitter strips the tunnel group identifier, and transmits the data traffic carrying the tunnel identity identifier of the current optimal tunnel to the tunnel encapsulator.
To this end, a method of determining a current optimal tunnel according to some embodiments of the present disclosure is provided. The method realizes the selection of the optimal tunnel according to the actual performance of the tunnel, and can well utilize the bandwidth resources of multiple ISPs.
Fig. 3 is a schematic diagram illustrating tunnel-based communication methods according to further embodiments of the present disclosure.
Taking fig. 3 as an example, in the process of establishing a VPN connection between a CPE 301 (e.g., a BJ CPE) and a remote CPE 302 (e.g., an NY CPE), a plurality of Tunnel (e.g., Tunnel 1(Tunnel 1) and Tunnel 2(Tunnel 2)) connections are established using interface addresses of a plurality of ISPs (e.g., ISP 1, ISP 2, and ISP 3) as source addresses. Two tunnels between CPE 301 and CPE 302 are bound to form tunnel group 1, and a logical tunnel group index TG 1 is generated. The performance of the outgoing interface of tunnel 1 and the performance of the outgoing interface of tunnel 2 are detected. The outgoing interface of the VPN router (not shown in fig. 3) points to tunnel group 1. And selecting the current optimal tunnel from the tunnel 1 and the tunnel 2 according to the performance of the tunnel 1 and the performance of the tunnel 2, and shunting the flow onto the current optimal tunnel. And after the flow is encapsulated, obtaining an interface identifier and a next hop address according to the tunnel identity identifier of the selected optimal tunnel, and sending the data flow to the corresponding ISP line.
The process of determining the current optimal tunnel is described below in conjunction with fig. 3.
As shown in fig. 3, there are two tunnels between CPE 301 to CPE 302. Wherein, the tunnel 1 is 1.1.1.1-3.3.3.3, 1.1.1.1 is the IP address of the access port of ISP 1 (i.e. the source IP address of tunnel 1), the bandwidth is 10Gbps, the tunnel 2 is 2.2.2-3.3.3, 2.2.2 is the IP address of the access port of ISP 2 (i.e. the source IP address of tunnel 2), and the bandwidth is 10 Gbps. 3.3.3.3 is the IP address of the outbound interface of ISP 3 (i.e. the destination IP addresses of tunnels 1 and 2).
The tunnel 1 and the tunnel 2 are bound into the tunnel group 1 through the tunnel group configurator, and the priorities of the tunnel 1 and the tunnel 2 are not specified, so that the priorities of the two tunnels are the same and are both default priorities. Therefore, in the case where the priority of each tunnel is not specified, it can be considered that the priorities of the tunnels are configured to be the same default priority.
For example, the parameter a in the relation (1) is taken1Is 300, a2Is 5, a3Is 0.2, the relation (1) becomes
E.g. detected, delay value D of tunnel 11Is 50 (unit is ms (millisecond)), jitter value J15% delay value D of Tunnel 22100 (unit is ms), jitter value J2Is 1%. After detection, the bandwidth of the interface where the source address 1.1.1.1 used by the tunnel 1 is located (i.e. the link capacity C of the interface element corresponding to the tunnel 1)1) The bandwidth of the interface with the source address 2.2.2.2 used by tunnel 2 (i.e. the link capacity C of the interface element corresponding to tunnel 2)2) Are all 10Gbps and are all available. Therefore, the weighted performance value W1 for tunnel 1 and the weighted performance value W2 for tunnel 2 are calculated as follows, respectively:
therefore, the tunnel 2 is the tunnel with the highest current weighted performance value, i.e. the path with the best performance; tunnel 1 is a tunnel with suboptimal current weighted performance value, i.e. a path with suboptimal performance.
For example, a Local Area Network (LAN) side sends Voice traffic (as a kind of data traffic) with a DSCP value of 7, and exceeds a third threshold (or referred to as a DSCP threshold) K equal to 5. Through detection, the current bandwidth occupancy rate of the tunnel 2 is 60%, and the current bandwidth occupancy rate of the tunnel 1 is 30%. Assume that the first threshold value N is 70% and the second threshold value M is 90%. Since the current bandwidth occupancy of the tunnel 2 is less than 70%, the voice traffic is transmitted by the tunnel 2 through the determination process in fig. 2.
After the voice traffic occupies a part of the bandwidth of the tunnel 2, for example, the current bandwidth occupancy of the tunnel 2 increases to 80%, and the current bandwidth occupancy of the tunnel 1 still reaches 30%. The tunnel performance index, the weighted performance value algorithm, the first threshold, the second threshold, the third threshold, and the like all remain unchanged.
For example, the LAN side issues BBS (Bulletin Board System) traffic (as a kind of data traffic) with a DSCP value of 3. The current bandwidth occupancy rate of tunnel 2 is between 70% and 90%, so the size relationship between the DSCP value and the third threshold needs to be compared, and the DSCP value of the BBS traffic is smaller than the third threshold (the third threshold K is 5), then tunnel 2 is excluded, and tunnel 1 with suboptimal current weighting performance value is selected. The method shown in fig. 2 is used to determine that the tunnel 1 is the current optimal tunnel through the analysis and judgment of the weighted performance value of the tunnel 1. The BBS traffic is transported by the tunnel 1.
The method of the embodiment of the present disclosure may be implemented on the following premise: (1) establishing a tunnel by using a physical port IP; (2) establishing a plurality of tunnels between two devices; (3) no explicit routing is used; (4) the BGP is not used, so that the CPE can perform routing of the tunnel according to the actual performance of the ISP Path, and is not discarded by the uarpf (Unicast Reverse Path Forwarding) of the operator.
Fig. 4 is a schematic diagram illustrating a structure of a tunnel-based communication device according to some embodiments of the present disclosure. As shown in fig. 4, the communication device may include a tunnel component splitter 402, a tunnel encapsulator 404, and an interface 406.
The tunnel group splitter 402 is configured to receive a data traffic carrying a tunnel group identifier, obtain a current optimal tunnel according to a priority of each tunnel in a tunnel group corresponding to the tunnel group identifier and an index parameter obtained by detection, replace the tunnel group identifier of the data traffic with a tunnel identity identifier of the current optimal tunnel, and send the data traffic carrying the tunnel identity identifier to the tunnel encapsulator 404.
The tunnel encapsulator 404 is configured to obtain a corresponding IP data packet header according to the tunnel identity of the current optimal tunnel, encapsulate the IP data packet header in the data traffic, obtain a corresponding egress interface identifier and a next hop address according to the tunnel identity, add the egress interface identifier and the next hop address to the data traffic, and send the data traffic carrying the egress interface identifier and the next hop address to the interface component 406.
The interface device 406 is used to send data traffic to the corresponding ISP line according to the outgoing interface identifier and the next hop address.
In the above embodiment, the communication device does not need to apply for a routable loopback address of the public network to the operator, so that data transmission is more convenient. The communication device optimizes the tunnel among the tunnels, thereby making good use of the bandwidth resources of the multiple ISPs.
In addition, the communication device disclosed by the invention is low in cost, and the strategy can be flexibly configured, so that the bandwidth resources of multiple ISPs are well utilized.
Fig. 5 is a schematic diagram illustrating a structure of a tunnel-based communication device according to further embodiments of the present disclosure. Similar to the communication apparatus shown in fig. 4, the communication apparatus shown in fig. 5 also includes a tunnel component shunt 402, a tunnel encapsulator 404, and an interface 406.
In some embodiments, the metric parameters may include latency and jitter values for each tunnel, and link capacity for each interface element.
In some embodiments, as shown in fig. 5, the communication device may also include a tunnel performance detector 508. The tunnel performance detector 508 is configured to detect a delay value and a jitter value of each tunnel, and feed back the detected delay value and jitter value to the tunnel group stream splitter 402. For example, the tunnel performance detector may actively send packets for detecting tunnel quality, and such packets may be encapsulated by the tunnel encapsulator. Based on the data packet for detection, the detection of the delay value, the jitter value and the like can be realized.
For example, the tunnel performance detector may detect indicators such as delay values and jitter values of different tunnels through a probe. For another example, the tunnel performance detector may also detect a loss value (loss) of the tunnel, etc., and feed back to the tunnel component shunt.
In some embodiments, as shown in fig. 5, the communication device may further include an interface detector 510. The interface detector 510 is used to detect the link capacity of each interface element 406 and feed the measured link capacity back to the tunnel group splitter 402.
For example, the interface detector may monitor link capacity, traffic load, Status, traffic (traffic), etc. of each interface element and feed back to the tunnel group splitter.
In some embodiments, the tunnel group splitter 402 may be configured to determine whether priorities have been configured for each tunnel in the tunnel group, and if so, take the tunnel with the highest priority as the current optimal tunnel, otherwise, calculate a weighted performance value of each tunnel according to the delay value and jitter value of each tunnel and the link capacity of each interface, and select the current optimal tunnel according to the weighted performance value of each tunnel.
In some embodiments, the tunnel group streamer 402 calculates the weighted performance value W for each tunnel as
Wherein D is the time delay value of the tunnel, J is the jitter value of the tunnel, C is the link capacity of the interface corresponding to the tunnel, and a1、a2And a3Respectively, predetermined known parameters.
In some embodiments, the tunnel group splitter 402 may be configured to obtain a current bandwidth occupancy of a tunnel of the tunnel group having a highest current weighted performance value; taking the tunnel with the highest current weighted performance value as the current optimal tunnel under the condition that the current bandwidth occupancy rate is less than or equal to a first threshold value; under the condition that the first threshold value is smaller than the current bandwidth occupancy rate and smaller than or equal to a second threshold value, determining a current optimal tunnel according to a DSCP value of data traffic; and under the condition that the current bandwidth occupancy rate is larger than the second threshold value, selecting the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group.
In some embodiments, the tunnel group splitter 402 may be configured to select the current optimal tunnel according to whether there is a tunnel in the tunnel group with a suboptimal weighted performance value in the case that the DSCP value is greater than the third threshold value, and to select the current optimal tunnel according to whether there is a tunnel in the tunnel group with the highest current weighted performance value as the current optimal tunnel in the case that the DSCP value is less than or equal to the third threshold value.
In some embodiments, the tunnel group splitter 402 may be configured to, in a case where there is a tunnel with a suboptimal weighted performance value in the tunnel group, exclude the tunnel with the highest current weighted performance value, and select a current optimal tunnel according to a current bandwidth occupancy of the tunnel with the suboptimal current weighted performance value; and under the condition that the tunnel with suboptimal weighted performance value does not exist in the tunnel group, taking the tunnel with the highest current weighted performance value as the current optimal tunnel.
In some embodiments, as shown in fig. 5, the communication device may further include a tunnel group configurator 512. The tunnel group configurator 512 may be configured to configure a mapping relationship between a tunnel group identifier and a tunnel identity identifier, a priority of each tunnel in the tunnel group, a corresponding relationship between the tunnel identity identifier and an IP data packet header, a corresponding relationship between the tunnel identity identifier and an egress interface identifier, and a corresponding relationship between the tunnel identity identifier and a next hop address.
In some embodiments, as shown in fig. 5, the communication device may also include a VPN router 514. The VPN router 514 can be configured to add a tunnel group identifier to the received data traffic and send the data traffic carrying the tunnel group identifier to the tunnel group splitter 402.
Fig. 6 is a schematic diagram illustrating a structure of a tunnel-based communication device according to further embodiments of the present disclosure. The communication device includes a memory 610 and a processor 620. Wherein:
the memory 610 may be a magnetic disk, flash memory, or any other non-volatile storage medium. The memory is used for storing instructions in the embodiments corresponding to fig. 1 and/or fig. 2.
In some embodiments, as also shown in fig. 7, the communication device 700 includes a memory 710 and a processor 720. Processor 720 is coupled to memory 710 by BUS 730. The communication device 700 may be further connected to an external storage device 750 through a storage interface 740 for accessing external data, and may be further connected to a network or another computer system (not shown) through a network interface 760, which will not be described in detail herein.
In the embodiment, the data instruction is stored in the memory and processed by the processor, so that a routing loopback address of a public network does not need to be applied to an operator, data transmission is more convenient, and the tunnel is optimized among the tunnels, so that the bandwidth resources of multiple ISPs are well utilized.
In other embodiments, the present disclosure also provides a computer-readable storage medium on which computer program instructions are stored, the instructions implementing the steps of the method in the embodiment corresponding to fig. 1 and/or fig. 2 when executed by a processor. As will be appreciated by one skilled in the art, embodiments of the present disclosure may be provided as a method, apparatus, or computer program product. Accordingly, the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Thus far, the present disclosure has been described in detail. Some details that are well known in the art have not been described in order to avoid obscuring the concepts of the present disclosure. It will be fully apparent to those skilled in the art from the foregoing description how to practice the presently disclosed embodiments.
The method and system of the present disclosure may be implemented in a number of ways. For example, the methods and systems of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.
Although some specific embodiments of the present disclosure have been described in detail by way of example, it should be understood by those skilled in the art that the foregoing examples are for purposes of illustration only and are not intended to limit the scope of the present disclosure. It will be appreciated by those skilled in the art that modifications may be made to the above embodiments without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.
Claims (14)
1. A method of tunnel-based communication, comprising:
a tunnel group splitter receives data traffic carrying a tunnel group identifier, obtains a current optimal tunnel according to the priority of each tunnel in a tunnel group corresponding to the tunnel group identifier and detected index parameters, replaces the tunnel group identifier of the data traffic with a tunnel identity identifier of the current optimal tunnel, and sends the data traffic carrying the tunnel identity identifier to a tunnel encapsulator;
the tunnel encapsulator obtains a corresponding Internet Protocol (IP) data packet header according to the tunnel identity of the current optimal tunnel, encapsulates the IP data packet header on the data flow, obtains a corresponding outgoing interface identity and a next hop address according to the tunnel identity, adds the outgoing interface identity and the next hop address on the data flow, and sends the data flow carrying the outgoing interface identity and the next hop address to a connector; and
the interface piece sends the data traffic to a corresponding Internet Service Provider (ISP) line according to the outgoing interface identifier and the next hop address;
the index parameters comprise time delay values and jitter values of all tunnels and link capacities of all interface pieces;
the communication method further comprises: detecting the time delay value and the jitter value of each tunnel and the link capacity of each interface piece, and feeding back the measured time delay value, jitter value and link capacity to the tunnel group shunt;
the step of obtaining the current optimal tunnel according to the priority of each tunnel in the tunnel group and the detected index parameters comprises the following steps: the tunnel group shunt judges whether priority is allocated to each tunnel in the tunnel group, if so, the tunnel with the highest priority is taken as the current optimal tunnel, otherwise, the weighted performance value of each tunnel is calculated according to the time delay value and the jitter value of each tunnel and the link capacity of each interface part, and the current optimal tunnel is selected according to the weighted performance value of each tunnel;
the weighted performance value W of each tunnel is calculated by the relation
Wherein D is the time delay value of the tunnel, J is the jitter value of the tunnel, C is the link capacity of the interface corresponding to the tunnel, and a1、a2And a3Respectively, predetermined known parameters.
2. The communication method of claim 1, wherein the step of selecting a current optimal tunnel according to the weighted performance values of the respective tunnels comprises:
obtaining the current bandwidth occupancy rate of the tunnel with the highest current weighting performance value in the tunnel group;
under the condition that the current bandwidth occupancy rate is less than or equal to a first threshold value, taking the tunnel with the highest current weighting performance value as the current optimal tunnel;
under the condition that the first threshold value < the current bandwidth occupancy rate is less than or equal to a second threshold value, determining a current optimal tunnel according to a Differential Service Code Point (DSCP) value of data traffic;
and under the condition that the current bandwidth occupancy rate is larger than the second threshold value, selecting the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group.
3. The communication method according to claim 2, wherein the step of determining the current optimal tunnel according to the DSCP value of the data traffic comprises:
taking the tunnel with the highest current weighted performance value as the current optimal tunnel under the condition that the DSCP value is larger than a third threshold value;
and under the condition that the DSCP value is not larger than the third threshold value, selecting the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group.
4. The communication method according to claim 2 or 3, wherein the step of selecting a current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group comprises:
under the condition that a tunnel with suboptimal weighted performance value exists in the tunnel group, the tunnel with the highest current weighted performance value is excluded, and the current optimal tunnel is selected according to the current bandwidth occupancy rate of the tunnel with suboptimal current weighted performance value;
and under the condition that the tunnel with suboptimal weighted performance value does not exist in the tunnel group, taking the tunnel with the highest current weighted performance value as the current optimal tunnel.
5. The communication method of claim 1, before the tunnel group streamer receives data traffic carrying a tunnel group identification, the communication method further comprising:
and configuring a mapping relation between a tunnel group identification and a tunnel identity identification, the priority of each tunnel in the tunnel group, a corresponding relation between the tunnel identity identification and an IP data packet header, a corresponding relation between the tunnel identity identification and an outgoing interface identification, and a corresponding relation between the tunnel identity identification and a next hop address.
6. The communication method of claim 1, before the tunnel group streamer receives data traffic carrying a tunnel group identification, the communication method further comprising:
the VPN router adds a tunnel group identifier on the received data traffic and sends the data traffic carrying the tunnel group identifier to the tunnel group splitter.
7. A tunnel-based communication device, comprising:
the tunnel group shunt is used for receiving data traffic carrying tunnel group identification, obtaining a current optimal tunnel according to the priority of each tunnel in a tunnel group corresponding to the tunnel group identification and detected index parameters, replacing the tunnel group identification of the data traffic with a tunnel identity identification of the current optimal tunnel, and sending the data traffic carrying the tunnel identity identification to the tunnel wrapper;
a tunnel encapsulator, configured to obtain a corresponding internet protocol IP data packet header according to the tunnel identity of the current optimal tunnel, encapsulate the IP data packet header on the data traffic, obtain a corresponding outgoing interface identifier and a next hop address according to the tunnel identity, add the outgoing interface identifier and the next hop address to the data traffic, and send the data traffic carrying the outgoing interface identifier and the next hop address to a interface component; and
the interface component is used for sending the data traffic to a corresponding Internet Service Provider (ISP) line according to the outgoing interface identifier and the next hop address;
the index parameters comprise time delay values and jitter values of all tunnels and link capacities of all interface pieces;
the communication apparatus further includes:
the tunnel performance detector is used for detecting the time delay value and the jitter value of each tunnel and feeding back the measured time delay value and jitter value to the tunnel group flow divider; and
the interface detector is used for detecting the link capacity of each interface component and feeding back the measured link capacity to the tunnel component shunt;
the tunnel group flow device is used for judging whether priorities are configured for each tunnel in the tunnel group, if so, the tunnel with the highest priority is used as the current optimal tunnel, otherwise, the weighted performance value of each tunnel is calculated according to the time delay value and the jitter value of each tunnel and the link capacity of each interface component, and the current optimal tunnel is selected according to the weighted performance value of each tunnel;
the relation formula of the weighted performance value W of each tunnel calculated by the tunnel group flow device is
Wherein D is the time delay value of the tunnel, J is the jitter value of the tunnel, C is the link capacity of the interface corresponding to the tunnel, and a1、a2And a3Respectively, predetermined known parameters.
8. The communication device of claim 7,
the tunnel group flow device is used for obtaining the current bandwidth occupancy rate of the tunnel with the highest current weighting performance value in the tunnel group; under the condition that the current bandwidth occupancy rate is less than or equal to a first threshold value, taking the tunnel with the highest current weighting performance value as the current optimal tunnel; under the condition that the first threshold value < the current bandwidth occupancy rate is less than or equal to a second threshold value, determining a current optimal tunnel according to a Differential Service Code Point (DSCP) value of data traffic; and under the condition that the current bandwidth occupancy rate is larger than the second threshold value, selecting the current optimal tunnel according to whether a tunnel with a suboptimal weighted performance value exists in the tunnel group.
9. The communication device of claim 8,
and the tunnel group flow device is used for taking the tunnel with the highest current weighted performance value as the current optimal tunnel under the condition that the DSCP value is larger than a third threshold value, and selecting the current optimal tunnel according to whether the tunnel with the suboptimal weighted performance value exists in the tunnel group under the condition that the DSCP value is less than or equal to the third threshold value.
10. The communication device of claim 8 or 9,
the tunnel group flow device is used for eliminating the tunnel with the highest current weighting performance value under the condition that the tunnel with the suboptimal weighting performance value exists in the tunnel group, and selecting the current optimal tunnel according to the current bandwidth occupancy rate of the tunnel with the suboptimal current weighting performance value; and under the condition that the tunnel with suboptimal weighted performance value does not exist in the tunnel group, taking the tunnel with the highest current weighted performance value as the current optimal tunnel.
11. The communication device of claim 7, further comprising:
and the tunnel group configurator is used for configuring the mapping relation between the tunnel group identification and the tunnel identity identification, the priority of each tunnel in the tunnel group, the corresponding relation between the tunnel identity identification and the IP data packet header, the corresponding relation between the tunnel identity identification and the outgoing interface identification, and the corresponding relation between the tunnel identity identification and the next hop address.
12. The communication device of claim 7, further comprising:
the VPN router is used for adding a tunnel group identifier to the received data traffic and sending the data traffic carrying the tunnel group identifier to the tunnel group splitter.
13. A tunnel-based communication device, comprising:
a memory; and
a processor coupled to the memory, the processor configured to perform the method of any of claims 1-6 based on instructions stored in the memory.
14. A computer-readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the steps of the method of any one of claims 1 to 6.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811521270.1A CN111327505B (en) | 2018-12-13 | 2018-12-13 | Tunnel-based communication method and communication device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811521270.1A CN111327505B (en) | 2018-12-13 | 2018-12-13 | Tunnel-based communication method and communication device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111327505A CN111327505A (en) | 2020-06-23 |
| CN111327505B true CN111327505B (en) | 2021-12-14 |
Family
ID=71170472
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811521270.1A Active CN111327505B (en) | 2018-12-13 | 2018-12-13 | Tunnel-based communication method and communication device |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111327505B (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113542051B (en) * | 2021-05-27 | 2022-08-30 | 贵州电网有限责任公司 | Monitoring flow load balancing method based on software defined network |
| CN113473538B (en) * | 2021-07-13 | 2023-03-10 | 蒋溢 | Wireless convergence network-based shunt control method and system |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102065020A (en) * | 2011-01-24 | 2011-05-18 | 中兴通讯股份有限公司 | Method and device for transmitting L2VPN service by using tunnel group in MPLS network |
| CN103906146A (en) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | Method for QoS alignment between WLAN and packet core network |
| US9479433B1 (en) * | 2013-04-30 | 2016-10-25 | Cisco Technology, Inc. | Interconnecting virtual private networks |
| CN108111413A (en) * | 2016-11-25 | 2018-06-01 | 中国电信股份有限公司 | Method for routing, system and the equipment of stacking network |
-
2018
- 2018-12-13 CN CN201811521270.1A patent/CN111327505B/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102065020A (en) * | 2011-01-24 | 2011-05-18 | 中兴通讯股份有限公司 | Method and device for transmitting L2VPN service by using tunnel group in MPLS network |
| CN103906146A (en) * | 2012-12-27 | 2014-07-02 | 中兴通讯股份有限公司 | Method for QoS alignment between WLAN and packet core network |
| US9479433B1 (en) * | 2013-04-30 | 2016-10-25 | Cisco Technology, Inc. | Interconnecting virtual private networks |
| CN108111413A (en) * | 2016-11-25 | 2018-06-01 | 中国电信股份有限公司 | Method for routing, system and the equipment of stacking network |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111327505A (en) | 2020-06-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11770309B2 (en) | On-demand probing for quality of experience metrics | |
| EP3461082B1 (en) | Network congestion control method and device | |
| EP3278514B1 (en) | Data transmission | |
| CN107257320B (en) | Shortest Path Bridging (SPB) with Loop Suppression to Enhance Resiliency | |
| US9130774B2 (en) | Data mirroring in a service | |
| US9654383B2 (en) | Route optimization using measured congestion | |
| US11134011B2 (en) | Communication system, control device, communication method, and program | |
| US9270598B1 (en) | Congestion control using congestion prefix information in a named data networking environment | |
| US8351329B2 (en) | Universal load-balancing tunnel encapsulation | |
| HK1257841A1 (en) | A method and system of updating conversation allocation in link aggregation | |
| EP3745659B1 (en) | Routing method and apparatus | |
| CN102136989B (en) | Message transmission method, system and equipment | |
| US20120195204A1 (en) | Link policy routing based on link utilization | |
| US9219672B2 (en) | Label switching or equivalent network multipath traffic control | |
| CN102804717B (en) | Method and device for adjusting IP network load | |
| US9736066B2 (en) | Method, apparatus and system for establishing optical bypass | |
| CN105634973A (en) | Routing method and equipment based on load balancing | |
| CN114450671B (en) | Method and system for cache management in a network device | |
| CN114640631A (en) | Congestion control method and network equipment | |
| CN114095448A (en) | Method and equipment for processing congestion flow | |
| US20250047590A1 (en) | Packet Sending Method, Network Device, and Communication System | |
| CN111327505B (en) | Tunnel-based communication method and communication device | |
| CN107370672A (en) | The method and device of Path selection | |
| KR101851031B1 (en) | Pseudo-wire providing an in-band control channel using an offset | |
| CN105393597A (en) | Network congestion control method and controller |
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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |