CN108039968B - Network optimization method, device and computer readable storage medium - Google Patents
Network optimization method, device and computer readable storage medium Download PDFInfo
- Publication number
- CN108039968B CN108039968B CN201711326927.4A CN201711326927A CN108039968B CN 108039968 B CN108039968 B CN 108039968B CN 201711326927 A CN201711326927 A CN 201711326927A CN 108039968 B CN108039968 B CN 108039968B
- Authority
- CN
- China
- Prior art keywords
- initial
- message type
- message
- flow table
- network optimization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a network optimization method, equipment and a computer readable storage medium, wherein the method comprises the following steps: when the starting of a computing node in the OpenStack is detected, calling an SDN controller cluster connected with the computing node to issue an initial flow table to a virtual network bridge inside the computing node; receiving initial message data sent by a virtual machine through the virtual network bridge, and determining whether the message type of the initial message data is matched with the message type in the initial flow table; if so, transmitting the initial message data to the SDN controller cluster; and calling the SDN controller cluster to control a corresponding module to generate a flow table according to the message type of the initial message data, and issuing the flow table to a virtual switch associated with the switch identifier in the initial message data. The method can effectively avoid the problem of single point failure of OpenStack and effectively expand the performance.
Description
Technical Field
The present invention relates to the field of communications, and in particular, to a network optimization method, device, and computer-readable storage medium.
Background
With the rapid development of communication technology, an OpenStack cloud computing platform is also generated, in a native scheme of OpenStack, all physical servers are interconnected through switches, and are allocated to the physical servers through a network node (usually a common x86 server) to allocate related network functions, and all virtual machines are supported by a single network node.
In the native scheme of OpenStack, when a single network node goes down, etc., it will affect the virtual network in the entire OpenStack, so that a single-point fault occurs, in addition, because the single network node processes network traffic in a centralized manner, and still runs on a common X86 server, when the virtual machine scale is large, performance expansion cannot be effectively performed, so how to avoid the single-point fault of OpenStack, and effectively performing performance expansion is a problem to be solved urgently at present.
The above is only for the purpose of assisting understanding of the technical aspects of the present invention, and does not represent an admission that the above is prior art.
Disclosure of Invention
The invention mainly aims to provide a network optimization method, network optimization equipment and a computer readable storage medium, and aims to solve the technical problems of how to avoid the single-point failure of OpenStack and how to effectively perform performance expansion.
In order to achieve the above object, the present invention provides a network optimization method, where the network optimization method is applied to an OpenStack cloud computing platform, and the network optimization method includes the following steps:
when the starting of a computing node in the OpenStack is detected, calling an SDN controller cluster connected with the computing node to issue an initial flow table to a virtual network bridge inside the computing node;
receiving initial message data sent by a virtual machine through the virtual network bridge, and determining whether the message type of the initial message data is matched with the message type in the initial flow table;
when the message type of the initial message data is matched with the message type in the initial flow table, transmitting the initial message data to the SDN controller cluster;
and calling the SDN controller cluster to control a corresponding module to generate a flow table according to the message type of the initial message data, and issuing the flow table to a virtual switch associated with the switch identifier in the initial message data.
Optionally, the step of determining whether the packet type of the initial packet data matches the packet type in the initial flow table includes:
extracting message label information from the initial message data, and determining the message type of the initial message data according to the message label information and a preset message type table;
comparing the message type with each message type in the initial flow table to obtain message type comparison information;
judging whether the message type comparison information is preset comparison information or not;
if the message type comparison information is preset comparison information, determining that the message type of the initial message data is matched with the message type in the initial flow table;
and if the message type comparison information is not preset comparison information, determining that the message type of the initial message data is not matched with the message type in the initial flow table.
Optionally, the step of calling the SDN controller cluster to control a corresponding module to generate a flow table according to the packet type of the initial packet data includes:
calling the SDN controller cluster to determine the message type of the initial message data, and determining a module to be controlled according to the message type;
and calling the SDN controller cluster to control the module to be controlled, and generating a flow table based on the initial message data.
Optionally, after the step of issuing the flow table to the virtual switch associated with the switch identifier in the initial packet data, the network optimization method further includes:
when the communication between the virtual machine and an external network is detected, the SDN controller cluster control hardware switch is called to process the virtual machine.
Optionally, the network optimization method further includes:
when executing the calling operation of the SDN controller cluster, recording a calling operation log of the SDN controller cluster, and registering the current state of the calling operation log as a waiting state;
after the calling operation is successfully executed, registering the current state of the calling operation log as a successful state, and after the calling operation is overtime, registering the current state of the calling operation log as an overtime state;
and writing the call operation log with the current state being a success state and the call operation log with the current state being a timeout state into an operation log database.
Optionally, after the step of writing the call operation log of which the current state is the success state and the call operation log of which the current state is the timeout state into the operation log database, the network optimization method further includes:
reading a call operation log with the current state as a success state from the operation log database at intervals of preset time;
and synchronizing the data of the Neutron database in the OpenStack to the database of the SDN controller cluster according to the call operation log with the current state as the success state.
And after the data of the Neutron database in the OpenStack is synchronized to the database of the SDN controller cluster, deleting the call operation log of which the current state is the success state from the operation log database.
In addition, to achieve the above object, the present invention further provides a network optimization device applied to an OpenStack cloud computing platform, where the network optimization device includes: a memory, a processor and a network optimization program stored on the memory and executable on the processor, the network optimization program when executed by the processor implementing the steps of the network optimization method as described above.
The present invention also provides a computer readable storage medium having stored thereon a network optimization program which, when executed by a processor, implements the steps of the network optimization method as described above.
The invention provides a network optimization method, equipment and a computer readable storage medium, when detecting that a computing node in an OpenStack is started, calling an SDN controller cluster connected with the computing node to send an initial flow table to a virtual bridge in the computing node, then receiving initial message data sent by a virtual machine through the virtual bridge, determining whether the message type of the initial message data is matched with the message type in the initial flow table, if the message type of the initial message data is matched with the message type in the initial flow table, transmitting the message data to the SDN controller cluster, finally calling the SDN controller cluster to control a corresponding module according to the message type of the message data to generate a flow table, and sending the flow table to a virtual switch associated with a switch identifier in the initial message data, so that the computing node has functions of a distributed two-layer switch, a distributed routing and a distributed DHCP, the function of native network node in OpenStack can be accomplished to single compute node to can utilize compute node to replace network node, there is not concentrated network node in the whole OpenStack, can effectually avoid single point trouble problem, optimize OpenStack, can carry out performance extension through adding or deleting compute node simultaneously, be convenient for OpenStack's performance extension.
Drawings
FIG. 1 is a schematic diagram of an apparatus architecture of a hardware operating environment according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating a first embodiment of a network optimization method according to the present invention;
fig. 3 is a detailed flowchart of step S102 in the first embodiment of the network optimization method according to the present invention;
FIG. 4 is a detailed flowchart of step S104 in the first embodiment of the network optimization method according to the present invention
Fig. 5 is a flowchart illustrating a network optimization method according to a third embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The main solution of the embodiment of the invention is as follows: when the starting of a computing node in an OpenStack is detected, calling an SDN controller cluster connected with the computing node to issue an initial flow table to a virtual bridge inside the computing node, then receiving initial message data sent by a virtual machine through the virtual bridge, determining whether the message type of the initial message data is matched with the message type in the initial flow table, if the message type of the initial message data is matched with the message type in the initial flow table, transmitting the message data to the SDN controller cluster, finally calling the SDN controller cluster to control a corresponding module to generate a flow table according to the message type of the message data, and issuing the flow table to a virtual switch associated with a switch identifier in the initial message data.
Due to the native scheme of the OpenStack, when a single network node is down and the like, the virtual network in the whole OpenStack is affected, so that the problem of single-point failure occurs.
The embodiment of the invention provides a network optimization method, which comprises the steps of firstly calling an SDN controller cluster connected with a computing node to send an initial flow table to a virtual bridge in the computing node when the computing node in an OpenStack is detected to be started, then receiving initial message data sent by a virtual machine through the virtual bridge, determining whether the message type of the initial message data is matched with the message type in the initial flow table, if the message type of the initial message data is matched with the message type in the initial flow table, transmitting the message data to the SDN controller cluster, finally calling the SDN controller cluster to control a corresponding module to generate the flow table according to the message type of the message data, and sending the flow table to a virtual switch associated with a switch identifier in the initial message data, so that the computing node has functions of a distributed two-layer switch, a distributed router, a distributed DHCP and the like, the function of native network node in OpenStack can be accomplished to single compute node to can utilize compute node to replace network node, there is not concentrated network node in the whole OpenStack, can effectually avoid single point trouble problem, optimize OpenStack, can carry out performance extension through adding or deleting compute node simultaneously, be convenient for OpenStack's performance extension.
The invention provides a network optimization device.
Referring to fig. 1, fig. 1 is a schematic device structure diagram of a hardware operating environment according to an embodiment of the present invention.
As shown in fig. 1, the network optimization device may include: a processor 1001, such as a CPU, a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. Wherein a communication bus 1002 is used to enable connective communication between these components. The user interface 1003 may include a Display screen (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (e.g., a magnetic disk memory). The memory 1005 may alternatively be a storage device separate from the processor 1001.
Optionally, the network optimization device may further include a camera, a Radio Frequency (RF) circuit, a sensor, an audio circuit, a WiFi module, and the like. Such as light sensors, motion sensors, and other sensors.
Those skilled in the art will appreciate that the network optimization device configuration shown in fig. 1 does not constitute a limitation of the network optimization device and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components.
As shown in fig. 1, the memory 1005, which is a kind of computer storage medium, may include therein an operating system, a network communication module, a user interface module, and a network optimization program. The operating system is a program for managing and optimizing hardware and software resources of the network optimization equipment, and supports the running of a network communication module, a user interface module, a network optimization program and other programs or software; the network communication module is used to manage and control the network interface 1004; the user interface module is used to manage and control the user interface 1003.
In the network optimization device shown in fig. 1, the network interface 1004 is mainly used for connecting to a background server and performing data communication with the background server; the user interface 1003 is mainly used for connecting a client (user side) and performing data communication with the client; and the processor 1001 may be configured to invoke the network optimization program stored in the memory 1005 and implement the following steps:
when the starting of a computing node in the OpenStack is detected, calling an SDN controller cluster connected with the computing node to issue an initial flow table to a virtual network bridge inside the computing node;
receiving initial message data sent by a virtual machine through the virtual network bridge, and determining whether the message type of the initial message data is matched with the message type in the initial flow table;
when the message type of the initial message data is matched with the message type in the initial flow table, transmitting the initial message data to the SDN controller cluster;
and calling the SDN controller cluster to control a corresponding module to generate a flow table according to the message type of the initial message data, and issuing the flow table to a virtual switch associated with the switch identifier in the initial message data.
Further, the processor 1001 may be configured to invoke a network optimization program stored in the memory 1005 and implement the following steps:
extracting message label information from the initial message data, and determining the message type of the initial message data according to the message label information and a preset message type table;
comparing the message type with each message type in the initial flow table to obtain message type comparison information;
judging whether the message type comparison information is preset comparison information or not;
if the message type comparison information is preset comparison information, determining that the message type of the initial message data is matched with the message type in the initial flow table;
and if the message type comparison information is not preset comparison information, determining that the message type of the initial message data is not matched with the message type in the initial flow table.
Further, the processor 1001 may be configured to invoke a network optimization program stored in the memory 1005 and implement the following steps:
calling the SDN controller cluster to determine the message type of the initial message data, and determining a module to be controlled according to the message type;
and calling the SDN controller cluster to control the module to be controlled, and generating a flow table based on the initial message data.
Further, the processor 1001 may be configured to invoke a network optimization program stored in the memory 1005 and implement the following steps:
when the communication between the virtual machine and an external network is detected, the SDN controller cluster control hardware switch is called to process the virtual machine
Further, the processor 1001 may be configured to invoke a network optimization program stored in the memory 1005 and implement the following steps:
when executing the calling operation of the SDN controller cluster, recording a calling operation log of the SDN controller cluster, and registering the current state of the calling operation log as a waiting state;
after the calling operation is successfully executed, registering the current state of the calling operation log as a successful state, and after the calling operation is overtime, registering the current state of the calling operation log as an overtime state;
and writing the call operation log with the current state being a success state and the call operation log with the current state being a timeout state into an operation log database.
Further, the processor 1001 may be configured to invoke a network optimization program stored in the memory 1005 and implement the following steps:
reading a call operation log with the current state as a success state from the operation log database at intervals of preset time;
and synchronizing the data of the Neutron database in the OpenStack to the database of the SDN controller cluster according to the call operation log with the current state as the success state.
And after the data of the Neutron database in the OpenStack is synchronized to the database of the SDN controller cluster, deleting the call operation log of which the current state is the success state from the operation log database.
The specific embodiment of the network optimization device of the present invention is basically the same as the embodiments of the network optimization method described below, and is not described herein again.
The invention also provides a network optimization method.
Referring to fig. 2, fig. 2 is a flowchart illustrating a network optimization method according to a first embodiment of the present invention.
In this embodiment, the network optimization method includes:
step S101, when detecting that a computing node in the OpenStack is started, calling an SDN controller cluster connected with the computing node to issue an initial flow table to a virtual bridge inside the computing node;
in this embodiment, the functions of a distributed switch, a DHCP (Dynamic Host Configuration Protocol), a route, and the like of the compute node are mainly realized in an OpenStack flow table manner, so that the compute node has functions of a network node in an OpenStack native scheme, and a network node for centrally processing network traffic does not exist in an optimized OpenStack, thereby effectively avoiding a single point failure problem in the OpenStack native scheme. The OpenFlow flow table is composed of a plurality of flow table entries, the flow table entries represent forwarding rules, and a packet entering a switch acquires a corresponding operation by querying the flow table. The flow table entry mainly comprises 3 parts of matching fields (match fields), counters (counters), operations (operations), and the like. The structure of the match field contains many matches, covering most of the link, network and transport layer identifications.
Specifically, the Network optimization method is applied to a Network optimization device, the Network optimization device is connected with a computing node and an SDN (Software Defined Network) controller cluster, each computing node in an OpenStack is connected with the SDN controller cluster, when the computing node in the OpenStack is detected to be started, the Network optimization device calls the SDN controller cluster connected with the computing node to issue an initial flow table to a virtual bridge inside the computing node, and the initial flow table includes information such as a message type and an operation corresponding to the message type. The SDN controller cluster is composed of a plurality of SDN controllers, and it should be noted that the number of SDN controllers included in the SDN controller cluster may be set by a person skilled in the art based on actual situations, which is not specifically limited in this embodiment.
Step S102, receiving initial message data sent by a virtual machine through the virtual network bridge, and determining whether the message type of the initial message data is matched with the message type in the initial flow table;
the network optimization device receives initial message data sent by a virtual machine through a virtual network bridge in the computing node, and determines whether the message type of the initial message data is matched with the message type in the initial flow table.
Specifically, referring to fig. 3, fig. 3 is a detailed flowchart of step S102 shown in fig. 2, where step S102 includes:
step S1021, extracting message label information from the initial message data, and determining the message type of the initial message data according to the message label information and a preset message type table;
step S1022, comparing the packet type with each packet type in the initial flow table to obtain packet type comparison information;
step S1023, judging whether the message type comparison information is preset comparison information or not;
step S1024, if the message type comparison information is preset comparison information, determining that the message type of the initial message data is matched with the message type in the initial flow table;
step S1025, if the message type comparison information is not preset comparison information, determining that the message type of the initial message data is not matched with the message type in the initial flow table.
After the network optimization equipment receives initial message data sent by a virtual machine through a virtual bridge in the computing node, extracting message label information from the initial message data, determining the message type of the initial message data according to the message label information and a preset message type table, namely acquiring the message type associated with the message label information from the preset message type table, determining the message type associated with the message label information as the message type of the initial message data, then comparing the message type of the initial message data with each message type in the initial flow table to acquire message type comparison information, namely acquiring the comparison information of the message type of the initial message data and each message type in the initial flow table, judging whether the message type comparison information is preset comparison information or not, and if the message type comparison information is preset comparison information, determining that the message type of the initial message data is matched with the message type in the initial flow table, and if the message type comparison information is not preset comparison information, determining that the message type of the initial message data is not matched with the message type in the initial flow table. It should be noted that the preset comparison information may be set by a person skilled in the art based on actual situations, and this embodiment is not particularly limited thereto.
Step S103, when the message type of the initial message data is matched with the message type in the initial flow table, transmitting the initial message data to the SDN controller cluster;
and step S104, calling the SDN controller cluster to control a corresponding module to generate a flow table according to the message type of the initial message data, and issuing the flow table to a virtual switch associated with the switch identifier in the initial message data.
When the message type of the initial message data is matched with the message type in the initial flow table, the network optimization device transmits the initial message data to the SDN controller cluster, calls the SDN controller cluster to control a corresponding module according to the message type of the initial message data to generate a flow table, issues the generated flow table to a virtual switch associated with a switch identifier in the initial message data, and does not process the initial message data when the message type of the initial message data is not matched with the message type in the initial flow table.
Specifically, referring to fig. 4, fig. 4 is a detailed flowchart of the step S104 in fig. 2, where the step S104 includes:
step S1041, calling the SDN controller cluster to determine the message type of the initial message data, and determining a module to be controlled according to the message type;
step S1042, calling the SDN controller cluster to control the module to be controlled, and generating a flow table based on the initial packet data.
After the network optimization device transmits the initial message data to the SDN controller cluster, the SDN controller cluster is called to determine the message type of the initial message data, a module to be controlled is determined according to the message type, namely, a module identifier associated with the message type is obtained, the module to be controlled is determined based on the module identifier, the SDN controller cluster is called to control the module to be controlled, a flow table is generated based on the initial message data, and finally the generated flow table is issued to a virtual switch associated with the switch identifier in the initial message data. The message types include an Address Resolution Protocol (ARP) message, a Dynamic Host Configuration Protocol (DHCP) message, a source destination IP message, and the like, and the module to be controlled includes, but is not limited to, a distributed switch, a distributed DHCP, and a distributed route, where the ARP message corresponds to the distributed switch, the DHCP message corresponds to the distributed DHCP, and the distributed route corresponds to the source destination IP message.
In this embodiment, when detecting that a computing node in an OpenStack is started, the invention invokes an SDN controller cluster connected to the computing node to issue an initial flow table to a virtual bridge inside the computing node, then receives initial packet data sent by a virtual machine through the virtual bridge, determines whether a packet type of the initial packet data matches a packet type in the initial flow table, if the packet type of the initial packet data matches the packet type in the initial flow table, transmits the packet data to the SDN controller cluster, and finally invokes the SDN controller cluster to control a corresponding module to generate a flow table according to the packet type of the packet data, and issues the flow table to a virtual switch associated with a switch identifier in the initial packet data, so that the computing node has functions of a distributed two-layer switch, a distributed routing, a distributed DHCP, and the like, the function of native network node in OpenStack can be accomplished to single compute node to can utilize compute node to replace network node, there is not concentrated network node in the whole OpenStack, can effectually avoid single point trouble problem, optimize OpenStack, can carry out performance extension through adding or deleting compute node simultaneously, be convenient for OpenStack's performance extension.
Further, based on the first embodiment, a second embodiment of the network optimization method of the present invention is provided, which is different from the foregoing embodiments in that after step S104, the network optimization method further includes:
when the communication between the virtual machine and an external network is detected, the SDN controller cluster control hardware switch is called to process the virtual machine.
Specifically, when detecting that the virtual machine is in communication with an external network, the network optimization device invokes the SDN controller cluster to control the hardware switch to process the virtual machine, that is, transfer a part of processing procedures of the computing node on the virtual machine to the hardware switch, such as tunnel decapsulation of the virtual machine and direct communication of a hardware server, where it is to be noted that the processing procedures of the virtual machine performed on the hardware switch may be set by a person skilled in the art based on an actual situation, which is not specifically limited in this embodiment.
In addition, the function of the hardware switch is implemented based on the control and issuing configuration of the SDN cluster controller, that is, when it is detected that a control node in the OpenStack has a network call, the SDN cluster controller is invoked to perform corresponding configuration on the hardware switch based on the network call, where the network call includes network creation, network subnet creation, subnet port creation, and the like, for example, when the network call is the network subnet creation, the SDN cluster controller reflects the vlan and vxlan (vni) correspondence of the network subnet in the hardware switch in the configuration of the hardware switch, and the hardware switch needs to create a corresponding tunnel, create a flow table to enter the tunnel, and the like.
In this embodiment, the present invention transfers operations such as tunnel decapsulation of the virtual machine to the external hardware switch, which can effectively improve the performance of the network.
Further, referring to fig. 5, a third embodiment of the network optimization method of the present invention is proposed based on the first or second embodiment, and the difference from the foregoing embodiment is that the network optimization method further includes:
step S105, when executing the calling operation of the SDN controller cluster, recording a calling operation log of the SDN controller cluster, and registering the current state of the calling operation log as a waiting state;
step S106, after the execution of the calling operation is successful, registering the current state of the calling operation log as a successful state, and after the execution of the calling operation is overtime, registering the current state of the calling operation log as an overtime state;
step S107, writing the call operation log with the current state being the success state and the call operation log with the current state being the overtime state into an operation log database.
Specifically, when executing a call operation of the SDN controller cluster, the network optimization device records a call operation log of the SDN controller cluster, and registers a current state of the call operation log as a waiting state, then registers the current state of the call operation log as a success state after the call operation is successfully executed, and registers the current state of the call operation log as a timeout state after the execution of the call operation is timeout, and finally writes the call operation log whose current state is the success state and the call operation log whose current state is the timeout state into an operation log database.
In this embodiment, after step S107, the method further includes:
reading a call operation log with the current state as a success state from the operation log database at intervals of preset time;
and synchronizing the data of the Neutron database in the OpenStack to the database of the SDN controller cluster according to the call operation log with the current state as the success state.
And after the data of the Neutron database in the OpenStack is synchronized to the database of the SDN controller cluster, deleting the call operation log of which the current state is the success state from the operation log database.
The network optimization device reads a call operation log with a current state as a success state from the operation log database at preset intervals, synchronizes data of the Neutron database in the OpenStack to the database of the SDN controller cluster according to the call operation log with the current state as the success state, and deletes the call operation log with the current state as the success state from the operation log database after the data of the Neutron database in the OpenStack is synchronized to the database of the SDN controller cluster. The Neutron database in the OpenStack is a database for network and address management in the OpenStack.
In this embodiment, the problem of inconsistent data can be effectively solved by creating an operation log database, and synchronizing the data of the Neutron database in the OpenStack to the database of the SDN controller cluster based on the call operation log of which the current state in the operation log database is the successful state.
Furthermore, an embodiment of the present invention further provides a computer-readable storage medium, where a network optimization program is stored on the computer-readable storage medium, and when executed by a processor, the network optimization program implements the following steps:
when the starting of a computing node in the OpenStack is detected, calling an SDN controller cluster connected with the computing node to issue an initial flow table to a virtual network bridge inside the computing node;
receiving initial message data sent by a virtual machine through the virtual network bridge, and determining whether the message type of the initial message data is matched with the message type in the initial flow table;
when the message type of the initial message data is matched with the message type in the initial flow table, transmitting the initial message data to the SDN controller cluster;
and calling the SDN controller cluster to control a corresponding module to generate a flow table according to the message type of the initial message data, and issuing the flow table to a virtual switch associated with the switch identifier in the initial message data.
Further, the network optimization program when executed by the processor implements the steps of:
extracting message label information from the initial message data, and determining the message type of the initial message data according to the message label information and a preset message type table;
comparing the message type with each message type in the initial flow table to obtain message type comparison information;
judging whether the message type comparison information is preset comparison information or not;
if the message type comparison information is preset comparison information, determining that the message type of the initial message data is matched with the message type in the initial flow table;
and if the message type comparison information is not preset comparison information, determining that the message type of the initial message data is not matched with the message type in the initial flow table.
Further, the network optimization program when executed by the processor implements the steps of:
calling the SDN controller cluster to determine the message type of the initial message data, and determining a module to be controlled according to the message type;
and calling the SDN controller cluster to control the module to be controlled, and generating a flow table based on the initial message data.
Further, the network optimization program when executed by the processor implements the steps of:
when the communication between the virtual machine and an external network is detected, the SDN controller cluster control hardware switch is called to process the virtual machine.
Further, the network optimization program when executed by the processor implements the steps of:
when executing the calling operation of the SDN controller cluster, recording a calling operation log of the SDN controller cluster, and registering the current state of the calling operation log as a waiting state;
after the calling operation is successfully executed, registering the current state of the calling operation log as a successful state, and after the calling operation is overtime, registering the current state of the calling operation log as an overtime state;
and writing the call operation log with the current state being a success state and the call operation log with the current state being a timeout state into an operation log database.
Further, the network optimization program when executed by the processor implements the steps of:
reading a call operation log with the current state as a success state from the operation log database at intervals of preset time;
and synchronizing the data of the Neutron database in the OpenStack to the database of the SDN controller cluster according to the call operation log with the current state as the success state.
And after the data of the Neutron database in the OpenStack is synchronized to the database of the SDN controller cluster, deleting the call operation log of which the current state is the success state from the operation log database.
The specific embodiment of the computer-readable storage medium of the present invention is substantially the same as the embodiments of the network optimization method described above, and is not described herein again.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) as described above and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.
Claims (10)
1. A network optimization method is applied to an OpenStack cloud computing platform and comprises the following steps:
when the starting of a computing node in the OpenStack is detected, calling an SDN controller cluster connected with the computing node to issue an initial flow table to a virtual network bridge inside the computing node;
receiving initial message data sent by a virtual machine through the virtual network bridge, extracting message label information from the initial message data, determining the message type of the message data according to the message label information, and determining whether the message type is matched with the message type in the initial flow table;
when the message type of the initial message data is matched with the message type in the initial flow table, transmitting the initial message data to the SDN controller cluster;
and calling the SDN controller cluster to control a corresponding module to generate a flow table according to the message type of the initial message data, and issuing the flow table to a virtual switch associated with the switch identifier in the initial message data.
2. The network optimization method of claim 1, wherein determining the packet type of the packet data according to the packet tag information, and determining whether the packet type matches the packet type in the initial flow table comprises:
determining the message type of the initial message data according to the message label information and a preset message type table;
comparing the message type with each message type in the initial flow table to obtain message type comparison information;
judging whether the message type comparison information is preset comparison information or not;
if the message type comparison information is preset comparison information, determining that the message type of the initial message data is matched with the message type in the initial flow table;
and if the message type comparison information is not preset comparison information, determining that the message type of the initial message data is not matched with the message type in the initial flow table.
3. The network optimization method of claim 1, wherein the step of invoking the SDN controller cluster to control a corresponding module to generate a flow table according to the packet type of the initial packet data comprises:
calling the SDN controller cluster to determine the message type of the initial message data, and determining a module to be controlled according to the message type;
and calling the SDN controller cluster to control the module to be controlled, and generating a flow table based on the initial message data.
4. The network optimization method of claim 1, wherein after the step of issuing the flow table to the virtual switch associated with the switch identifier in the initial packet data, the network optimization method further comprises:
when the communication between the virtual machine and an external network is detected, the SDN controller cluster control hardware switch is called to process the virtual machine.
5. The network optimization method of any one of claims 1-4, wherein the network optimization method further comprises:
when executing the calling operation of the SDN controller cluster, recording a calling operation log of the SDN controller cluster, and registering the current state of the calling operation log as a waiting state;
after the calling operation is successfully executed, registering the current state of the calling operation log as a successful state, and after the calling operation is overtime, registering the current state of the calling operation log as an overtime state;
and writing the call operation log with the current state being a success state and the call operation log with the current state being a timeout state into an operation log database.
6. The network optimization method of claim 5, wherein after the step of writing the call oplog of which the current state is the success state and the call oplog of which the current state is the timeout state into the oplog database, the network optimization method further comprises:
reading a call operation log with the current state as a success state from the operation log database at intervals of preset time;
synchronizing data of a Neutron database in the OpenStack to a database of the SDN controller cluster according to a call operation log with a current state as a success state;
and after the data of the Neutron database in the OpenStack is synchronized to the database of the SDN controller cluster, deleting the call operation log of which the current state is the success state from the operation log database.
7. A network optimization device applied to an OpenStack cloud computing platform is characterized by comprising: a memory, a processor, and a network optimization program stored on the memory and executable on the processor, the network optimization program when executed by the processor implementing the steps of:
when the starting of a computing node in the OpenStack is detected, calling an SDN controller cluster connected with the computing node to issue an initial flow table to a virtual network bridge inside the computing node;
receiving initial message data sent by a virtual machine through the virtual network bridge, extracting message label information from the initial message data, determining the message type of the message data according to the message label information, and determining whether the message type is matched with the message type in the initial flow table;
when the message type of the initial message data is matched with the message type in the initial flow table, transmitting the initial message data to the SDN controller cluster;
and calling the SDN controller cluster to control a corresponding module to generate a flow table according to the message type of the initial message data, and issuing the flow table to a virtual switch associated with the switch identifier in the initial message data.
8. The network optimization device of claim 7, wherein the network optimization program when executed by the processor performs the steps of:
determining the message type of the initial message data according to the message label information and a preset message type table;
comparing the message type with each message type in the initial flow table to obtain message type comparison information;
judging whether the message type comparison information is preset comparison information or not;
if the message type comparison information is preset comparison information, determining that the message type of the initial message data is matched with the message type in the initial flow table;
and if the message type comparison information is not preset comparison information, determining that the message type of the initial message data is not matched with the message type in the initial flow table.
9. The network optimization device of claim 7, wherein the network optimization program, when executed by the processor, implements the steps of the network optimization method of any of claims 3 to 6.
10. A computer-readable storage medium, having a network optimization program stored thereon, which, when executed by a processor, performs the steps of the network optimization method of any one of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711326927.4A CN108039968B (en) | 2017-12-12 | 2017-12-12 | Network optimization method, device and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711326927.4A CN108039968B (en) | 2017-12-12 | 2017-12-12 | Network optimization method, device and computer readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108039968A CN108039968A (en) | 2018-05-15 |
CN108039968B true CN108039968B (en) | 2021-02-23 |
Family
ID=62102423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711326927.4A Active CN108039968B (en) | 2017-12-12 | 2017-12-12 | Network optimization method, device and computer readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108039968B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110636036A (en) * | 2018-06-22 | 2019-12-31 | 复旦大学 | OpenStack cloud host network access control method based on SDN |
CN112839072B (en) * | 2020-10-19 | 2023-06-30 | 南京中兴新软件有限责任公司 | Data processing method, device, system, computer equipment and readable medium |
CN112583643A (en) * | 2020-12-14 | 2021-03-30 | 浪潮云信息技术股份公司 | Cross-device alarm correlation method |
CN115086978B (en) * | 2021-03-11 | 2024-05-07 | 中国移动通信集团四川有限公司 | Network function virtualization SDN network system |
CN116260766A (en) * | 2022-12-28 | 2023-06-13 | 中国银联股份有限公司 | DHCP message response method and device based on OpenFlow protocol |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014153758A1 (en) * | 2013-03-28 | 2014-10-02 | 华为技术有限公司 | Message transmission method, switching device and controller |
CN105450525A (en) * | 2014-05-28 | 2016-03-30 | 国际商业机器公司 | Method and equipment for using route switching equipment |
CN105515978A (en) * | 2016-01-08 | 2016-04-20 | 盛科网络(苏州)有限公司 | Method and device for realizing distributed routing and physical host access |
CN105657081A (en) * | 2016-04-07 | 2016-06-08 | 华为技术有限公司 | DHCP (dynamic host configuration protocol) service providing method, device and system |
CN106411785A (en) * | 2015-08-03 | 2017-02-15 | 上海宽带技术及应用工程研究中心 | Openstack network system based on whole OPENFLOW physical switch network and realization method thereof |
CN106685835A (en) * | 2017-03-06 | 2017-05-17 | 无锡华云数据技术服务有限公司 | Method for achieving high-speed distributed routing between computational nodes of data center |
-
2017
- 2017-12-12 CN CN201711326927.4A patent/CN108039968B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014153758A1 (en) * | 2013-03-28 | 2014-10-02 | 华为技术有限公司 | Message transmission method, switching device and controller |
CN105450525A (en) * | 2014-05-28 | 2016-03-30 | 国际商业机器公司 | Method and equipment for using route switching equipment |
CN106411785A (en) * | 2015-08-03 | 2017-02-15 | 上海宽带技术及应用工程研究中心 | Openstack network system based on whole OPENFLOW physical switch network and realization method thereof |
CN105515978A (en) * | 2016-01-08 | 2016-04-20 | 盛科网络(苏州)有限公司 | Method and device for realizing distributed routing and physical host access |
CN105657081A (en) * | 2016-04-07 | 2016-06-08 | 华为技术有限公司 | DHCP (dynamic host configuration protocol) service providing method, device and system |
CN106685835A (en) * | 2017-03-06 | 2017-05-17 | 无锡华云数据技术服务有限公司 | Method for achieving high-speed distributed routing between computational nodes of data center |
Non-Patent Citations (1)
Title |
---|
基于Openstack的分布式SDN控制器Dragonflow研究;詹晗;《计算机与现代化》;20170721(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108039968A (en) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108039968B (en) | Network optimization method, device and computer readable storage medium | |
US10757072B2 (en) | Packet transmission method, apparatus, and system | |
US10237177B2 (en) | Transfer device and transfer system | |
CN107783815B (en) | Method and device for determining virtual machine migration | |
US11258667B2 (en) | Network management method and related device | |
US9614812B2 (en) | Control methods and systems for improving virtual machine operations | |
US10419326B2 (en) | Method for implementing network virtualization and related apparatus and communications system | |
KR101464900B1 (en) | Network system and network management method | |
EP3070887A1 (en) | Communication method, device and system for virtual extensible local area network | |
CN103229478B (en) | A kind of method and apparatus determining virtual-machine drift | |
CN107579900B (en) | Method, device and system for accessing VX L AN network from V L AN network | |
EP3214816B1 (en) | Method, gateway and system for synchronizing virtual machine location information between data center gateways | |
CN107682275B (en) | Message monitoring method and device | |
CN112637105B (en) | Method, system, device and computer readable storage medium for switching firewall | |
JP5993817B2 (en) | Routing system and method in carrier network | |
CN103763121A (en) | Method and device for quickly issuing network configuration information | |
CN109936641B (en) | Domain name resolution method, virtual switch and distributed DNS system | |
CN109041086B (en) | Configuration method and device of OpenFlow instance | |
CN109450767B (en) | Message processing method and device | |
CN114157668A (en) | Multi-tenant cross-cluster networking method, communication system and readable storage medium | |
JP2012090153A (en) | Network virtualization system, node, network virtualization method, and network virtualization program | |
US20190044808A1 (en) | Configuration templates based switch | |
US10601649B1 (en) | Stack switching detection and provisioning | |
JP2012203421A (en) | Information processing method, management server and management program | |
US11973688B2 (en) | Control apparatus, network control method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |