Data center architecture and data packet forwarding method

By introducing a data center architecture of VTN controller, OpenFlow controller and target message queue in virtual private cloud (VPC), the problem of low packet forwarding of virtual machines is solved, and efficient data forwarding and network performance improvement is achieved.

CN119484403AActive Publication Date: 2025-02-18CHINA TELECOM CLOUD TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202411763009.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-02-18
Estimated Expiration
2044-12-03

AI Technical Summary

Technical Problem

In the prior art, the forwarding efficiency of target virtual machine data packets in virtual private cloud (VPC) is low, which affects network performance and smooth operation of applications.

Method used

Provides a data center architecture and packet forwarding method, including a VTN controller, an OpenFlow controller, a target message queue, and a plurality of compute nodes. The target flow table information is generated through the VTN controller and sent to the computing node by the OpenFlow controller. The computing node forwards the data packet based on the target flow table information.

Benefits of technology

It realizes that without changing the original networking of the data center, accurately distributes target flow table information, directly forwards the east-west layer three traffic of the virtual machine within the computing node or between different computing nodes, and bypasses the three-layer gateway equipment. Improve data forwarding efficiency and reduce the overall traffic load of gateway equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119484403A_ABST
    Figure CN119484403A_ABST
Patent Text Reader

Abstract

The invention relates to a data center architecture and a data packet forwarding method. The data center architecture comprises a VTN controller, an OpenFlow controller, a target message queue and a plurality of computing nodes, and each computing node is provided with a target virtual machine. The VTN controller is used for acquiring target online information of the target virtual machine from the target message queue under the condition of monitoring that the target message queue is updated, arranging services of the target virtual machine according to the target online information, generating target flow table information and writing the target flow table information into the target message queue; the OpenFlow controller is used for acquiring the target flow table information from the target message queue and issuing the target flow table information to a computing node where the target virtual machine is located; and the computing node is used for forwarding the target data packet according to the target flow table information. The VTN controller can accurately issue the target flow table information according to the online and offline information of the virtual machine without bypassing three-layer gateway equipment, so that the data forwarding efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of virtual network technology, and in particular to a data center architecture and a data packet forwarding method. Background Art

[0002] With the rapid development of cloud computing and virtualization technology, the forwarding mechanism of target virtual machine data packets in Virtual Private Cloud (VPC) has become increasingly complex. In this environment, it is crucial to achieve efficient data forwarding to ensure network performance and smooth operation of applications.

[0003] Currently, in the process of forwarding data packets of all target virtual machines in a VPC, routing and forwarding are usually performed based on east-west three-layer network communication traffic through core routers or three-layer switches and other gateway devices.

[0004] However, the above data packet forwarding method has the problem of low forwarding efficiency. Summary of the invention

[0005] Based on this, it is necessary to provide a data center architecture and a data packet forwarding method that can improve data forwarding efficiency in response to the above technical problems.

[0006] In a first aspect, the present application provides a data center architecture, which includes a VTN controller, an OpenFlow controller, a target message queue, and multiple computing nodes, each of which is provided with a target virtual machine;

[0007] The VTN controller is used to obtain the target online information of the target virtual machine from the target message queue when monitoring that the target message queue is updated, and to arrange the services of the target virtual machine according to the target online information, generate the target flow table information, and write the target flow table information into the target message queue;

[0008] The OpenFlow controller is used to obtain the target flow table information from the target message queue and send the target flow table information to the computing node where the target virtual machine is located;

[0009] The computing node is used to forward the target data packet according to the target flow table information.

[0010] In one embodiment, the target flow table information includes a data processing flow table and a data detection flow table, and the VTN controller includes a first generation module and a second generation module, wherein:

[0011] The first generation module is used to generate a data processing flow table according to the target online information; the data forwarding flow table is used to forward the target data packet;

[0012] The second generation module is used to generate a data detection flow table according to the target online information; the data detection flow table is used to perform anomaly detection on the target data packet.

[0013] In one embodiment, the data forwarding flow table includes a first flow table, a second flow table, a third flow table and a fourth flow table, and the first generation module includes: a first generation unit, a second generation unit, a third generation unit and a fourth generation unit, wherein:

[0014] A first generating unit, configured to generate a first flow table according to target online information; the first flow table is configured to add identification information to the first data packet when the target virtual machine sends the first data packet;

[0015] The second generating unit is used to generate a second flow table according to the target online information; the second flow table is used to send an access request on behalf of the target virtual machine when the target virtual machine accesses the gateway of the virtual network, and obtain the address information of the gateway;

[0016] A third generation unit is used to generate a third flow table according to the target online information; the third flow table is used to determine the number of data forwarding layers according to the address information of the gateway when sending the second data packet to the target virtual machine, and forward the second data packet according to the number of data forwarding layers;

[0017] The fourth generating unit is used to generate a fourth flow table according to the target online information; the fourth flow table is used to determine the forwarding path of the target data packet during the process of forwarding the target data packet.

[0018] In one of the embodiments, the third flow table includes a first sub-flow table and a second sub-flow table, and the third generation unit is specifically used to generate the first sub-flow table according to the target online information, and to generate the second sub-flow table according to the target online information; the first sub-flow table is used to forward the second data packet directly or after encapsulation to the target virtual machine when the number of data forwarding layers is a first number; the second sub-flow table is used to determine the available status of the second data packet when the number of data forwarding layers is a second number, and forward the second data packet to the target virtual machine when the second data packet is in a valid state.

[0019] In one embodiment, the data detection flow table includes a fifth flow table and a sixth flow table, and the second generation module includes: a fifth generation unit and a sixth generation unit, wherein:

[0020] a fifth generation unit, configured to generate a fifth flow table according to the target online information; the fifth flow table is configured to perform an abnormality detection on the third data packet when the gateway of the virtual network sends the third data packet, obtain a first detection result, and process the third data packet according to the first detection result;

[0021] The sixth generation unit is used to generate a sixth flow table according to the target online information; the sixth flow table is used to perform anomaly detection on the fourth data packet when sending the fourth data packet to the target virtual machine, obtain a second detection result, and process the fourth data packet according to the second detection result.

[0022] In one of the embodiments, the OpenFlow controller is further used to receive an online message of a target virtual machine reported by a computing node where the target virtual machine is located, determine target online information according to the online message, and write the target online information into a target message queue.

[0023] In one of the embodiments, the target message queue includes a first message queue and a second message queue;

[0024] The first message queue is used to store target online information of the target virtual machine;

[0025] The second message queue is used to store target flow table information.

[0026] In one of the embodiments, the data center architecture further includes an OpenFlow channel; the OpenFlow channel is an information transmission channel between the OpenFlow controller and multiple computing nodes.

[0027] In one embodiment, the OpenFlow controller includes a primary controller and a backup controller.

[0028] In a second aspect, the present application also provides a method for forwarding a data packet, the method comprising:

[0029] When the target virtual machine comes online, the computing node where the target virtual machine is located reports the online message of the target virtual machine to the OpenFlow controller;

[0030] After receiving the online message of the target virtual machine, the OpenFlow controller determines the target online information according to the online message of the target virtual machine and writes the target online information into the target message queue;

[0031] When the VTN controller detects that the target message queue is updated, it obtains the target online information of the target virtual machine from the target message queue, arranges the services of the target virtual machine according to the target online information, generates the target flow table information, and writes the target flow table information into the target message queue;

[0032] The OpenFlow controller obtains the target flow table information from the target message queue and sends the target flow table information to the computing node where the target virtual machine is located;

[0033] The computing node forwards the target data packet according to the target flow table information.

[0034] The above-mentioned data center architecture and data packet forwarding method, the data center architecture includes a VTN controller, an OpenFlow controller, a target message queue, and multiple computing nodes, each of which is provided with a target virtual machine. Among them, the VTN controller is used to obtain the target online information of the target virtual machine from the target message queue when it is detected that the target message queue is updated, and to arrange the services of the target virtual machine according to the target online information, generate the target flow table information, and write the target flow table information into the target message queue; the OpenFlow controller is used to obtain the target flow table information from the target message queue, and send the target flow table information to the computing node where the target virtual machine is located; the computing node is used to forward the target data packet according to the target flow table information. Without changing the original networking of the data center, the OpenFlow controller in the above data center architecture can sense the distribution of virtual machines in the resource pool or data center in the computing nodes and online and offline messages, accurately send target flow table information, modify the data packet content through the target flow table information and guide its forwarding, and realize the direct forwarding of the east-west three-layer traffic of virtual machines in the data center or resource pool within the same computing node or between different computing nodes without detouring through the three-layer gateway device. This can improve the forwarding performance of the east-west three-layer traffic of virtual machines, reduce the overall traffic load of the gateway device, and thus improve data forwarding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A structural block diagram of a data center architecture in one embodiment;

[0036] Figure 2 A structural block diagram of a data center architecture in another embodiment;

[0037] Figure 3 The figure is a flowchart of a method for forwarding a data packet in an embodiment. DETAILED DESCRIPTION

[0038] 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.

[0039] With the rapid development of cloud computing and virtualization technology, the forwarding mechanism of target virtual machine data packets in Virtual Private Cloud (VPC) has become increasingly complex. In this environment, it is crucial to achieve efficient data forwarding to ensure network performance and smooth operation of applications. At present, in the process of forwarding data packets of all target virtual machines in VPC, it is usually based on the east-west three-layer network communication traffic through core routers or three-layer switches and other gateway devices for routing forwarding. However, the above data packet forwarding method has the problem of low forwarding efficiency.

[0040] The present application provides a data center architecture and a data packet forwarding method, aiming to solve the above-mentioned technical problems. The following embodiments will specifically illustrate the data center architecture and the data packet forwarding method described in the present application.

[0041] In one embodiment, Figure 1 As shown, a data center architecture is provided, which includes a VTN controller, an OpenFlow controller, a target message queue, and multiple computing nodes, each of which is provided with a target virtual machine;

[0042] The VTN controller is used to obtain the target online information of the target virtual machine from the target message queue when the target message queue is updated, and to arrange the services of the target virtual machine according to the target online information, generate the target flow table information, and write the target flow table information into the target message queue. The OpenFlow controller is used to obtain the target flow table information from the target message queue and send the target flow table information to the computing node where the target virtual machine is located. The computing node is used to forward the target data packet according to the target flow table information.

[0043] The above-mentioned VTN controller is a virtual tenant network (VTN) controller. The OpenFlow controller is an SDN (Software Defined Network) controller. The above-mentioned target online information includes at least one of the port information of the target virtual machine, the subnet identifier to which the port belongs, the virtual private cloud VPC identifier to which the subnet belongs, the subnet gateway port information, the address information of the subnet gateway, and the port information of other virtual machines in different subnets in the same VPC where the target virtual machine is located. The above-mentioned target flow table information is used to instruct the target virtual machine to perform data processing. The above-mentioned target data packet can be a data packet sent outward by the virtual machine, or a data packet sent to the virtual machine. The target flow table information is an OpenFlow flow table.

[0044] In the embodiment of the present application, when the target virtual machine is online, started or created, the computing node where the target virtual machine is located reports the online message of the target virtual machine to the OpenFlow controller, and the OpenFlow controller can receive the online message of the target virtual machine, and the online message can be a resource access request of the target virtual machine. After receiving the online message of the target virtual machine, the OpenFlow controller can parse the online message of the target virtual machine to obtain the target online information, and write the target online information into the target message queue, and the message can be updated in the target message queue. The VTN controller monitors the target message queue in real time, and when the target message queue is updated, the target online information of the target virtual machine is obtained from the target message queue, and then the business of the target virtual machine is arranged according to the target online information, the target flow table information is generated, and the target flow table information is written into the target message queue, and the message can be updated in the target message queue. The OpenFlow controller monitors the target message queue in real time, and when the target message queue is updated, the target flow table information can be obtained from the target message queue, and the target flow table information is sent to the computing node where the target virtual machine is located, and the computer node can receive the target flow table information, and then the target virtual machine is controlled to forward the target data packet according to the target flow table information.

[0045] The data center architecture provided by the embodiment of the present application can sense the distribution of virtual machines in the computing nodes and online and offline messages in the resource pool or data center, accurately send target flow table information, modify the data packet content and guide its forwarding through the target flow table information, and realize the direct forwarding of the east-west three-layer traffic of virtual machines in the data center or resource pool within the same computing node or between different computing nodes without detouring through the three-layer gateway device. This can improve the forwarding performance of the east-west three-layer traffic of virtual machines, reduce the overall traffic load of the gateway device, and thus improve data forwarding efficiency.

[0046] In one embodiment, the target flow table information includes a data processing flow table and a data detection flow table, and the VTN controller includes a first generation module and a second generation module;

[0047] The first generation module is used to generate a data processing flow table according to the target online information, and the data forwarding flow table is used to forward the target data packet. Specifically, the data forwarding flow table includes: a first flow table, a second flow table, a third flow table and a fourth flow table. The first generation module includes: a first generation unit, a second generation unit, a third generation unit and a fourth generation unit.

[0048] The first generating unit is used to generate a first flow table according to the target online information. The first flow table is used to add identification information to the first data packet when the target virtual machine sends the first data packet, so as to distinguish different network traffic and realize traffic isolation.

[0049] Among them, the first sub-flow table is the OpenFlow table20 flow table.

[0050] In the embodiment of the present application, the VTN controller can generate a first flow table according to the port information of the target virtual machine, the subnet identifier to which the port belongs, and the virtual private cloud VPC identifier to which the subnet belongs. The first flow table sets a layer 3 traffic forwarding isolation label tun_id in the message coming out of the virtual machine.

[0051] The second generating unit is used to generate a second flow table according to the target online information. The second flow table is used to send an access request on behalf of the target virtual machine and obtain the address information of the gateway when the target virtual machine accesses the gateway of the virtual network.

[0052] Among them, the second flow table is OpenFlow table30 flow table.

[0053] In the embodiment of the present application, the VTN controller can generate a second flow table according to the subnet gateway port information and the subnet gateway address information. The second flow table answers the arp of the virtual machine accessing the gateway ip, through which the virtual machine can learn the mac of the gateway ip.

[0054] The third generation unit is used to generate a third flow table according to the target online information. The third flow table is used to determine the data forwarding layer number according to the gateway address information when sending the second data packet to the target virtual machine, and forward the second data packet according to the data forwarding layer number.

[0055] The third flow table is OpenFlow table 72. The number of data forwarding layers is the number of traffic layers, including layer 2 traffic and layer 3 traffic.

[0056] In an embodiment of the present application, the VTN controller can generate a third flow table based on the address information of the subnet gateway and the virtual private cloud VPC identifier to which the subnet belongs. The third flow table separates the traffic of the second and third layers by the destination mac. The third-layer traffic matches the flow table whose destination mac is the gateway mac and is forwarded to OpenFlow table74. The second-layer traffic matches the default flow table and is forwarded to OpenFlow table73. Specifically, the third flow table includes a first sub-flow table and a second sub-flow table. The third generation unit is specifically used to generate a first sub-flow table according to the target online information, and to generate a second sub-flow table according to the target online information; the first sub-flow table is used to forward the second data packet directly or after encapsulation to the target virtual machine when the number of data forwarding layers is the first number, that is, when the number of data forwarding layers is two layers; the second sub-flow table is used to determine the available state of the second data packet when the number of data forwarding layers is the second number, that is, when the number of data forwarding layers is three layers, and forward the second data packet to the target virtual machine when the second data packet is in a valid state. Among them, the first sub-flow table OpenFlow table73 flow table, the second sub-flow table OpenFlow table74 flow table. The first sub-flow table will forward the packet directly to the virtual machine on this OVS or forward it to the virtual machine on other OVS after vxlan encapsulation according to the destination mac of the packet. The method for the second sub-flow table to determine the availability status of the second packet is as follows: the second sub-flow table determines whether the time to live (TTL) of the three-layer packet is valid. If it is valid, the packet is forwarded to OpenFlow table75. If it is invalid (for example, it has been forwarded multiple times and expired), the packet is discarded to ensure that the transmission of the packet in the network will not circulate indefinitely and avoid network congestion.

[0057] The fourth generating unit is used to generate a fourth flow table according to the target online information, and the fourth flow table is used to determine the forwarding path of the target data packet during the process of forwarding the target data packet.

[0058] Among them, the fourth flow table is OpenFlow table76 flow table.

[0059] In the embodiment of the present application, the fourth flow table will forward the data packet to the correct destination according to the routing table. During the forwarding process, the TTL of the data packet will be reduced, and the source MAC address will be modified to the MAC of the gateway, and the destination MAC address will be modified to the MAC of the target virtual machine or the next hop. The OpenFlow table76 flow table implements the routing function of the gateway device. The TTL of the data packet hitting this flow table will be reduced by one, the source mac will be modified to the gateway mac, the destination mac will be modified to the mac of the destination virtual machine or the mac of the next hop of the route, and then forwarded to OpenFlow table77.

[0060] The second generation module is used to generate a data detection flow table according to the target online information, and the data detection flow table is used to perform abnormal detection on the target data packet. Specifically, the data detection flow table includes a fifth flow table and a sixth flow table, and the second generation module includes: a fifth generation unit and a sixth generation unit.

[0061] The fifth generation unit is used to generate a fifth flow table according to the target online information. The fifth flow table is used to perform anomaly detection on the third data packet when the gateway of the virtual network sends the third data packet, obtain the first detection result, and process the third data packet according to the first detection result.

[0062] Among them, the fifth flow table is OpenFlow table75.

[0063] In the embodiment of the present application, when the gateway of the virtual network sends a third data packet, the fifth generation unit performs an abnormality detection on the third data packet to obtain a first detection result. If the first detection result is a normal detection, the data packet is forwarded to the OpenFlow table76 flow table. If the first detection result is an abnormal detection, the data packet is directly discarded. The OpenFlowtable75 flow table implements the ACL function of the gateway device (outgoing subnet ACL). Data packets that hit the OpenFlow table75 flow table will be forwarded to the OpenFlow table76 or discarded according to the flow table action.

[0064] The sixth generation unit is used to generate a sixth flow table according to the target online information. The sixth flow table is used to perform anomaly detection on the fourth data packet when sending the fourth data packet to the target virtual machine, obtain a second detection result, and process the fourth data packet according to the second detection result.

[0065] Among them, the sixth flow table is OpenFlow table77 flow table.

[0066] In the embodiment of the present application, when sending the fourth data packet to the target virtual machine, the sixth generation unit performs an abnormality detection on the fourth data packet to obtain a second detection result. If the second detection result is a normal detection, the data packet is forwarded to the OpenFlow table73 flow table. If the second detection result is an abnormal detection, the data packet is directly discarded. The OpenFlowtable77 flow table implements the acl function of the gateway device (inbound subnet acl), and the data table that hits the OpenFlow table77 flow table will be forwarded to the OpenFlow table73.

[0067] The second generation module also includes: a seventh generation unit, which is used to generate a seventh flow table according to the target online information, and the seventh flow table is used to forward the fifth data packet to the correct destination according to the routing table. During the forwarding process, the lifetime of the fifth data packet will be reduced, and the source MAC address will be modified to the MAC of the gateway, and the destination MAC address will be modified to the MAC of the target virtual machine or the next hop. Among them, the seventh flow table is the OpenFlow table76 flow table. The seventh generation unit is used to implement the routing of the data packet to ensure that the data packet can reach the destination correctly.

[0068] In the embodiment of the present application, the timing and logic of sending the above flow table are as follows:

[0069] (1) Create a virtual machine on the computing node, add the port to the bi-int switch bridge, and OVS reports the port status online message to the OpenFlow controller through the OpenFlow channel;

[0070] (2) The OpenFlow controller parses the port status message and writes the parsed message into the message queue;

[0071] (3) The VTN controller consumes the port status, processes the port online event, and sends the flow table;

[0072] a. According to the reg5 of the port, the reg6 of the subnet to which the port belongs, and the vni of the vpc to which the subnet belongs, the table20 flow table is issued;

[0073] b. According to the subnet gateway port and gateway MAC, send the table30 gateway arp proxy flow table;

[0074] c. According to the gateway MAC and the VNI of the VPC, the table72 flow table is issued;

