Message transmission method, device and system
By using a management and control system to determine message priorities across data center networks and maintaining DSCP indications in multi-layer network systems, the problem of not being able to guarantee end-to-end priority forwarding in cross-data center network transmission is solved, thus achieving high-quality message transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-04
- Publication Date
- 2026-04-07
AI Technical Summary
When transmitting packets across data center networks, existing technologies cannot guarantee end-to-end priority forwarding, resulting in the inability to achieve high-quality forwarding.
The control system sends policies to the first network system to determine the priority of the original packets, and maintains the priority indicated by the Differential Service Code Point (DSCP) during the encapsulation and decapsulation process in the multi-layer network system, ensuring that the forwarding policy of packets is consistent at each network layer.
It achieves end-to-end packet priority forwarding guarantee, improving transmission quality and user experience across data center networks.
Smart Images

Figure CN120750869B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication technology, and in particular to a message transmission method, apparatus and system. Background Technology
[0002] In related technologies, when transmitting messages across data center networks, messages need to be overlaid and encapsulated multiple times within the data center network. In some cases, this may lead to the inability to guarantee the priority forwarding of messages, thus failing to achieve end-to-end guaranteed forwarding. Summary of the Invention
[0003] In view of this, embodiments of this application aim to provide a message transmission method, apparatus, and system.
[0004] The technical solution of this application embodiment is implemented as follows:
[0005] This application provides a message transmission method applied to a message transmission system, the message transmission system including a control system, a first network system, a second network system, and a third network system, the control system, the first network system, the second network system, and the third network system being connected sequentially, the method including:
[0006] The control system sends a first policy to the first network system; the first policy is used to determine the priority of the original message, which is obtained by the first network system.
[0007] The first network system receives the first policy and obtains the original message, determines the priority of the original message according to the first policy, processes the original message according to the original message and the priority to obtain a first message carrying the priority, and sends the first message to the second network system.
[0008] The second network system receives the first message, encapsulates the first message to obtain a second message carrying the priority, and forwards the second message to the third network system according to the priority.
[0009] Furthermore, according to at least one embodiment of this application, the first network system includes a first switch, a second switch, a first gateway, and a second gateway;
[0010] The steps of receiving the first policy, obtaining the original message, determining the priority of the original message according to the first policy, and processing the original message according to the original message and the priority to obtain a first message carrying the priority include:
[0011] The first switch receives the first policy and obtains the original packet. Based on the first policy, it determines the priority of the original packet, encapsulates the original packet with a first outer header to obtain a third packet, and sends the third packet to the second switch. The first field of the first outer header is used to indicate the priority.
[0012] The second switch receives the third packet, decapsulates the third packet to obtain the first outer header, and forwards the third packet to the first gateway according to the priority indicated by the first field of the first outer header;
[0013] The first gateway receives the third message, decapsulates the third message to obtain the first outer header, discards the first outer header, and encapsulates the third message with a second outer header to obtain a fourth message, and sends the fourth message to the second gateway; the second field of the second outer header is used to indicate the priority;
[0014] The second gateway receives the fourth message, decapsulates the fourth message to obtain the second outer header, discards the second outer header, and encapsulates the fourth message with a third outer header to obtain the first message; the third field of the third outer header is used to indicate the priority.
[0015] Furthermore, according to at least one embodiment of this application, the step of encapsulating the original message with a first outer header to obtain a third message includes:
[0016] The first switch maps the fourth field of the inner header of the original packet to the first field of the first outer header to obtain the third packet; the fourth field is used to indicate the priority.
[0017] Furthermore, according to at least one embodiment of this application, the step of encapsulating the third message with a second outer header to obtain a fourth message includes:
[0018] The first gateway maps the fourth field of the inner header of the original message to the second field of the second outer header to obtain the fourth message.
[0019] Furthermore, according to at least one embodiment of this application, the step of encapsulating the fourth message with a third outer header to obtain the first message includes:
[0020] The second gateway maps the fourth field of the inner header of the original message to the third field of the third outer header to obtain the first message.
[0021] Furthermore, according to at least one embodiment of this application, the first field is a Differentiated Services Code Point (DSCP) field;
[0022] And / or,
[0023] The second field is a DSCP field;
[0024] And / or,
[0025] The third field is a DSCP field;
[0026] And / or,
[0027] The fourth field is the DSCP field.
[0028] Furthermore, according to at least one embodiment of this application, the first outer header is an outer Internet Protocol (IP) header;
[0029] And / or,
[0030] The second outer header is the outer IP header;
[0031] And / or,
[0032] The third outer header is the outer IP header;
[0033] And / or,
[0034] The inner header is the inner IP header.
[0035] Furthermore, according to at least one embodiment of this application, the encapsulation process of the first message to obtain a second message carrying the priority includes:
[0036] The second network system encapsulates the first message with a fourth outer header to obtain the second message.
[0037] Furthermore, according to at least one embodiment of this application, forwarding the second message to the third network system according to the priority includes:
[0038] The second network system matches the corresponding forwarding policy according to the priority, and forwards the second packet to the third network system according to the matched forwarding policy.
[0039] Furthermore, according to at least one embodiment of this application, the first network system is a first data center network system;
[0040] The second network system is a backbone network system;
[0041] The third network system is the second data center network system.
[0042] This application provides a message transmission device, including:
[0043] The sending module is used to send a first policy to the first network system through the control system; the first policy is used by the first network system to determine the priority of the original message, and the original message is obtained by the first network system.
[0044] The first processing module is configured to receive the first policy through the first network system, obtain the original message, determine the priority of the original message according to the first policy, process the original message according to the original message and the priority to obtain a first message carrying the priority, and send the first message to the second network system.
[0045] The second processing module is configured to receive the first message through the second network system, encapsulate the first message to obtain a second message carrying the priority, and forward the second message to the third network system according to the priority.
[0046] This application provides a message transmission system, including:
[0047] A control system is used to send a first policy to a first network system; the first policy is used to determine the priority of an original message, which is obtained by the first network system.
[0048] The first network system is configured to receive the first policy, obtain the original message, determine the priority of the original message according to the first policy, process the original message according to the original message and the priority to obtain a first message carrying the priority, and send the first message to the second network system.
[0049] The second network system is configured to receive the first message, encapsulate the first message to obtain a second message carrying the priority, and forward the second message to the third network system according to the priority.
[0050] Using the technical solution provided in the embodiments of this application, the first network system carries a priority in the original message according to the first policy issued by the control system, and sends the first message carrying the priority to the second network system. Then, the second network system generates a second message carrying the priority and sends the second message to the third network system. In this way, the forwarding of the message is guided by the priority, and end-to-end guaranteed forwarding is achieved. Attached Figure Description
[0051] Figure 1This is a schematic diagram illustrating the implementation process of the message transmission method in an embodiment of this application;
[0052] Figure 2 This is a schematic diagram of the specific composition structure of the system to which the message transmission method of this application is applied;
[0053] Figure 3 This is a schematic diagram of the composition structure of the message transmission device according to an embodiment of this application;
[0054] Figure 4 This is a schematic diagram of the system composition structure in which the message transmission method of this application is applied. Detailed Implementation
[0055] Before introducing the technical solutions of the embodiments of this application, the relevant technologies will be introduced first.
[0056] In related technologies, with the development of cloud computing, the trend of enterprises migrating their business scale to the cloud is obvious. Various cloud resource providers have established globally distributed resource systems to meet users' needs for accessing high-quality cloud services from the nearest location. Against this backdrop, distributed business deployment, off-site backup, and multi-site disaster recovery have become common demands, posing greater challenges to cross-regional network transmission between data center resource pools.
[0057] Existing data center intranets typically use Virtual eXtensible Local Area Network (VXLAN) as the isolation protocol, while the backbone networks between data centers use Multi-Protocol Label Switching Virtual Private Network (MPLS VPN) or Segment Routing over IPv6 Traffic Engineering (SRv6 TE) protocols. Furthermore, when transmitting data across data center networks, segmented VXLAN schemes are generally used, such as three-segment VXLAN or five-segment VXLAN.
[0058] Taking a five-point VXLAN as an example, key networking and technical aspects may include:
[0059] First, in order to ensure end-to-end isolation capabilities for multi-tenants and reduce reliance on the backbone network, public cloud cross-domain transmission adopts a VXLAN-based overlay network solution.
[0060] Second, to maintain network resource independence and simplify network architecture, each public cloud resource pool is an independent VXLAN domain. A cross-regional data center interconnect gateway (DCI GW) device is deployed at the edge of the resource pool. Only the IP addresses of the VXLAN tunnel endpoints (VTEPs) of the DCI GW device need to be published to the peer resource pool.
[0061] Third, the virtual private cloud (VPC1) in public cloud resource pool 1 accesses VPC2 in resource pool 2 using a five-segment VXLAN scheme. The first segment encapsulates the VXLAN packet from the Open Virtual Switch (OVS) within resource pool 1, with the destination address being the cross-domain network product gateway device within this resource pool. The second segment involves the cross-domain network product gateway device re-encapsulating the VXLAN packet, with the next hop being the VTEP IP address of the DCI GW. The third segment involves the DCI GW decapsulating the intra-domain VXLAN packet, configuring a cross-domain route, and then re-encapsulating the VXLAN packet, with the destination address being the VTEP IP address of the DCI GW within the peer resource pool 2. The fourth segment involves the DCI GW within resource pool 2 decapsulating the VXLAN packet, searching for the VPC2 route within this domain, and encapsulating the VXLAN packet, with the destination address being the cross-domain network product gateway. The fifth segment involves the cross-domain network product gateway querying the host route, matching the host address under VPC2, and encapsulating the VXLAN packet with the VTEP IP address of the OVS corresponding to the host under VPC2 as the next hop.
[0062] However, the main problems with existing cross-datacenter segment VXLAN solutions include:
[0063] First, packets transmitted across data centers use different transmission protocols within the data center and the backbone network. Since the relevant technologies do not involve smooth transfer between the two based on the priority indicated by the Differential Service Code Point (DSCP) in the outer header of the packet, high-quality end-to-end packet forwarding cannot be guaranteed. Second, in the packet forwarding process, after a packet is sent from a host under VPC1, the original packet is eventually forwarded to a host under VPC2, undergoing five VXLAN decapsulation and recapsulation processes. This process does not involve mapping the original packet's DSCP to the outer header of the packet and applying it during forwarding. Third, some existing data centers assign values to DSCPs on their egress gateway devices through traffic policies, and only apply DSCPs on the egress gateway devices to rate-limit specific traffic. Since forwarding is not based on the priority indicated by the DSCP field, end-to-end traffic scheduling cannot be achieved.
[0064] In other words, in related technologies, when transmitting packets across data center networks, due to multiple overlay encapsulations within the data center network and the differences between the transmission protocols within the data center network and the backbone network transmission protocols, the priority of application packets during end-to-end forwarding is not involved, nor is the priority indicated by the Differential Service Code Point (DSCP) field used to ensure high-quality forwarding of key applications.
[0065] Based on this, in this embodiment of the application, the control system sends a first policy to the first network system; the first policy is used to determine the priority of the original packet, which is obtained by the first network system; the first network system receives the first policy, obtains the original packet, determines the priority of the original packet according to the first policy, processes the original packet according to the original packet and the priority to obtain a first packet carrying the priority, and sends the first packet to the second network system; the second network system receives the first packet, encapsulates the first packet to obtain a second packet carrying the priority, and forwards the second packet to the third network system according to the priority.
[0066] See Figure 1 , Figure 1 This is a schematic diagram illustrating the implementation flow of the message transmission method according to an embodiment of this application. It is applied to a message transmission system, which includes a control system, a first network system, a second network system, and a third network system. The control system, the first network system, the second network system, and the third network system are connected sequentially, as shown below. Figure 1 As shown, the method includes steps 101 to 103:
[0067] Step 101: The control system sends a first policy to the first network system; the first policy is used to determine the priority of the original message, which is obtained by the first network system.
[0068] Here, the first strategy can characterize the method of determining the priority of the original message. The first strategy can include the mapping relationship between the source IP address and the priority of each message. Thus, the priority of the original message can be determined based on the five-tuple information of the original message and the first strategy. The five-tuple information can include the source IP address, destination IP address, source port number, destination port number, and transport layer protocol.
[0069] Here, the message may include, but is not limited to, application messages.
[0070] Here, the priority can be understood as the forwarding priority of the message, or it can be described as the service priority, application protection level, etc.
[0071] Here, the generation process of the first strategy may include:
[0072] First, when users create services such as Virtual Private Cloud (VPC) or Virtual Machine (VM) services in the management system, they select the priority (or describe it as the application protection level) corresponding to the service. For example, if the first priority is selected, it means that the packets corresponding to the service will be forwarded according to the first priority.
[0073] Then, a mapping relationship between the source IP address and priority of the packets corresponding to each service is established, and this mapping relationship is sent to the first network system in the form of a first policy or described as a traffic policy.
[0074] It should be noted that, based on a unified management and control system, application definition capabilities can be provided, meaning that users can define the priority of packets corresponding to applications.
[0075] Step 102: The first network system receives the first policy and obtains the original message, determines the priority of the original message according to the first policy, processes the original message according to the original message and the priority to obtain a first message carrying the priority, and sends the first message to the second network system.
[0076] Here, the first network system determines the priority of the original packet according to the first policy, which may include: determining the priority of the original packet based on the five-tuple in the original packet and in combination with the first policy, wherein the five-tuple includes the source IP address, destination IP address, source port number, destination port number, and transport layer protocol, and the first policy can characterize the mapping relationship between the source IP address and the priority of each packet.
[0077] In some embodiments, the first network system is a first data center network system; the second network system is a backbone network system; and the third network system is a second data center network system.
[0078] Here, the first data center network system can transmit messages to the second data center network system through the backbone network system, thus realizing message transmission across data center networks.
[0079] In some embodiments, the first network system includes a first switch, a second switch, a first gateway, and a second gateway; the step of receiving the first policy, obtaining the original packet, determining the priority of the original packet according to the first policy, and processing the original packet according to the original packet and the priority to obtain a first packet carrying the priority includes:
[0080] The first switch receives the first policy and obtains the original packet. Based on the first policy, it determines the priority of the original packet, encapsulates the original packet with a first outer header to obtain a third packet, and sends the third packet to the second switch. The first field of the first outer header is used to indicate the priority.
[0081] The second switch receives the third packet, decapsulates the third packet to obtain the first outer header, and forwards the third packet to the first gateway according to the priority indicated by the first field of the first outer header;
[0082] The first gateway receives the third message, decapsulates the third message to obtain the first outer header, discards the first outer header, and encapsulates the third message with a second outer header to obtain a fourth message, and sends the fourth message to the second gateway; the second field of the second outer header is used to indicate the priority;
[0083] The second gateway receives the fourth message, decapsulates the fourth message to obtain the second outer header, discards the second outer header, and encapsulates the fourth message with a third outer header to obtain the first message; the third field of the third outer header is used to indicate the priority.
[0084] Here, the first switch can refer to a switch used for VXLAN encapsulation of packets, including but not limited to Open Virtual Switch (OVS).
[0085] Here, the second switch can refer to a switch used to forward packets encapsulated in VXLAN by the first switch, including but not limited to top-of-rack (TOR) switches.
[0086] Here, the first gateway can refer to the outbound gateway of traffic, i.e., packets, including but not limited to cloud gateways or described as VPC gateways.
[0087] Here, the second gateway can refer to a gateway that transmits traffic or packets across data center networks, including but not limited to data center interconnect (DCI) gateways.
[0088] Here, encapsulation can refer to VXLAN encapsulation, and decapsulation can refer to VXLAN decapsulation.
[0089] Here, after the first switch receives the first policy and obtains the original packet, it can determine the priority of the original packet based on the five-tuple in the original packet and in combination with the first policy. The five-tuple includes the source IP address, destination IP address, source port number, destination port number, and transport layer protocol. The first policy can characterize the mapping relationship between the source IP address and the priority of each packet.
[0090] Here, forwarding the third message to the first gateway according to the priority indicated by the first field of the first outer header can be understood as follows: if the priority is higher, the priority of forwarding the third message to the first gateway is higher.
[0091] For example, assuming the priority indicated by the first field is the highest priority, then forwarding the third message to the first gateway has the highest priority, that is, the third message is sent to the first gateway first, and other messages are sent later.
[0092] Here, through the relevant processing of the first switch, second switch, first gateway, and second gateway in the first network system, the priority forwarding of packets can be guaranteed according to the priority set by the user.
[0093] In some embodiments, encapsulating the original message with a first outer header to obtain a third message includes:
[0094] The first switch maps the fourth field of the inner header of the original packet to the first field of the first outer header to obtain the third packet; the fourth field is used to indicate the priority.
[0095] Here, the fourth field of the inner header of the original message can be set according to the priority of the original message determined by the first policy, that is, the value of the fourth field is set according to the priority set by the user. For example, assuming that the fourth field of the inner header of the original message is DSCP1, it means that the priority of the original message is the highest priority, and it is forwarded according to the highest priority.
[0096] For example, assuming the fourth field of the inner header of the original message is DSCP1 in the inner IP header, then the first field of the first outer header is DSCP1 in the outer IP header. That is, both the fourth field and the first field are DSCP1, meaning that the DSCP values of the two fields are the same.
[0097] Here, the first switch maps the fourth field of the inner header of the original message to the first field of the first outer header to obtain the third message, which enables the second switch to receive the third message and ensure the priority forwarding of the message according to the priority set by the user.
[0098] It should be noted that optimizing the logic of the first switch, such as OVS, provides DSCP remark and VXLAN tunnel mapping DSCP capabilities. That is, the first switch, such as OVS, supports receiving the first policy issued by the management and control system, or described as a traffic policy, and determines the priority identifier (remark) DSCP of the original packet according to the first policy. When the first switch, such as OVS, queries the flow table and performs VXLAN encapsulation of the packet, it can map the DSCP in the original packet to the DSCP in the outer IP header, and the DSCP in the original packet remains unchanged.
[0099] In some embodiments, encapsulating the third message with a second outer header to obtain a fourth message includes:
[0100] The first gateway maps the fourth field of the inner header of the original message to the second field of the second outer header to obtain the fourth message.
[0101] Here, the fourth field of the inner header of the original message can be set according to the priority of the original message determined by the first policy, that is, the value of the fourth field is set according to the priority set by the user. For example, assuming that the fourth field of the inner header of the original message is DSCP1, it means that the priority of the original message is the highest priority, and it is forwarded according to the highest priority.
[0102] For example, assuming the fourth field of the inner header of the original message is DSCP1 in the inner IP header, then the second field of the second outer header is DSCP1 in the outer IP header. That is, both the fourth field and the second field are DSCP1, meaning that the DSCP values of the two fields are the same.
[0103] Here, after receiving the third message, the first gateway decapsulates the third message to obtain a first outer header and an inner header of the original message. The fourth field of the inner header of the original message has the same value as the first field of the first outer header. The first outer header is discarded, and a second outer header is encapsulated for the third message, that is, the fourth field of the inner header of the original message is mapped to the second field of the second outer header. This enables the second gateway to ensure the priority forwarding of the message according to the priority set by the user after receiving the fourth message.
[0104] In some embodiments, encapsulating the fourth message with a third outer header to obtain the first message includes:
[0105] The second gateway maps the fourth field of the inner header of the original message to the third field of the third outer header to obtain the first message.
[0106] Here, the fourth field of the inner header of the original message can be set according to the priority of the original message determined by the first policy, that is, the value of the fourth field is set according to the priority set by the user. For example, assuming that the fourth field of the inner header of the original message is DSCP1, it means that the priority of the original message is the highest priority, and it is forwarded according to the highest priority.
[0107] For example, assuming the fourth field of the inner header of the original message is DSCP1 in the inner IP header, then the third field of the third outer header is DSCP1 in the outer IP header. That is, both the fourth and third fields are DSCP1, meaning that the DSCP values of the two fields are the same.
[0108] Here, after receiving the fourth message, the second gateway decapsulates the fourth message to obtain a second outer header and an inner header of the original message. The fourth field of the inner header of the original message has the same value as the second field of the second outer header. The second outer header is discarded, and a third outer header is encapsulated for the fourth message, that is, the fourth field of the inner header of the original message is mapped to the third field of the third outer header. This enables the second network system to ensure the priority forwarding of the message according to the priority set by the user after receiving the first message.
[0109] It should be noted that by optimizing the VXLAN encapsulation logic of the first gateway (such as the cloud gateway) and the second gateway (such as the DCI gateway), when the gateway devices such as the first gateway and the second gateway decapsulate the VXLAN-encapsulated packets, the DSCP value in the outer IP header is the same as the DSCP value in the inner IP header. After the gateway devices such as the first gateway and the second gateway query the router, when performing VXLAN encapsulation again, they can map the DSCP in the inner IP header of the original packet to the DSCP in the encapsulated outer IP header, and the DSCP in the original packet remains unchanged.
[0110] In some embodiments, the first field is a DSCP field;
[0111] And / or,
[0112] The second field is a DSCP field;
[0113] And / or,
[0114] The third field is a DSCP field;
[0115] And / or,
[0116] The fourth field is the DSCP field.
[0117] It should be noted that the priority of the original message can be indicated by the DSCP field, or the priority of the original message can be indicated by a custom identification information.
[0118] In some embodiments, the first outer header is an outer IP header;
[0119] And / or,
[0120] The second outer header is the outer IP header;
[0121] And / or,
[0122] The third outer header is the outer IP header;
[0123] And / or,
[0124] The inner header is the inner IP header.
[0125] Step 103: The second network system receives the first message, encapsulates the first message to obtain a second message carrying the priority, and forwards the second message to the third network system according to the priority.
[0126] In some embodiments, the encapsulation process of the first message to obtain a second message carrying the priority includes:
[0127] The second network system encapsulates the first message with a fourth outer header to obtain the second message.
[0128] Here, the fourth outer header may include, but is not limited to, segment routing (SRH) extension headers, etc.
[0129] In some embodiments, forwarding the second message to the third network system according to the priority includes:
[0130] The second network system matches the corresponding forwarding policy according to the priority, and forwards the second packet to the third network system according to the matched forwarding policy.
[0131] Here, after receiving the first packet, the second network system decapsulates the first packet to obtain the third field in the third outer header of the first packet, and matches the corresponding forwarding policy according to the priority indicated by the third field.
[0132] Here, the forwarding strategy includes, but is not limited to, SRv6 Policy.
[0133] Here, the second network system can use the SRv6 TE protocol to create different SRv6 policies based on the required protection level, and obtain the first policy sent by the management system. The first policy can contain the mapping relationship between the source IP address and priority of each packet. The priority can be a DSCP value. Then, based on the first policy sent by the management system, the SRv6 policy is bound to the corresponding DSCP. In this way, after the first packet is forwarded to the Provider Edge (PE) device in the second network system, the corresponding SRv6 policy is matched by the DSCP in the outer IP header of the first packet, thereby realizing different levels of forwarding protection.
[0134] It should be noted that the second network system, such as the backbone network, accesses different forwarding policies, such as SRv6 Policy, through the DSCP in the outer IP header of the packet to achieve different levels of forwarding protection.
[0135] Here, after receiving the second message sent by the second network system, the third network system decapsulates the second message to obtain the first message, thus realizing cross-network message transmission.
[0136] The implementation process of the message transmission method of this application embodiment will be described below with reference to specific embodiments.
[0137] See Figure 2 , Figure 2 This is a schematic diagram of the specific structural composition of the system to which the message transmission method of this application is applied, as shown below. Figure 2 As shown, it includes: data center management layer, data center network 1, backbone network (or described as backbone network), and data center network 2. Among them, data center network 1 includes virtual switch (OVS1), top rack switch (TOR1), cloud gateway 1, and DCI gateway 1. Data center network 2 includes virtual switch (OVS2), top rack switch (TOR2), cloud gateway 2, and DCI gateway 2.
[0138] in,
[0139] The data center management layer corresponds to the aforementioned management system;
[0140] Data center network 1 corresponds to the first network system mentioned above;
[0141] The backbone network corresponds to the second network system mentioned above;
[0142] Data center network 2 corresponds to the third network system mentioned above.
[0143] The following describes the working process of the data center management layer.
[0144] Here, the data center management layer sends a first policy to data center network 1; the first policy is used by data center network 1 to determine the priority of the original packets, which are obtained by data center network 1. The first policy can represent the mapping relationship between the source IP address and priority of each packet.
[0145] Here, the message may include, but is not limited to, application messages.
[0146] Here, the priority can also be described as business priority.
[0147] Here, the generation process of the first strategy may include:
[0148] First, when users create services such as Virtual Private Cloud (VPC) or Virtual Machine (VM) services in the data center management layer, they select the priority (or describe it as the application protection level) corresponding to the service. For example, if the first priority is selected, it means that the packets corresponding to the service will be forwarded according to the first priority.
[0149] Then, establish a mapping relationship between the source IP address and priority of the packets corresponding to each service, and distribute the mapping relationship to the data center network 1 in the form of a first policy or described as a traffic policy.
[0150] It should be noted that, based on a unified data center management and control layer, application definition capabilities can be provided, meaning that users can define the priority of packets corresponding to applications.
[0151] The working process of data center network 1 is explained below.
[0152] Here, data center network 1 receives the first policy and obtains the original packet from virtual machine (VM1). Based on the five-tuple in the original packet and in conjunction with the first policy, it determines the priority of the original packet, processes the original packet to obtain a first packet carrying the priority, and sends the first packet to the backbone network. The five-tuple includes the source IP address, destination IP address, source port number, destination port number, and transport layer protocol.
[0153] Here, the process by which data center network 1 generates the first message may include:
[0154] First, the first switch (OVS1) in data center network 1 receives the first policy and obtains the original packet. Based on the first policy, it determines the priority of the original packet, encapsulates the original packet with a first outer header to obtain a third packet, and sends the third packet to the second switch (TOR1). The first field of the first outer header is used to indicate the priority. Encapsulating the first outer header may include mapping the fourth field of the inner header of the original packet to the first field of the first outer header.
[0155] Here, the fourth field of the inner header of the original message can be set according to the priority of the original message determined by the first policy, that is, the value of the fourth field is set according to the priority set by the user. For example, assuming that the fourth field of the inner header of the original message is DSCP1, it means that the priority of the original message is the highest priority, and it is forwarded according to the highest priority.
[0156] For example, assuming the fourth field of the inner header of the original message is DSCP1 in the inner IP header, then the first field of the first outer header is DSCP1 in the outer IP header. That is, both the fourth field and the first field are DSCP1, meaning that the DSCP values of the two fields are the same.
[0157] Then, the second switch (TOR1) in data center network 1 receives the third message, decapsulates the third message to obtain the first outer header, and forwards the third message to the first gateway (cloud gateway 1) according to the priority indicated by the first field of the first outer header. If the priority is higher, the priority of forwarding the third message to the first gateway is higher.
[0158] Next, the first gateway (cloud gateway 1) receives the third message, decapsulates the third message to obtain the first outer header and the inner header of the original message, wherein the fourth field of the inner header of the original message has the same value as the first field of the first outer header. The first outer header is discarded, and a second outer header is encapsulated for the third message to obtain the fourth message, which is then sent to the second gateway (DCI gateway 1). The second field of the second outer header is used to indicate the priority. Encapsulating the second outer header may include mapping the fourth field of the inner header of the original message to the second field of the second outer header.
[0159] Here, the fourth field of the inner header of the original message can be set according to the priority of the original message determined by the first policy, that is, the value of the fourth field is set according to the priority set by the user. For example, assuming that the fourth field of the inner header of the original message is DSCP1, it means that the priority of the original message is the highest priority, and it is forwarded according to the highest priority.
[0160] For example, assuming the fourth field of the inner header of the original message is DSCP1 in the inner IP header, then the second field of the second outer header is DSCP1 in the outer IP header. That is, both the fourth field and the second field are DSCP1, meaning that the DSCP values of the two fields are the same.
[0161] Finally, the second gateway (DCI gateway 1) receives the fourth message, decapsulates it to obtain the second outer header and the inner header of the original message, wherein the fourth field of the inner header of the original message and the second field of the second outer header have the same value. The second outer header is discarded, and a third outer header is encapsulated for the fourth message to obtain the first message. The third field of the third outer header is used to indicate the priority. Encapsulating the third outer header may include mapping the fourth field of the inner header of the original message to the third field of the third outer header.
[0162] Here, the fourth field of the inner header of the original message can be set according to the priority of the original message determined by the first policy, that is, the value of the fourth field is set according to the priority set by the user. For example, assuming that the fourth field of the inner header of the original message is DSCP1, it means that the priority of the original message is the highest priority, and it is forwarded according to the highest priority.
[0163] For example, assuming the fourth field of the inner header of the original message is DSCP1 in the inner IP header, then the third field of the third outer header is DSCP1 in the outer IP header. That is, both the fourth and third fields are DSCP1, meaning that the DSCP values of the two fields are the same.
[0164] It should be noted that the optimized OVS logic provides DSCP remarking and VXLAN tunnel mapping capabilities. That is, OVS1 supports receiving the first policy or description issued by the control layer as a traffic policy and remarking the DSCP. When OVS1 queries the flow table and performs VXLAN encapsulation, it can map the DSCP in the original packet to the DSCP in the outer IP header, and the DSCP in the original packet remains unchanged.
[0165] It should be noted that the optimized VXLAN encapsulation logic of the cloud gateway and DCI gateway ensures that when the gateway device decapsulates VXLAN, the DSCP value in the outer IP header is the same as the DSCP value in the inner IP header of the original packet. After the gateway device queries the router, it can map the DSCP in the original packet to the DSCP in the outer IP header when re-encapsulating VXLAN, and the DSCP in the original packet remains unchanged.
[0166] The working process of the backbone network is explained below.
[0167] Here, the backbone network receives the first packet, encapsulates the first packet with a fourth outer header to obtain a second packet carrying the priority, decapsulates the first packet to obtain the third field in the third outer header of the first packet, matches the corresponding forwarding policy according to the priority indicated by the third field, and forwards the second packet to the data center network 2 according to the matched forwarding policy.
[0168] Here, the forwarding strategy includes, but is not limited to, SRv6 Policy.
[0169] Here, the backbone network uses the SRv6 TE protocol to create different SRv6 policies based on the required protection level and obtains the first policy sent by the management and control system. The first policy may contain the mapping relationship between the source IP address and priority of each packet. The priority can be a DSCP value. Then, based on the first policy sent by the data center management and control layer, the SRv6 policy is bound to the corresponding DSCP. In this way, after the first packet is forwarded to the PE device in the backbone network, the corresponding SRv6 policy is matched by the DSCP in the outer IP header, thereby realizing different levels of forwarding protection.
[0170] It should be noted that the backbone network uses the DSCP in the outer IP header of the packet to access different forwarding policies, such as SRv6 Policy, to achieve different levels of forwarding protection.
[0171] Here, the transmission system, based on the cooperation of the control layer, OVS, gateway network elements, and backbone network, can provide application-level end-to-end network assurance capabilities and improve user experience.
[0172] Here, the Segment VXLAN forwarding method is provided. Specifically, the first device that receives the original packet sent by the virtual machine (VM1), namely the OVS, performs a remark DSCP or an attribute that can identify the forwarding priority. This is the basis for end-to-end guaranteed forwarding.
[0173] Here, when VXLAN is encapsulated a second time on the gateway device, the inner DSCP value can be mapped to the outer DSCP, while keeping the inner DSCP unchanged.
[0174] Here, when the packet is forwarded to the backbone network, the DSCP in the outer IP header of the packet is mapped to the corresponding SRv6 Policy on the backbone network PE device to perform differentiated forwarding.
[0175] The working process of data center network 2 is explained below.
[0176] Here, after receiving the second message sent by the backbone network, data center network 2 decapsulates the second message to obtain the first message. This enables virtual machine VM1 in data center network 1 to access virtual machine VM2 in data center network 2.
[0177] The embodiments of this application have the following technical advantages:
[0178] (1) Provide an application-level scheduling cross-data center transmission scheme.
[0179] Define forwarding priorities for application packets on the source device, and when overlaying the network, the outer packet inherits the priority of the original packet to guide forwarding. When accessing the backbone network, map the packet priority to the backbone network protocol to achieve end-to-end guaranteed forwarding of packets.
[0180] (2) In related technologies, during VXLAN encapsulation, the DSCP is encapsulated into the inner IP header, which cannot guide the forwarding of overlay packets. Furthermore, the outer DSCP is a default value, which cannot distinguish application packets and cannot provide application-level forwarding guarantees. In contrast, this application proposes that in the overlay network scenario, the first device to forward the original packet completes the remarking of the DSCP, and the outer IP header inherits the DSCP value from the inner IP header during all overlay encapsulations, thereby achieving application-level forwarding guarantees in the overlay network.
[0181] In related technologies, DSCP is remarked on the egress gateway, but only applied to the egress gateway device for application-level rate limiting. However, since DSCP is the default value, priority cannot be passed to the backbone network, and the backbone network cannot achieve application-level forwarding guarantees. This application proposes a solution for situations where different transmission protocols are used within the data center and the backbone network, providing a way for forwarding routers to transmit packets. This ensures that packets are forwarded strictly according to defined priorities throughout the entire path from the source data center to the backbone network and finally to the destination data center.
[0182] To implement the message transmission method of this application embodiment, this application embodiment also provides a message transmission device. The device is applied to a message transmission system, which includes a control system, a first network system, a second network system, and a third network system, which are connected in sequence. Figure 3 This is a schematic diagram of the composition structure of the message transmission device according to an embodiment of this application, as shown below. Figure 3 As shown, the device includes:
[0183] The sending module 31 is used to send a first policy to the first network system through the control system; the first policy is used to determine the priority of the original message, which is obtained by the first network system.
[0184] The first processing module 32 is configured to receive the first policy through the first network system, obtain the original message, determine the priority of the original message according to the first policy, process the original message according to the original message and the priority to obtain a first message carrying the priority, and send the first message to the second network system.
[0185] The second processing module 33 is used to receive the first message through the second network system, encapsulate the first message to obtain a second message carrying the priority, and forward the second message to the third network system according to the priority.
[0186] In some embodiments, the first network system includes a first switch, a second switch, a first gateway, and a second gateway; the first processing module 32 is specifically used for:
[0187] The first switch receives the first policy and obtains the original message. Based on the first policy, it determines the priority of the original message, encapsulates the original message with a first outer header to obtain a third message, and sends the third message to the second switch. The first field of the first outer header is used to indicate the priority.
[0188] The third message is received by the second switch, the third message is decapsulated to obtain the first outer header, and the third message is forwarded to the first gateway according to the priority indicated by the first field of the first outer header.
[0189] The third message is received through the first gateway, the third message is decapsulated to obtain the first outer header, the first outer header is discarded, and a second outer header is encapsulated in the third message to obtain a fourth message, and the fourth message is sent to the second gateway; the second field of the second outer header is used to indicate the priority;
[0190] The fourth message is received through the second gateway, the fourth message is decapsulated to obtain the second outer header, the second outer header is discarded, and the fourth message is encapsulated with a third outer header to obtain the first message; the third field of the third outer header is used to indicate the priority.
[0191] In some embodiments, the first processing module 32 is specifically used for:
[0192] The third message is obtained by mapping the fourth field of the inner header of the original message to the first field of the first outer header through the first switch; the fourth field is used to indicate the priority.
[0193] In some embodiments, the first processing module 32 is specifically used for:
[0194] The first gateway maps the fourth field of the inner header of the original message to the second field of the second outer header to obtain the fourth message.
[0195] In some embodiments, the first processing module 32 is specifically used for:
[0196] The second gateway maps the fourth field of the inner header of the original message to the third field of the third outer header to obtain the first message.
[0197] In some embodiments, the first field is a DSCP field;
[0198] And / or,
[0199] The second field is a DSCP field;
[0200] And / or,
[0201] The third field is a DSCP field;
[0202] And / or,
[0203] The fourth field is the DSCP field.
[0204] In some embodiments, the first outer header is an outer IP header;
[0205] And / or,
[0206] The second outer header is the outer IP header;
[0207] And / or,
[0208] The third outer header is the outer IP header;
[0209] And / or,
[0210] The inner header is the inner IP header.
[0211] In some embodiments, the second processing module 33 is specifically used for:
[0212] The second message is obtained by encapsulating the first message with a fourth outer header through the second network system.
[0213] In some embodiments, the second processing module 33 is specifically used for:
[0214] The second network system matches the corresponding forwarding policy according to the priority, and forwards the second packet to the third network system according to the matched forwarding policy.
[0215] In some embodiments, the first network system is a first data center network system; the second network system is a backbone network system; and the third network system is a second data center network system.
[0216] In practical applications, the sending module 31 can be implemented by the communication interface in the message transmission device; the first processing module 32 and the second processing module 33 can be implemented by the processor in the message transmission device.
[0217] It should be noted that the message transmission device provided in the above embodiments is only illustrated by the division of the above program modules. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program modules to complete all or part of the processing described above. In addition, the message transmission device and message transmission method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.
[0218] See Figure 4 , Figure 4 This is a schematic diagram of the system composition structure in which the message transmission method of this application is applied, as shown in the embodiment. Figure 4 As shown, the system includes: a control system 41, a first network system 42, a second network system 43, and a third network system 44; the control system 41, the first network system 42, the second network system 43, and the third network system 44 are connected in sequence.
[0219] The control system 41 is used to send a first policy to the first network system 42; the first policy is used to determine the priority of the original message, which is obtained by the first network system 42.
[0220] The first network system 42 is configured to receive the first policy, obtain the original message, determine the priority of the original message according to the first policy, process the original message according to the original message and the priority to obtain a first message carrying the priority, and send the first message to the second network system 43.
[0221] The second network system 43 is used to receive the first message, encapsulate the first message to obtain a second message carrying the priority, and forward the second message to the third network system 44 according to the priority.
[0222] It should be noted that the working process of the control system 41, the first network system 42, the second network system 43, and the third network system 44 has been described above and will not be repeated here.
Claims
1. A message transmission method, characterized in that, The method is applied to a message transmission system, which includes a control system, a first network system, a second network system, and a third network system, wherein the control system, the first network system, the second network system, and the third network system are connected sequentially. The method includes: The control system sends a first policy to the first network system; the first policy is used to determine the priority of the original message, which is obtained by the first network system. The first network system receives the first policy and obtains the original message, determines the priority of the original message according to the first policy, processes the original message according to the original message and the priority to obtain a first message carrying the priority, and sends the first message to the second network system. The second network system receives the first message, encapsulates the first message to obtain a second message carrying the priority, and forwards the second message to the third network system according to the priority; in, The first network system includes a first switch, a second switch, a first gateway, and a second gateway; The steps of receiving the first policy, obtaining the original message, determining the priority of the original message according to the first policy, and processing the original message according to the original message and the priority to obtain a first message carrying the priority include: The first switch receives the first policy and obtains the original packet. Based on the first policy, it determines the priority of the original packet, encapsulates the original packet with a first outer header to obtain a third packet, and sends the third packet to the second switch. The first field of the first outer header is used to indicate the priority. The second switch receives the third packet, decapsulates the third packet to obtain the first outer header, and forwards the third packet to the first gateway according to the priority indicated by the first field of the first outer header; The first gateway receives the third message, decapsulates the third message to obtain the first outer header, discards the first outer header, and encapsulates the third message with a second outer header to obtain a fourth message, and sends the fourth message to the second gateway; the second field of the second outer header is used to indicate the priority; The second gateway receives the fourth message, decapsulates the fourth message to obtain the second outer header, discards the second outer header, and encapsulates the fourth message with a third outer header to obtain the first message; the third field of the third outer header is used to indicate the priority; The process of encapsulating the original message with a first outer header to obtain a third message includes: The first switch maps the fourth field of the inner header of the original packet to the first field of the first outer header to obtain the third packet; the fourth field is used to indicate the priority; wherein, the fourth field of the inner header of the original packet is set according to the priority of the original packet determined by the first policy. The process of encapsulating the third message with a second outer header to obtain a fourth message includes: The first gateway maps the fourth field of the inner header of the original message to the second field of the second outer header to obtain the fourth message; The process of encapsulating the fourth message with a third outer header to obtain the first message includes: The second gateway maps the fourth field of the inner header of the original message to the third field of the third outer header to obtain the first message; The step of encapsulating the first message to obtain a second message carrying the priority, and forwarding the second message to the third network system according to the priority, includes: The second network system encapsulates the first packet with a fourth outer header to obtain the second packet, and decapsulates the first packet to obtain the third field in the third outer header of the first packet. It then matches the corresponding forwarding policy according to the priority indicated by the third field and forwards the second packet to the third network system according to the matched forwarding policy.
2. The method according to claim 1, characterized in that, The first field is the Differential Service Code Point (DSCP) field; And / or, The second field is a DSCP field; And / or, The third field is a DSCP field; And / or, The fourth field is the DSCP field.
3. The method according to claim 1, characterized in that, The first outer header is the outer Internet Protocol (IP) header; And / or, The second outer header is the outer IP header; And / or, The third outer header is the outer IP header; And / or, The inner header is the inner IP header.
4. The method according to claim 1, characterized in that, The first network system is the first data center network system; The second network system is a backbone network system; The third network system is the second data center network system.
5. A message transmission device, characterized in that, include: The sending module is used to send the first policy to the first network system through the control system; The first strategy is used to determine the priority of the original message, which is obtained by the first network system; The first processing module is configured to receive the first policy through the first network system, obtain the original message, determine the priority of the original message according to the first policy, process the original message according to the original message and the priority to obtain a first message carrying the priority, and send the first message to the second network system. The second processing module is configured to receive the first message through the second network system, encapsulate the first message to obtain a second message carrying the priority, and forward the second message to the third network system according to the priority. in, The first network system includes a first switch, a second switch, a first gateway, and a second gateway; The steps of receiving the first policy, obtaining the original message, determining the priority of the original message according to the first policy, and processing the original message according to the original message and the priority to obtain a first message carrying the priority include: The first switch receives the first policy and obtains the original packet. Based on the first policy, it determines the priority of the original packet, encapsulates the original packet with a first outer header to obtain a third packet, and sends the third packet to the second switch. The first field of the first outer header is used to indicate the priority. The second switch receives the third packet, decapsulates the third packet to obtain the first outer header, and forwards the third packet to the first gateway according to the priority indicated by the first field of the first outer header; The first gateway receives the third message, decapsulates the third message to obtain the first outer header, discards the first outer header, and encapsulates the third message with a second outer header to obtain a fourth message, and sends the fourth message to the second gateway; the second field of the second outer header is used to indicate the priority; The second gateway receives the fourth message, decapsulates the fourth message to obtain the second outer header, discards the second outer header, and encapsulates the fourth message with a third outer header to obtain the first message; the third field of the third outer header is used to indicate the priority; The process of encapsulating the original message with a first outer header to obtain a third message includes: The first switch maps the fourth field of the inner header of the original packet to the first field of the first outer header to obtain the third packet; the fourth field is used to indicate the priority; wherein, the fourth field of the inner header of the original packet is set according to the priority of the original packet determined by the first policy. The process of encapsulating the third message with a second outer header to obtain a fourth message includes: The first gateway maps the fourth field of the inner header of the original message to the second field of the second outer header to obtain the fourth message; The process of encapsulating the fourth message with a third outer header to obtain the first message includes: The second gateway maps the fourth field of the inner header of the original message to the third field of the third outer header to obtain the first message; The step of encapsulating the first message to obtain a second message carrying the priority, and forwarding the second message to the third network system according to the priority, includes: The second network system encapsulates the first packet with a fourth outer header to obtain the second packet, and decapsulates the first packet to obtain the third field in the third outer header of the first packet. It then matches the corresponding forwarding policy according to the priority indicated by the third field and forwards the second packet to the third network system according to the matched forwarding policy.
6. A message transmission system, characterized in that, include: The control system is used to send the first policy to the first network system; The first strategy is used to determine the priority of the original message, which is obtained by the first network system; The first network system is configured to receive the first policy, obtain the original message, determine the priority of the original message according to the first policy, process the original message according to the original message and the priority to obtain a first message carrying the priority, and send the first message to the second network system. The second network system is configured to receive the first message, encapsulate the first message to obtain a second message carrying the priority, and forward the second message to the third network system according to the priority; in, The first network system includes a first switch, a second switch, a first gateway, and a second gateway; The steps of receiving the first policy, obtaining the original message, determining the priority of the original message according to the first policy, and processing the original message according to the original message and the priority to obtain a first message carrying the priority include: The first switch receives the first policy and obtains the original packet. Based on the first policy, it determines the priority of the original packet, encapsulates the original packet with a first outer header to obtain a third packet, and sends the third packet to the second switch. The first field of the first outer header is used to indicate the priority. The second switch receives the third packet, decapsulates the third packet to obtain the first outer header, and forwards the third packet to the first gateway according to the priority indicated by the first field of the first outer header; The first gateway receives the third message, decapsulates the third message to obtain the first outer header, discards the first outer header, and encapsulates the third message with a second outer header to obtain a fourth message, and sends the fourth message to the second gateway; the second field of the second outer header is used to indicate the priority; The second gateway receives the fourth message, decapsulates the fourth message to obtain the second outer header, discards the second outer header, and encapsulates the fourth message with a third outer header to obtain the first message; the third field of the third outer header is used to indicate the priority; The process of encapsulating the original message with a first outer header to obtain a third message includes: The first switch maps the fourth field of the inner header of the original packet to the first field of the first outer header to obtain the third packet; the fourth field is used to indicate the priority; wherein, the fourth field of the inner header of the original packet is set according to the priority of the original packet determined by the first policy. The process of encapsulating the third message with a second outer header to obtain a fourth message includes: The first gateway maps the fourth field of the inner header of the original message to the second field of the second outer header to obtain the fourth message; The process of encapsulating the fourth message with a third outer header to obtain the first message includes: The second gateway maps the fourth field of the inner header of the original message to the third field of the third outer header to obtain the first message; The step of encapsulating the first message to obtain a second message carrying the priority, and forwarding the second message to the third network system according to the priority, includes: The second network system encapsulates the first packet with a fourth outer header to obtain the second packet, and decapsulates the first packet to obtain the third field in the third outer header of the first packet. It then matches the corresponding forwarding policy according to the priority indicated by the third field and forwards the second packet to the third network system according to the matched forwarding policy.
Citation Information
Patent Citations
Method and device for transmitting data messages in LISP (List Processor) network
CN104683238A
QoS implementation method and device
CN105591971A