A communication method, device, system and electronic equipment

By modifying the DSCP field value in the message and adding the GRE header, traffic scheduling between different Internet lines is achieved, which solves the problems of network congestion and delay in the existing technology and improves the accuracy and efficiency of traffic scheduling.

CN114500384BActive Publication Date: 2025-01-21PETAL CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011253653.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-11
Publication Date
2025-01-21
Estimated Expiration
2040-11-11

AI Technical Summary

Technical Problem

The prior art is difficult to perform effective traffic scheduling between different Internet lines, resulting in increased network congestion and delay.

Method used

By modifying the value of the Differentiated Services Code Point (DSCP) field in the message and adding a Generic Routing Encapsulation Protocol (GRE) header to the message, the routing export of the message is configured to switch between different Internet lines. .

Benefits of technology

It realizes traffic switching between different Internet lines, improves the accuracy and efficiency of traffic scheduling, and reduces network congestion and delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114500384B_ABST
    Figure CN114500384B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a communication method, device, system and electronic device. The communication method includes: obtaining an original message, the original message includes a first IP header; according to the traffic scheduling strategy, confirming the first routing exit for transmitting the original message; based on the preset redirection strategy, confirming the first DSCP value corresponding to the first routing exit; modifying the value of the DSCP field of the first IP header in the original message to the first DSCP value to generate a first message; adding a GRE message header to the first message and encapsulating it with a second IP header to generate a second message, wherein the GRE message header corresponds to a GRE tunnel, one end of the GRE tunnel is carried by an exit router, and the target address of the second IP header is the address of the exit router; transmitting the second message to the exit router through the GRE tunnel. According to the method of the embodiment of the present application, switching between different Internet lines to allocate traffic can be achieved based on the control of the DSCP field.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a communication method, device, system and electronic equipment. Background Art

[0002] As cloud computing traffic grows rapidly, mobile Internet vendors are working hard to reduce latency in interactions between mobile phones and the cloud to improve user experience.

[0003] Generally, cloud service providers build edge nodes (Point of Presence, PoP) of the backbone network around the world, purchase multiple Internet lines in the local area (Region) where services are needed, and establish peering with the Internet Service Provider (Internet Service Provider, ISP) of the Region. The PoP points are interconnected to the Region with dedicated lines, thereby reducing the latency for users in the Region to access cloud services.

[0004] However, due to the changes in traffic on the Internet line, the network between the PoP point and the user is often congested. In order to reduce the congestion between the PoP point and the user, it is necessary to monitor the delay of different Internet lines and select the Internet line with the best delay and bandwidth. This requires the PoP point to perform traffic scheduling between different Internet lines to achieve switching between different Internet lines.

[0005] Therefore, a communication method is needed that can perform traffic scheduling between different Internet lines. Summary of the invention

[0006] In view of the problem of traffic scheduling between different Internet lines under the prior art, the present application provides a communication method, device, system and electronic device.

[0007] The present application embodiment adopts the following technical solutions:

[0008] In a first aspect, the present application provides a communication method, comprising:

[0009] Acquire an original message, wherein the original message includes a first Internet Protocol (IP) header;

[0010] According to the traffic scheduling strategy, confirm a first routing exit for transmitting the original message;

[0011] Based on a preset redirection policy, confirm a first Differentiated Services Code Point (DSCP) value corresponding to the first routing exit, wherein in the redirection policy, different routing exits correspond to different DSCP values;

[0012] Modify the value of the DSCP field of the first IP header in the original message to the first DSCP value to generate a first message;

[0013] Adding a Generic Routing Encapsulation (GRE) message header to the first message and encapsulating it with a second IP header to generate a second message, wherein the GRE message header corresponds to a GRE tunnel, one end of the GRE tunnel is carried by an egress router, and a target address of the second IP header is an address of the egress router;

[0014] The second message is transmitted to the egress router through the GRE tunnel.

[0015] In a feasible implementation manner of the first aspect, the value of the DSCP field of the first IP header is a second DSCP value, and a GRE header is added to the first message and encapsulated using the second IP header, wherein:

[0016] The value of the DSCP field of the second IP header is the second DSCP value.

[0017] In a feasible implementation of the first aspect above, the other end of the GRE tunnel is carried by a load balancer, and the load balancer includes an elastic load balancer (ELB), a network load balancer (NLB) or a server load balancer (SLB).

[0018] In a feasible implementation manner of the first aspect above, the second message is generated by the load balancer, and the source address of the second IP header in the second message is the address of the load balancer;

[0019] The transmitting the second message to the egress router through the GRE tunnel includes:

[0020] The load balancer encapsulates the second message using a virtual eXtensible Local Area Network (VxLAN) header to generate a third message, wherein the VxLAN header corresponds to a switch network between the load balancer and an elastic IP address (EIP) gateway;

[0021] The load balancer sends the third message to the EIP gateway;

[0022] When the EIP gateway receives the third message, it strips off the VxLAN header to obtain the second message;

[0023] The EIP gateway modifies the source address of the second IP header in the second message to the address of the EIP gateway, and sends the modified second message to the egress router.

[0024] In a feasible implementation manner of the first aspect, the other end of the GRE tunnel is carried by an EIP gateway, and the transmitting the second message to the egress router through the GRE tunnel includes:

[0025] The EIP gateway sends the second message to the egress router.

[0026] In a feasible implementation manner of the first aspect above, the other end of the GRE tunnel is carried by a virtual router, and the transmitting the second message to the egress router through the GRE tunnel includes:

[0027] The virtual router sends the second message to the egress router.

[0028] In a feasible implementation of the first aspect above, the routing exit of the original message is confirmed according to the traffic scheduling strategy, wherein the traffic scheduling strategy is generated by a global network controller according to a network quality analysis result, and the network quality analysis result is generated based on a network quality monitoring result, and the network quality monitoring result includes network quality data reported by a terminal device.

[0029] In a second aspect, an embodiment of the present application provides a communication method, including:

[0030] Receive a first message, wherein the first message is a GRE message header encapsulated by a first IP header and a second message, the GRE message header corresponds to a GRE tunnel, and one end of the GRE tunnel is carried by an egress router;

[0031] Stripping off a first IP header and a GRE header in the first message to obtain the second message, wherein the second message includes a second IP header;

[0032] Identify the value of the DSCP field in the second IP header and obtain the first DSCP value;

[0033] Based on a preset redirection policy, confirm a first routing exit corresponding to the first DSCP value, wherein in the redirection policy, different DSCP values ​​correspond to different routing exits;

[0034] Based on the first routing exit, the second message is output.

[0035] In a feasible implementation manner of the first aspect, the value of the DSCP field in the first IP header is a second DSCP value, and the outputting the second message based on the first routing exit includes:

[0036] Modify the value of the DSCP field in the second IP header in the IP header of the second message to the second DSCP value to generate a third message;

[0037] Based on the first routing exit, the third message is output.

[0038] In a third aspect, an embodiment of the present application provides a communication device, including:

[0039] A message acquisition module, which is used to acquire an original message, wherein the original message includes a first IP header;

[0040] An egress determination module, configured to determine a first routing egress for transmitting the original message according to a traffic scheduling strategy;

[0041] A directional module, which is used to confirm a first DSCP value corresponding to the first routing exit based on a preset redirection strategy, wherein in the redirection strategy, different routing exits correspond to different DSCP values;

[0042] A message modification module, used for modifying the value of the DSCP field of the first IP header in the original message to the first DSCP value, so as to generate a first message;

[0043] A message generation module, which is used to add a GRE message header to the first message and use a second IP header to encapsulate it to generate a second message, wherein the GRE message header corresponds to a GRE tunnel, one end of the GRE tunnel is carried by an egress router, and the target address of the second IP header is the address of the egress router;

[0044] A message output module, used for transmitting the second message to the egress router through the GRE tunnel.

[0045] In a fourth aspect, an embodiment of the present application provides a communication device, including:

[0046] A message receiving module, which is used to receive a first message, wherein the first message is a GRE message header encapsulated by a first IP header and a second message, the GRE message header corresponds to a GRE tunnel, and one end of the GRE tunnel is carried by an egress router;

[0047] A message generation module, which is used to strip off the first IP header and the GRE message header in the first message to obtain the second message, wherein the second message includes a second IP header;

[0048] a directional module, which is used to: identify the value of the DSCP field in the second IP header and obtain a first DSCP value; based on a preset redirection strategy, confirm a first routing exit corresponding to the first DSCP value, wherein in the redirection strategy, different DSCP values ​​correspond to different routing exits;

[0049] A message output module is used to output the second message based on the first routing exit.

[0050] In a fifth aspect, an embodiment of the present application provides a communication system, including a host and an egress router, wherein:

[0051] The host is used to:

[0052] Establishing a GRE tunnel with the egress router;

[0053] Obtaining an original message, wherein the original message includes a first IP header;

[0054] According to the traffic scheduling strategy, confirm a first routing exit for transmitting the original message;

[0055] Based on a preset redirection policy, confirm a first DSCP value corresponding to the first routing exit, wherein in the redirection policy, different routing exits correspond to different DSCP values;

[0056] Modify the value of the DSCP field of the first IP header in the original message to the first DSCP value to generate a first message;

[0057] Adding a GRE message header to the first message and encapsulating it with a second IP header to generate a second message, wherein the GRE message header corresponds to the GRE tunnel, and the target address of the second IP header is the address of the egress router;

[0058] Transmitting the second message to the egress router through the GRE tunnel;

[0059] The egress router is used for:

[0060] receiving the second message;

[0061] Stripping the second IP header and the GRE message header in the second message to obtain the first message;

[0062] Identify a value of a DSCP field in an IP header of the first message, and obtain the first DSCP value;

[0063] Based on the redirection policy, determining a first routing exit corresponding to the first DSCP value;

[0064] Based on the first routing exit, the first message is output.

[0065] In a sixth aspect, an embodiment of the present application provides an electronic device, comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method steps described in the first aspect above.

[0066] In the seventh aspect, an embodiment of the present application provides an electronic device, comprising a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method steps described in the second aspect above.

[0067] According to the above technical solution proposed in the embodiment of the present application, at least the following technical effects can be achieved:

[0068] According to the method of the embodiment of the present application, the routing exit of the message can be adjusted based on the control of the DSCP field, so as to switch between different Internet lines to adjust the traffic; and because the DSCP field is included in the general communication protocol, the method of the embodiment of the present application can be implemented based on general routers & switches, which greatly improves the practicality of the method and reduces the difficulty of popularizing and implementing the solution. BRIEF DESCRIPTION OF THE DRAWINGS

[0069] Figure 1 Shown is a structural block diagram of a communication system in an application scenario;

[0070] Figure 2 Shown is a structural block diagram of a communication system in an application scenario;

[0071] Figure 3Shown is a flow chart of a communication method according to an embodiment of the present application;

[0072] Figure 4 Shown is a structural diagram of a communication device according to an embodiment of the present application;

[0073] Figure 5 Shown is a flow chart of a communication method according to an embodiment of the present application;

[0074] Figure 6 Shown is a structural diagram of a communication device according to an embodiment of the present application;

[0075] Figure 7 Shown is a structural diagram of a communication system according to an embodiment of the present application;

[0076] Figure 8 The figure is a schematic diagram of an application scenario according to an embodiment of the present application;

[0077] Fig. 9 The figure shows a trace result display diagram of a route trace according to an embodiment of the present application;

[0078] Fig.10 The figure shows a trace result display diagram of a route trace according to an embodiment of the present application;

[0079] Fig.11 Shown is a structural diagram of a communication system according to an embodiment of the present application. DETAILED DESCRIPTION

[0080] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0081] The terms used in the implementation section of this application are only used to explain the specific embodiments of this application and are not intended to limit this application.

[0082] In order to solve the problem of traffic scheduling between different Internet lines under the existing technology, a feasible solution is to attach an export label to the message. Specifically, the host attaches different Multiprotocol Label Switching (MPLS) labels to the messages that need to be transmitted through different Internet lines. The message containing the MPLS label is sent to the label forwarding switch (Label Switched Fabric), and the label forwarding switch sends the message from the corresponding export according to the MPLS label of the message, thereby realizing traffic scheduling between different Internet lines.

[0083] Specifically, Figure 1 The figure shows a structural block diagram of a communication system in an application scenario. Figure 1 As shown,

[0084] The global controller 110 is responsible for the scheduling between PoPs.

[0085] The local controller (Location Controller) 120 is a controller within the PoP point.

[0086] The standard Border Gateway Protocol (Border Gateway Protocol, BGP) protocol stack 140 (Raven BGP) is used to run the BGP protocol, establish BGP Peering with the ISP, and publish and receive routes.

[0087] The service-level agreement (SLA) analyzer 130 (Analyzer) is used to collect and analyze the SLA information (Application Signals) reported by the host 100 .

[0088] The host 100 includes a packet processor, which is used to establish a Generic Routing Encapsulation (GRE) tunnel with the label forwarding switch 101 and add an MPLS label and a GRE header to the message.

[0089] The label forwarding switch 101 is responsible for outputting the message from the host to the router (External Peer) of the ISP through a designated routing exit (for example, exit Peering 101 or exit Peering 102). Different routing exits correspond to different Internet lines.

[0090] The host 100 sends the SLA such as the real-time bandwidth demand to the SLA analyzer 130. The SLA analyzer 130 sends the analysis result to the global controller 110. The global controller 110 calculates and adjusts different applications to use different peering routers and ports for forwarding based on the collected bandwidth demand of all PoP points to achieve global outbound load balancing. The global controller 110 notifies the local controller 120 to change the forwarding table of the host 100. At the same time, the global controller 110 configures the corresponding MPLSoGRE decapsulation on the label forwarding switch 101.

[0091] A virtual extended local area network (VxLAN) is established between the host 100 and the label forwarding switch 101 based on the Internet Protocol version 4 (IPv4) to achieve communication interaction. In addition, a GRE tunnel is established between the host 100 and the label forwarding switch 101. The message output from the host 100 to the label forwarding switch 101 is added with a GRE header and an MPLS header. Specifically, the message structure output from the host 100 to the label forwarding switch 101 includes: GRE / IPv4 (parameters required for GRE tunnel transmission) + MPLS + IPv4 (IP header parameters of the original message) After receiving the message, the label forwarding switch 101 strips off the GRE header. Then it is forwarded to different output interfaces according to the MPLS header, and the MPLS header is stripped off during forwarding. The message is output to the local Internet network through the output interface of the label forwarding switch 101, and is connected to different ISP entrances (for example, Peering 101 or Peering 102) based on different output interfaces, and is transmitted using different Internet lines.

[0092] Figure 1 Although the solution shown can implement switching between different output interfaces based on the MPLS header, thereby implementing switching between different Internet lines; however, since the host 100 needs to add an MPLS header to the message and the label forwarding switch 101 needs to parse the MPLS header, the host and the forwarding switch using a general routing protocol cannot directly implement the host 100 and the label forwarding switch 101, and the kernel code of the host and the forwarding switch needs to be modified to implement the host 100 and the label forwarding switch 101. Therefore, Figure 1 The scheme shown cannot be generalized to general router & switch equipment.

[0093] Furthermore, in order to solve the problem of traffic scheduling between different Internet lines under the existing technology, a feasible solution is to directly control the routing of the Internet egress router (Peering Router, PR) to achieve switching between different Internet egresses. Specifically, Figure 2 The figure shows a structural block diagram of a communication system in an application scenario. Figure 2 As shown, a VxLAN is established between the host 200 and the egress router 201 based on IPv4 to achieve communication interaction.

[0094] Figure 2 The solution shown uses the standard Border Gateway Protocol (BGP) to implement routing control of the egress router 201. Specifically, the controller 210 issues a BGP routing policy, and publishes a higher priority route to the egress router 201 through the BGP injection module 211 (BGP Injector), overwriting the routing table on the egress router 201 to implement switching between different Internet egresses.

[0095] Figure 2 Although the solution shown can realize the host 200 and the egress router 201 based on the general host and the egress router, Figure 2 The solution shown is based on the BGP protocol to directly control the egress router 201, so it can only be scheduled based on the routing network segment. If the elastic IP address (EIP) of a network segment carries multiple services of the tenant, and each service needs to be scheduled with a different priority, the solution cannot be accurate to each service flow.

[0096] Further, in Figure 2 In the solution shown, in order to make the controller 210 confirm the BGP routing policy, a detection server is deployed at each PoP point to detect the delay from the PoP point to the user. However, when monitoring the delay of the Internet exit, the detection message cannot reach the final terminal. It is quite different from the traffic path of the real business.

[0097] In view of the problems existing in the above-mentioned scheme, in one embodiment of the present application, a traffic scheduling method based on Differentiated Services Code Point (DSCP) is proposed. Instead of attaching an additional export label to the message, the DSCP in the existing message structure is used to carry the export label. Specifically, the method is implemented by a host and an export router (switch). The host is used to obtain the message and confirm the routing export of the message on the export router according to the traffic scheduling strategy. The export router is connected to the host and connected to the Internet network through multiple routing exports, and different routing exports are connected to different Internet lines. The export router can output the message from the host through the selected routing export to realize the scheduling of traffic between different Internet lines.

[0098] The host is configured with a redirection policy, which contains the matching relationship between the DSCP value and the routing exit of the egress router. Different DSCP values ​​correspond to different routing exits. The host confirms the Internet line for transmitting the message according to the traffic scheduling policy, and then confirms the routing exit on the egress router to output the message. The host modifies the value of the DSCP field in the Internet Protocol (IP) header of the message according to the confirmed routing exit and sends the modified message to the egress router.

[0099] The egress router is also configured with a redirection policy. Based on the redirection policy, the egress router determines the corresponding route exit according to the value of the DSCP field in the IP header of the message, and outputs the message based on the confirmed route exit.

[0100] In order to avoid the modification of the DSCP field affecting the transmission and parsing of the message. A Generic Routing Encapsulation (GRE) tunnel is established between the host and the egress router. After the host obtains the message to be transmitted, it confirms the route exit of the message on the egress router according to the traffic scheduling policy. The host modifies the DSCP value in the IP header of the message to the DSCP value of the corresponding route exit, adds a GRE message header to the modified message, and encapsulates it based on the new IP header. The host sends the newly encapsulated message to the egress router through the GRE Tunnel. After receiving the message, the egress router strips off the new IP header and the GRE message header, and confirms the route exit of the message based on the DSCP value in the original IP header.

[0101] According to the method of the embodiment of the present application, the routing exit of the message can be allocated based on the control of the DSCP field, so as to switch between different Internet lines to allocate traffic. The method of the embodiment of the present application can be based on the accuracy of each message and each business flow, and the scheduling accuracy of traffic scheduling is effectively ensured. According to the method of the embodiment of the present application, since the DSCP field is included in the general communication protocol, the method of the embodiment of the present application adopts a general routing protocol and is implemented based on a general routing & switch. There is no need to develop a dedicated forwarding protocol and a dedicated forwarding device, which greatly improves the practicality of the method and reduces the difficulty of promoting and implementing the solution.

[0102] Specifically, in one embodiment of the present application, a communication method is proposed, and the method is executed by a host. Figure 3 FIG. 1 is a flow chart of a communication method according to an embodiment of the present application. The host executes the following Figure 3 The following steps are shown:

[0103] Step 310, obtaining the original message B31, the original message B31 includes the IP header T31;

[0104] Step 320, confirming the routing exit O31 for transmitting the original message B31 according to the traffic scheduling strategy;

[0105] Step 330: confirm the DSCP value of the corresponding routing exit O31 based on the preset redirection policy, wherein different routing exits correspond to different DSCP values ​​in the redirection policy;

[0106] Step 340, modify the value of the DSCP field in the IP header T31 in the original message B31 to the DSCP value of the corresponding routing exit O31 to generate a message B32;

[0107] Step 350, adding a GRE message header to message B32 and encapsulating it with an IP header T32 to generate a message B33, wherein the GRE message header corresponds to a GRE tunnel, one end of the GRE tunnel is carried by an egress router, and the destination address (Destination IP, DIP) of the IP header T32 is the address of the egress router;

[0108] Step 360: Transmit message B33 to the egress router through the GRE tunnel.

[0109] Further, in some application scenarios, the terminal device does not need to refer to the DSCP value in the IP header of the message when parsing the message content, that is, for the terminal device, the DSCP value in the IP header of the message is invalid data, so the change of the DSCP value in the IP header of the message does not affect the parsing of the message by the terminal device. However, in some application scenarios, the terminal device needs to refer to the DSCP value in the IP header of the message when parsing the message content, and in step 340, the DSCP value in the IP header of the message is modified, which may cause errors in the message parsing of the terminal device. In view of this situation, in an embodiment of the present application, the original DSCP value is carried by encapsulating the IP header of the GRE message header. Specifically, in an implementation method of step 350, the value of the DSCP field of the IP header T32 is the value of the DSCP field of the IP header T31 in the original message B31. In this way, although the value of the DSCP field of IP header T31 is modified in step 340, the value of the DSCP field of IP header T31 in the original message B31 is carried in IP header T32, and the terminal device can parse the message based on the value of the DSCP field of IP header T32.

[0110] correspond Figure 3 In addition to the method of the illustrated embodiment, an embodiment of the present application further proposes a communication device, which can be constructed in a host. Figure 4 FIG. 1 is a structural diagram of a communication device according to an embodiment of the present application. Figure 4 As shown, the communication device includes:

[0111] A message acquisition module 410, which is used to acquire an original message B31, where the original message B31 includes an IP header T31;

[0112] An egress determination module 420, which is used to determine the routing egress O31 for transmitting the original message B31 according to the traffic scheduling policy;

[0113] A directional module 430, which is used to confirm the DSCP value corresponding to the routing exit O31 based on a preset redirection policy, wherein in the redirection policy, different routing exits correspond to different DSCP values;

[0114] A message modification module 440, which is used to modify the value of the DSCP field of the IP header T31 in the original message B31 to the DSCP value of the corresponding routing exit O31, so as to generate a message B32;

[0115] A message generation module 450, which is used to add a GRE message header to the message B32 and encapsulate it using the IP header T32 to generate a message B33, wherein the GRE message header corresponds to a GRE tunnel, one end of the GRE tunnel is carried by an egress router, and the target address of the IP header T32 is the address of the egress router;

[0116] The message output module 460 is used to transmit the message B33 to the egress router through the GRE tunnel.

[0117] Furthermore, in one embodiment of the present application, a communication method is also proposed, and the method is executed by an egress router. Figure 5 FIG. 1 is a flow chart of a communication method according to an embodiment of the present application. The egress router executes the following Figure 5 The following steps are shown:

[0118] Step 510, receiving message B51, wherein message B51 is a GRE message header encapsulated by IP header T51 and message B52, the GRE message header corresponds to a GRE tunnel, and one end of the GRE tunnel is carried by an egress router;

[0119] Step 520, stripping off the IP header T51 and the GRE header in the message B51 to obtain a message B52, wherein the message B52 includes the IP header T52;

[0120] Step 530, identifying the value of the DSCP field in the IP header T52, and obtaining the DSCP value;

[0121] Step 540, based on a preset redirection policy, confirm the routing exit O51 corresponding to the DSCP value in the IP header T52, wherein in the redirection policy, different DSCP values ​​correspond to different routing exits;

[0122] Step 550: Based on the routing exit O51, the message B52 is output.

[0123] Furthermore, for application scenarios that require DSCP values ​​based on IP headers, Figure 5 In the illustrated embodiment, the DSCP field in the IP header T51 in the message B51 carries the value of the DSCP field in the IP header of the original message. Figure 5 In one implementation of the illustrated embodiment, when the IP header T51 in the message B51 is stripped off in step 520, the value of the DSCP field of the IP header T51 is read; in step 550, the value of the DSCP field of the IP header T52 in the message B52 is first modified to the value of the DSCP field of the IP header T51 to generate a message B53, and then the message B53 is output based on the routing exit O51.

[0124] correspond Figure 5 In addition to the method of the illustrated embodiment, an embodiment of the present application further proposes a communication device, which can be built in an egress router. Figure 6 FIG. 1 is a structural diagram of a communication device according to an embodiment of the present application. Figure 6 As shown, the communication device includes:

[0125] A message receiving module 610, which is used to receive a message B51, wherein the message B51 is a GRE message header encapsulated by an IP header T51 and a message B52, the GRE message header corresponds to a GRE tunnel, and one end of the GRE tunnel is carried by an egress router;

[0126] A message generation module 620, which is used to strip off the IP header T51 and the GRE message header in the message B51 to obtain a message B52, wherein the message B52 includes the IP header T52;

[0127] The directional module 630 is used to: identify the value of the DSCP field in the IP header T52 and obtain the DSCP value; based on a preset redirection policy, confirm the routing exit O51 corresponding to the DSCP value in the IP header T52, wherein in the redirection policy, different DSCP values ​​correspond to different routing exits;

[0128] The message output module 640 is used to output the message B52 based on the routing exit O51.

[0129] correspond Figure 3 as well as Figure 5 In addition to the method of the illustrated embodiment, an embodiment of the present application also proposes a communication system. Figure 7 FIG. 1 is a structural diagram of a communication system according to an embodiment of the present application. Figure 7 As shown, the communication system includes a host 700 and an egress router 701. A VxLAN is established between the host 700 and the egress router 701 based on IPv4 to achieve communication interaction. A GRE tunnel is established between the host 700 and the egress router 701 (the two ends of the GRE tunnel are carried by the host 700 and the egress router 701).

[0130] The local network controller 710 (Location Network Scheduler) sends the traffic scheduling policy to the host 700. The host 700 obtains the message to be sent to the Internet network. Take the message B71 including the IP header T71 as an example:

[0131] When the host 710 obtains the message B71, it determines the routing exit O71 for transmitting the message B71 according to the traffic scheduling strategy;

[0132] The host 710 confirms the DSCP value of the corresponding routing exit O71 based on the preset redirection policy, wherein different routing exits correspond to different DSCP values ​​in the redirection policy;

[0133] The host 710 modifies the value of the DSCP field in the IP header T71 in the message B71 to the DSCP value of the corresponding routing exit O71 to generate a message B72;

[0134] The host 710 adds a GRE message header to the message B72 and uses the IP header T72 to encapsulate it to generate a message B73, wherein the GRE message header corresponds to the GRE tunnel between the host 700 and the egress router 701, and the destination address of the IP header T72 is the address of the egress router 701;

[0135] The host 710 transmits the message B73 to the egress router 701 through the GRE tunnel; specifically, the message format output by the host 710 to the egress router 701 includes: GRE / IPv4 (parameters required for GRE tunnel transmission) + IP DSCP (IP header parameters of the modified DSCP value);

[0136] After receiving the message B73, the egress router 701 strips off the IP header T72 and the GRE message header in the message B73 to obtain the message B72;

[0137] The egress router 701 identifies the value of the DSCP field in the IP header of the packet B72, and based on the redirection policy, determines the routing egress O71 corresponding to the value of the DSCP field in the IP header of the packet B72;

[0138] The egress router 701 outputs the message B72 based on the route egress O71.

[0139] Furthermore, since the egress router 701 does not need to consider the egress switching when transmitting the message to the host 710, the message output by the egress router 701 to the host 710 does not need to modify the DSCP value, nor does it need to be transmitted through the GRE tunnel. Specifically, the message format output by the egress router 701 to the host 710 includes: IPv4 (parameters required for VxLAN transmission).

[0140] Further, in actual application scenarios, the host 700 can be constructed based on a variety of different devices. Specifically, in one embodiment of the present application, the host 700 is constructed based on a load balancer. One end of the GRE tunnel is carried by the load balancer. The load balancer can be an elastic load balancer (ELB), a network load balancer (NLB), or a conceptual load balancer (SLB).

[0141] Specifically, in Figure 7In one implementation of the embodiment shown, the host 700 includes a load balancer and an EIP gateway (Gateway), and the load balancer and the EIP gateway communicate with each other through VxLAN. Message B73 is generated by the load balancer, and the source address (Source IP, SIP) of the IP header T72 in the message B73 is the address of the load balancer. The process of the host 710 transmitting the message B73 to the egress router 701 through the GRE tunnel includes:

[0142] The load balancer encapsulates message B73 with a VxLAN header to generate message B74. The VxLAN header corresponds to the switch network between the load balancer and the EIP gateway.

[0143] The load balancer sends packet B74 to the EIP gateway;

[0144] When the EIP gateway receives message B74, it strips off the VxLAN header to obtain message B73.

[0145] The EIP gateway modifies the source address of the IP header T72 in the message B73 to the address of the EIP gateway to generate a message B75, and sends the message B75 to the egress router 701.

[0146] Take a specific application scenario as an example. Figure 8 FIG. 1 is a schematic diagram of an application scenario according to an embodiment of the present application. Figure 8 As shown, the host includes ELB 801 and EIP gateway 802. The address of ELB 801 is eth0:10.50.17.54, and the address of EIP gateway 802 is EIP:121.37.255.32.

[0147] A GRE tunnel is constructed between the host and the egress router PR 803. The address of PR 803 for the GRE tunnel is LP1: 119.3.96.202. The GRE tunnel from the host to PR 803 is GRE Tunnel (DIP: 119.3.96.202, SIP: 10.50.17.54), and the GRE tunnel from PR 803 to the host is GRE Tunnel (DIP: 121.37.255.32, SIP: 119.3.96.202).

[0148] The destination of message B81 is mobile phone 804, whose address is 23.1.1.1. Message B81 includes IP header T81 and payload F81 (PayLoad). In IP header T81, the value of DSCP field is: 0x00, SIP is 121.37.255.32, and DIP is 23.1.1.1.

[0149] After ELB 801 receives message B81, it confirms the routing exit O81 for transmitting message B81 according to the traffic scheduling policy. ELB 801 confirms the DSCP value (0x40) corresponding to routing exit O81 based on the preset redirection policy.

[0150] ELB 801 modifies the value of the DSCP field of IP header T81 in message B81 to 0x40, attaches a GRE message header (GRE Tag) to the message, encapsulates the message using IP header T82 (the value of the DSCP field of IP header T82 is the value of the DSCP field of IP header T81 (0x00)), and attaches a VxLAN header to the message to generate message B82.

[0151] Packet B82 contains a VxLAN header, an IP header T82, a GRE Tag, an IP header T83, and a payload F81. In the IP header T82, the value of the DSCP field is 0x00, the SIP is 10.50.17.54, and the DIP is 119.3.96.202. In the IP header T83, the value of the DSCP field is 0x40, the SIP is 121.37.255.32, and the DIP is 23.1.1.1.

[0152] ELB 801 sends message B82 to EIP gateway 802.

[0153] After the EIP gateway 802 receives the message B82, it strips off the VxLAN header of the message B82 and modifies the SIP in the IP header T82 to generate the message B83.

[0154] Message B83 includes IP header T84, GRE Tag, IP header T83 and payload F81. In IP header T84, the value of DSCP field is: 0x00, SIP is 121.37.255.32, and DIP is 119.3.96.202.

[0155] EIP gateway 802 sends message B83 to PR 803 .

[0156] After receiving the message B83, PR 803 strips off the IP header T84 and the GRE Tag of the message B83 to generate the message B84. The value (0x40) of the DSCP field of the IP header of the message B84 is read. Based on the preset redirection policy, PR 803 confirms the routing exit O81 corresponding to the DSCP value (0x40).

[0157] PR 803 modifies the value of the DSCP field in the IP header of packet B84 to the value (0x00) of the DSCP field in IP header T84 to generate packet B85.

[0158] Message B85 includes IP header T85 and payload F81 (PayLoad). In IP header T85, the value of the DSCP field is: 0x00, SIP is 121.37.255.32, and DIP is 23.1.1.1. IP header T85 is consistent with IP header T81.

[0159] PR 803 outputs message B85 through routing exit O81, and message B85 is transmitted to mobile phone 804 through the Internet line corresponding to routing exit O81.

[0160] Furthermore, when the mobile phone 804 transmits a message to the ELB 801, it is not necessary to configure the transmission port through the DSCP field. Therefore, on the path of the mobile phone 804 transmitting the message to the ELB 801, the ELB 801 and the PR 803 do not need to transmit the message through the GRE tunnel.

[0161] Specifically, Figure 8 As shown, mobile phone 804 sends message B86 to PR 803.

[0162] Message B86 includes IP header T86 and payload F82 (PayLoad). In IP header T86, the value of DSCP field is: 0x00, SIP is 23.1.1.1, and DIP is 121.37.255.32.

[0163] PR 803 forwards message B86 to EIP gateway 802 .

[0164] After receiving message B86, EIP gateway 802 adds a VxLAN header to message B86 and modifies the DIP of IP header T86 in message B86 to generate message B87.

[0165] Message B87 contains a VxLAN header, an IP header T87, and a payload F82 (PayLoad). In the IP header T87, the value of the DSCP field is: 0x00, the SIP is 23.1.1.1, and the DIP is 10.50.17.54.

[0166] EIP gateway 802 sends message B87 to ELB 801.

[0167] After receiving message B87, ELB 801 strips off the VxLAN header of message B87 to generate message B88. Message B88 includes IP header T87 and payload F82 (PayLoad).

[0168] Further, in Figure 7In one implementation of the illustrated embodiment, the other end of the GRE tunnel is carried by an EIP gateway, and the process of the host 710 transmitting the message B73 to the egress router 701 through the GRE tunnel includes: the EIP gateway sends the message B73 to the egress router 701.

[0169] Further, in Figure 7 In one implementation of the illustrated embodiment, the other end of the GRE tunnel is carried by a virtual router (vRouter) of the virtual network, and the process of the host 710 transmitting the message B73 to the egress router 701 through the GRE tunnel includes: the virtual router sends the message B73 to the egress router 701.

[0170] Furthermore, in actual application scenarios, it is possible to determine whether the communication system in which the host is located adopts traffic scheduling by initiating route tracing on the host. For example, multiple trace route requests are initiated on the mobile phone or virtual machine to the host on the cloud side, and the operator information is found through the IP address in the trace result, and the operator in the middle is compared to see if it has changed. If the operator in the middle has changed, it means that the transmission of the message is switched between multiple different Internet lines.

[0171] Fig. 9 The following is a diagram showing the trace result of a route trace according to an embodiment of the present application. A trace route request is initiated for the host with the address 118.194.34.194. The trace result is as follows: Fig. 9 As shown in the figure, the operators penetrated in the middle include Guangdong Mobile, Beijing Mobile, Beijing Unicom and Dilian, which means that the message transmission from the current device to the host with the address 118.194.34.194 is switched between multiple different Internet lines.

[0172] Fig.10 The following is a diagram showing the trace result of a route trace according to an embodiment of the present application. A trace route request is initiated for the host with the address 118.194.34.194. The trace result is as follows: Fig.10 As shown in the figure, the operators penetrated in the middle include Guangdong Telecom, Beijing Telecom, Capital Online Technology IDC Room and Dilian, which means that the message transmission from the current device to the host with the address of 118.194.34.194 is switched between multiple different Internet lines.

[0173] Furthermore, in actual application scenarios, the data output by the host can be analyzed to determine whether the host implements traffic scheduling based on DSCP. For example, packets can be captured on ELB or other network elements (NLB, SLB, EIP gateway, vRouter, etc.), and the captured packets can be parsed to determine whether the DSCP value has been modified and whether a GRE tunnel has been added.

[0174] Furthermore, in actual application scenarios, the configuration of the egress router can be analyzed to determine whether the communication system implements traffic scheduling based on DSCP. For example, the configuration of the physical router (egress router) can be checked to see whether the GRE Tunnel is configured and whether the redirection policy of DSCP is matched.

[0175] Furthermore, in one embodiment of the present application, in order to improve the accuracy of traffic scheduling, part of the existing network traffic is used as test traffic to test the network quality (delay, packet loss rate) of the backup line. For example, 5% of the traffic is used as test traffic and forwarded through the backup line. 95% of the traffic is forwarded from the main line.

[0176] The global network controller generates a traffic scheduling strategy based on the network quality analysis results and sends the traffic scheduling strategy to the host, where the network quality analysis results are generated based on the network quality monitoring results, which include network quality data reported by terminal devices (e.g., mobile phones, tablet computers, desktop personal computers, etc., which are terminal devices connected to the Internet network provided by the local ISP). In this way, the global network controller can perceive the service SLA (network quality data reported by the terminal device) and let the service select the Internet exit based on its own SLA to achieve the optimal SLA. In addition, by using some real services as observation traffic, the network quality SLA from the cloud side to the mobile phone side can be fully monitored, which can greatly improve the accuracy of traffic scheduling.

[0177] Fig.11 FIG. 1 is a structural diagram of a communication system according to an embodiment of the present application. Fig.11 As shown,

[0178] The local monitor 910 (Local Monitor) is used to analyze the Transmission Control Protocol (TCP) session on the host 900 , collect network quality information (SLA) (for example, delay, packet loss rate) of each flow, and report the collected SLA information to the SLA analyzer 930 .

[0179] The Internet terminal device of the local ISP reports the network quality information SLA to the SLA analyzer 130 through the terminal software development kit (SDK). For example, the mobile phone 901 reports the service delay to the SLA analyzer 930 through the network SDK (Network SDK) on the mobile phone terminal.

[0180] The SLA analyzer 930 collects and analyzes the SLA information reported by the local monitor 910 and the end-side SDK, and sends the analysis results to the global network controller (Global Network Scheduler) 910. The global network controller (Global Network Scheduler) 910 monitors the quality of the entire network and makes traffic scheduling strategies based on the network quality analysis results reported by the SLA analyzers on the entire network.

[0181] The global network controller 910 sends the traffic scheduling policy to the local network controller (Location Network Scheduler) 920. The local network controller (Location Network Scheduler) 920 is a network controller in the PoP point. The local network controller 920 sends the traffic scheduling policy to the host 900.

[0182] PR 901 is an Internet egress router for peering with an ISP. A VxLAN is established between PR 901 and host 900 based on IPv4 to achieve communication interaction. Redirection policies are configured on PR 901 and host 900. For example, the global network controller 910 configures redirection policies on PR 901 based on BGP flow specifications (FlowSpec), BGP monitoring protocol (BGPMonitoring Protocol, BMP), and simple network management protocol (Simple Network Management Protocol, SNMP).

[0183] A GRE tunnel is established between host 900 and PR 901. When host 900 obtains a message to be sent to the Internet network, it determines the route exit for transmitting the message according to the traffic scheduling policy. Host 900 determines the DSCP value of the corresponding route exit based on the preset redirection policy; and modifies the value of the DSCP field in the IP header of the message to the DSCP value of the corresponding route exit. Host 900 adds a GRE message header to the message to send the message to PR 901 through the GRE tunnel.

[0184] After receiving the message, PR 901 strips off the GRE message header of the message and identifies the value of the DSCP field in the IP header of the message. Based on the redirection policy, it determines the routing exit corresponding to the value of the DSCP field in the IP header of the message. The message is output to the Internet network of the local ISP through the determined routing exit, so that the message is transmitted to the terminal device through the Internet line corresponding to the routing exit.

[0185] exist Fig.11 In the illustrated embodiment, end-side network quality monitoring is added (for example, the mobile phone 901 reports the service delay to the SLA analyzer 130 via the network SDK (Network SDK) on the mobile phone side), making the monitoring more accurate and effective, thereby improving the accuracy of traffic scheduling.

[0186] It is to be understood that some or all of the steps or operations in the above embodiments are merely examples, and the present application embodiments may also perform other operations or variations of various operations. In addition, the various steps may be performed in different orders presented in the above embodiments, and it is possible that not all of the operations in the above embodiments need to be performed.

[0187] Furthermore, generally, it is very clear whether the improvement of a technology is hardware improvement (for example, improvement of the circuit structure of diodes, transistors, switches, etc.) or software improvement (improvement of the method flow). However, with the development of technology, many improvements of the method flow today can be regarded as direct improvements of the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be implemented by hardware entity modules. For example, the logical function of a programmable logic device (PLD) is determined by the access party programming the device. Designers program a digital device to be "integrated" on a PLD by themselves, without asking chip manufacturers to design and make dedicated integrated circuit chips. Moreover, nowadays, instead of manually making integrated circuit chips, this programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called Hardware Description Language (HDL). Those skilled in the art should also be aware that it is easy to obtain a hardware circuit that implements the logical method flow by simply performing some logic programming on the method flow using a hardware description language and programming it into an integrated circuit.

[0188] In the description of the embodiments of the present application, for the convenience of description, the device is described by dividing it into various modules according to its functions. The division of each module is merely a division of logical functions. When implementing the embodiments of the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0189] Specifically, the device proposed in the embodiment of the present application can be fully or partially integrated into a physical entity during actual implementation, or it can be physically separated. And these modules can all be implemented in the form of software calling through processing elements; they can also be all implemented in the form of hardware; some modules can also be implemented in the form of software calling through processing elements, and some modules can be implemented in the form of hardware. For example, the detection module can be a separately established processing element, or it can be integrated in a chip of an electronic device. The implementation of other modules is similar. In addition, all or part of these modules can be integrated together, or they can be implemented independently. In the implementation process, each step of the above method or each of the above modules can be completed by an integrated logic circuit of hardware in a processor element or instructions in the form of software.

[0190] For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as one or more application specific integrated circuits (ASIC), or one or more digital signal processors (DSP), or one or more field programmable gate arrays (FPGA), etc. For another example, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0191] An embodiment of the present application further proposes an electronic device, which includes a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method steps described in the embodiment of the present application.

[0192] Specifically, in one embodiment of the present application, the above-mentioned one or more computer programs are stored in the above-mentioned memory, and the above-mentioned one or more computer programs include instructions. When the above-mentioned instructions are executed by the above-mentioned device, the above-mentioned device executes the method steps described in the embodiment of the present application.

[0193] Specifically, in one embodiment of the present application, the processor of the electronic device may be a SOC device on a chip, which may include a central processing unit (CPU), and may further include other types of processors. Specifically, in one embodiment of the present application, the processor of the electronic device may be a PWM control chip.

[0194] Specifically, in an embodiment of the present application, the processor involved may include, for example, a CPU, a DSP, a microcontroller or a digital signal processor, and may also include a GPU, an embedded neural network processor (Neural-network Process Units, NPU) and an image signal processor (Image Signal Processing, ISP). The processor may also include necessary hardware accelerators or logic processing hardware circuits, such as ASICs, or one or more integrated circuits for controlling the execution of the program of the technical solution of the present application. In addition, the processor may have the function of operating one or more software programs, and the software programs may be stored in a storage medium.

[0195] Specifically, in one embodiment of the present application, the memory of the electronic device may be a read-only memory (ROM), other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), a magnetic disk storage medium or other magnetic storage devices, or may be any computer-readable medium that can be used to carry or store desired program codes in the form of instructions or data structures and can be accessed by a computer.

[0196] Specifically, in an embodiment of the present application, the processor and the memory can be combined into a processing device, more commonly, they are independent components, and the processor is used to execute the program code stored in the memory to implement the method described in the embodiment of the present application. In specific implementation, the memory can also be integrated into the processor, or independent of the processor.

[0197] Furthermore, the devices, apparatuses, modules or systems described in the embodiments of the present application may be implemented by computer chips or entities, or by products having certain functions.

[0198] It will be appreciated by those skilled in the art that the embodiments of the present application may be provided as methods, devices, systems, equipment or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program code.

[0199] In the several embodiments provided in the present application, if any function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application.

[0200] Specifically, in one embodiment of the present application, a computer-readable storage medium is further provided, in which a computer program is stored. When the computer program is run on a computer, the computer executes the method provided in the embodiment of the present application.

[0201] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is run on a computer, the computer executes the method provided by the embodiment of the present application.

[0202] The description of the embodiments in this application is described with reference to the flowcharts and / or block diagrams of the methods, devices (apparatus), systems and computer program products according to the embodiments of the application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0203] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0204] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0205] It should also be noted that in the embodiments of the present application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent the existence of A alone, the existence of A and B at the same time, and the existence of B alone. Among them, A and B can be singular or plural. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b and c can be represented by: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, c can be single or multiple.

[0206] In the embodiments of the present application, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the presence of other identical elements in the process, method, commodity or device including the element.

[0207] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0208] Each embodiment in this application is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0209] Those skilled in the art will appreciate that the various units and algorithm steps described in the embodiments of the present application can be implemented by a combination of electronic hardware, computer software, and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0210] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, apparatuses and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0211] The above is only a specific implementation of the present application. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. The protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A communication method, characterized in that: include: Obtaining an original message, wherein the original message includes a first IP header; According to the traffic scheduling strategy, confirm a first routing exit for transmitting the original message; Based on a preset redirection policy, confirm a first DSCP value corresponding to the first routing exit, wherein in the redirection policy, different routing exits correspond to different DSCP values; Modify the second DSCP value of the DSCP field of the first IP header in the original message to the first DSCP value to generate a first message; Adding a GRE message header to the first message and encapsulating it with a second IP header to generate a second message, wherein the GRE message header corresponds to a GRE tunnel, one end of the GRE tunnel is carried by an egress router, the destination address of the second IP header is the address of the egress router, and the value of the DSCP field of the second IP header is the second DSCP value; The second message is transmitted to the egress router through the GRE tunnel.