[0075] d. Traverse other ports with the same vpc but different subnets as the online port. If other ports and the online port belong to the OVS computing node, send the table73 flow table to forward the data packet directly to the destination port within the OVS computing node; if other ports and the online port belong to different OVS computing nodes, send the table73 flow table to encapsulate the data packet in vxlan and forward it to the OVS computing node to which the destination port belongs. Regardless of whether other ports and the online port belong to the same OVS computing node, the table76 flow table that modifies the source and destination mac of the data packet will be sent;

[0076] (4) Traverse the ACL rules bound to the subnet to which the online port belongs, and issue the table75 and table77 ACL flow tables.

[0077] The method described in the embodiment of the present application uses the OpenFlow table76 flow table to change the source mac of the data packet of the virtual machine's layer 3 outbound traffic to the gateway mac and the destination mac to the mac of the destination virtual machine before it leaves the OVS, simulating the message sent by the gateway device, and using the OpenFlow table73 flow table to guide the virtual machine's east-west layer 3 traffic to be directly forwarded within the OVS or between OVSs, bypassing the gateway device TGW, reducing the load on the gateway device, and reducing the number of devices through which the traffic is forwarded.

[0078] In one embodiment, the OpenFlow controller is further configured to receive an online message of a target virtual machine reported by a computing node where the target virtual machine is located, determine target online information according to the online message, and write the target online information into a target message queue.

[0079] In one embodiment, Figure 2 As shown, the target message queue includes a first message queue and a second message queue. The first message queue is used to store the target online information of the target virtual machine, and the first message queue is the flow table message queue MQ1. The second message queue is used to store the target flow table information, and the second message queue is the online message queue MQ2.

[0080] The above data center architecture also includes an OpenFlow channel, which is an information transmission channel between an OpenFlow controller and multiple computing nodes.

[0081] The above OpenFlow controller includes a main controller and a standby controller.

[0082] Based on all the above embodiments, a method for forwarding a data packet is also provided. Figure 3 As shown, the method includes:

[0083] S101, when a target virtual machine comes online, the computing node where the target virtual machine is located reports an online message of the target virtual machine to the OpenFlow controller.

[0084] S102: After receiving the online message of the target virtual machine, the OpenFlow controller determines target online information according to the online message of the target virtual machine, and writes the target online information into a target message queue.

[0085] S103, when the VTN controller detects that the target message queue is updated, it obtains the target online information of the target virtual machine from the target message queue, arranges the services of the target virtual machine according to the target online information, generates target flow table information, and writes the target flow table information into the target message queue.

[0086] S104, the OpenFlow controller obtains the target flow table information from the target message queue, and sends the target flow table information to the computing node where the target virtual machine is located.

[0087] S105, the computing node forwards the target data packet according to the target flow table information.

[0088] The methods described in the above steps are all described in the above embodiments. Please refer to the above description for details and will not be repeated here.

[0089] 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.

[0090] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods 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 this application can include at least one of non-volatile 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), magnetoresistive 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, etc., but are not limited to this.

[0091] 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 specification.

[0092] 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 construed as limiting the scope of the present application. It should be noted that, for a person of ordinary skill in the art, several modifications 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 center architecture, characterized in that: The data center architecture includes a VTN controller, an OpenFlow controller, a target message queue, and multiple computing nodes, each of which is provided with a target virtual machine; The VTN controller is used to obtain the target online information of the target virtual machine from the target message queue when monitoring that the target message queue is updated, and to arrange the services of the target virtual machine according to the target online information, generate target flow table information, and write the target flow table information into the target message queue; The OpenFlow controller is used to obtain the target flow table information from the target message queue and send the target flow table information to the computing node where the target virtual machine is located; The computing node is used to forward the target data packet according to the target flow table information.

2. The data center architecture according to claim 1, characterized in that: The target flow table information includes a data processing flow table and a data detection flow table, and the VTN controller includes a first generation module and a second generation module, wherein: The first generating module is used to generate the data processing flow table according to the target online information; the data forwarding flow table is used to forward the target data packet; The second generating module is used to generate the data detection flow table according to the target online information; the data detection flow table is used to perform anomaly detection on the target data packet.

