Data traffic forwarding method and system
By establishing VXLAN tunnels between cross-domain data centers and determining the priority of gateway nodes with SDN controllers, the complex problem of cross-domain data center gateway configuration management is solved, and the flexibility of data traffic forwarding is improved.
Patent Information
- Application Number
- CN202411778138.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-02-18
AI Technical Summary
The gateway configuration management between cross-domain data centers is complex and the routing specifications are limited, resulting in poor flexibility in cross-domain data traffic forwarding.
By establishing a virtual extended local area network (VXLAN) tunnel between data centers in different regions, data traffic is forwarded from one gateway cluster to another gateway cluster, and a software-defined network (SDN) controller is used to determine the node based on the status information of the gateway node. priority, thus dynamically selecting the forwarding path.
Simplifies gateway configuration between data centers in different regions and improves flexibility in cross-domain data traffic forwarding, so that even if the number of gateways in the gateway cluster changes, there is no need to re-establish communication tunnels.
Smart Images

Figure CN119484404A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data traffic forwarding method and system. Background Art
[0002] With the continuous development of public cloud technology, more and more enterprises choose to deploy their businesses on the cloud. In order to ensure business stability and low network latency, it is usually necessary to deploy in different regions to meet the needs of cross-regional disaster recovery and local access.
[0003] In the related art, multiple Virtual Extensible Local Area Network (VXLAN) tunnels from one gateway node to another gateway node are usually established between gateway clusters between two data centers, so as to forward data traffic from a gateway node of one gateway cluster to a gateway node of another gateway cluster based on the VXLAN tunnel.
[0004] However, in the related technology, the gateway configuration management between cross-domain data centers is relatively complex, and the routing specifications are limited, resulting in poor flexibility in cross-domain data traffic forwarding. Summary of the invention
[0005] Based on this, it is necessary to provide a data traffic forwarding method and system to address the above technical issues.
[0006] In a first aspect, the present application provides a data traffic forwarding method, comprising:
[0007] The first gateway node in the first gateway cluster receives data traffic sent by the tenant side;
[0008] The first gateway node forwards data traffic to the second gateway node in the second gateway cluster through the communication tunnel between the first gateway cluster and the second gateway cluster; the first gateway cluster and the second gateway cluster belong to data centers in different regions, and the first gateway cluster and the second gateway cluster each correspond to a virtual address to establish a communication tunnel between the first gateway cluster and the second gateway cluster;
[0009] The second gateway node sends the data traffic to the corresponding tenant side.
[0010] In one embodiment, the method further comprises:
[0011] The software defined network controller receives status information sent by each gateway node in the first gateway cluster, determines the node priority of each gateway node in the first gateway cluster according to the status information of each gateway node in the first gateway cluster, and feeds back the node priority to each gateway node;
[0012] The first switch receives the node priorities reported by each gateway node, and determines the first gateway node in the first gateway cluster according to the node priorities of each gateway node.
[0013] In one of the embodiments, determining the node priority of each gateway node in the first gateway cluster according to the status information of each gateway node in the first gateway cluster includes:
[0014] Determining a routing weight of each gateway node in the first gateway cluster according to the status information of each gateway node in the first gateway cluster;
[0015] The node priority of each gateway node in the first gateway cluster is determined according to the routing weight of each gateway node in the first gateway cluster.
[0016] In one embodiment, determining a first gateway node in a first gateway cluster according to the node priority of each gateway node includes:
[0017] The gateway node with the highest node priority in the first gateway cluster is used as the first gateway node.
[0018] In one embodiment, the method further comprises:
[0019] The software defined network controller receives status information sent by each gateway node in the second gateway cluster, determines the node priority of each gateway node in the second gateway cluster according to the status information of each gateway node in the second gateway cluster, and feeds back the node priority to each gateway node;
[0020] The second switch receives the node priority reported by each gateway node, and determines a second gateway node in the second gateway cluster according to the node priority of each gateway node.
[0021] In one embodiment, determining the node priority of each gateway node in the second gateway cluster according to the status information of each gateway node in the second gateway cluster includes:
[0022] Determining a routing weight of each gateway node in the second gateway cluster according to the status information of each gateway node in the second gateway cluster;
[0023] The node priority of each gateway node in the second gateway cluster is determined according to the routing weight of each gateway node in the second gateway cluster.
[0024] In one embodiment, determining a second gateway node in a second gateway cluster according to the node priority of each gateway node includes:
[0025] The gateway node with the highest node priority in the second gateway cluster is used as the second gateway node.
[0026] In one embodiment, the method further comprises:
[0027] The software-defined network controller allocates virtual addresses to gateway clusters in different regional data centers; one gateway cluster corresponds to one virtual address;
[0028] A communication tunnel between gateway clusters in different regional data centers is established based on the virtual address, and routing information of the gateway cluster at the other end of the communication tunnel is sent to the gateway nodes in each gateway cluster.
[0029] In one embodiment, the method further comprises:
[0030] When a new gateway node is added to the gateway cluster at either end of the communication tunnel, the new gateway node sends a virtual address of the gateway cluster to which it belongs to the software defined network controller;
[0031] The software-defined network controller sends the routing information of the gateway cluster at the other end of the communication tunnel to the newly added gateway node according to the virtual address.
[0032] In the second aspect, the present application also provides a data traffic forwarding system, comprising at least two switches, at least two gateway clusters, and a software-defined network controller that communicates with each gateway cluster; at least two switches belong to data centers in different regions and communicate with each other; at least two gateway clusters belong to data centers in different regions and establish communication tunnels between them; the data traffic forwarding system is used to implement the steps of any of the above-mentioned data traffic forwarding methods.
[0033] In the above-mentioned data traffic forwarding method and system, the first gateway node in the first gateway cluster receives the data traffic sent by the tenant side, and the first gateway node forwards the data traffic to the second gateway node in the second gateway cluster through the communication tunnel between the first gateway cluster and the second gateway cluster, and the second gateway node sends the data traffic to the corresponding tenant side; the first gateway cluster and the second gateway cluster belong to data centers in different regions, and the first gateway cluster and the second gateway cluster each correspond to a virtual address; in the above-mentioned method, the gateway clusters between data centers in different regions each correspond to a virtual address to build a communication tunnel between the first gateway cluster and the second gateway cluster, which simplifies the gateway configuration between data centers in different regions. Even if the number of gateways in the gateway cluster changes, there is no need to re-establish the communication tunnel, thereby improving the flexibility of cross-domain data traffic forwarding. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0035] FIG1 is a schematic diagram of a data traffic forwarding system according to an embodiment;
[0036] FIG2 is a schematic diagram of a flow chart of a data traffic forwarding method in one embodiment;
[0037] FIG3 is a schematic diagram of a process for determining a first gateway node in one embodiment;
[0038] FIG4 is a schematic diagram of a process for determining node priorities of a first gateway cluster in one embodiment;
[0039] FIG5 is a schematic diagram of a process for determining a second gateway node in one embodiment;
[0040] FIG6 is a schematic diagram of a process for determining the node priority of the second gateway cluster in one embodiment;
[0041] FIG7 is a schematic diagram of a process of constructing a gateway cluster communication tunnel in one embodiment;
[0042] FIG8 is a schematic diagram of a process of synchronizing routing information in one embodiment;
[0043] FIG. 9 is a schematic flow chart of a data traffic forwarding method in another embodiment. DETAILED DESCRIPTION
[0044] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0045] The data traffic forwarding method provided in the embodiment of the present application can be applied to the data traffic forwarding system shown in Figure 1. The data traffic forwarding system includes at least two switches 101, at least two gateway clusters 102, and a software defined network controller 103 communicating with each gateway cluster 102.
[0046] Among them, at least two switches 101 are located in data centers in different regions and communicate with each other; at least two gateway clusters 102 belong to data centers in different regions and establish communication tunnels between them.
[0047] The switch 101 is a leaf-branch switch (B-Leaf), which can realize data center interconnection (DCI) between different data centers (DCs) and serve as a DCI-Leaf in a DCI scenario.
[0048] The routing control module in the Software Defined Network (SDN) controller 103 establishes MP-BGP EVPN neighbors with each gateway node in the gateway cluster 102 based on the Multiprotocol Border Gateway Protocol (MP-BGP) and the Ethernet Virtual Private Network (EVPN) to automatically create a communication tunnel between the gateway clusters 102 between different data centers, namely, a Virtual eXtensible Local Area Network (VXLAN) tunnel, and receive and synchronize the routing information of the gateway clusters 102 at both ends of the tunnel.
[0049] The gateway clusters 102 at both ends of the VXLAN tunnel serve as VXLAN tunnel endpoints (VTEPs), and each corresponds to an Internet Protocol (IP) address as a virtual address of the gateway cluster 102, which can be recorded as a VTEP IP.
[0050] The routing control module in the SDN controller 103 includes a route reflector (RR). The routing information of the gateway cluster 102 includes VTEP IP, VNI and tenant routing.
[0051] The SDN controller 103 is deployed on a computer device, which may be a server or other terminal device.
[0052] FIG1 exemplarily shows a data traffic forwarding system, including a first gateway cluster VTEP IP1, a second gateway cluster VTEP IP2, and an SDN controller communicating with VTEP IP1 and VTEP IP2 respectively. VTEP IP1 belongs to a data center in region 1, is connected to a first switch, and corresponds to a first tenant VNI1. VTEP IP2 belongs to a data center in region 2, is connected to a second switch, and corresponds to a second tenant VNI2.
[0053] Next, the data traffic forwarding method implemented by the above data traffic forwarding system is explained in detail.
[0054] In one embodiment, as shown in FIG. 2 , a data traffic forwarding method is provided, which is described by taking the method applied to the data traffic forwarding system in FIG. 1 as an example, and includes the following steps:
[0055] S210. A first gateway node in a first gateway cluster receives data traffic sent by a tenant side.
[0056] The first gateway node in the first gateway cluster may be any gateway node in the first gateway cluster, may be a master node pre-configured in the first gateway cluster, or may be a target node determined based on status information of each gateway node.
[0057] Optionally, the tenant side of the first gateway cluster initiates an access request and sends data traffic to the first gateway node in the first gateway cluster, and the first gateway node receives the data traffic sent by the tenant side in response.
[0058] S220. The first gateway node forwards the data traffic to the second gateway node in the second gateway cluster through the communication tunnel between the first gateway cluster and the second gateway cluster; the first gateway cluster and the second gateway cluster belong to data centers in different regions, and the first gateway cluster and the second gateway cluster each correspond to a virtual address to establish a communication tunnel between the first gateway cluster and the second gateway cluster.
[0059] The second gateway node in the second gateway cluster may be any gateway node in the second gateway cluster, may be a master node pre-configured in the second gateway cluster, or may be a target node determined based on status information of each gateway node.
[0060] The first gateway cluster and the second gateway cluster are respectively used as the endpoints of the communication tunnel between the two, and each corresponds to a virtual address, namely, a VTEP IP. The data flow carries a destination address, which includes a destination IP address, which is the VTEP IP of the second gateway cluster.
[0061] Optionally, after receiving the data traffic sent by the tenant side, the first gateway node resolves the destination address in the data traffic, and uses the destination IP address in the destination address as the outer destination address to encapsulate the data traffic, generates a VXLAN message, and based on the communication tunnel between the first gateway cluster and the second gateway cluster, sends the VXLAN message to the first switch, and then sends the VXLAN message to the second switch via the cross-domain network between the first switch and the second switch. The second switch reads the outer destination address of the VXLAN message to determine the second gateway cluster, and decapsulates the VXLAN message to forward the data traffic to the second gateway node in the second gateway cluster.
[0062] S230. The second gateway node sends the data traffic to the corresponding tenant side.
[0063] The destination address also includes a destination Media Access Control (MAC) address, which is the physical address of the tenant side that receives the data traffic.
[0064] Optionally, after obtaining the data traffic, the second gateway node reads the destination MAC address in the destination address to forward the data traffic to the tenant side corresponding to the destination MAC address.
[0065] In an embodiment of the present application, the first gateway node in the first gateway cluster receives data traffic sent by the tenant side, and the first gateway node forwards the data traffic to the second gateway node in the second gateway cluster through the communication tunnel between the first gateway cluster and the second gateway cluster, and the second gateway node sends the data traffic to the corresponding tenant side; the first gateway cluster and the second gateway cluster belong to data centers in different regions, and the first gateway cluster and the second gateway cluster each correspond to a virtual address; in the above method, the gateway clusters between data centers in different regions each correspond to a virtual address to build a communication tunnel between the first gateway cluster and the second gateway cluster, which simplifies the gateway configuration between data centers in different regions. Even if the number of gateways in the gateway cluster changes, there is no need to re-establish the communication tunnel, thereby improving the flexibility of cross-domain data traffic forwarding.
[0066] In order to determine the first gateway node in the first gateway cluster, in one embodiment, as shown in FIG3 , the method further includes:
[0067] S310. The software-defined network controller receives status information sent by each gateway node in the first gateway cluster, determines the node priority of each gateway node in the first gateway cluster according to the status information of each gateway node in the first gateway cluster, and feeds back the node priority to each gateway node.
[0068] The software defined network controller (SDN controller) is used to globally control and manage the network, including device management, routing management, traffic control, network monitoring, etc. The status information includes at least one of the load status, delay information, and link bandwidth of the gateway node.
[0069] Optionally, the SDN controller establishes an MP-BGP EVPN neighbor relationship with each gateway node in the first gateway cluster to receive status information reported by each gateway node, determine the node priority of each gateway node based on the status information of each gateway node, and then feed back the node priority of each gateway node to the corresponding gateway node.
[0070] Exemplarily, each gateway node in the first gateway cluster may periodically report status information to the SDN controller, or may actively report to the SDN controller when its own status information changes.
[0071] S320: The first switch receives the node priority reported by each gateway node, and determines a first gateway node in the first gateway cluster according to the node priority of each gateway node.
[0072] Optionally, after each gateway node in the first gateway cluster receives its own node priority, it feeds back the node priority to the first switch. The first switch receives the node priority reported by each gateway node in response, and compares the node priorities of each gateway node horizontally to determine the first gateway node in the first gateway cluster.
[0073] In an optional embodiment, the first switch may use a gateway node with the highest node priority in the first gateway cluster as the first gateway node.
[0074] It should be noted that after the first switch determines the first gateway node in the first gateway cluster, it synchronizes it to the tenant side to instruct the tenant side to send data traffic to the first gateway node when initiating a traffic forwarding request to the first gateway cluster.
[0075] In an embodiment of the present application, a software-defined network controller receives status information sent by each gateway node in the first gateway cluster, determines the node priority of each gateway node in the first gateway cluster based on the status information of each gateway node in the first gateway cluster, and feeds back the node priority to each gateway node, and the first switch receives the node priority reported by each gateway node, and determines the first gateway node in the first gateway cluster based on the node priority of each gateway node; in the above method, the node priority of each gateway node is determined based on the status information of each gateway node in the first gateway cluster, and the first gateway node is screened and determined from the first gateway cluster based on the node priority, so as to use the actual status of the gateway node to screen the gateway nodes participating in traffic forwarding, realize balanced sharing of traffic, effectively optimize traffic distribution, and improve the overall network performance and load balancing capability.
[0076] The node priority may be determined based on the routing weight of the gateway node. Based on this, in one embodiment, as shown in FIG4 , the node priority of each gateway node in the first gateway cluster is determined according to the status information of each gateway node in the first gateway cluster in S310, including:
[0077] S410: Determine a routing weight of each gateway node in the first gateway cluster according to status information of each gateway node in the first gateway cluster.
[0078] Optionally, after obtaining the status information of each gateway node in the first gateway cluster, the SDN controller can calculate the route length of each gateway node based on the status information, and determine the route weight of the corresponding gateway node according to the route length. The shorter the route length, the greater the route weight of the corresponding gateway node; conversely, the longer the route length, the smaller the route weight of the corresponding gateway node.
[0079] S420: Determine a node priority of each gateway node in the first gateway cluster according to a routing weight of each gateway node in the first gateway cluster.
[0080] Optionally, after obtaining the routing weight of each gateway node in the first gateway cluster, the SDN controller may compare the routing weight of each gateway node horizontally, and determine the node priority of each gateway node in the first gateway cluster according to the size relationship of the routing weight. The larger the routing weight, the higher the node priority of the corresponding gateway node; conversely, the smaller the routing weight, the lower the node priority of the corresponding gateway node.
[0081] In an embodiment of the present application, the routing weight of each gateway node in the first gateway cluster is determined according to the status information of each gateway node in the first gateway cluster, so as to determine the node priority of each gateway node in the first gateway cluster according to the routing weight of each gateway node in the first gateway cluster; in the above method, the node priority of each gateway node is determined based on the routing weight of each gateway node in the first gateway cluster, and the routing weight can accurately quantify the load capacity of the gateway node, thereby improving the accuracy of the node priority determined based on the routing weight.
[0082] In order to determine the second gateway node in the second gateway cluster, in one embodiment, as shown in FIG5 , the method further includes:
[0083] S510. The software-defined network controller receives status information sent by each gateway node in the second gateway cluster, determines the node priority of each gateway node in the second gateway cluster according to the status information of each gateway node in the second gateway cluster, and feeds back the node priority to each gateway node.
[0084] Optionally, the SDN controller establishes an MP-BGP EVPN neighbor with each gateway node in the second gateway cluster to receive status information reported by each gateway node, determine the node priority of each gateway node based on the status information of each gateway node, and then feed back the node priority of each gateway node to the corresponding gateway node.
[0085] Exemplarily, each gateway node in the second gateway cluster may periodically report status information to the SDN controller, or may actively report to the SDN controller when its own status information changes.
[0086] It should be noted that after the second switch receives the VXLAN message forwarded by the first switch, it can determine the second gateway cluster based on the outer destination address of the VXLAN message and synchronize it to the second gateway cluster to instruct each gateway node in the second gateway cluster to send status information to the SDN controller.
[0087] S520: The second switch receives the node priority reported by each gateway node, and determines a second gateway node in the second gateway cluster according to the node priority of each gateway node.
[0088] Optionally, after each gateway node in the second gateway cluster receives its own node priority, it feeds back the node priority to the second switch. The second switch receives the node priority reported by each gateway node in response, and compares the node priorities of each gateway node horizontally to determine the second gateway node in the second gateway cluster.
[0089] In an optional embodiment, the second switch may use a gateway node with the highest node priority in the second gateway cluster as the second gateway node.
[0090] In an embodiment of the present application, a software-defined network controller receives status information sent by each gateway node in the second gateway cluster, determines the node priority of each gateway node in the second gateway cluster based on the status information of each gateway node in the second gateway cluster, and feeds back the node priority to each gateway node, and the second switch receives the node priority reported by each gateway node, and determines the second gateway node in the second gateway cluster based on the node priority of each gateway node; in the above method, the node priority of each gateway node is determined based on the status information of each gateway node in the second gateway cluster, and the second gateway node is screened and determined from the second gateway cluster based on the node priority, so as to use the actual status of the gateway node to screen the gateway nodes participating in traffic forwarding, realize balanced sharing of traffic, effectively optimize traffic distribution, and improve the overall network performance and load balancing capability.
[0091] The node priority may be determined based on the routing weight of the gateway node. Based on this, in one embodiment, as shown in FIG6 , the node priority of each gateway node in the second gateway cluster is determined according to the status information of each gateway node in the second gateway cluster in S510, including:
[0092] S610: Determine a routing weight of each gateway node in the second gateway cluster according to status information of each gateway node in the second gateway cluster.
[0093] Optionally, after obtaining the status information of each gateway node in the second gateway cluster, the SDN controller can calculate the route length of each gateway node based on the status information, and determine the route weight of the corresponding gateway node according to the route length. The shorter the route length, the greater the route weight of the corresponding gateway node; conversely, the longer the route length, the smaller the route weight of the corresponding gateway node.
[0094] S620: Determine the node priority of each gateway node in the second gateway cluster according to the routing weight of each gateway node in the second gateway cluster.
[0095] Optionally, after obtaining the routing weight of each gateway node in the second gateway cluster, the SDN controller can compare the routing weight of each gateway node horizontally, and determine the node priority of each gateway node in the second gateway cluster according to the size relationship of the routing weight. The larger the routing weight, the higher the node priority of the corresponding gateway node; conversely, the smaller the routing weight, the lower the node priority of the corresponding gateway node.
[0096] In an embodiment of the present application, the routing weight of each gateway node in the second gateway cluster is determined according to the status information of each gateway node in the second gateway cluster, so as to determine the node priority of each gateway node in the second gateway cluster according to the routing weight of each gateway node in the second gateway cluster; in the above method, the node priority of each gateway node is determined based on the routing weight of each gateway node in the second gateway cluster, and the routing weight can accurately quantify the load capacity of the gateway node, thereby improving the accuracy of the node priority determined based on the routing weight.
[0097] The method also includes a process of constructing a gateway cluster communication tunnel between data centers in different regions. In one embodiment, as shown in FIG7 , the method also includes:
[0098] S710. The software-defined network controller allocates virtual addresses to gateway clusters in different regional data centers; one gateway cluster corresponds to one virtual address.
[0099] Among them, each gateway node in the same gateway cluster corresponds to the same virtual address.
[0100] Optionally, the SDN controller establishes an MP-BGP neighbor relationship with the gateway nodes in each gateway cluster, and can allocate virtual addresses to gateway clusters deployed in data centers in different regions based on ANYCAST network technology.
[0101] S720. Establish communication tunnels between gateway clusters in different regional data centers according to the virtual addresses, and send routing information of the other end gateway cluster of the communication tunnel to the gateway nodes in each gateway cluster.
[0102] Optionally, for any two gateway clusters between data centers in different regions, the SDN controller uses the two gateway clusters as tunnel endpoints, i.e., VTEPs, and automatically creates an XVLAN tunnel from the virtual address of one gateway cluster to the virtual address of another gateway cluster as a communication tunnel between the two gateway clusters. Each gateway node dynamically publishes routing information to the SDN controller, and the SDN controller sends routing information of the opposite gateway cluster of the communication tunnel to the gateway nodes in each gateway cluster.
[0103] Exemplarily, any two gateway clusters between data centers in different regions include a first gateway cluster VTEP IP1 and a second gateway cluster VTEP IP2, and the SDN controller correspondingly creates an XVLAN tunnel from VTEP IP1 to VTEP IP2, and sends routing information of the second gateway cluster to each gateway node in the first gateway cluster, and sends routing information of the first gateway cluster to each gateway node in the second gateway cluster. The routing information is EVPN type 3 and type 5 routing information.
[0104] In an embodiment of the present application, a software-defined network controller assigns virtual addresses to gateway clusters in different regional data centers, establishes communication tunnels between gateway clusters in different regional data centers based on the virtual addresses, and sends routing information of the opposite gateway cluster of the communication tunnel to the gateway nodes in each gateway cluster; one gateway cluster corresponds to one virtual address; in the above method, by assigning virtual addresses to gateway clusters one-to-one to build communication tunnels between gateway clusters, and synchronizing the routing information of the opposite gateway cluster, cross-domain data traffic forwarding is achieved, which not only simplifies network configuration and management, but also enhances the flexibility and reliability of the network.
[0105] Regarding the situation where a new gateway node is added to the gateway cluster at any end of the communication tunnel, in one embodiment, as shown in FIG8 , the method further includes:
[0106] S810: When a new gateway node is added to the gateway cluster at either end of the communication tunnel, the new gateway node sends a virtual address of the gateway cluster to which it belongs to the software defined network controller.
[0107] Optionally, when a gateway node is newly added to the gateway cluster at either end of the communication tunnel, the newly added gateway node sends a virtual address of the gateway cluster to which it belongs to the SDN controller, and establishes an MP-BGP neighbor relationship.
[0108] S820. The software defined network controller sends routing information of the peer gateway cluster of the communication tunnel to the newly added gateway node according to the virtual address.
[0109] Optionally, after receiving the virtual address sent by the newly added gateway node, the SDN controller determines a communication tunnel corresponding to the virtual address in the existing communication tunnels, and synchronizes the routing information of the gateway cluster at the other end of the communication tunnel to the newly added gateway node.
[0110] Exemplarily, continuing the above example, the SDN controller establishes an XVLAN tunnel 1 between the first gateway cluster VTEP IP1 and the second gateway cluster VTEP IP2. When a new gateway node M is added to the first gateway cluster, the newly added gateway node M sends the virtual address VTEP IP1 to the SDN controller, and the SDN controller sends the routing information of the opposite gateway cluster of the XVLAN tunnel 1, namely the second gateway cluster, to the newly added gateway node M.
[0111] In an embodiment of the present application, when a new gateway node is added to the gateway cluster at either end of the communication tunnel, the newly added gateway node sends the virtual address of the cluster to the software-defined network controller, and the software-defined network controller sends the routing information of the gateway cluster at the other end of the communication tunnel to the newly added gateway node based on the virtual address; in the above method, the expansion of the gateway nodes in the gateway cluster is realized without the need to create a new communication tunnel, which correspondingly improves the scalability of data traffic forwarding processing.
[0112] To facilitate understanding by those skilled in the art, the data traffic forwarding method provided by the present application is described in detail below. As shown in FIG. 9 , the method may include:
[0113] S901, the SDN controller allocates VTEP IPs to the first gateway cluster and the second gateway cluster; one gateway cluster corresponds to one VTEP IP; the first gateway cluster and the second gateway cluster belong to data centers in different regions;
[0114] S902, the SDN controller establishes an XVLAN tunnel between the first gateway cluster and the second gateway cluster according to the VTEP IP, and sends routing information of the opposite gateway cluster of the XVLAN tunnel to the gateway nodes in each gateway cluster;
[0115] S903, when a new gateway node is added to the gateway cluster at either end of the XVLAN tunnel, the new gateway node sends the VTEP IP of the gateway cluster to which it belongs to the SDN controller;
[0116] S904, the SDN controller sends the routing information of the peer gateway cluster of the XVLAN tunnel to the newly added gateway node according to the VTEP IP;
[0117] S905. The SDN controller receives status information sent by each gateway node in the first gateway cluster, and determines a routing weight of each gateway node in the first gateway cluster;
[0118] S906. The SDN controller determines the node priority of each gateway node in the first gateway cluster according to the routing weight of each gateway node in the first gateway cluster, and feeds back the node priority to each gateway node;
[0119] S907. The first switch receives the node priority reported by each gateway node, and uses the gateway node with the highest node priority in the first gateway cluster as the first gateway node;
[0120] S908. The first gateway node receives the data traffic sent by the tenant side, and forwards the data traffic to the second switch through the XVLAN tunnel between the first gateway cluster and the second gateway cluster;
[0121] S909. The second switch determines the second gateway cluster according to the destination IP address in the destination address carried by the data traffic, and instructs each gateway node in the second gateway cluster to send a status message to the SDN controller;
[0122] S910. The SDN controller receives status information sent by each gateway node in the second gateway cluster, and determines a routing weight of each gateway node in the second gateway cluster;
[0123] S911. The SDN controller determines the node priority of each gateway node in the second gateway cluster according to the routing weight of each gateway node in the second gateway cluster, and feeds back the node priority to each gateway node;
[0124] S912. The second switch receives the node priority reported by each gateway node, and uses the gateway node with the highest node priority in the second gateway cluster as the second gateway node;
[0125] S913. The first gateway node forwards the data traffic to the second gateway node in the second gateway cluster through the XVLAN communication tunnel between the first gateway cluster and the second gateway cluster;
[0126] S914. The second gateway node sends the data traffic to the corresponding tenant side according to the destination MAC address in the destination address.
[0127] It should be noted that for the description in the above S901-S914, reference may be made to the relevant description in the above embodiment, and the effects are similar, which will not be repeated in this embodiment.
[0128] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0129] Based on the same inventive concept, as shown in FIG1 , the embodiment of the present application also provides a data traffic forwarding system for implementing the data traffic forwarding method involved above. The implementation scheme for solving the problem provided by the system is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more data traffic forwarding system embodiments provided below can refer to the limitations on the data traffic forwarding method above, and will not be repeated here.
[0130] Those skilled in the art will understand that the structure shown in FIG. 1 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0131] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0132] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0133] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A data traffic forwarding method, characterized in that: The method comprises: The first gateway node in the first gateway cluster receives data traffic sent by the tenant side; The first gateway node forwards the data traffic to the second gateway node in the second gateway cluster through the communication tunnel between the first gateway cluster and the second gateway cluster; the first gateway cluster and the second gateway cluster belong to data centers in different regions, and the first gateway cluster and the second gateway cluster each correspond to a virtual address to establish a communication tunnel between the first gateway cluster and the second gateway cluster; The second gateway node sends the data traffic to the corresponding tenant side.
2. The method according to claim 1, characterized in that The method further comprises: The software defined network controller receives status information sent by each gateway node in the first gateway cluster, determines the node priority of each gateway node in the first gateway cluster according to the status information of each gateway node in the first gateway cluster, and feeds back the node priority to each gateway node; The first switch receives the node priority reported by each of the gateway nodes, and determines the first gateway node in the first gateway cluster according to the node priority of each of the gateway nodes.
3. The method according to claim 2, characterized in that The determining, according to the status information of each gateway node in the first gateway cluster, the node priority of each gateway node in the first gateway cluster includes: Determining a routing weight of each gateway node in the first gateway cluster according to the status information of each gateway node in the first gateway cluster; Determine a node priority of each gateway node in the first gateway cluster according to a routing weight of each gateway node in the first gateway cluster.
4. The method according to claim 2, characterized in that: The determining the first gateway node in the first gateway cluster according to the node priority of each of the gateway nodes includes: The gateway node with the highest node priority in the first gateway cluster is used as the first gateway node.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: The software defined network controller receives status information sent by each gateway node in the second gateway cluster, determines the node priority of each gateway node in the second gateway cluster according to the status information of each gateway node in the second gateway cluster, and feeds back the node priority to each gateway node; The second switch receives the node priority reported by each of the gateway nodes, and determines the second gateway node in the second gateway cluster according to the node priority of each of the gateway nodes.
6. The method according to claim 5, characterized in that The determining, according to the status information of each gateway node in the second gateway cluster, the node priority of each gateway node in the second gateway cluster includes: Determining a routing weight of each gateway node in the second gateway cluster according to the status information of each gateway node in the second gateway cluster; Determine the node priority of each gateway node in the second gateway cluster according to the routing weight of each gateway node in the second gateway cluster.
7. The method according to claim 5, characterized in that The determining the second gateway node in the second gateway cluster according to the node priority of each of the gateway nodes includes: The gateway node with the highest node priority in the second gateway cluster is used as the second gateway node.
8. The method according to any one of claims 1 to 4, characterized in that The method further comprises: The software-defined network controller allocates virtual addresses to gateway clusters in different regional data centers; one gateway cluster corresponds to one virtual address; A communication tunnel between gateway clusters in different regional data centers is established according to the virtual address, and routing information of the gateway cluster at the other end of the communication tunnel is sent to the gateway nodes in each gateway cluster.
9. The method according to claim 8, characterized in that The method further comprises: In the case where a new gateway node is added to the gateway cluster at either end of the communication tunnel, the new gateway node sends a virtual address of the gateway cluster to which it belongs to the software defined network controller; The software defined network controller sends the routing information of the peer gateway cluster of the communication tunnel to the newly added gateway node according to the virtual address.
10. A data traffic forwarding system, characterized in that: The system includes at least two switches, at least two gateway clusters and a software-defined network controller that communicates with each of the gateway clusters; the at least two switches belong to data centers in different regions and communicate with each other; the at least two gateway clusters belong to data centers in different regions and establish communication tunnels between them; the data traffic forwarding system is used to implement the steps of the method described in any one of claims 1 to 9.
Citation Information
Patent Citations
routing method and device as well as sensor equipment based on wireless sensor tree network
CN102056263A
Multi-tenant-oriented cloud network architecture
CN105391771A
Packet transmission method, information processing method, and related device
CN109245984A
Data forwarding system, method and device
CN110971698A
Method, system for realizing intercommunication between cloud intranet and cloud extranet, equipment and medium
CN113783765A
Cited By
Method for dynamically and automatically assembling network by federal peer-to-peer clusters in edge environment
CN119743485A