2. The method according to claim 1, characterized in that The other end of the GRE tunnel is carried by a load balancer, and the load balancer includes ELB, NLB or SLB.

3. The method according to claim 2, characterized in that The second message is generated by the load balancer, and the source address of the second IP header in the second message is the address of the load balancer; The transmitting the second message to the egress router through the GRE tunnel includes: The load balancer encapsulates the second message using a VxLAN header to generate a third message, wherein the VxLAN header corresponds to a switch network between the load balancer and the EIP gateway; The load balancer sends the third message to the EIP gateway; When the EIP gateway receives the third message, it strips off the VxLAN header to obtain the second message; The EIP gateway modifies the source address of the second IP header in the second message to the address of the EIP gateway, and sends the modified second message to the egress router.

4. The method according to claim 1, characterized in that The other end of the GRE tunnel is carried by the EIP gateway, and the transmitting the second message to the egress router through the GRE tunnel includes: The EIP gateway sends the second message to the egress router.

5. The method according to claim 1, characterized in that The other end of the GRE tunnel is carried by a virtual router, and the transmitting the second message to the egress router through the GRE tunnel includes: The virtual router sends the second message to the egress router.

6. The method according to any one of claims 1 to 5, characterized in that: The routing exit of the original message is confirmed according to the traffic scheduling strategy, wherein the traffic scheduling strategy is generated by a global network controller according to a network quality analysis result, and the network quality analysis result is generated based on a network quality monitoring result, and the network quality monitoring result includes network quality data reported by a terminal device.

7. A communication method, characterized in that: include: Receive a first message, wherein the first message is a first IP header, a GRE message header encapsulated by the first IP header, and a second message, the GRE message header corresponds to a GRE tunnel, and one end of the GRE tunnel is carried by an egress router; Stripping off the first IP header and the GRE message header in the first message to obtain the second message, wherein the second message is generated by modifying the DSCP value in the IP header of the original message, and the second message includes a second IP header; Identify the value of the DSCP field in the second IP header, obtain the first DSCP value, the original message is a message to be outputted in which the value of the DSCP field in the corresponding IP header is the second DSCP value, and the value of the DSCP field in the first IP header is the second DSCP value; Based on a preset redirection policy, confirm a first routing exit corresponding to the first DSCP value, wherein in the redirection policy, different DSCP values ​​correspond to different routing exits; Modify the value of the DSCP field in the second IP header of the second message to the second DSCP value to generate the original message; Based on the first routing exit, the original message is output.

8. A communication device, characterized in that: include: A message acquisition module, which is used to acquire an original message, wherein the original message includes a first IP header; An egress determination module, configured to determine a first routing egress for transmitting the original message according to a traffic scheduling strategy; A directional module, which is used to confirm a first DSCP value corresponding to the first routing exit based on a preset redirection strategy, wherein in the redirection strategy, different routing exits correspond to different DSCP values; a message modification module, configured to modify a second DSCP value of the DSCP field of the first IP header in the original message to the first DSCP value, so as to generate a first message; a message generation module, configured to add a GRE message header to the first message and encapsulate it using a second IP header to generate a second message, wherein the GRE message header corresponds to a GRE tunnel, one end of the GRE tunnel is carried by an egress router, a target address of the second IP header is an address of the egress router, and a value of a DSCP field of the second IP header is the second DSCP value; A message output module, used for transmitting the second message to the egress router through the GRE tunnel.

9. A communication device, characterized in that: include: A message receiving module, which is used to receive a first message, wherein the first message is a first IP header, a GRE message header encapsulated by the first IP header, and a second message, the GRE message header corresponds to a GRE tunnel, and one end of the GRE tunnel is carried by an egress router; A message generation module, which is used to strip off the first IP header and the GRE message header in the first message to obtain the second message, wherein the second message is generated by modifying the DSCP value in the IP header of the original message, and the second message includes a second IP header; a directional module, configured to: identify the value of the DSCP field in the second IP header, obtain a first DSCP value, the original message is a message to be outputted, the value of the DSCP field in the corresponding IP header is the second DSCP value, and the value of the DSCP field in the first IP header is the second DSCP value; based on a preset redirection strategy, confirm a first routing exit corresponding to the first DSCP value, wherein in the redirection strategy, different DSCP values ​​correspond to different routing exits; a message output module, configured to modify the value of the DSCP field in the second IP header of the second message to the second DSCP value, so as to generate the original message; Based on the first routing exit, the original message is output.

10. A communication system, characterized in that: Includes the host and the egress router, where: The host is used to: Establishing a GRE tunnel with the egress router; Obtaining an original message, wherein the original message includes a first IP header; According to the traffic scheduling strategy, confirm a first routing exit for transmitting the original message; Based on a preset redirection policy, confirm a first DSCP value corresponding to the first routing exit, wherein in the redirection policy, different routing exits correspond to different DSCP values; Modify the second DSCP value of the DSCP field of the first IP header in the original message to the first DSCP value to generate a first message; Adding a GRE message header to the first message and encapsulating it with a second IP header to generate a second message, wherein the GRE message header corresponds to the GRE tunnel, the destination address of the second IP header is the address of the egress router, and the value of the DSCP field of the second IP header is the second DSCP value; Transmitting the second message to the egress router through the GRE tunnel; The egress router is used for: receiving the second message; Stripping the second IP header and the GRE message header in the second message to obtain the first message; Identify a value of a DSCP field in an IP header of the first message, and obtain the first DSCP value; Based on the redirection policy, determining a first routing exit corresponding to the first DSCP value; Modify the first DSCP value in the IP header of the first message to the second DSCP value to generate the original message; Based on the first routing exit, the original message is output.

11. An electronic device, characterized in that: The electronic device comprises a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method steps as claimed in any one of claims 1 to 6.

12. An electronic device, characterized in that: The electronic device comprises a memory for storing computer program instructions and a processor for executing the program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method steps as claimed in claim 7.

Citation Information

Patent Citations

  • Outer network access control method based on multiple outer network exits and access equipment

    CN103036810A

  • Method and device for transmitting data messages in LISP (List Processor) network

    CN104683238A