3. The data center architecture according to claim 2, characterized in that: The data forwarding flow table includes a first flow table, a second flow table, a third flow table and a fourth flow table, and the first generation module includes: a first generation unit, a second generation unit, a third generation unit and a fourth generation unit, wherein: The first generating unit is used to generate the first flow table according to the target online information; the first flow table is used to add identification information to the first data packet when the target virtual machine sends a first data packet; The second generating unit is used to generate the second flow table according to the target online information; the second flow table is used to send an access request on behalf of the target virtual machine when the target virtual machine accesses the gateway of the virtual network, and obtain the address information of the gateway; The third generation unit is used to generate the third flow table according to the target online information; the third flow table is used to determine the number of data forwarding layers according to the address information of the gateway when sending the second data packet to the target virtual machine, and forward the second data packet according to the number of data forwarding layers; The fourth generating unit is used to generate the fourth flow table according to the target online information; the fourth flow table is used to determine the forwarding path of the target data packet during the process of forwarding the target data packet.

4. The data center architecture according to claim 3, characterized in that: The third flow table includes a first sub-flow table and a second sub-flow table, and the third generation unit is specifically used to generate the first sub-flow table according to the target online information, and to generate the second sub-flow table according to the target online information; the first sub-flow table is used to forward the second data packet directly or after encapsulation to the target virtual machine when the number of data forwarding layers is a first number; the second sub-flow table is used to determine the available status of the second data packet when the number of data forwarding layers is a second number, and forward the second data packet to the target virtual machine when the second data packet is in a valid state.

5. The data center architecture according to claim 2, characterized in that: The data detection flow table includes a fifth flow table and a sixth flow table, and the second generation module includes: a fifth generation unit and a sixth generation unit, wherein: The fifth generation unit is used to generate the fifth flow table according to the target online information; the fifth flow table is used to perform anomaly detection on the third data packet when the gateway of the virtual network sends the third data packet, obtain a first detection result, and process the third data packet according to the first detection result; The sixth generation unit is used to generate the sixth flow table according to the target online information; the sixth flow table is used to perform anomaly detection on the fourth data packet when sending the fourth data packet to the target virtual machine, obtain a second detection result, and process the fourth data packet according to the second detection result.

6. The data center architecture according to any one of claims 1 to 5, characterized in that: The OpenFlow controller is further configured to receive an online message of the target virtual machine reported by the computing node where the target virtual machine is located, determine the target online information according to the online message, and write the target online information into the target message queue.

7. The data center architecture according to any one of claims 1 to 5, characterized in that: The target message queue includes a first message queue and a second message queue; The first message queue is used to store target online information of the target virtual machine; The second message queue is used to store the target flow table information.

8. The data center architecture according to any one of claims 1 to 5, characterized in that: The data center architecture also includes an OpenFlow channel; the OpenFlow channel is an information transmission channel between the OpenFlow controller and the multiple computing nodes.

9. The data center architecture according to any one of claims 1 to 5, characterized in that: The OpenFlow controller includes a main controller and a standby controller.

10. A method for forwarding a data packet, characterized in that: The method is applied to the data center architecture according to any one of claims 1 to 9, and the method comprises: When the target virtual machine comes online, the computing node where the target virtual machine is located reports the online message of the target virtual machine to the OpenFlow controller; After receiving the online message of the target virtual machine, the OpenFlow controller determines the target online information according to the online message of the target virtual machine, and writes the target online information into the target message queue; When the VTN controller detects that the target message queue is updated, it obtains the target online information of the target virtual machine from the target message queue, arranges the services of the target virtual machine according to the target online information, generates target flow table information, and writes the target flow table information into the target message queue; The OpenFlow controller obtains the target flow table information from the target message queue, and sends the target flow table information to the computing node where the target virtual machine is located; The computing node forwards the target data packet according to the target flow table information.

Citation Information

Patent Citations

  • Chip VXLAN gateway distributed routing implementation method and message processing system

    CN104601472A

  • Tenant dividing method in SDN network, device and SDN network system

    CN106559338A

  • Method and system for implementing cloud computing distributed network based on OpenFlow

    CN106936777A

  • Physical device and virtual network communication method and system based on SDN (Software Defined Network)

    CN109660443A

  • Virtualization security network element data processing method and system, medium and cloud platform

    CN112437023A