A flow scheduling method, device, electronic device and storage medium
By using the traffic scheduling center in the cloud service network to calculate the message forwarding path and generate extended message headers, the problem of traffic pressure in the cloud service network is solved, precise control of messages and bandwidth saving is achieved, and network operation efficiency is improved.
Patent Information
- Application Number
- CN202210709168.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-21
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2042-06-21
AI Technical Summary
Due to the increase in the number of users in the cloud service network, the traffic pressure between nodes increases, causing network congestion and affecting the user experience. An effective traffic scheduling method is needed to alleviate this problem.
By introducing a traffic scheduling center into the cloud service network, the message forwarding path is calculated, and an extended message header is generated for each intermediate forwarding device, including the next hop IP address, ensuring that the message is forwarded according to the planned path, and precise control is achieved. And delete the extended message header on each intermediate device to save bandwidth.
It realizes precise control of message forwarding in cloud service networks, reduces bandwidth consumption, alleviates traffic pressure, and improves network operation efficiency.
Smart Images

Figure CN115037690B_ABST
Abstract
Description
Technical Field
[0001] The present specification relates to the field of communication technology, and in particular to a traffic scheduling method, device, electronic device and storage medium. Background Art
[0002] Currently, in cloud service network scenarios, the message forwarding path between edge nodes needs to be determined based on the routing of the physical network. In addition, as more and more users access the cloud service network, the traffic that needs to be processed is also increasing, resulting in increasing pressure on the paths between certain nodes in the cloud service network. In severe cases, congestion may even occur, greatly affecting the user experience.
[0003] Therefore, how to reasonably schedule traffic, alleviate the traffic pressure in the cloud service network, and ensure the normal operation of the cloud service network is a hot topic in current research. Summary of the invention
[0004] In view of this, one or more embodiments of the present specification provide a traffic scheduling method, device, electronic device and storage medium to solve the problems existing in the related art.
[0005] To achieve the above objectives, one or more embodiments of this specification provide the following technical solutions:
[0006] According to a first aspect of an embodiment of this specification, a traffic scheduling method is provided, which is applied to a first routing and forwarding device in a cloud service network; wherein the first routing and forwarding device is connected to a first user edge device, a first user network accesses the cloud service network through the first user edge device, and a second user network accesses the cloud service network through a second user edge device; the method comprises:
[0007] receiving a communication message forwarded by the first user edge device and sent by a first user in the first user network to a second user in the second user network;
[0008] In response to the received communication message, obtaining a message forwarding path calculated for the first user by a traffic scheduling center corresponding to the cloud service network; wherein the message forwarding path includes the first routing forwarding device as the path starting point, at least one intermediate forwarding device, and a second routing forwarding device as the path end point in the cloud service network; the second routing forwarding device is connected to the second user edge device;
[0009] According to the message forwarding path, determine at least one intermediate forwarding device along the communication message path, and encapsulate the communication message with at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label; wherein the extended message header includes a next-hop IP address;
[0010] The encapsulated communication message is forwarded to an intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
[0011] According to a second aspect of an embodiment of this specification, a traffic scheduling device is provided, which is applied to a first routing and forwarding device in a cloud service network; wherein the first routing and forwarding device is connected to a first user edge device, a first user network accesses the cloud service network through the first user edge device, and a second user network accesses the cloud service network through a second user edge device; the device includes:
[0012] A receiving module, receiving a communication message forwarded by the first user edge device and sent by a first user in the first user network to a second user in the second user network;
[0013] an acquisition module, in response to the received communication message, acquiring a message forwarding path calculated for the first user by a traffic scheduling center corresponding to the cloud service network; wherein the message forwarding path includes the first routing forwarding device as the path starting point, at least one intermediate forwarding device, and a second routing forwarding device as the path end point in the cloud service network; the second routing forwarding device is connected to the second user edge device;
[0014] An encapsulation module, which determines at least one intermediate forwarding device along the communication message path according to the message forwarding path, and encapsulates the communication message with at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label; wherein the extended message header includes a next-hop IP address;
[0015] A forwarding module forwards the encapsulated communication message to an intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
[0016] According to a third aspect of the embodiments of this specification, there is provided an electronic device, including a communication interface, a processor, a memory and a bus, wherein the communication interface, the processor and the memory are interconnected via the bus;
[0017] The memory stores machine-readable instructions, and the processor executes the above method by calling the machine-readable instructions.
[0018] According to a fourth aspect of the embodiments of this specification, a machine-readable storage medium is provided, wherein the machine-readable storage medium stores machine-readable instructions, and the machine-readable instructions implement the above method when called and executed by a processor.
[0019] The technical solutions provided by the embodiments of this specification may have the following beneficial effects:
[0020] Through the above technical solution, the routing forwarding device connected to the user edge device encapsulates the message with an extended message header as a forwarding label corresponding to the intermediate forwarding device in the message path according to the message forwarding path calculated for the user by the traffic scheduling center corresponding to the cloud service network, thereby ensuring that the message is delivered according to the message forwarding path planned by the traffic scheduling center through the extended message header as a forwarding label, and realizing precise control of message forwarding in the cloud service network. In addition, since the corresponding extended message header needs to be deleted for each intermediate forwarding device during the forwarding process, the bandwidth resources in the cloud service network are saved through the dynamic label mechanism. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 A flow chart of a traffic scheduling method provided by an exemplary embodiment of this specification;
[0022] Figure 2 A schematic diagram of a cloud service network provided as an exemplary embodiment of this specification;
[0023] Figure 3 A schematic diagram of a message forwarding path in a cloud service network provided as an exemplary embodiment of this specification;
[0024] Figure 4 A schematic diagram of the structure of an electronic device in which a flow scheduling device is provided in an exemplary embodiment of this specification;
[0025] Figure 5 A block diagram of a traffic scheduling device provided as an exemplary embodiment of this specification. DETAILED DESCRIPTION
[0026] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with one or more embodiments of this specification. Instead, they are merely examples of devices and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.
[0027] It should be noted that: in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification. In some other embodiments, the steps included in the method may be more or less than those described in this specification. In addition, a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may be combined into a single step for description in other embodiments.
[0028] In view of this, the present specification provides a technical solution that provides a message forwarding path issued by a traffic scheduling center corresponding to a cloud service network, encapsulating a communication message with an extended message header as a forwarding label that corresponds one-to-one to at least one intermediate forwarding device, so as to ensure that the message can be routed during the forwarding process, thereby achieving precise control of message forwarding.
[0029] During implementation, a first routing forwarding device in the cloud service network may receive a communication message forwarded by a first user edge device and sent by a first user in the first user network to a second user in the second user network;
[0030] The first routing and forwarding device is connected to a first user edge device, a first user network accesses the cloud service network through the first user edge device, and a second user network accesses the cloud service network through a second user edge device.
[0031] Then, in response to the received communication message, a message forwarding path calculated for the first user by a traffic scheduling center corresponding to the cloud service network may be obtained;
[0032] Among them, the message forwarding path includes the first routing forwarding device as the starting point of the path in the cloud service network, at least one intermediate forwarding device, and the second routing forwarding device as the end point of the path; the second routing forwarding device is connected to the second user edge device.
[0033] Afterwards, based on the message forwarding path, at least one intermediate forwarding device along the communication message path can be determined, and at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label can be encapsulated for the communication message; wherein the extended message header includes the next-hop IP address.
[0034] For example, based on the message forwarding path, at least one intermediate forwarding device along the path of the communication message can be determined, and a label stack can be encapsulated for the communication message. Based on the forwarding order corresponding to the at least one intermediate forwarding device in the message forwarding path, at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label can be sequentially added to the label stack.
[0035] Then, the encapsulated communication message can be forwarded to an intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
[0036] For example, the encapsulated communication message can be forwarded to an intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device searches for an extended message header corresponding to the intermediate forwarding device in the communication message, and copies the next-hop IP address in the found extended message header as the destination IP address to the outer IP header; and deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
[0037] Through the above technical solution, the routing forwarding device connected to the user edge device encapsulates the message with an extended message header as a forwarding label corresponding to the intermediate forwarding device in the message path according to the message forwarding path calculated for the user by the traffic scheduling center corresponding to the cloud service network, thereby ensuring that the message is delivered according to the message forwarding path planned by the traffic scheduling center through the extended message header as a forwarding label, and realizing precise control of message forwarding in the cloud service network. In addition, since the corresponding extended message header needs to be deleted for each intermediate forwarding device during the forwarding process, the bandwidth resources in the cloud service network are saved through the dynamic label mechanism.
[0038] The flow scheduling method of this specification is described in detail below with reference to the accompanying drawings.
[0039] See also Figure 1 , Figure 1 A flow chart of a traffic scheduling method provided as an exemplary embodiment of this specification is applied to a first routing and forwarding device in a cloud service network; wherein the first routing and forwarding device is connected to a first user edge device, a first user network accesses the cloud service network through the first user edge device, and a second user network accesses the cloud service network through a second user edge device. Figure 1 As shown, the method includes the following execution steps:
[0040] Step 101: receiving a communication message forwarded by the first user edge device and sent by a first user in the first user network to a second user in the second user network;
[0041] Step 102, in response to the received communication message, obtaining a message forwarding path calculated for the first user by a traffic scheduling center corresponding to the cloud service network; wherein the message forwarding path includes the first routing forwarding device as the path starting point, at least one intermediate forwarding device, and a second routing forwarding device as the path end point in the cloud service network; the second routing forwarding device is connected to the second user edge device;
[0042] Step 103, according to the message forwarding path, determine at least one intermediate forwarding device along the communication message path, and encapsulate the communication message with at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label; wherein the extended message header includes a next hop IP address;
[0043] Step 104, forwarding the encapsulated communication message to the intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
[0044] In this embodiment, the first routing and forwarding device in the cloud service network may receive a communication message forwarded by the first user edge device and sent by a first user in the first user network to a second user in the second user network.
[0045] The above-mentioned cloud service network may be a service network built based on a number of cloud service devices to provide cloud services to users.
[0046] See also Figure 2 , Figure 2 A schematic diagram of a cloud service network provided as an exemplary embodiment of this specification. Figure 2 As shown, the first user network accesses the cloud service network through the first user edge device, the second user network accesses the cloud service network through the second user edge device, the first user edge device is connected to the first routing and forwarding device in the cloud service network, and the second user edge device is connected to the second routing and forwarding device in the cloud service network.
[0047] For example, when a first user in a first user network sends a communication message to a second user in a second user network via a cloud service network, the communication message needs to be forwarded to a first routing forwarding device through a first user edge forwarding device. Subsequently, when the second routing forwarding device receives the communication message, it sends the communication message to a connected second user edge device, which then forwards the communication message to a second user in a second user network.
[0048] In this embodiment, in response to the received communication message, a message forwarding path calculated for the first user by a traffic scheduling center corresponding to the cloud service network is obtained.
[0049] The message forwarding path includes the first routing forwarding device as the starting point of the path, at least one intermediate forwarding device, and the second routing forwarding device as the end point of the path in the cloud service network.
[0050] See also Figure 3 , Figure 3The following is a schematic diagram of a message forwarding path in a cloud service network provided by an exemplary embodiment of this specification. Figure 3 As shown, it is assumed that there are 9 intermediate forwarding devices in the cloud service network and there are 3 forwarding paths, wherein the first routing forwarding device is connected to the first user edge device, and the second routing forwarding device is connected to the second user edge device.
[0051] Taking forwarding path 1 as an example, the starting point of the path is the first routing forwarding device. After the message starts from the starting point, it passes through intermediate forwarding devices A, intermediate forwarding devices B and intermediate forwarding devices C and reaches the second routing forwarding device as the end point of the path.
[0052] It should be noted that the above Figure 3 The paths in FIG. 1 are merely examples for the sake of illustration. In fact, when there are 9 intermediate forwarding devices in the cloud service network, there may be many different forwarding paths.
[0053] In one illustrated embodiment, at least some of the links between forwarding devices on the message forwarding path include dedicated links created for the first user.
[0054] Since some users have high requirements for the quality of cloud service networks, they hope that the message forwarding path is not only fully controllable, but also has its own dedicated network path. Therefore, dedicated links can be created for users on at least some links between forwarding devices on the message forwarding path to meet user needs.
[0055] For example, a dedicated line can be added between two forwarding devices and used as a new VRF (Virtual Routing Forwarding). Routes announced by the two forwarding devices to each other are not allowed to be announced again.
[0056] Continuing with the example, assume that forwarding device A is connected to forwarding device B. After forwarding device B receives the route segment RA announced by forwarding device A to forwarding device B, it will no longer announce the route segment RA to the outside. By prohibiting route announcements in this way, when forwarding packets are forwarded between forwarding device A and forwarding device B, they must follow the path from forwarding device A to forwarding device B, and not from forwarding device A to forwarding device C, and then from forwarding device C to forwarding device B.
[0057] In one embodiment shown, the cloud service network includes a virtual private cloud service network built based on a physical network; the first user network and the second user network are virtual edge cloud service networks built based on the physical network.
[0058] The above method can also be applied to a virtual private cloud service network built on a physical network, such as a virtual private cloud service network built on a wide area communication network. In which, relative to the virtual private cloud service network, the first user network and the second user network can be virtual edge cloud service networks built on a physical network.
[0059] For example, by applying the above method, the problem that traffic forwarding between edge nodes is determined by the routing of the underlay physical network in edge dedicated line projects can be solved, so that the business layer can accurately control the forwarding path of business traffic.
[0060] In one embodiment shown, the cloud service network is a virtual private cloud service network based on SDN; and the traffic scheduling center is an SDN controller.
[0061] The above-mentioned SDN (Software Defined Network) is a new type of innovative network architecture and a way to implement network virtualization. It separates the control plane from the data plane of network devices, thereby achieving flexible control of network traffic.
[0062] In one example, the above method can also be applied to a virtual private cloud service network based on SDN. The function of the traffic dispatch center can be realized through the SDN controller. The SDN controller calculates and sends the message forwarding path corresponding to the user. For example, Figure 3 In the SDN controller, the resources of each forwarding device can be updated and the corresponding resource pool can be created. SDN can act as a central node to send forwarding flow tables to each forwarding device to guide the forwarding device to forward the messages sent by the user.
[0063] In one embodiment shown, the SDN-based virtual private cloud service network is an SD-WAN cloud service network.
[0064] The above-mentioned SD-WAN (Software Defined Wide Area Network) is a service formed by applying SDN technology to wide area network scenarios, which is used to connect enterprise networks, data centers, Internet applications and cloud services in a wide geographical range. The typical feature of SD-WAN cloud service network is to "cloudify" network control capabilities through software, supporting the opening of network capabilities that can be perceived by applications.
[0065] In one example, the above method can also be applied to a SD-WAN cloud service network.
[0066] In one illustrated embodiment, the routing and forwarding device includes a programmable network device.
[0067] The above-mentioned programmable network device refers to a network device equipped with a programmable chip. The programmable chip can be used to customize the forwarding logic of the chip according to business needs.
[0068] In one example, traffic statistics can be performed based on programmable network devices, and the traffic statistics results can be sent to a traffic scheduling center so that the traffic scheduling center can perform traffic scheduling based on the traffic statistics results. Figure 3 Each forwarding device in the network can be a programmable network device, so as to accurately count the user service traffic of the entire link and report it to the traffic scheduling center.
[0069] In addition, the above-mentioned intermediate forwarding devices can also be programmable network devices, so as to achieve fine-grained traffic statistics for the entire cloud service network and obtain accurate statistical results, so that the traffic scheduling center can make more refined and efficient traffic scheduling.
[0070] In yet another example, the programmable network device may include an SNA device.
[0071] The above-mentioned SNA (Smart Network Appliance) device is an integrated high-performance network platform that combines programmable switching capabilities and super computing power.
[0072] In this embodiment, based on the message forwarding path, at least one intermediate forwarding device along the communication message path is determined, and at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label is encapsulated for the communication message; wherein the extended message header includes the next-hop IP address.
[0073] by Figure 3 Taking forwarding path 1 in as an example, assuming that the message forwarding path calculated by the traffic scheduling center for the first user is forwarding path 1, then according to forwarding path 1, it can be determined that the intermediate forwarding devices along the communication message path include intermediate forwarding device A, intermediate forwarding device B and intermediate forwarding device C.
[0074] When encapsulating the communication message with an extended message header corresponding to the three intermediate forwarding devices as a forwarding label, the extended message header may include the next hop IP address next_hop_ip, a reserved field reserved, and a next layer protocol identifier next_proto. The format of the extended message header may be as shown in Table 1 below:
[0075] Table 1
[0076] next_hop_ip (next hop IPv4 address, 32 bits) reserved (reserved field, 8 bits) next_proto (next layer protocol identifier, 8 bits)
[0077] Among them, by using IPv4 addresses, the adaptation problem of IPv6 can be solved.
[0078] In one embodiment shown, a label stack can be encapsulated for the communication message; and according to the forwarding order corresponding to the at least one intermediate forwarding device in the message forwarding path, at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label is added to the label stack in sequence.
[0079] For example, it is assumed that the forwarding order corresponding to the intermediate forwarding device in the message forwarding path and the extended message header corresponding to the intermediate forwarding device are shown in Table 2 below:
[0080] Table 2
[0081] Intermediate forwarding device A B C Forwarding Order 1 2 3 Extended Header headerA headerB headerC
[0082] Then when encapsulating the label stack for the communication message, the order in which the extended message headers are added to the label stack from the bottom of the stack to the top of the stack is headerC, headerB and headerA. It can be understood that through the above order, when the above extended message headers are popped out of the stack, the message header at the top of the stack is popped out first, that is, the order in which the extended message headers are popped out of the stack is headerA, headerB and headerC.
[0083] It is worth noting that the above-mentioned next-hop IP address includes the IP address of the next-hop intermediate forwarding device or the IP address of the second routing forwarding device.
[0084] For example, in combination with Table 1, for the extended message header in Table 2, next_hop_ip of headerA may be the IP address of the intermediate forwarding device B, and next_proto of headerA describes the next message header headerB; next_hop_ip of headerB may be the IP address of the intermediate forwarding device C, and next_proto describes the next message header headerC;
[0085] However, since the intermediate forwarding device C is the last intermediate forwarding device, the next_hop_ip of headerC can be the IP address of the routing forwarding device that is the end point of the path on the message forwarding path, and next_proto describes the message header of the original message.
[0086] In one embodiment shown, the communication message is a VXLAN message encapsulated using VXLAN; the VXLAN message includes original message content and VXLAN encapsulation information; wherein the VXLAN encapsulation information includes a VXLAN header located on the outer layer of the original message content, and an IP header located on the outer layer of the VXLAN header; the at least one extended message header encapsulated for the communication message is located between the VXLAN header and the original message content.
[0087] The above communication message is a VXLAN message encapsulated by VXLAN. The encapsulation format can be shown in the following Table 3:
[0088] Table 3
[0089]
[0090] For example, the content of the original message sent by the first user is shown in Table 3. After receiving the original message, the first user edge device performs VXLAN encapsulation on the original message, and the VXLAN encapsulation information is shown in Table 3. During the encapsulation process, a VXLAN frame header is first added to the original message, and then encapsulated in a UDP header, and the IP and MAC addresses of the bearer network are used as the outer header for encapsulation.
[0091] Among them, the Outer UDP header contains the destination UDP port number and the source UDP port number, the Outer IPheader contains the source IP address and the destination IP address, and the Outer Ethernet header contains the destination MAC address and the source MAC address, etc.
[0092] Furthermore, when the first routing forwarding device encapsulates an extended message header for a communication message, the extended message header may be encapsulated between the VXLAN header and the original message content.
[0093] For example, continue with Figure 3 Taking the forwarding path 1 in the example, assuming that the extended message headers corresponding to the intermediate forwarding devices A, B and C as forwarding labels are headerA, headerB and headerC respectively, the format of the encapsulated communication message can be shown in the following Table 4:
[0094] Table 4
[0095]
[0096] The VXLAN header may include an 8-bit next_proto, which is used to describe the next packet header, headerA.
[0097] In addition, the order of the above-mentioned multiple extended message headers during encapsulation can also be determined according to the forwarding order of the corresponding intermediate forwarding devices in the message forwarding path. Please refer to the above description and will not be repeated here.
[0098] In this embodiment, the encapsulated communication message can be forwarded to an intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
[0099] For example, Figure 3 Taking the forwarding path 1 in FIG. 1 as an example, after the first routing forwarding device encapsulates the communication message, it can forward the encapsulated communication message to the intermediate forwarding device A according to the message forwarding path.
[0100] Then, after receiving the communication message, the intermediate forwarding device A can delete the extended message header headerA corresponding to the intermediate forwarding device A in the communication message, and continue to forward the communication message to the intermediate forwarding device B according to the IP address of the next hop intermediate forwarding device B contained in the extended message header headerA.
[0101] Taking Table 4 as an example, the format of the communication message received by the intermediate forwarding device B may be as shown in Table 5 below:
[0102] Table 5
[0103]
[0104] Then, the intermediate forwarding device B may delete the extended message header headerB corresponding to the intermediate forwarding device B in the communication message, and continue to forward the communication message to the intermediate forwarding device C according to the IP address of the next hop intermediate forwarding device C included in the extended message header headerB.
[0105] The format of the communication message received by the intermediate forwarding device C may be as shown in Table 6 below:
[0106] Table 6
[0107]
[0108] Next, the intermediate forwarding device C may delete the extended message header headerC corresponding to the intermediate forwarding device C in the communication message, and continue to forward the communication message to the second routing forwarding device according to the IP address of the next hop second routing forwarding device included in the extended message header headerC.
[0109] As can be seen from the above, the user sends out the original message, which is encapsulated by the first user edge device for VXLAN, and then encapsulated by the first routing forwarding device for the extended message header. Correspondingly, when the message reaches the second routing forwarding device, since the intermediate forwarding device has deleted all the extended message headers, the format of the communication message received by the second routing forwarding device can refer to the example in Table 3 above, which will not be repeated here.
[0110] Afterwards, the second routing forwarding device may delete the VXLAN encapsulation information, and continue to forward the communication message to the connected second user edge device according to the VXLAN encapsulation information.
[0111] Finally, the second user edge device forwards the original message to the second user according to the destination IP address of the second user in the original message.
[0112] In one embodiment shown, after receiving the communication message, the intermediate forwarding device searches for an extended message header corresponding to the intermediate forwarding device in the communication message, and copies the next-hop IP address in the found extended message header as the destination IP address to the outer IP header; and deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header.
[0113] Continue with the above description Figure 3 For example, after receiving the communication message, the intermediate forwarding device A can search for the extended message header headerA corresponding to the intermediate forwarding device A in the communication message, and copy the IP address of the next-hop intermediate forwarding device B in the found extended message header headerA as the destination IP address to the outer IP header; and delete the extended message header headerA corresponding to the intermediate forwarding device A, and continue to forward the communication message to the intermediate forwarding device B according to the IP address of the next-hop intermediate forwarding device B contained in the extended message header headerA.
[0114] Similarly, the intermediate forwarding device B can use the same operation as the intermediate forwarding device A to forward the communication message to the intermediate forwarding device C.
[0115] It is worth noting that if the intermediate forwarding device B is replaced with an ordinary routing device that does not support parsing of extended message headers, message forwarding can also be achieved, because for ordinary routing devices, the above communication message is equivalent to an ordinary UDP message, thereby achieving normal message forwarding.
[0116] Subsequently, when the intermediate forwarding device C receives the communication message, the operation performed on the communication message is the same as described above, but the difference is that the next-hop IP address found in the extended message header headerC corresponding to the intermediate forwarding device C is the IP address of the second routing forwarding device, thereby forwarding the communication message to the second routing forwarding device.
[0117] It can be seen that if the current intermediate forwarding device is not the last intermediate forwarding device in the message forwarding path, the next-hop IP address contained in the extended message header corresponding to the current intermediate forwarding device is the IP address of the next intermediate forwarding device after the current intermediate forwarding device on the message forwarding path; and if the current intermediate forwarding device is the last intermediate forwarding device in the message forwarding path, then the next-hop IP address contained in the extended message header corresponding to the current intermediate forwarding device is the IP address of the routing device located at the end point of the message forwarding path.
[0118] It is worth noting that in cloud service network scenarios, the virtual cloud service network used by users is usually built based on multiple operator networks, and messages usually need to be transferred through cross-operator networks. According to the above message forwarding process, when the intermediate forwarding device deletes the corresponding extended message header, it can also replace the source IP in the outer IP header with the egress IP of the expected operator network segment.
[0119] In one embodiment shown, a detection message having the same forwarding path as the communication message and encapsulating the same extended message header can be constructed, and the detection message can be sent to the second routing forwarding device based on the message forwarding path; and a detection response message returned by the second routing forwarding device can be received to determine the result of the path detection.
[0120] For example, a detection message may be constructed by the first routing device. The detection message is used to simulate the user's service scenario and thus has the same forwarding path as the communication message. For example, Figure 3 The path shown by the dotted line is the same as the path of the packet forwarding path 1.
[0121] Furthermore, the detection message also adopts the same encapsulation method, encapsulating the extended message header as the forwarding label corresponding to the intermediate forwarding device on the forwarding path to obtain the encapsulated detection message. Then, by forwarding the detection message based on the above forwarding path, it is ensured that it has the same forwarding path as the user's communication message and can also be forwarded to the second routing forwarding device.
[0122] However, unlike the communication message, the second routing forwarding device does not forward the detection message to the connected second user edge device, but processes it by itself and then returns a detection response message corresponding to the detection message. The detection response message will be encapsulated with an extended message header based on the message forwarding path at the time of return, and the detection response message will be returned to the first routing device according to the message forwarding path at the time of return, so that the first routing device can determine the result of the path detection.
[0123] By constructing a detection message and performing detection, it is possible to accurately detect whether a user's tunnel has an abnormality. For example, it is possible to detect the problem of missing flow table configuration that cannot be discovered by underlay detection; it is also possible to determine which specific link has an abnormality.
[0124] Furthermore, the result of the path detection can be sent to the traffic scheduling center, so that when the traffic scheduling center determines that there is an abnormality in the path according to the result of the path detection, it can recalculate the message forwarding path for the user to achieve normal forwarding of the communication message.
[0125] In one embodiment shown, the traffic scheduling center corresponding to the cloud service network calculates a message forwarding path for the first user, including a message forwarding path calculated by the traffic scheduling center corresponding to the cloud service network based on a result of the path detection and a result of traffic statistics performed by the traffic scheduling center on the cloud service network for the first user.
[0126] For example, the traffic scheduling center corresponding to the cloud service network can also perform accurate traffic statistics at the full-link level through encoding to obtain traffic statistics results; further, the traffic scheduling center can calculate the message forwarding path for the first user based on the above-mentioned path detection results and traffic statistics results, and send it to the routing forwarding device.
[0127] In addition, when determining the message forwarding path, comprehensive calculations can be performed based on the user's customized needs or user priority. For example, it can analyze which users have traffic on a certain path, and once the traffic reaches a peak, it can prioritize the scheduling of high-priority user traffic.
[0128] Through the above technical solution, the routing forwarding device connected to the user edge device encapsulates the message with an extended message header as a forwarding label corresponding to the intermediate forwarding device in the message path according to the message forwarding path calculated for the user by the traffic scheduling center corresponding to the cloud service network, thereby ensuring that the message is delivered according to the message forwarding path planned by the traffic scheduling center through the extended message header as a forwarding label, and realizing precise control of message forwarding in the cloud service network. In addition, since the corresponding extended message header needs to be deleted for each intermediate forwarding device during the forwarding process, the bandwidth resources in the cloud service network are saved through the dynamic label mechanism.
[0129] In an exemplary embodiment of the present specification, a device capable of implementing the above method is also provided.
[0130] Figure 4 is a schematic structural diagram of a device provided by an exemplary embodiment. Figure 4 At the hardware level, the device includes a processor 402, an internal bus 404, a network interface 406, a memory 408, and a non-volatile memory 410, and may also include hardware required for other services. One or more embodiments of this specification may be implemented based on software, such as the processor 402 reading the corresponding computer program from the non-volatile memory 410 into the memory 409 and then running it. Of course, in addition to the software implementation, one or more embodiments of this specification do not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0131] Please refer to Figure 5 In a software implementation, a traffic scheduling device 500 is provided, which is applied to a first routing and forwarding device in a cloud service network. The first routing and forwarding device is connected to a first user edge device, a first user network accesses the cloud service network through the first user edge device, and a second user network accesses the cloud service network through a second user edge device. Figure 5 As shown, the device comprises:
[0132] A receiving module 501 receives a communication message forwarded by the first user edge device and sent by a first user in the first user network to a second user in the second user network;
[0133] The acquisition module 502 acquires, in response to the received communication message, a message forwarding path calculated for the first user by the traffic scheduling center corresponding to the cloud service network; wherein the message forwarding path includes the first routing forwarding device as the path starting point, at least one intermediate forwarding device, and the second routing forwarding device as the path end point in the cloud service network; the second routing forwarding device is connected to the second user edge device;
[0134] The encapsulation module 503 determines at least one intermediate forwarding device along the communication message path according to the message forwarding path, and encapsulates the communication message with at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label; wherein the extended message header includes a next hop IP address;
[0135] The forwarding module 504 forwards the encapsulated communication message to the intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
[0136] Optionally, the encapsulation module 503 further:
[0137] Encapsulate a label stack for the communication message; and, according to the forwarding order corresponding to the at least one intermediate forwarding device in the message forwarding path, sequentially add to the label stack at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label.
[0138] Optionally, the communication message is a VXLAN message encapsulated by VXLAN; the VXLAN message includes original message content and VXLAN encapsulation information; wherein the VXLAN encapsulation information includes a VXLAN header located on the outer layer of the original message content, and an IP header located on the outer layer of the VXLAN header; the at least one extended message header encapsulated for the communication message is located between the VXLAN header and the original message content.
[0139] Optionally, the forwarding module 504 further:
[0140] After receiving the communication message, the intermediate forwarding device searches for the extended message header corresponding to the intermediate forwarding device in the communication message, and copies the next-hop IP address in the found extended message header as the destination IP address to the outer IP header; and deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header.
[0141] Optionally, at least some of the links between forwarding devices on the message forwarding path include dedicated links created for the first user.
[0142] Optionally, the device 500 further includes:
[0143] A construction module 505 (not shown in the figure) constructs a detection message having the same forwarding path as the communication message and encapsulating the same extended message header, and sends the detection message to the second routing forwarding device based on the message forwarding path;
[0144] The determination module 506 (not shown in the figure) receives the detection response message returned by the second routing forwarding device and determines the result of the path detection.
[0145] Optionally, the traffic scheduling center corresponding to the cloud service network calculates the message forwarding path for the first user, including the message forwarding path calculated by the traffic scheduling center corresponding to the cloud service network based on the result of the path detection and the result of traffic statistics performed by the traffic scheduling center on the cloud service network for the first user.
[0146] Optionally, the cloud service network includes a virtual private cloud service network built based on a physical network; the first user network and the second user network are virtual edge cloud service networks built based on the physical network.
[0147] Optionally, the cloud service network is a virtual private cloud service network based on SDN; and the traffic scheduling center is an SDN controller.
[0148] Optionally, the SDN-based virtual private cloud service network is a SD-WAN cloud service network.
[0149] Optionally, the routing and forwarding device includes a programmable network device.
[0150] The implementation process of the functions and effects of each module in the above-mentioned device 500 is specifically detailed in the implementation process of the corresponding steps in the above-mentioned traffic scheduling method. For relevant matters, please refer to the partial description of the method implementation method, which will not be repeated here.
[0151] The device implementation described above is merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network modules. Some or all of the units or modules may be selected according to actual needs to achieve the purpose of the scheme of this specification. Those of ordinary skill in the art can understand and implement it without creative work.
[0152] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, a game console, a tablet computer, a wearable device or a combination of any of these devices.
[0153] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0154] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0155] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. Information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.
[0156] It should also be noted that the terms "include", "comprises" or any other variations 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 other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0157] The above is a description of a specific embodiment of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0158] The terms used in one or more embodiments of this specification are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of this specification. The singular forms of "a", "said" and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0159] It should be understood that although the terms first, second, third, etc. may be used to describe various information in one or more embodiments of this specification, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0160] The above description is merely a preferred embodiment of one or more embodiments of the present specification and is not intended to limit one or more embodiments of the present specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of one or more embodiments of the present specification shall be included in the scope of protection of one or more embodiments of the present specification.
Claims
1. A traffic scheduling method, applied to a first routing forwarding device in a cloud service network; wherein: The first routing and forwarding device is connected to a first user edge device, a first user network accesses the cloud service network through the first user edge device, and a second user network accesses the cloud service network through a second user edge device; the method includes: receiving a communication message forwarded by the first user edge device and sent by a first user in the first user network to a second user in the second user network; In response to the received communication message, obtaining a message forwarding path calculated for the first user by a traffic scheduling center corresponding to the cloud service network; wherein the message forwarding path includes the first routing forwarding device as the path starting point, at least one intermediate forwarding device, and a second routing forwarding device as the path end point in the cloud service network; the second routing forwarding device is connected to the second user edge device; According to the message forwarding path, determine at least one intermediate forwarding device along the communication message path, and encapsulate the communication message with at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label; wherein the extended message header includes a next-hop IP address; The encapsulated communication message is forwarded to an intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device searches for an extended message header corresponding to the intermediate forwarding device in the communication message, and copies the next-hop IP address in the found extended message header as the destination IP address to the IP header of the communication message, and deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
2. The method according to claim 1, wherein encapsulating the communication message with at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label comprises: Encapsulating a label stack for the communication message; According to the forwarding order corresponding to the at least one intermediate forwarding device in the message forwarding path, at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label is sequentially added to the label stack.
3. According to the method of claim 1, the communication message is a VXLAN message encapsulated by VXLAN; the VXLAN message includes original message content and VXLAN encapsulation information; wherein, The VXLAN encapsulation information includes a VXLAN header located at the outer layer of the original message content, and an IP header located at the outer layer of the VXLAN header; the at least one extended message header encapsulated for the communication message is located between the VXLAN header and the original message content.
4. According to the method of claim 1, at least part of the links between the forwarding devices on the message forwarding path include dedicated links created for the first user.
5. The method according to claim 1, further comprising: Constructing a detection message having the same forwarding path as the communication message and encapsulating the same extended message header, and sending the detection message to the second routing forwarding device based on the message forwarding path; Receive the detection response message returned by the second routing forwarding device, and determine the result of the path detection.
6. According to the method described in claim 5, the traffic scheduling center corresponding to the cloud service network calculates the message forwarding path for the first user, including the message forwarding path calculated by the traffic scheduling center corresponding to the cloud service network based on the result of the path detection and the result of the traffic statistics of the cloud service network performed by the traffic scheduling center for the first user.
7. According to the method of claim 1, the cloud service network includes a virtual private cloud service network built based on a physical network; the first user network and the second user network are virtual edge cloud service networks built based on the physical network.
8. According to the method of claim 1, the cloud service network is a virtual private cloud service network based on SDN; and the traffic scheduling center is an SDN controller.
9. According to the method of claim 8, the SDN-based virtual private cloud service network is an SD-WAN cloud service network.
10. The method according to claim 1, wherein the routing and forwarding device comprises a programmable network device.
11. A traffic scheduling device, applied to a first routing forwarding device in a cloud service network; wherein: The first routing and forwarding device is connected to a first user edge device, a first user network accesses the cloud service network through the first user edge device, and a second user network accesses the cloud service network through a second user edge device; the apparatus comprises: A receiving module, receiving a communication message forwarded by the first user edge device and sent by a first user in the first user network to a second user in the second user network; an acquisition module, in response to the received communication message, acquiring a message forwarding path calculated for the first user by a traffic scheduling center corresponding to the cloud service network; wherein the message forwarding path includes the first routing forwarding device as the path starting point, at least one intermediate forwarding device, and a second routing forwarding device as the path end point in the cloud service network; the second routing forwarding device is connected to the second user edge device; An encapsulation module, which determines at least one intermediate forwarding device along the communication message path according to the message forwarding path, and encapsulates the communication message with at least one extended message header corresponding to the at least one intermediate forwarding device as a forwarding label; wherein the extended message header includes a next-hop IP address; A forwarding module forwards the encapsulated communication message to an intermediate forwarding device in the message forwarding path, so that after receiving the communication message, the intermediate forwarding device searches for an extended message header corresponding to the intermediate forwarding device in the communication message, and copies the next-hop IP address in the found extended message header as the destination IP address to the IP header of the communication message, and deletes the extended message header corresponding to the intermediate forwarding device in the communication message, and continues to forward the communication message according to the next-hop IP address contained in the extended message header, and so on, until the communication message reaches the second routing forwarding device via the message forwarding path, so that the second routing forwarding device forwards the communication message to the second user through the connected second user edge device.
12. An electronic device comprising: processor; a memory for storing processor-executable instructions; The processor implements the method according to any one of claims 1 to 10 by running the executable instructions.
13. A machine-readable storage medium having machine-readable instructions stored thereon, which implement the steps of the method according to any one of claims 1 to 10 when executed by a processor.
Citation Information
Patent Citations
Forwarding path determination method, apparatus, system, computer device, and storage medium
CN109039919A
Method and device for implementation of segment routing through IPv6
CN109194579A