WO2019109970A1 - 网络管理方法、装置、电子设备和存储介质 - Google Patents

网络管理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
WO2019109970A1
WO2019109970A1 PCT/CN2018/119512 CN2018119512W WO2019109970A1 WO 2019109970 A1 WO2019109970 A1 WO 2019109970A1 CN 2018119512 W CN2018119512 W CN 2018119512W WO 2019109970 A1 WO2019109970 A1 WO 2019109970A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
switch
topology
topology information
sdn controller
Prior art date
Application number
PCT/CN2018/119512
Other languages
English (en)
French (fr)
Inventor
周帅
Original Assignee
北京金山云网络技术有限公司
北京金山云科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京金山云网络技术有限公司, 北京金山云科技有限公司 filed Critical 北京金山云网络技术有限公司
Publication of WO2019109970A1 publication Critical patent/WO2019109970A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Definitions

  • the present application relates to the field of network management technologies, and in particular, to a network management method, apparatus, electronic device, and storage medium.
  • SDN Software Defined Network
  • OpenFlow a network protocol
  • the existing OpenFlow network uses an SDN controller to discover the global network topology, and then manages the switch. Due to the limitation of the processing performance of the SDN controller, the way to discover the global network topology by using one SDN controller will undoubtedly have the defect of small global network topology. For example, suppose there are 1,500 switches and an SDN controller in an OpenFlow network. The 1500 switches generate more than 100,000 data streams per second, and an SDN controller can only process about 30,000 data streams per second. This makes it impossible to withstand a sufficient number of deployments when deploying the OpenFlow network. The switch, and thus, the size of the global network topology is affected, resulting in a smaller global network topology.
  • the purpose of the embodiments of the present application is to provide a network management method, apparatus, electronic device, and storage medium to solve the problem that the global network topology is small.
  • a global network management method based on a software-defined network SDN is applied to an SDN controller, the SDN controller belongs to an SDN controller cluster, and each SDN controller in the SDN controller cluster is respectively connected to a distributed database And the SDN controllers are respectively connected to the plurality of interconnected switches and form a network domain; the method includes: acquiring first topology information between switches in the network domain where the network is located; and acquiring the second data from the distributed database
  • the topology information is: the topology information between the switches in the network domain where the other SDN controllers are located in the SDN controller cluster; determining the global network topology according to the first topology information and the second topology information .
  • the step of acquiring the first topology information between the switches in the network domain where the network is located includes: sending a topology information request to the switches in the network domain where the network is located, and receiving, by each switch, the request for sending the topology information.
  • Port information, the port information sent by any switch includes the port information of the switch, and the port information of the switch connected to the switch; according to the received port information, the first topology information between the switches in the network domain where the switch is located is obtained. .
  • the method includes: sending the first topology information to the distributed database.
  • the step of acquiring the second topology information from the distributed database includes: receiving a topology information update notification sent by the distributed database; wherein the topology information update notification is: The distributed database is sent when receiving the topology information sent by the other SDN controller; when receiving the topology information update notification, acquiring the second topology information from the distributed database.
  • the method further includes: controlling, according to the global network topology, each of the switches in the network domain in which the network is located to perform data forwarding.
  • the step of controlling data forwarding by each switch in the network domain in which the network is located according to the global network topology includes: generating a flow table according to the global network topology, and performing the flow table to the network Each switch in the domain sends the flow table separately, so that each switch in the network domain in which the network is located performs data forwarding according to the received flow table.
  • each switch in the network domain that is in the network includes multiple provider edge switches.
  • the step of generating a flow table according to the global network topology includes: calculating according to a predetermined algorithm according to the global network topology. a path between the plurality of provider edge switches; generating a flow table containing the paths.
  • the step of calculating a path between the multiple provider edge switches according to a predetermined algorithm according to the global network topology comprising: receiving a data packet sent by a switch in the network domain where the self is located; Parsing the data packet to obtain a destination MAC address; and calculating a path between the plurality of provider edge switches according to a predetermined algorithm according to the global network topology and the destination MAC address.
  • the method further includes: receiving a network connection request sent by a switch in another network domain other than the network domain in which it is located; wherein the network connection request is by the switch in the other network domain
  • the SDN controller of the other network domain is sent when the fault occurs; according to the network connection request, a network connection is established with the switch in the other network domain.
  • the second aspect further provides the following technical solution: a global network management device based on a software-defined network SDN, the device is applied to an SDN controller, and the SDN controller belongs to an SDN controller cluster.
  • the SDN controllers in the SDN controller cluster are respectively connected to the distributed database, and the SDN controllers are respectively connected to the plurality of interconnected switches and form a network domain;
  • the device includes: a first acquiring module, setting The second topology information is obtained by acquiring the second topology information from the distributed database, and the second topology information is: the other SDN in the SDN controller cluster.
  • the topology information between the switches in the network domain where the controller is located; the determining module is configured to determine the global network topology according to the first topology information and the second topology information.
  • the first obtaining module includes: a first sending unit, configured to separately send a topology information request to a switch in a network domain where the network is located; and the first receiving unit is configured to separately receive each switch for the topology
  • the port information sent by the information request, the port information sent by any switch includes the port information of the switch, and the port information of the switch connected to the switch; the first obtaining unit is configured to obtain the self according to the received port information.
  • the apparatus further comprises: a transmitting module configured to send the first topology information to the distributed database.
  • the second obtaining module includes: a second receiving unit, configured to receive a topology information update notification sent by the distributed database; wherein the topology information update notification is: the distributed database And being sent when the topology information sent by the other SDN controller is received; the second obtaining unit is configured to acquire the second topology information from the distributed database when receiving the topology information update notification.
  • the apparatus further includes: a control module, configured to control, according to the global network topology, each of the switches in the network domain where the user is located to perform data forwarding.
  • control module is configured to generate a flow table according to the global network topology, and send the flow table to each switch in the network domain where the user is located, so that each switch in the network domain where the user is located Data forwarding is performed according to the received flow table.
  • each switch in the network domain that is in the network includes multiple provider edge switches; the control module includes: a calculating unit, configured to calculate the multiple provides according to a predetermined algorithm according to the global network topology A path between the edge switches; a generating unit configured to generate a flow table containing the path.
  • the calculating unit includes: a receiving subunit configured to receive a data packet sent by a switch in the network domain where the self is located; a parsing subunit configured to parse the data packet to obtain a destination MAC address; a subunit, configured to calculate a path between the plurality of provider edge switches according to a predetermined algorithm according to the global network topology and the destination MAC address.
  • the apparatus further includes: a receiving module, configured to receive a network connection request sent by a switch in another network domain other than the network domain in which it is located; wherein the network connection request is from the other network domain The switch is sent when the SDN controller of the other network domain fails; the establishing module is configured to establish a network connection with the switch in the other network domain according to the network connection request.
  • a receiving module configured to receive a network connection request sent by a switch in another network domain other than the network domain in which it is located; wherein the network connection request is from the other network domain The switch is sent when the SDN controller of the other network domain fails; the establishing module is configured to establish a network connection with the switch in the other network domain according to the network connection request.
  • an electronic device including a processor and a memory; the memory being configured to store a computer program; the processor being configured to perform storage on a memory
  • the method steps described in the first aspect are implemented.
  • the fourth aspect provides the following technical solution: a computer readable storage medium having a computer program stored therein, the computer program being implemented by a processor to implement the first aspect The method steps described.
  • the fifth aspect provides the following technical solution: an application for executing the method steps described in the first aspect at runtime.
  • the embodiment of the present application provides a global network management method, apparatus, electronic device, and storage medium based on SDN.
  • the network control method is applied to an SDN controller, and the SDN controller belongs to an SDN controller cluster.
  • Each SDN controller in the SDN controller cluster is respectively connected to a distributed database, and is also respectively connected to multiple switches and forms a network domain.
  • the network control method includes: obtaining first topology information between switches in the network domain where the network is located; acquiring second topology information from the distributed database; and determining a global network topology according to the first topology information and the second topology information.
  • the switch is controlled by the SDN controller cluster, and each SDN controller is connected to multiple interconnected switches in one network domain, and each SDN controller in the SDN controller cluster Not only obtaining the first topology information in the network domain where the user is located, but also obtaining the second topology information of the network domain where the other SDN controllers are located through the distributed database, so that each SDN controller can obtain the global network topology of the entire network, thereby The scale of the network topology is expanded, and the infinite expansion of the network topology scale can be realized, so that the problem of a small scale of the global network topology can be solved.
  • the step of acquiring the second topology information in the network domain where the other SDN controller is located is obtained through the distributed database, and the global topology information is also updated synchronously.
  • the SDN controller obtains the topology information from the distributed database, and does not involve related information such as the path calculation, the flow table delivery, and the like; therefore, the embodiment of the present application is directed to the distributed database.
  • the performance requirements are small, and the network performance is improved, thereby overcoming the defects of the SDN control performance bottleneck existing in the prior art.
  • FIG. 1 is a schematic diagram of a logical layered architecture of an SDN controller according to an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a SDN-based global network management method according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of a network topology according to an embodiment of the present application.
  • FIG. 4 is a schematic flowchart of acquiring first topology information between switches in a network domain where the user is located according to an embodiment of the present application
  • FIG. 5 is a schematic flowchart of obtaining second topology information between switches in a network domain where other SDN controllers are located in a SDN controller cluster according to an embodiment of the present application;
  • FIG. 6 is a schematic diagram of a process of controlling data forwarding steps of each switch in a network domain according to the global network topology according to the embodiment shown in FIG. 2 according to an embodiment of the present application;
  • FIG. 7 is a schematic flowchart of generating a flow table according to a global network topology according to an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of calculating a path between multiple provider edge switches according to a predetermined algorithm according to a global network topology according to an embodiment of the present application.
  • FIG. 9 is a schematic diagram of a process of maintaining a global network topology according to a switch role according to an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a process of maintaining a global network topology according to a switch role according to another embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of an SDN-based global network management apparatus according to an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a first acquiring module according to an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of an SDN-based global network management apparatus according to another embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of a second acquiring module according to an embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of a control module according to an embodiment of the present application.
  • 16 is a schematic structural diagram of a computing unit according to an embodiment of the present application.
  • FIG. 17 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • a link is a communication path between any connected nodes in a network; for example, a communication path between two switches.
  • a path is a path from a source node to a destination node in a network; a path may contain one or more links; in this paper, it may refer to a path between provider edge switches.
  • SDN It is a network architecture. It mainly separates the control plane of the network device from the data plane through the OpenFlow protocol, thereby implementing network traffic control.
  • OpenFlow network It includes a switch and a controller (Controller); wherein the switch can be an OpenFlowSwitch (open flow switch), of course, not limited to this.
  • OpenFlowSwitch is the core component of the entire OpenFlow network, including FlowTable, Secure Channel and OpenFlow protocols, and mainly manages the forwarding of the data layer.
  • the secure channel is the interface connecting the switch to the controller;
  • the OpenFlow protocol is used to describe the standard of information used for the interaction between the controller and the switch, and the interface standard of the controller and the switch.
  • the OpenFlowSwitch has one or more flow tables and forwards the data packets only according to the flow table. The generation, maintenance, and delivery of the flow table are implemented by the controller.
  • the flow table does not refer to the IP quintuple (IP source address, IP destination address, protocol number, source port, destination port), but covers almost all network fields of the Layer 2-7 network.
  • each keyword in the flow table can be wildcarded, and which field wildcards can depend on the granularity of the flow determined by the operator of the network.
  • the keyword can be wildly specified to mean that the keyword can be used as content matching any field; and the granularity of the so-called stream refers to: the number of fields as a key segment or a matching field The number of specific, specific, the number of fields indicates that the granularity is small, and the small number of fields indicates that the granularity is large.
  • the operator only needs to perform packet routing according to the destination IP, indicating that the flow granularity is large, then only the IP destination address field can be valid in the flow table, and the others are all wildcards.
  • the flow direction of data packets in the traditional network is artificially specified.
  • the switch and the router have control rights, there is no concept of data flow, only packet-level exchange; in the OpenFlow network, the Controller replaces the route and manages all data.
  • the transmission path of the packet in the network realizes the function of the control layer.
  • FIG. 1 exemplarily shows a logical hierarchical architecture diagram of an SDN controller (also referred to as an OpenFlow controller).
  • the structure shown in Figure 1 is generally divided into three layers, namely an application layer, a control plane layer and a data plane layer.
  • the control plane layer and the data plane layer are all based on the same physical network.
  • the data plane layer serves as the bottom layer, and mainly includes devices such as switches; optionally, the switch can be a virtual switch (for example, OpenFlowSwitch, OpenFlow switch) implemented by a physical machine or software supporting the OpenFlow protocol, and is configured to receive a flow from the controller. Table rules, forwarding network traffic.
  • the control plane layer includes an open flow controller.
  • the open flow controller is configured to discover the global topology of the lower layer switch, and then, according to the specific service and the upper layer application logic, the corresponding flow table rule is sent to control the switch to forward the data traffic.
  • the application layer is a specific service application based on an OpenFlow controller, for example, it may include a virtual network, traffic engineering, and multiple floodlight applications for abstracting a logical virtual network, functional user configuration and use, thereby The user does not have to care about the structure of the underlying specific physical network, and is easy to perform networking and connectivity services.
  • the embodiment of the present application provides a global network management method based on a software-defined network SDN, which is applied to an SDN controller, and the SDN controller belongs to an SDN controller cluster, and the SDN control is performed.
  • Each SDN controller in the cluster is connected to a distributed database, and each SDN controller is connected to multiple interconnected switches and forms a network domain; any switch belongs to a unique network domain, and any switch can Connect at least two SDN controllers.
  • the SDN-based global network management method includes the following steps S200 to S220. among them:
  • S200 Acquire first topology information between switches in the network domain where the user is located.
  • the first topology information between multiple switches in the network domain where the user is located can be obtained through the SDN controller.
  • each SDN controller in the SDN controller cluster can only control some switches in the entire network.
  • the SDN controller can be any commercial or open source controller such as a FloodLight controller (flood controller) or an OpenDayLight controller (an open source controller), wherein the FloodLight controller has a compact structure and a modular design pattern. It is easy to add and develop upper layer virtual network applications.
  • the SDN controller runs on a server (for example, an X86 architecture server), and performs processing such as topology discovery, flow table delivery, and packet report processing on the server.
  • Each SDN controller can manage a certain number of switches through the IP address and port number of the switch.
  • the switch may be an OpenFlow switch that supports the OpenFlow protocol.
  • the ports of the switch can be used to send and receive control packets as well as to send and receive data packets. Also, the switch can maintain a flow table locally.
  • the first topology information may include, but is not limited to, an IP address and a port number of each switch.
  • Table 1 exemplarily shows the first topology information.
  • the information in Table 1 indicates that the first switch is connected to the second switch through port 1, and the second switch is connected to the third switch through port 5.
  • FIG. 3 exemplarily shows a schematic diagram of a network topology for clarity of the scheme.
  • the network topology shown in Figure 3 is a data center three-layer network topology. These include distributed database 30, network domain 31, and network domain 32.
  • the network domain 31 includes an SDN controller 311 and a switch 3111, a switch 3121, a switch 3122, a switch 3131, and a switch 3132.
  • the network domain 32 includes an SDN controller 321 and a switch 3211, a switch 3221, a switch 3222, and a switch 3231.
  • Switch 3111, switch 3211, switch 3121, switch 3122, switch 3221, and switch 3222 form a full mesh (full mesh) connected network to provide non-blocking data forwarding from the access layer network device dual uplink to the intermediate aggregation layer network.
  • the access layer is used to provide workstation access services to the local network segment.
  • the access layer is designed to allow end users to connect to the network. Therefore, the access layer switch has low cost and high port density characteristics.
  • the aggregation layer refers to the intermediate layer between the network access layer and the core layer to alleviate the load of the core layer device. The aggregation layer needs to be able to handle all traffic from the access layer device and provide uplink to the core layer.
  • the core layer refers to the network backbone network layer.
  • the core layer should have the following characteristics: reliability, efficiency, redundancy, fault tolerance, manageability, adaptability, low latency, etc., and in the core layer. High-bandwidth Gigabit switches should be used.
  • the SDN controller 311 and the SDN controller 321 may constitute a cluster of SDN controllers.
  • the distributed database 30 can be implemented by an open source database, and the distributed database 30 can provide a distributed lock function to ensure orderly and efficient reading and writing of all SDN controller node data in the SDN controller cluster. As shown in FIG.
  • the SDN controller 311 acquires topology information between the switch 3111, the switch 3131, the switch 3132, the switch 3131, and the switch 3132 in the network domain 31.
  • the SDN controller 321 acquires the switch 3211, the switch 3221, and the switch in the network domain 32. Topology information between 3222 and switch 3231.
  • this step may include the following steps S201 to S203. among them:
  • S201 Send a topology information request to the switch in the network domain where the user is located.
  • an IP (inter-network protocol) address of an SDN controller in the same network domain is configured in any switch.
  • the switch can actively establish a connection with the SDN controller. After the connection is established, the SDN controller sends a topology information request to the switch in its own network domain.
  • the SDN controller 311 can send topology information requests to various switches within the network domain 31.
  • S202 Receive port information sent by each switch for the topology information request and port information of the switch connected thereto. That is, the port information sent by any switch includes the port information of the switch and the port information of the switch connected to the switch.
  • the port information may be the port number of the switch, for example, number 2, number 5, and the like.
  • any switch after receiving the topology information request, any switch sends its own port information and port information of the switch connected to the switch to the SDN controller.
  • the SDN controller 311 receives its own port number sent by the switch 3131 and the port number used by the switch 3121 and the switch 3122.
  • S203 Obtain, according to the received port information, first topology information between switches in the network domain where the user is located.
  • the information in Table 1 indicates that the first switch is connected to the second switch through port 1; the second switch is connected to the third switch through port 5. Through the topology information, topology information between the first switch and the second switch can be obtained.
  • the SDN-based global network management method may further include:
  • each SDN controller may send the acquired topology information to the distributed database, and implement the update of the topology information stored in the distributed database.
  • S210 Obtain, from the distributed database, second topology information between switches in a network domain where other SDN controllers in the SDN controller cluster are located.
  • the SDN controller obtains the second topology information from the distributed database, and the second topology information is topology information between the switches in the network domain where the other SDN controllers in the SDN controller cluster are located.
  • the embodiment of the present application obtains the first topology information between the switches in the network domain where the network is located, and obtains the second topology information between the switches in the network domain where the other SDN controllers are located in the SDN controller cluster, in order to obtain the global network topology. .
  • step S210 may specifically include step S211 and step S212. among them:
  • S211 Receive a topology information update notification sent by the distributed database, where the topology information update notification is sent when the distributed database receives the topology information sent by the other SDN controller.
  • each SDN controller monitors the topology information update of the distributed database in real time.
  • the distributed database notifies each SDN controller, and then each SDN controller receives the topology information update notification sent by the distributed database.
  • the SDN controller 311 transmits the topology information to the distributed database 30; the distributed database 30 transmits a topology information update notification to the SDN controller 321.
  • S212 Acquire, according to the topology information update notification, the second topology information between the switches in the network domain where the other SDN controllers in the SDN controller cluster are located from the distributed database. That is, the SDN controller acquires the second topology information from the distributed database when receiving the topology information update notification.
  • each SDN controller After receiving the update notification, each SDN controller acquires topology information sent by the other SDN controllers to the distributed database from the distributed database, thereby implementing synchronization of the global topology information.
  • S220 Determine a global network topology according to the first topology information and the second topology information.
  • the switch ports in each network domain in the entire network can be obtained.
  • the connection relationship between the two can be based on a topology map to determine the global network topology.
  • the switch 3111, the switch 3211, the switch 3121, the switch 3122, the switch 3221, and the switch 3222 can adopt a DC Core (Data Center Core) of 32 to 40 G interfaces; the switch 3131, the switch 3132, and the switch.
  • the 3231 can use 48 ⁇ 10G + 4 ⁇ 40G TOR (cabinet-type switch); in this topology, 48 DC Core and 128 TOR can provide 3:1 convergence of 6144 10G access ports.
  • the X86 server runs a Vswitch (virtual switch) and an SDN controller for forwarding. If the server configuration is based on 24 cores and 128 GB memory, this embodiment can provide a network topology of 100,000 scale. The scale of the global network topology is expanded compared to the prior art using an SDN controller.
  • the SDN controller in the SDN controller cluster obtains the topology information in the respective network domain, and obtains the topology information obtained by each SDN controller through the distributed database, thereby implementing the global network topology.
  • the discovery is not limited to:
  • the distributed database is used to uniformly store the network topology, the flow table, and the status of the SDN controller such as OpenDayLight, that is, all the state information is stripped out and uniformly stored in one distribution.
  • the solution solves the scale bottleneck through the distributed database, the solution stores the network topology and all state information in a unified database. Therefore, the solution not only increases the logic complexity of the controller, but also has high performance requirements for the distributed database. For example, the flow table information that changes in real time, such as not being stored and updated in time, will cause confusion of the network path. Causes a network failure.
  • the controller is divided into two layers.
  • the controllers in the lower layer respectively manage some OpenFlow switches
  • the upper layer is a central controller, which manages each controller in the lower layer, and collects network topology information from the lower layer controller to discover the global topology.
  • the lower layer controller can process requests for partial flow table delivery, and only requests that cannot be processed are forwarded to the upper layer central controller for processing. Therefore, when the number of controllers in the lower layer increases, the central controller becomes a performance bottleneck, resulting in poor network performance.
  • a perfect distributed controller scheme is proposed, and the unified distributed database is used to access the state information.
  • the information of the topology information is small, stable, and does not change, and the logic of the path calculation and the flow table is not introduced to the distributed database. Therefore, the performance of the distributed database is small and required by the embodiment of the present application. This also ensures good global topology synchronization real-time and improves network performance.
  • the SDN-based global network management method may further include:
  • S230 Control, according to the global network topology, each switch in the network domain where the network is located to perform data forwarding.
  • each switch in the network domain is controlled to forward the data packet, and finally the data packet is forwarded to the destination server.
  • multiple OpenFlow switches and SDN controllers may be formed into a data plane; then, data packets are forwarded through the data plane.
  • the step of controlling data forwarding by each switch in the network domain in which the network is located according to the global network topology includes:
  • the flow table is generated according to the global network topology, and the flow table is sent to each switch in the network domain where the network is located, so that each switch in the network domain in which the network is located performs data forwarding according to the received flow table.
  • the flow table includes multiple flow entry items; each flow entry may include one or more matching domains, and specifically, may include, for example, a header domain, a destination MAC (Media Access Control, media access control layer) Address, source MAC address, destination IP address, source IP address, TCP port number/UDP port number, command, etc.
  • the instruction is used to indicate which port to forward the data packet through.
  • the flow entry can also include a counter and the like. The counter is used to count the number of times the flow entry is hit.
  • the flow table entry can be sent to each switch according to the number of hops on the path and the number of hops.
  • an initial flow table can be sent to the switch.
  • the flow table may be obtained by separating the control plane and the data plane.
  • the OpenFlow switch is based on the LLDP protocol (Link Layer Discovery Protocol) and the STP protocol (Spanning Tree Protocol).
  • the OpenFlow switch implements various OpenFlow control messages through the forwarding table generated by the above protocol. Forwarding.
  • the OpenFlow switch sends a flow table request to the SDN controller; after receiving the flow table request, the SDN controller sends a flow entry to the OpenFlow switch through the control plane; the OpenFlow switch adds the flow entry to the local maintenance after receiving the flow entry.
  • the initial flow table is obtained.
  • each switch in the network domain of the network includes multiple provider edge switches.
  • the step of generating a flow table according to the global network topology includes the following step S231. And step S232. among them:
  • S231 Calculate a path between the multiple provider edge switches according to a predetermined algorithm according to the global network topology.
  • the predetermined algorithm may be, for example, a minimum path algorithm, an optimal path algorithm, a critical path algorithm, or the like, but is not limited thereto.
  • the provider edge switch (that is, the provider edge switch, or PE device for short) may be a switch with a small load, for example, a switch with a single port of 10 Gb throughput.
  • the PE device can be, for example, a general switch.
  • the PE device is connected to the server. It should be noted that the provider edge switch is also called a carrier edge switch and belongs to the network side edge device, and usually requires encapsulation and decapsulation capabilities.
  • a provider switch ie, a provider switch, abbreviated as a P device
  • P device a provider switch with a large load, for example, a switch capable of 40 Gb throughput for a single port.
  • the P device can act as an intermediate node and is not connected to the server.
  • the provider switch is also called a carrier switch and belongs to the core layer device, and requires label switching capability.
  • the path calculation and the flow table are independently calculated and stored by each SDN controller, and the requirements for the distributed database are small, and the network performance is improved.
  • the step of calculating a path between multiple provider edge switches according to a predetermined algorithm according to the global network topology may specifically include step S2311. Step S2313. among them:
  • S2311 Receive the data packet sent by the switch in the network domain where the user is located.
  • the switch sends the packet to the SDN controller when at least the following occurs:
  • Case 1 The switch receives a packet that does not match any flow entry.
  • the switch sends the data packet to the SDN controller in its own network domain to obtain a matching flow table.
  • Case 2 The switch receives the data packet but does not receive the flow table sent by the SDN controller.
  • the above situation includes the case where the switch does not match the flow table within a predetermined time (for example, 3 minutes, 5 minutes) and deletes the flow table that does not match.
  • a predetermined time for example, 3 minutes, 5 minutes
  • the switch sends the packet to the SDN controller to obtain a flow table that matches the packet.
  • S2313 Calculate a path between the multiple provider edge switches according to a predetermined algorithm according to the global network topology and the destination MAC address.
  • the predetermined algorithm may be, for example, a minimum path algorithm, an optimal path algorithm, a critical path algorithm, or the like, but is not limited thereto.
  • the so-called calculation of the path between the multiple provider edge switches according to the global network topology and the destination MAC address according to a predetermined algorithm specifically: calculating, according to the global network topology, the switch from the sender of the data packet to the destination MAC address.
  • Path the calculated path is the path to multiple provider edge switches, that is, which provider edge switches pass through to the destination MAC address.
  • the embodiment of the present application divides the switch into a provider edge switch and a provider switch, that is, the switch is divided into a PE (provider edge) role and a P (provider) role. , respectively referred to as PE equipment and P equipment.
  • the role of the switch applies to the SDN controller and is transparent to the physical switch.
  • the SDN controller maintains the topology within the network domain based on the role.
  • the P device is only used as an intermediate node in the network topology, and is not used as a source or destination node for path calculation; when the network topology is discovered, the link between the PE devices is determined to be an illegal link, which is ignored. Therefore, this step calculates paths between PE devices according to, for example, a minimum path algorithm, an optimal path algorithm, a critical path algorithm, and the like.
  • the P role and the PE role can be used to maintain the mapping between the switch and the role through the SwitchRoleManager. Users can view the role information of all switches or set/delete the role configuration of a switch through the Restful API (Representational State Transfer API).
  • This embodiment takes an access switch in a network domain as an example.
  • the SDN controller When a new switch is connected in the network domain and connected to the SDN controller, the SDN controller identifies the switch; determines the role of the switch according to a predetermined correspondence between the switch and the role; and determines the link of the switch of the role. Lines (also known as links, ie links), topology information is sent to the distributed database.
  • the SDN controller may include a topology manager, a switch role manager, a domain topology manager, and a global topology manager.
  • Step a1 The topology manager sends a switch connection controller notification to the switch role manager.
  • Step a2 The switch role manager sets the role of the switch in the presence of the role information, and sends the set role information to the domain topology manager.
  • Step a3 The domain topology manager adds the switch to the local controller topology; the domain topology manager obtains the link associated with the switch and sends it to the topology manager; adds the legal Link line to the topology, and initializes the link weight The illegal link line is deleted; the updated topology information is sent to the global topology manager, and after the update, the calculation path, the flow table is pre-issued, and the link weight is updated;
  • Step a4 The global topology manager sends the update information of the distributed database to the domain topology manager, so that other SDN controls calculate the path between the multiple provider edge switches according to the predetermined algorithm according to the updated global network topology information.
  • This embodiment takes a link state change as an example.
  • the domain topology manager When the link status changes in the network topology, the domain topology manager is triggered to perform related processing.
  • a new Link line is added, the local topology is updated, and the information is updated to the distributed database, and other SDN controllers are used for global topology synchronization.
  • the link line is disconnected, the link line is detected in the local topology; if it exists, the path calculation and flow table delivery are updated; then, the link line is deleted and updated to the distributed database.
  • the topology manager sends a Link add/drop message to the domain topology manager; if the link topology is legal, the domain topology manager adds the link to the topology, initializes the link weight to 1 (), and then, The global topology manager sends an instruction to update the distributed database; in the case of a Link illegal, the domain topology manager warns the Link flag and does not process it. If the Link exists in the topology, the Domain Topology Manager removes the Link from the topology and then sends updated global database information to the Global Topology Manager; if the Link does not exist in the topology, the Domain Topology Manager from the Alert Link Delete the link and perform related path calculation and flow table delivery.
  • the link line When the link line is disconnected, it detects whether the link line exists in the local topology. If it exists, it updates the path calculation and flow table delivery, and then deletes the link line and updates it to the distributed database.
  • the other SDN controller calculates the path between the multiple provider edge switches according to the predetermined algorithm according to the updated global network topology information.
  • the network is centrally managed by using only one SDN controller. If the SDN controller fails, the entire network will not work properly because there is no standby SDN controller to replace the SDN controller that failed the shutdown. Thus, the prior art has the drawback of a single point of failure.
  • the SDN-based global network management method further includes the following steps b1 and b2.
  • Step b1 receiving a network connection request sent by a switch in another network domain other than the network domain where the network is located; wherein the network connection request is sent by a switch in another network domain when the SDN controller of another network domain fails;
  • the IP addresses of at least two SDN controllers can be configured in the switch, so that the switch can receive management of at least two SDN controllers.
  • the OpenFlow switch is connected to the first SDN controller and the second SDN controller, the IP addresses of the first SDN controller and the second SDN controller are configured in the OpenFlow switch, and the OpenFlow switch is configured with The first SDN controller is in the same network domain. In this way, the OpenFlow switch is in a different network domain than the second SDN controller.
  • the OpenFlow switch is configured with the IP address of the second SDN controller, and thus, the OpenFlow switch can connect to the second SDN controller, that is, to the second SDN controller. Send a network connection request.
  • the second SDN controller receives a network connection request sent by the OpenFlow switch in another network domain.
  • Step b2 Establish a network connection with a switch in another network domain according to the network connection request.
  • the second SDN controller after receiving the network connection request, the second SDN controller establishes a network connection with the OpenFlow switch to manage the OpenFlow switch.
  • the network connection may be, for example, a TCP (Transmission Control Protocol) connection.
  • the switch is connected to at least two SDN controllers; therefore, when one of the SDN controllers fails and fails to work normally, the switch can perform network with other SDN controllers that have not failed. Connect to maintain normal work. Therefore, the present embodiment overcomes the defect of a single point of failure, and the technical solution provided by the embodiment of the present application can make the network not limited to the performance of an SDN controller. Impact, overcoming the shortcomings of performance bottlenecks, thereby increasing the processing speed of the network and the size of the network topology.
  • the embodiment of the present application controls the switch through the SDN controller cluster by adopting any of the foregoing technical solutions, and each SDN controller is connected to multiple switches in one network domain, and each of the SDN controller clusters
  • An SDN controller not only obtains the first topology information in the network domain where the SDN controller is located, but also obtains the second topology information of the network domain where the other SDN controllers are located through the distributed database, so that each SDN controller can obtain the global network of the entire network.
  • Topology which expands the scale of the network topology and enables unlimited expansion of the network topology.
  • the step of acquiring the second topology information in the network domain where the other SDN controller is located is obtained through the distributed database, and the global topology information is also updated synchronously.
  • the SDN controller obtains the topology information from the distributed database, and does not involve related information such as the path calculation, the flow table delivery, and the like; therefore, the embodiment of the present application is directed to the distributed database.
  • the performance requirements are small, and the network performance is improved, thereby overcoming the defects of the SDN control performance bottleneck existing in the prior art.
  • the embodiment of the present application provides a global network management apparatus based on a software-defined network SDN, and the apparatus can perform the foregoing method embodiments.
  • the device is applied to the SDN controller, and the SDN controller belongs to the SDN controller cluster.
  • Each SDN controller in the SDN controller cluster is respectively connected to the distributed database, and each SDN controller is connected to multiple interconnected switches and forms a network.
  • the SDN-based global network management apparatus includes: a first acquisition module 111, a second acquisition module 112, and a determination module 113.
  • the first obtaining module 111 is configured to obtain first topology information between switches in the network domain where the user is located.
  • the second obtaining module 112 is configured to obtain the second topology information from the distributed database, where the second topology information is: topology information between the switches in the network domain where the other SDN controllers are located in the SDN controller cluster.
  • the determining module 113 is connected to the first obtaining module 111 and the second acquiring module 112, and is configured to determine a global network topology according to the first topology information and the second topology information.
  • the switch is controlled by the SDN controller cluster, and each SDN controller is connected to multiple switches in one network domain, and each SDN controller in the SDN controller cluster not only acquires itself through the first acquiring module 111.
  • the first topology information in the network domain is obtained, and the second topology information of the network domain where the other SDN controllers are located is obtained from the distributed database by the second obtaining module 112, so that the global network topology of the entire network can be obtained by the determining module 113.
  • the scale of the network topology is expanded, and the infinite expansion of the network topology scale can be achieved.
  • the step of acquiring the second topology information in the network domain where the other SDN controllers are located from the distributed database by the second obtaining module 112 further implements synchronous updating of the global topology information.
  • the SDN controller obtains the topology information from the distributed database, and does not involve related information such as the path calculation, the flow table delivery, and the like; therefore, the embodiment of the present application is directed to the distributed database.
  • the performance requirements are small, and the network performance is improved, thereby overcoming the defects of the SDN control performance bottleneck existing in the prior art.
  • the first obtaining module includes:
  • the first sending unit 121 is configured to separately send a topology information request to the switch in the network domain where the network is located.
  • the first receiving unit 122 is configured to receive the port information sent by each switch for the topology information request, and the port information of any switch includes the The port information of the switch and the port information of the switch connected to the switch; the first obtaining unit 123 is configured to obtain the first topology information between the switches in the network domain where the switch is located according to the received port information.
  • the SDN-based global network management apparatus may further include: a sending module 114 configured to send the first topology information to the distributed database.
  • the second obtaining module specifically includes:
  • the second receiving unit 141 is configured to receive a topology information update notification sent by the distributed database, where the topology information update notification is: when the distributed database receives the topology information sent by the other SDN controller;
  • the second obtaining unit 142 is configured to acquire the second topology information from the distributed database when receiving the topology information update notification.
  • the SDN-based global network management device may further include:
  • the control module is configured to control data forwarding by each switch in the network domain in which the network is located according to the global network topology.
  • control module is configured to generate a flow table according to the global network topology, and send a flow table to each switch in the network domain where the network is located, so that each switch in the network domain in which the network is located according to the received flow table. Data forwarding.
  • each switch in the network domain in which it is located includes multiple provider edge switches
  • control module specifically includes:
  • the calculating unit 151 is configured to calculate a path between the plurality of provider edge switches according to a predetermined algorithm according to the global network topology;
  • the generating unit 152 is configured to generate a flow table including the path.
  • the calculating unit specifically includes:
  • the receiving subunit 161 is configured to receive a data packet sent by the switch in the network domain where the user is located;
  • the parsing subunit 162 is configured to parse the data packet to obtain a destination MAC address
  • the calculating sub-unit 163 is configured to calculate a path between the plurality of provider edge switches according to a predetermined algorithm according to the global network topology and the destination MAC address.
  • the SDN-based global network management device may further include:
  • the receiving module is configured to receive a network connection request sent by a switch in another network domain other than the network domain where the network is located; wherein the network connection request is sent by a switch in another network domain when the SDN controller of the other network domain fails;
  • the embodiment of the present application further provides an electronic device, as shown in FIG. 17, including a processor 171 and a memory 172;
  • a memory 172 configured to store a computer program
  • the processor 171 when configured to execute the program stored on the memory 172, implements the method steps described in the foregoing SDN-based global network management method embodiment.
  • the communication bus mentioned in the above electronic device may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus.
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the communication bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figure 17, but it does not mean that there is only one bus or one type of bus.
  • the above communication interface is set to communicate between the above electronic device and other devices.
  • the memory 172 may include a random access memory (RAM), and may also include a non-volatile memory (NVM), such as at least one disk storage.
  • NVM non-volatile memory
  • the memory may also be at least one storage device located away from the aforementioned processor.
  • the processor 171 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), and the like; or a digital signal processing (DSP). , Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component.
  • CPU central processing unit
  • NP network processor
  • DSP digital signal processing
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • the above electronic devices include, but are not limited to, smart phones, computers, personal digital assistants, wearable devices, and the like.
  • the switch is controlled by the SDN controller cluster, and each SDN controller is connected to multiple switches in one network domain, and the SDN controller cluster is connected.
  • Each SDN controller not only obtains the first topology information in the network domain where the SDN controller is located, but also acquires the second topology information of the network domain where the other SDN controllers are located through the distributed database, so that each SDN controller can obtain the entire network.
  • the global network topology thereby expanding the scale of the network topology, and can achieve unlimited expansion of the network topology scale.
  • the step of acquiring the second topology information in the network domain where the other SDN controller is located is obtained through the distributed database, and the global topology information is also updated synchronously.
  • the SDN controller obtains the topology information from the distributed database, and does not involve related information such as the path calculation, the flow table delivery, and the like; therefore, the embodiment of the present application is directed to the distributed database.
  • the performance requirements are small, and the network performance is improved, thereby overcoming the defects of the SDN control performance bottleneck existing in the prior art.
  • the embodiment of the present application further provides a computer readable storage medium based on the same technical concept as the method embodiment.
  • the computer readable storage medium stores therein a computer program, and when the computer program is executed by the processor, implements the method steps described in the foregoing SDN-based global network management method embodiment.
  • the above computer readable storage medium may include, but is not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), read only memory (ROM), programmable read only memory ( PROM), rewritable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), flash memory (eg, NOR flash memory or NAND flash memory), content addressable memory (CAM), Polymer memory (eg, ferroelectric polymer memory), phase change memory, bidirectional switch semiconductor memory, silicon-oxide-silicon-silicon-silicon-silicon (Silicon-Oxide-Nitride-Oxide-Silicon, SONOS) memory, A magnetic or optical card, or any other suitable type of computer readable storage medium.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SRAM static random access memory
  • ROM read only memory
  • PROM programmable read only memory
  • EPROM rewritable programmable read only memory
  • the switch when the computer program is executed by the processor, the switch is controlled by the SDN controller cluster, and each SDN controller is connected to multiple switches in one network domain, and each SDN controller in the SDN controller cluster is controlled.
  • the device not only obtains the first topology information in the network domain where the network is located, but also obtains the second topology information of the network domain where the other SDN controllers are located through the distributed database, so that each SDN controller can obtain the global network topology of the entire network, This expands the scale of the network topology and enables unlimited expansion of the network topology scale.
  • the step of acquiring the second topology information in the network domain where the other SDN controller is located is obtained through the distributed database, and the global topology information is also updated synchronously.
  • the SDN controller obtains the topology information from the distributed database, and does not involve related information such as the path calculation, the flow table delivery, and the like; therefore, the embodiment of the present application is directed to the distributed database.
  • the performance requirements are small, and the network performance is improved, thereby overcoming the defects of the SDN control performance bottleneck existing in the prior art.
  • the embodiment of the present application further provides an application program, which is used to execute the method steps provided by the embodiments of the present application at runtime.
  • the switch in the network management, is controlled by the SDN controller cluster, and each SDN controller is interconnected with multiple in one network domain.
  • the switches are connected, and each SDN controller in the SDN controller cluster not only acquires the first topology information in the network domain where the SDN controller is located, but also acquires the second topology information of the network domain where the other SDN controllers are located through the distributed database, thereby An SDN controller can obtain the global network topology of the entire network, thereby expanding the scale of the network topology, and can realize unlimited expansion of the network topology scale, thereby solving the problem of small scale of the global network topology.
  • the step of acquiring the second topology information in the network domain where the other SDN controller is located is obtained through the distributed database, and the global topology information is also updated synchronously.
  • the SDN controller obtains the topology information from the distributed database, and does not involve related information such as the path calculation, the flow table delivery, and the like; therefore, the embodiment of the present application is directed to the distributed database.
  • the performance requirements are small, and the network performance is improved, thereby overcoming the defects of the SDN control performance bottleneck existing in the prior art.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种基于SDN的实现全局网络管理方法、装置、电子设备和存储介质。其中,该方法应用于SDN控制器,SDN控制器属于SDN控制器集群,SDN控制器集群中各SDN控制器分别与分布式数据库相连,并且还分别与多个交换机相连并形成一网络域;该网络控制方法包括获取网络域内交换机间的第一拓扑信息;从分布式数据库获取第二拓扑信息,该第二拓扑信息为SDN控制器集群中其他SDN控制器所在网络域内交换机间的拓扑信息;根据第一拓扑信息和第二拓扑信息,确定全局网络拓扑信息;基于全局网络拓扑信息,控制所在网络域内各交换机进行数据转发。由此,本申请实施例扩大了网络拓扑的规模,实现了全局拓扑信息的同步更新,对分布式数据库的性能要求小。

Description

网络管理方法、装置、电子设备和存储介质
本申请要求于2017年12月07日提交中国专利局、申请号为201711283418.8发明名称为“网络管理方法、装置、电子设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及网络管理技术领域,特别是涉及一种网络管理方法、装置、电子设备和存储介质。
背景技术
近年来,传统网络架构由于其管理过于复杂,且缺乏灵活性,已不足以满足人们的需求。
为了满足人们对网络管理的灵活性和简单性的需求,SDN(Software Defined Network,软件定义网络)的概念随之兴起。SDN概念的核心思想为软件可编程,将网络的控制和转发分离。基于SDN的概念,网络应用中常采用无分层网络控制方式的OpenFlow(一种网络协议)网络。
目前,在现有的OpenFlow网络中,通常只采用一个SDN控制器对网络内部署的所有交换机进行集中式网络管理。具体的,现有的OpenFlow网络采用一台SDN控制器发现全局网络拓扑,进而对交换机进行管理。而由于受到SDN控制器的处理性能的限制,利用一台SDN控制器发现全局网络拓扑的方式,无疑会存在全局网络拓扑规模小的缺陷。例如,假设OpenFlow网络中有1500台交换机和一台SDN控制器。该1500台交换机每秒钟会产生100000多条数据流,而一台SDN控制器每秒钟只能处理30000条左右的数据流,这样导致在对该OpenFlow网络进行部署时无法承受设置足够数量的交换机,由此,全局网络拓扑规模受到了影响,导致全局网络拓扑规模较小。
发明内容
本申请实施例的目的在于提供一种网络管理方法、装置、电子设备和存储介质,以解决全局网络拓扑规模较小的问题。
为了实现上述目的,第一方面,提供了以下技术方案:
一种基于软件定义网络SDN的全局网络管理方法,所述方法应用于SDN控制器,所述SDN控制器属于SDN控制器集群,所述SDN控制器集群中各SDN控制器分别与分布式数据库相连,且所述各SDN控制器分别与多个互连的交换机相连并形成一网络域;所述方法包括:获取自身所在网络域内交换机间的第一拓扑信息;从所述分布式数据库获取第二拓扑信息,所述第二拓扑信息为:所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的拓扑信息;根据所述第一拓扑信息和所述第二拓扑信息,确定全局网络拓扑。
在一种实施方式中,所述获取自身所在网络域内交换机间的第一拓扑信息的步骤,包括:向自身所在网络域内的交换机分别发送拓扑信息请求;分别接收各交换机针对所述拓扑信息请求发送的端口信息,任一交换机发送的端口信息包括该交换机的端口信息,以及与该交换机相连的交换机的端口信息;根据接收到的端口信息,得到所述自身所在网络域内交换机间的第一拓扑信息。
在一种实施方式中,在所述获取自身所在网络域内交换机间的第一拓扑信息的步骤之后,所述方法包括:将所述第一拓扑信息发送至所述分布式数据库。
在一种实施方式中,所述从所述分布式数据库获取第二拓扑信息的步骤,包括:接收所述分布式数据库发送的拓扑信息更新通知;其中,所述拓扑信息更新通知为:所述分布式数据库在接收到由所述其他SDN控制器发送的拓扑信息时发送的;当接收到所述拓扑信息更新通知时,从所述分布式数据库获取第二拓扑信息。
在一种实施方式中,所述方法还包括:根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据转发。
在一种实施方式中,所述根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据转发的步骤,包括:根据所述全局网络拓扑生成流表,并向所述自身所在网络域内各交换机分别发送所述流表,以使所述自身所在网络域内各交换机按照所接收到的流表进行数据转发。
在一种实施方式中,所述自身所在网络域内各交换机包括多个提供商边 缘交换机;所述根据所述全局网络拓扑生成流表的步骤,包括:根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径;生成包含所述路径的流表。
在一种实施方式中,所述根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径的步骤,包括:接收所述自身所在网络域内交换机发送的数据包;解析所述数据包,得到目的MAC地址;根据所述全局网络拓扑和所述目的MAC地址,按照预定算法计算所述多个提供商边缘交换机之间的路径。
在一种实施方式中,所述方法还包括:接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,所述网络连接请求是由所述其他网络域内的交换机在所述其他网络域的SDN控制器出现故障时发送的;根据所述网络连接请求,与所述其他网络域内的交换机建立网络连接。
为了实现上述目的,第二方面,还提供了以下技术方案:一种基于软件定义网络SDN的全局网络管理装置,所述装置应用于SDN控制器,所述SDN控制器属于SDN控制器集群,所述SDN控制器集群中各SDN控制器分别与分布式数据库相连,且所述各SDN控制器分别与多个互连的交换机相连并形成一网络域;所述装置包括:第一获取模块,设置为获取自身所在网络域内交换机间的第一拓扑信息;第二获取模块,设置为从所述分布式数据库获取第二拓扑信息,所述第二拓扑信息为:所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的拓扑信息;确定模块,设置为根据所述第一拓扑信息和所述第二拓扑信息,确定全局网络拓扑。
在一种实施方式中,所述第一获取模块包括:第一发送单元,设置为向自身所在网络域内的交换机分别发送拓扑信息请求;第一接收单元,设置为分别接收各交换机针对所述拓扑信息请求发送的端口信息,任一交换机发送的端口信息包括该交换机的端口信息,以及与该交换机相连的交换机的端口信息;第一获取单元,设置为根据接收到的端口信息,得到所述自身所在网络域内交换机间的第一拓扑信息。
在一种实施方式中,所述装置还包括:发送模块,设置为将所述第一拓扑信息发送至所述分布式数据库。
在一种实施方式中,所述第二获取模块包括:第二接收单元,设置为接收所述分布式数据库发送的拓扑信息更新通知;其中,所述拓扑信息更新通知为:所述分布式数据库在接收到由所述其他SDN控制器发送的拓扑信息时发送的;第二获取单元,设置为当接收到所述拓扑信息更新通知时,从所述分布式数据库获取第二拓扑信息。
在一种实施方式中,所述装置还包括:控制模块,设置为根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据转发。
在一种实施方式中,所述控制模块设置为根据所述全局网络拓扑生成流表,并向所述自身所在网络域内各交换机分别发送所述流表,以使所述自身所在网络域内各交换机按照所接收到的流表进行数据转发。
在一种实施方式中,所述自身所在网络域内各交换机包括多个提供商边缘交换机;所述控制模块包括:计算单元,用于根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径;生成单元,设置为生成包含所述路径的流表。
在一种实施方式中,所述计算单元包括:接收子单元,设置为接收所述自身所在网络域内交换机发送的数据包;解析子单元,设置为解析所述数据包,得到目的MAC地址;计算子单元,设置为根据所述全局网络拓扑和所述目的MAC地址,按照预定算法计算所述多个提供商边缘交换机之间的路径。
在一种实施方式中,所述装置还包括:接收模块,设置为接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,所述网络连接请求是由所述其他网络域内的交换机在所述其他网络域的SDN控制器出现故障时发送的;建立模块,设置为根据所述网络连接请求,与所述其他网络域内的交换机建立网络连接。
为了实现上述目的,第三方面,还提供了以下技术方案:一种电子设备,其包括处理器和存储器;所述存储器,设置为存放计算机程序;所述处理器,设置为执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
为了实现上述目的,第四方面,还提供了以下技术方案:一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
为了实现上述目的,第五方面,还提供了以下技术方案:一种应用程序,所述应用程序用于在运行时执行第一方面所述的方法步骤。本申请实施例提供一种基于SDN的实现全局网络管理方法、装置、电子设备和存储介质。其中,该网络控制方法应用于SDN控制器,SDN控制器属于SDN控制器集群,SDN控制器集群中各SDN控制器分别与分布式数据库相连,并且还分别与多个交换机相连并形成一网络域;该网络控制方法包括:获取自身所在网络域内交换机间的第一拓扑信息;从分布式数据库获取第二拓扑信息;根据第一拓扑信息和第二拓扑信息,确定全局网络拓扑。
本申请实施例通过采取上述技术方案,通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个互连的交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展,因此可以解决全局网络拓扑规模较小的问题。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本申请实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本申请实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而得以体现。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例和现有技术的技术方案,下面对实施例和现有技术中所需要使用的附图作简单地介绍,显而易见地,下面描述中的 附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例的SDN控制器的逻辑分层架构示意图;
图2为根据本申请实施例的基于SDN的全局网络管理方法的流程示意图;
图3为根据本申请实施例的一种网络拓扑结构示意图;
图4为根据本申请实施例的获取自身所在网络域内交换机间的第一拓扑信息的流程示意图;
图5为根据本申请实施例的从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息的流程示意图;
图6为根据本申请实施例的在图2所示实施例的基础上增加根据全局网络拓扑,控制自身所在网络域内各交换机进行数据转发步骤的流程示意图;
图7为根据本申请实施例的根据全局网络拓扑生成流表的流程示意图;
图8为根据本申请实施例的根据全局网络拓扑,按照预定算法计算多个提供商边缘交换机之间的路径的流程示意图;
图9为根据本申请实施例的根据交换机角色维护全局网络拓扑的过程的示意图;
图10为根据本申请另一实施例的根据交换机角色维护全局网络拓扑的过程的示意图;
图11为根据本申请实施例的基于SDN的全局网络管理装置的结构示意图;
图12为根据本申请实施例的第一获取模块的结构示意图;
图13为根据本申请另一实施例的基于SDN的全局网络管理装置的结构示意图;
图14为根据本申请实施例的第二获取模块的结构示意图;
图15为根据本申请实施例的控制模块的结构示意图;
图16为根据本申请实施例的计算单元的结构示意图;
图17为根据本申请实施例的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案、及优点更加清楚明白,以下参照附图并 举实施例,对本申请进一步详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本文涉及到的术语进行详细说明:
链路是指网络中任意相连节点之间的连通路径;例如,两个交换机之间的连通路径。
路径是指网络中从源节点到目的节点之间的通路;一条路径可以包含一条或多条链路;本文中可以指提供商边缘交换机之间的通路。SDN:是一种网络架构,其主要通过OpenFlow协议将网络设备的控制面与数据面分离开来,从而实现网络流量的控制。
OpenFlow网络:其包括交换机和控制器(Controller);其中,交换机可以为OpenFlowSwitch(开放流交换机),当然并不局限于此。OpenFlowSwitch是整个OpenFlow网络的核心部件,包括流表(FlowTable)、安全通道和OpenFlow协议,并且主要管理数据层的转发。其中,安全通道为连接交换机与控制器的接口;OpenFlow协议用于描述控制器与交换机之间交互所用信息的标准,以及控制器和交换机的接口标准。OpenFlowSwitch拥有一个或多个流表,并只按照流表进行数据包的转发,其中,流表的生成、维护和下发由控制器来实现。这里,流表并非是指IP五元组(IP源地址、IP目的地址、协议号、源端口、目的端口),而是涵括了二到七层网络的几乎所有网络字段。并且,流表中的每个关键字都可以通配,具体哪些字段通配可以取决于网络的运营商所决定的流的粒度。其中,对于任一个关键字而言,该关键字可以通配具体指:该关键字可以作为与任何字段相匹配的内容;而所谓的流的粒度指:作为关键字段或匹配字段的字段数量的多少,具体的,字段数量多表明粒度小,字段数量少表明粒度大。比如,如果运营商只需要根据目的IP进行数据包路由,表明流的粒度大,那么,流表中就可以只有IP目的地址字段是有效的,其它全为通配。另外,传统网络中数据包的流向是人为指定的,虽然交换机、路由器拥有控制权,却没有数据流的概念,只进行数据包级别的交换;而在OpenFlow网络中,Controller取代路由,管理所有数据包在网 络中的传输路径,实现控制层的功能。
图1示例性地示出了SDN控制器(也称OpenFlow控制器)的逻辑分层架构示意图。图1所示结构总体分为三层,即应用层、控制平面层和数据平面层。其中,控制平面层和数据平面层都基于同一个物理网络。数据平面层作为底层,主要包括交换机等设备;可选地,该交换机可以为支持OpenFlow协议的物理机或者软件实现的虚拟交换机(例如,OpenFlowSwitch,开放流交换机),用于负责从控制器接收流表规则,转发网络流量。控制平面层包括开放流控制器;该开放流控制器用于发现下层交换机的全局拓扑,然后,根据具体业务和上层应用逻辑下发对应的流表规则,控制交换机进行数据流量转发。应用层为基于开放流控制器的一些具体业务应用,例如,其可以包括虚拟网络、流量工程和多个泛光灯应用程序,用于抽象出一个逻辑的虚拟网络,功能用户配置和使用,从而使得用户不必关心下层具体物理网络的结构,易于进行组网和连通业务。
由于受到SDN控制器的处理性能的限制,采用一台SDN控制器来发现全局网络拓扑的方式,无疑会存在全局网络拓扑规模小的缺陷。例如,在现有的采用一主多备的方案中,多个控制器读写同一个数据库,用于保存基于OpenFlow协议的相关网络拓扑信息。该方案中,同一时间只有一个主控制器进行写入数据库的操作;备控制器只能从数据库中读取网络拓扑信息。由此,网络规模化支持受限于SDN控制器的性能。因此,该方案由于同一时间只有一台控制器而存在不支持大规模网络拓扑的缺陷。
鉴于此,为了解决全局网络拓扑规模较小的问题,本申请实施例提供一种基于软件定义网络SDN的全局网络管理方法,其应用于SDN控制器,SDN控制器属于SDN控制器集群,SDN控制器集群中各SDN控制器分别与分布式数据库相连,且各SDN控制器分别与多个互连的交换机相连并形成一网络域;任一交换机属于唯一的一个网络域,并且,任一交换机可以连接至少两个SDN控制器。如图2所示,基于SDN的全局网络管理方法包括如下步骤S200至步骤S220。其中:
S200:获取自身所在网络域内交换机间的第一拓扑信息。
本步骤可以通过SDN控制器获取自身所在网络域内多个交换机之间的第 一拓扑信息。其中,SDN控制器集群中的每一个SDN控制器可以只管控整个网络中的部分交换机。SDN控制器例如可以为FloodLight控制器(泛光控制器)、OpenDayLight控制器(一种开源控制器)等任意商用或开源的控制器,其中,FloodLight控制器的结构精简且采用模块化设计模式,易于增加和开发上层虚拟网络应用。另外,SDN控制器运行在服务器(例如,X86架构服务器)上,并在该服务器上进行诸如拓扑发现、流表下发、数据包上报处理等数据流的处理。每个SDN控制器通过交换机的IP地址和端口号可以管理一定数量的交换机。
可选地,交换机可以为支持OpenFlow协议的OpenFlow交换机。交换机的端口既可以用于收发控制包,也可以用于收发数据包。并且,交换机可以在本地维护一个流表。
第一拓扑信息可以包括但不限于各交换机的IP地址和端口号。
表1示例性地示出了第一拓扑信息。表1中的信息表示第一交换机通过1号端口与第二交换机相连;第二交换机通过5号端口与第三交换机相连。
表1
开始转发包的交换机 端口号 相连的下一个的交换机
第一交换机 1号 第二交换机
第二交换机 5号 第三交换机
另外,为了方案清楚,图3示例性地示出了一种网络拓扑结构示意图。图3所示网络拓扑为数据中心三层网络拓扑结构。其中包括分布式数据库30、网络域31和网络域32。其中,网络域31包括SDN控制器311与交换机3111、交换机3121、交换机3122、交换机3131和交换机3132。网络域32包括SDN控制器321与交换机3211、交换机3221、交换机3222和交换机3231。交换机3111、交换机3211、交换机3121、交换机3122、交换机3221和交换机3222构成full mesh(全网状)连接的网络,以从接入层网络设备双上行至中间汇聚层网络进而提供无阻塞数据转发。其中,接入层用于向本地网段提供工作站接入服务,接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性。汇聚层是指位于网络接入层和核心层之间的中 介层,以减轻核心层设备的负荷,汇聚层需要能够处理来自接入层设备的所有通信量,并提供到核心层的上行链路,因此汇聚层交换机与接入层交换机比较,需要更高的性能,更少的接口和更高的交换速率。核心层是指网络主干网络层,核心层应该具有如下几个特性:可靠性、高效性、冗余性、容错性、可管理性、适应性、低延时性等,并且,在核心层中,应该采用高带宽的千兆以上交换机。SDN控制器311和SDN控制器321可以构成SDN控制器集群。分布式数据库30可以由开源的数据库予以实现,并且该分布式数据库30可以提供分布式锁功能,以保证SDN控制器集群中的所有SDN控制器节点数据的有序和有效的读写。如图3所示,SDN控制器311获取网络域31内交换机3111、交换机3131、交换机3132、交换机3131和交换机3132间的拓扑信息;SDN控制器321获取网络域32内交换机3211、交换机3221、交换机3222和交换机3231之间的拓扑信息。
具体地,在一些可选的实施例中,如图4所示,本步骤可以包括如下步骤S201至步骤S203。其中:
S201:向自身所在网络域内的交换机分别发送拓扑信息请求。
在实际应用中,任一交换机中配置有同一网络域内的SDN控制器的IP(网际间协议)地址。交换机可以主动与SDN控制器建立连接。连接建立之后,SDN控制器向自身所在网络域内的交换机发送拓扑信息请求。
沿用图3所示示例,SDN控制器311可以向网络域31内的各个交换机发送拓扑信息请求。
S202:分别接收各交换机针对拓扑信息请求发送的端口信息及与之相连的交换机的端口信息。也就是说,任一交换机发送的端口信息包括该交换机的端口信息,以及与该交换机相连的交换机的端口信息。
其中,端口信息可以是交换机的端口号,例如,2号、5号等。
在实际应用中,任一交换机接收到拓扑信息请求之后,向SDN控制器发送自身的端口信息以及与该交换机相连的交换机的端口信息。
沿用图3所示示例,以网络域31内的交换机3131为例,SDN控制器311接收交换机3131发送的其自身的端口号以及交换机3121、交换机3122所用的端口号。
S203:根据接收到的端口信息,得到自身所在网络域内交换机间的第一拓扑信息。
本步骤在接收到端口信息后,可以根据各个交换机的端口之间的连接关系,绘制出拓扑图,形成第一拓扑信息。
以表一为例,表一中的信息表示第一交换机通过1号端口与第二交换机相连;第二交换机通过5号端口与第三交换机相连。通过该拓扑信息,可以得到第一交换机与第二交换机之间的拓扑信息。
在一种可选的实施例中,在步骤S200之后,基于SDN的全局网络管理方法还可以包括:
将第一拓扑信息发送至分布式数据库。
本步骤中,各个SDN控制器可以将各自所获取到的拓扑信息发送至分布式数据库,实现了对该分布式数据库中所存储的拓扑信息的更新。
S210:从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息。
也就是说,SDN控制器从分布式数据库获取第二拓扑信息,该第二拓扑信息为SDN控制器集群中其他SDN控制器所在网络域内交换机间的拓扑信息。
其中,有关第二拓扑信息的说明可以参见本文对第一拓扑信息的说明,在此不再赘述。
本申请实施例既获取自身所在网络域内交换机间的第一拓扑信息,也通过本步骤获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息,以用于获得全局网络拓扑。
在一种可选的实施例中,如图5所示,步骤S210具体可以包括步骤S211和步骤S212。其中:
S211:接收分布式数据库发送的拓扑信息更新通知;其中,拓扑信息更新通知为:分布式数据库在接收到由其他SDN控制器发送的拓扑信息时发送的。
在具体实施过程中,各个SDN控制器实时监测分布式数据库的拓扑信息更新。当分布式数据库中的拓扑信息发生更新时,分布式数据库通知各个SDN 控制器,然后,各个SDN控制器接收该分布式数据库发送的拓扑信息更新通知。
沿用图3所示示例,如果SDN控制器311将拓扑信息发送至分布式数据库30;则该分布式数据库30向SDN控制器321发送拓扑信息更新通知。
S212:根据拓扑信息更新通知从分布式数据库获取SDN控制器集群中其他SDN控制器所在网络域内交换机间的第二拓扑信息。也就是说,SDN控制器当接收到所述拓扑信息更新通知时,从所述分布式数据库获取第二拓扑信息。
作为示例,各个SDN控制器接收到更新通知后,从该分布式数据库中获取其他SDN控制器发送至分布式数据库的拓扑信息,由此实现了全局拓扑信息的同步。
S220:根据第一拓扑信息和第二拓扑信息,确定全局网络拓扑。
本步骤根据所获取到的自身网络域内的交换机间的拓扑信息,以及从分布式数据库同步得到的其他SDN控制器所在网络域内交换机间的拓扑信息,可以获得整个网络中各个网络域内各个交换机端口之间的连接关系,据此可以拼出一张拓扑图,从而确定出全局网络拓扑。
以图3所示为例,交换机3111、交换机3211、交换机3121、交换机3122、交换机3221和交换机3222可以采用32╳40G接口的DC Core(Data Center Core,核心交换机);交换机3131、交换机3132和交换机3231可以采用48╳10G+4╳40G的TOR(柜顶式交换机);在这种拓扑结构下,采用48台DC Core和128台TOR可以提供3:1收敛的6144个10G的接入口。将该接入口连接X86服务器,该X86服务器上运行Vswitch(虚拟交换机)和SDN控制器,作为转发使用。如果按照24核、128G内存的服务器配置,本实施例可以提供10万规模的网络拓扑。与采用一台SDN控制器的现有技术相比,扩大了全局网络拓扑的规模。
本申请实施例由于利用SDN控制器集群中各个SDN控制器分别获取各自所在网络域内的拓扑信息,并再通过分布式数据库获取其他各个SDN控制器所获得的拓扑信息,由此实现了全局网络拓扑的发现。
在现有使用分布式数据库发现网络拓扑的方案中,使用分布式数据库统 一存放网络拓扑、流表以及OpenDayLight等SDN控制器状态等信息,也就是把所有状态信息都剥离出去,统一存储在一个分布式数据库中。该方案虽然通过分布式数据库解决了规模化的瓶颈,但是,该方案将网络拓扑以及所有状态信息都存放在统一的数据库中。因此,该方案不仅增加了控制器的逻辑复杂度,而且对于分布式数据库的性能要求也很高,比如,实时变化的流表信息,如不能及时存储和更新,将会造成网络通路的混乱,导致网络故障。
另外,在现有采用部分控制器使用二段提交方式的方案中,将控制器分为两层。其中,下面一层的控制器各自管理部分OpenFlow交换机,上层为中央控制器,管理下层中的各个控制器,从下层控制器收取网络拓扑信息,从而发现全局拓扑。在该方案中,下层控制器能够处理部分流表下发等请求,只有不能处理的请求才转发到上层中央控制器进行处理。所以,当下层中的控制器增多之后,中央控制器会成为性能瓶颈,从而造成网络性能不佳。
然而,在本申请实施例中,提出了一个完善的分布式控制器方案,同样是使用统一的分布式数据库存取状态信息,但是,由于SDN控制器与分布式数据库之间只同步拓扑信息,该拓扑信息的信息量小且稳定、不会发生变化,而没有向该分布式数据库引入路径计算和流表下发等逻辑;所以,本申请实施例对分布式数据库的性能要求小,并由此还可以确保良好的全局拓扑同步实时性,还改善了网络性能。
在一些可选的实施例中,基于上述任一实施例,如图6所示,基于SDN的全局网络管理方法还可以包括:
S230:根据全局网络拓扑,控制自身所在网络域内各交换机进行数据转发。
本实施例依据全局网络拓扑控制,控制自身网络域内各个交换机对数据包进行转发,并最终将该数据包转发至目的服务器。
在具体实施过程中,可以将多个OpenFlow交换机和SDN控制器构成数据面;然后,通过数据面来转发数据包。
在一种可选的实施例中,在上述实施例的基础上,根据全局网络拓扑,控制自身所在网络域内各交换机进行数据转发的步骤具体包括:
根据全局网络拓扑生成流表,并向自身所在网络域内各交换机分别发送 流表,以使自身所在网络域内各交换机按照所接收到的流表进行数据转发。
在本实施例中,流表包括多个流表项;每个流表项可以包括一个或多个匹配域,具体地,可以包括诸如头域、目的MAC(Media Access Control,媒体接入控制层)地址、源MAC地址、目的IP地址、源IP地址、TCP端口号/UDP端口号、指令等。其中,指令用于指示通过哪个端口转发数据包。当然,流表项中还可以包括计数器等。其中,计数器用于统计该流表项被命中的次数。
作为示例,本步骤在向自身所在网络域内各交换机分别发送流表时,可以依据路径上交换机与自身跳数的多少,按照从小到大的顺序向各个交换机发送流表项。
另外,本领域技术人员应该能够理解,为了使得交换机可以转发数据包,可以向该交换机发送初始流表。具体地,可以采取控制平面和数据平面相分离的方式来获取流表。例如,OpenFlow交换机基于LLDP协议(Link LayerDiscovery Protocol,链路层发现协议)和STP协议(Spanning Tree Protocol,生成树协议)等连通控制平面,也就是通过上述协议生成的转发表实现各种OpenFlow控制消息的转发。OpenFlow交换机向SDN控制器发送流表请求;SDN控制器接收到该流表请求后,通过控制平面向该OpenFlow交换机发送流表项;OpenFlow交换机接收到该流表项后将其添加到自身本地维护的流表中,从而获得初始流表。
在一些可选的实施例中,在上述实施例的基础上,自身所在网络域内各交换机包括多个提供商边缘交换机;如图7所示,根据全局网络拓扑生成流表的步骤包括如下步骤S231和步骤S232。其中:
S231:根据全局网络拓扑,按照预定算法计算多个提供商边缘交换机之间的路径。
其中,预定算法例如可以为最小路径算法、最优路径算法、关键路径算法等,但绝不限于此。
其中,提供商边缘交换机(即provideer edge交换机,简称PE设备)可以为所带负载小的交换机,例如可以为单个端口为10Gb吞吐量的交换机。PE设备例如可以为普通的交换机。该PE设备连接服务器。需要说明的是,该提 供商边缘交换机也称为运营商边缘交换机,属于网络侧边缘设备,通常要求具备封装与解封装能力。
与上述提供商边缘交换机相对应地,本文还定义了提供商交换机(即provider交换机,简称P设备),其可以为带负载大的交换机,例如,可以为单个端口为40Gb吞吐量的交换机。该P设备可以作为中间节点,未连接服务器。需要说明的是,该提供商交换机也称为运营商交换机,属于核心层设备,要求具备标签交换能力。
S232:生成包含路径的流表。
本实施例中,路径计算和流表均由各SDN控制器独自计算和存储,对分布式数据库的要求小,改善了网络性能。
在一些可选的实施例中,在上述实施例的基础上,如图8所示,根据全局网络拓扑,按照预定算法计算多个提供商边缘交换机之间的路径的步骤具体可以包括步骤S2311至步骤S2313。其中:
S2311:接收自身所在网络域内交换机发送的数据包。
当至少发生以下情况时,交换机将数据包发送至SDN控制器:
情况一:交换机接收到没有与任何流表项相匹配的数据包;
上述情况发生时,交换机将数据包发送至自身所在网络域内的SDN控制器,以获得可以匹配的流表。
情况二:交换机接收到数据包,但没有接收到SDN控制器下发的流表。
上述情况包括交换机在预定时间(例如,3分钟、5分钟)内没有匹配到流表,而将不匹配的流表删除的情况。在情况二发生时,交换机将数据包发送至SDN控制器,以获取与数据包相匹配的流表。
S2312:解析数据包,得到目的MAC地址。
S2313:根据全局网络拓扑和目的MAC地址,按照预定算法计算多个提供商边缘交换机之间的路径。
其中,预定算法例如可以为最小路径算法、最优路径算法、关键路径算法等,但绝不限于此。其中,所谓的根据全局网络拓扑和目的MAC地址,按照预定算法计算多个提供商边缘交换机之间的路径,具体指:根据全局网络拓扑,计算从作为数据包发送方的交换机到达目的MAC地址的路径,所计算 的路径为关于多个提供商边缘交换机的路径,也就是,依次经过哪几个提供商边缘交换机到达目的MAC地址。
为了便于网络管理和路径计算,本申请实施例将交换机区分为提供商边缘交换机和提供商交换机,也就是将交换机分为PE(provider edge,提供商边缘)角色和P(provider,提供商)角色,分别简称PE设备和P设备。交换机的角色适用于SDN控制器,对物理交换机透明。SDN控制器根据角色来维护网络域内的拓扑。具体地,P设备在网络拓扑中仅作为中间节点,不作为路径计算的源或者目的节点;在发现网络拓扑时,PE设备之间的link(链路)判定为非法链接,其被忽略。所以,本步骤按照诸如最小路径算法、最优路径算法、关键路径算法等计算PE设备间的路径。
在实际应用中,上述P角色和PE角色可以通过SwitchRoleManager(交换机角色管理器)来维护交换机与角色的对应关系。用户可以通过Restful API(Representational State Transfer API,资源表现层状态转化应用程序编程接口)查看所有交换机的角色信息,或者设定/删除某个交换机的角色配置。
下面结合图9以具体的实施例对本申请实施例根据交换机角色维护全局网络拓扑的过程进行详细说明。本实施例以网络域内接入交换机为例。
当网络域内有新的交换机接入并与SDN控制器相连时,该SDN控制器识别该交换机;根据预定的交换机与角色的对应关系,确定所述交换机的角色;将确定了角色的交换机的Link线(也称为Link,即链路)、拓扑信息发送至分布式数据库。
具体地,如图9所示,SDN控制器可以包括拓扑管理器、交换机角色管理器、域拓扑管理器和全局拓扑管理器。
当存在交换机接入网络时,执行以下步骤:
步骤a1:拓扑管理器向交换机角色管理器发送交换机连接控制器通知;
步骤a2:交换机角色管理器在角色信息存在的情况下,对交换机的角色进行设置,并将设置后的角色信息发送至域拓扑管理器;
步骤a3:域拓扑管理器将交换机加入本地控制器拓扑;域拓扑管理器获取与该交换机相关的链路,并将其发送至拓扑管理器;将合法的Link线加入拓扑,并初始化链路权重,删除非法的Link线;将更新的拓扑信息发送至全 局拓扑管理器,更新之后,计算路径、流表预下发、更新链路权重;
步骤a4:全局拓扑管理器将分布式数据库的更新信息发送至域拓扑管理器,以供其他SDN控制根据更新后的全局网络拓扑信息,按照预定算法计算多个提供商边缘交换机之间的路径。
同理,当交换机与所在网络域内的SDN控制器断开连接时,处理过程与交换机接入的情况类似,在此不再赘述。
下面结合图10以具体的实施例对本申请实施例根据交换机角色维护全局网络拓扑的过程进行详细说明。本实施例以链路状态变化为例。
当网络拓扑中链路状态变化时,会触发域拓扑管理器进行相关处理。新增Link线时,会更新本地拓扑,然后将信息更新到分布式数据库,共其他SDN控制器进行全局拓扑同步。当Link线断开时,会检测本地拓扑中是否存在该Link线;若存在,则更新路径计算和流表下发等操作;然后,将该Link线删除,并更新至分布式数据库中。
如图10所示,拓扑管理器向域拓扑管理器发送Link增加/断开消息;域拓扑管理器在Link合法的情况下,将Link加入拓扑,初始化链路权重为1(),然后,向全局拓扑管理器发送更新分布式数据库的指令;在Link非法的情况下,域拓扑管理器将Link标志警告,不作处理。如果拓扑中存在该Link,则域拓扑管理器从拓扑中删除该Link,然后,向全局拓扑管理器发送更新分布式数据库信息;如果拓扑中不存在该Link,则域拓扑管理器从告警Link中删除该Link,进行相关路径计算、流表下发等操作。当有Link线断开时,会检测本地拓扑中是否存在该Link线,若存在,则会更新路径计算和流表下发等操作,然后,将Link线删除,并更新到分布式数据库,以供其他SDN控制器根据更新后的全局网络拓扑信息,按照预定算法计算多个提供商边缘交换机之间的路径。
现有技术中,由于只采取一台SDN控制器对网络进行集中式管理。如果这台SDN控制器发生故障宕机,由于没有备用的SDN控制器接替该发生故障宕机的SDN控制器,因此整个网络就无法正常工作了。因而,现有技术存在单点故障的缺陷。
鉴于上述现有技术存在的缺陷,在一些可选的实施例中,在图4所示实 施例的基础上,基于SDN的全局网络管理方法还包括如下步骤b1和步骤b2。
步骤b1:接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,网络连接请求是由其他网络域内的交换机在其他网络域的SDN控制器出现故障时发送的;
本步骤在具体实施过程中,可以在交换机中配置至少两台SDN控制器的IP地址,以使得该交换机可以收到至少两台SDN控制器的管理。
举例而言,如果将OpenFlow交换机与第一SDN控制器和第二SDN控制器相连,则在该OpenFlow交换机中配置第一SDN控制器和第二SDN控制器的IP地址,并使得该OpenFlow交换机与第一SDN控制器处于同一网络域内。这样,该OpenFlow交换机与第二SDN控制器处于不同的网络域。当第一SDN控制器发生故障时,该OpenFlow交换机由于配置有第二SDN控制器的IP地址,因而,此时,该OpenFlow交换机可以去连接第二SDN控制器,也就是向第二SDN控制器发送网络连接请求。第二SDN控制器接收其他网络域内的、该OpenFlow交换机发送的网络连接请求。
步骤b2:根据网络连接请求,与其他网络域内的交换机建立网络连接。
沿用上例,当第二SDN控制器接收到该网络连接请求后,与该OpenFlow交换机建立网络连接,以对该OpenFlow交换机进行管理。其中,该网络连接例如可以为TCP(传输控制协议)连接。
本实施例由于将交换机与至少两台SDN控制器相连;因此,当其中一台SDN控制器发生故障宕机而无法正常工作时,该交换机可以与其他未发生故障宕机的SDN控制器进行网络连接而维持正常的工作。故,与采用一主多备的方案相比,本实施例克服了单点故障的缺陷,而且通过本申请实施例提供的技术方案,可以使得网络不受限于一台SDN控制器的性能的影响,克服了性能瓶颈的缺陷,从而提高了网络的处理速度和网络拓扑规模。
综上所述,本申请实施例通过采取上述任一技术方案,通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓 扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本申请实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本申请实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
现有的OpenFlow网络由于通常采用一台SDN控制器来发现全局网络拓扑以对交换机进行管理而存在全局网络拓扑规模小的缺陷。由此,网络额规模化支持受限于SDN控制器的性能。因此,为了解决如何扩大全局网络拓扑规模的技术问题,本申请实施例提供一种基于软件定义网络SDN的全局网络管理装置,该装置可以执行上述方法实施例。装置应用于SDN控制器,SDN控制器属于SDN控制器集群,SDN控制器集群中各SDN控制器分别与分布式数据库相连,且各SDN控制器分别与多个互连的交换机相连并形成一网络域;如图11所示,基于SDN的全局网络管理装置包括:第一获取模块111、第二获取模块112和确定模块113。
第一获取模块111,设置为获取自身所在网络域内交换机间的第一拓扑信息。
第二获取模块112,设置为从分布式数据库获取第二拓扑信息,所述第二拓扑信息为:SDN控制器集群中其他SDN控制器所在网络域内交换机间的拓扑信息。
确定模块113,与上述第一获取模块111和上述第二获取模块112连接,设置为根据第一拓扑信息和第二拓扑信息,确定全局网络拓扑。
本实施例通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个交换机相连,SDN控制器集群中的每一个SDN控制器不仅通过第一获取模块111获取自身所在网络域内的第一拓扑信息,而且还通过第二获取模块112从分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而通过确定模块113可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且,通过第二获取模块112从分布式数据库获取其他SDN控制器所在网络域内的 第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本申请实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本申请实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
在一些可选的实施例中,如图12所示,第一获取模块包括:
第一发送单元121,设置为向自身所在网络域内的交换机分别发送拓扑信息请求;第一接收单元122,设置为分别接收各交换机针对拓扑信息请求发送的端口信息,任一交换机的端口信息包括该交换机的端口信息,以及与该交换机相连的交换机的端口信息;第一获取单元123,设置为根据接收到的端口信息,得到自身所在网络域内交换机间的第一拓扑信息。
在一种可选的实施例中,如图13所示,基于SDN的全局网络管理装置还可以包括:发送模块114,设置为将第一拓扑信息发送至分布式数据库。
在一种可选的实施例中,如图14所示,第二获取模块具体包括:
第二接收单元141,用于接收分布式数据库发送的拓扑信息更新通知;其中,拓扑信息更新通知为:分布式数据库在接收到由其他SDN控制器发送的拓扑信息时发送的;
第二获取单元142,设置为当接收到拓扑信息更新通知时,从分布式数据库获取第二拓扑信息。
在一种可选的实施例中,基于SDN的全局网络管理装置还可以包括:
控制模块,设置为根据全局网络拓扑,控制自身所在网络域内各交换机进行数据转发。
在一种可选的实施例中,控制模块设置为根据全局网络拓扑生成流表,并向自身所在网络域内各交换机分别发送流表,以使自身所在网络域内各交换机按照所接收到的流表进行数据转发。
在一种可选的实施例中,自身所在网络域内各交换机包括多个提供商边缘交换机;
如图15所示,控制模块具体包括:
计算单元151,设置为根据全局网络拓扑,按照预定算法计算多个提供商 边缘交换机之间的路径;
生成单元152,设置为生成包含路径的流表。
在一些可选的实施例中,如图16所示,计算单元具体包括:
接收子单元161,设置为接收自身所在网络域内交换机发送的数据包;
解析子单元162,设置为解析数据包,得到目的MAC地址;
计算子单元163,设置为根据全局网络拓扑和目的MAC地址,按照预定算法计算多个提供商边缘交换机之间的路径。
在一些可选的实施例中,基于SDN的全局网络管理装置还可以包括:
接收模块,设置为接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,网络连接请求是由其他网络域内的交换机在其他网络域的SDN控制器出现故障时发送的;
建立模块,设置为根据网络连接请求,与其他网络域内的交换机建立网络连接。
有关基于SDN的全局网络管理装置实施例的说明可以参考前述基于SDN的全局网络管理方法实施例的说明,在此不再赘述。
基于与方法实施例相同的技术构思,本申请实施例还提供了一种电子设备,如图17所示,包括处理器171和存储器172;
存储器172,设置为存放计算机程序;
处理器171,设置为执行存储器172上所存放的程序时,实现上述基于SDN的全局网络管理方法实施例中所述的方法步骤。
当然,本领域技术人员应能理解,上述实施例还可以包括通信接口和通信总线,这些明显变形或等同替换的实施例也应包含在本申请的保护范围之内。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图17中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述通信接口设置为上述电子设备与其他设备之间的通信。
上述存储器172可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器171可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Ne twork Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Applica tion Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
上述电子设备包括但不限于智能手机、计算机、个人数字助理、可穿戴设备等。
本实施例中,通过处理器171执行存储器172上所存放的程序,实现了通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本申请实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本申请实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
基于与方法实施例相同的技术构思,本申请实施例还提供了一种计算机可读存储介质。该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述基于SDN的全局网络管理方法实施例中所述的方法步骤。
上述计算机可读存储介质可以包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦写可编程只读存储器(EPROM)、 电可擦写可编程只读存储器(EEPROM)、闪存(例如,NOR型闪存或NAND型闪存)、内容可寻址存储器(CAM)、聚合物存储器(例如,铁电聚合物存储器)、相变存储器、双向开关半导体存储器、硅-氧化物-氮化硅-氧化硅-硅(Silicon-Oxide-Nitride-Oxide-Silicon,SONOS)存储器、磁卡或者光卡,亦或是其他任意适当类型的计算机可读存储介质。
本实施例中,计算机程序被处理器执行时实现了通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本申请实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本申请实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。
相应于上述的方法实施例,本申请实施例还提供了一种应用程序,所述应用程序用于在运行时执行本申请实施例所提供的方法步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描 述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
工业实用性
基于本申请实施例提供的上述网络管理方法、装置、电子设备和存储介质,在网络管理时,通过SDN控制器集群来控制交换机,并使得每一个SDN控制器在一个网络域内与多个互连的交换机相连,SDN控制器集群中的每一个SDN控制器不仅获取自身所在网络域内的第一拓扑信息,而且还通过分布式数据库获取其他SDN控制器所在网络域的第二拓扑信息,从而使得每一个SDN控制器可以获得整个网络的全局网络拓扑,由此扩大了网络拓扑的规模,并且可以实现网络拓扑规模的无限扩展,因此可以解决全局网络拓扑规模较小的问题。而且通过分布式数据库获取其他SDN控制器所在网络域内的第二拓扑信息的步骤,还实现了全局拓扑信息的同步更新。另外,在本申请实施例中,SDN控制器从分布式数据库获取的是拓扑信息,而没有涉及到诸如与路径计算、流表下发等相关信息;因此,本申请实施例对分布式数据库的性能要求小,提高了网络性能,从而克服了现有技术存在的SDN控制性能瓶颈的缺陷。

Claims (21)

  1. 一种基于软件定义网络SDN的全局网络管理方法,所述方法应用于SDN控制器,所述SDN控制器属于SDN控制器集群,所述SDN控制器集群中各SDN控制器分别与分布式数据库相连,且所述各SDN控制器分别与多个互连的交换机相连并形成一网络域;所述方法包括:
    获取自身所在网络域内交换机间的第一拓扑信息;
    从所述分布式数据库获取第二拓扑信息,所述第二拓扑信息为:所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的拓扑信息;
    根据所述第一拓扑信息和所述第二拓扑信息,确定全局网络拓扑。
  2. 根据权利要求1所述的方法,其中,所述获取自身所在网络域内交换机间的第一拓扑信息的步骤,包括:
    向自身所在网络域内的交换机分别发送拓扑信息请求;
    分别接收各交换机针对所述拓扑信息请求发送的端口信息,任一交换机发送的端口信息包括该交换机的端口信息,以及与该交换机相连的交换机的端口信息;
    根据接收到的端口信息,得到所述自身所在网络域内交换机间的第一拓扑信息。
  3. 根据权利要求1所述的方法,其中,在所述获取自身所在网络域内交换机间的第一拓扑信息的步骤之后,所述方法包括:
    将所述第一拓扑信息发送至所述分布式数据库。
  4. 根据权利要求1所述的方法,其中,所述从所述分布式数据库获取第二拓扑信息的步骤,包括:
    接收所述分布式数据库发送的拓扑信息更新通知;其中,所述拓扑信息更新通知为:所述分布式数据库在接收到由所述其他SDN控制器发送的拓扑信息时发送的;
    当接收到所述拓扑信息更新通知时,从所述分布式数据库获取第二拓扑信息。
  5. 根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:
    根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据 转发。
  6. 根据权利要求5所述的方法,其中,所述根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据转发的步骤,包括:
    根据所述全局网络拓扑生成流表,并向所述自身所在网络域内各交换机分别发送所述流表,以使自身所在网络域内各交换机按照所接收到的流表进行数据转发。
  7. 根据权利要求6所述的方法,其中,所述自身所在网络域内各交换机包括多个提供商边缘交换机;
    所述根据所述全局网络拓扑生成流表的步骤,包括:
    根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径;
    生成包含所述路径的流表。
  8. 根据权利要求7所述的方法,其中,所述根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径的步骤,包括:
    接收所述自身所在网络域内交换机发送的数据包;
    解析所述数据包,得到目的MAC地址;
    根据所述全局网络拓扑和所述目的MAC地址,按照预定算法计算所述多个提供商边缘交换机之间的路径。
  9. 根据权利要求1所述的方法,其中,所述方法还包括:
    接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,所述网络连接请求是由所述其他网络域内的交换机在所述其他网络域的SDN控制器出现故障时发送的;
    根据所述网络连接请求,与所述其他网络域内的交换机建立网络连接。
  10. 一种基于软件定义网络SDN的全局网络管理装置,所述装置应用于SDN控制器,所述SDN控制器属于SDN控制器集群,所述SDN控制器集群中各SDN控制器分别与分布式数据库相连,且所述各SDN控制器分别与多个互连的交换机相连并形成一网络域;
    所述装置包括:
    第一获取模块,设置为获取自身所在网络域内交换机间的第一拓扑信息;
    第二获取模块,设置为从所述分布式数据库获取第二拓扑信息,所述第二拓扑信息为:所述SDN控制器集群中其他SDN控制器所在网络域内交换机间的拓扑信息;
    确定模块,设置为根据所述第一拓扑信息和所述第二拓扑信息,确定全局网络拓扑。
  11. 根据权利要求10所述的装置,其中,所述第一获取模块包括:
    第一发送单元,设置为向自身所在网络域内的交换机分别发送拓扑信息请求;
    第一接收单元,设置为分别接收各交换机针对所述拓扑信息请求发送的端口信息,任一交换机发送的端口信息包括该交换机的端口信息,以及与该交换机相连的交换机的端口信息;
    第一获取单元,设置为根据接收到的端口信息,得到所述自身所在网络域内交换机间的第一拓扑信息。
  12. 根据权利要求10所述的装置,其中,所述装置还包括:
    发送模块,设置为将所述第一拓扑信息发送至所述分布式数据库。
  13. 根据权利要求10所述的装置,其中,所述第二获取模块包括:
    第二接收单元,设置为接收所述分布式数据库发送的拓扑信息更新通知;其中,所述拓扑信息更新通知为:所述分布式数据库在接收到由所述其他SDN控制器发送的拓扑信息时发送的;
    第二获取单元,设置为当接收到所述拓扑信息更新通知时,从所述分布式数据库获取第二拓扑信息。
  14. 根据权利要求10-13中任一项所述的装置,其中,所述装置还包括:
    控制模块,设置为根据所述全局网络拓扑,控制所述自身所在网络域内各交换机进行数据转发。
  15. 根据权利要求14所述的装置,其中,所述控制模块设置为根据所述全局网络拓扑生成流表,并向所述自身所在网络域内各交换机分别发送所述流表,以使所述自身所在网络域内各交换机按照所接收到的流表进行数据转发。
  16. 根据权利要求15所述的装置,其中,所述自身所在网络域内各交换 机包括多个提供商边缘交换机;
    所述控制模块包括:
    计算单元,设置为根据所述全局网络拓扑,按照预定算法计算所述多个提供商边缘交换机之间的路径;
    生成单元,设置为生成包含所述路径的流表。
  17. 根据权利要求16所述的装置,其中,所述计算单元包括:
    接收子单元,设置为接收所述自身所在网络域内交换机发送的数据包;
    解析子单元,设置为解析所述数据包,得到目的MAC地址;
    计算子单元,设置为根据所述全局网络拓扑和所述目的MAC地址,按照预定算法计算所述多个提供商边缘交换机之间的路径。
  18. 根据权利要求10所述的装置,其中,所述装置还包括:
    接收模块,设置为接收自身所在网络域之外的其他网络域内交换机发送的网络连接请求;其中,所述网络连接请求是由所述其他网络域内的交换机在所述其他网络域的SDN控制器出现故障时发送的;
    建立模块,设置为根据所述网络连接请求,与所述其他网络域内的交换机建立网络连接。
  19. 一种电子设备,包括处理器和存储器;
    所述存储器,设置为存放计算机程序;
    所述处理器,设置为执行存储器上所存放的程序时,实现权利要求1-9任一所述的方法步骤。
  20. 一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一所述的方法步骤。
  21. 一种应用程序,所述应用程序用于在运行时执行权利要求1-9任一项所述的方法步骤。
PCT/CN2018/119512 2017-12-07 2018-12-06 网络管理方法、装置、电子设备和存储介质 WO2019109970A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711283418.8A CN109905251B (zh) 2017-12-07 2017-12-07 网络管理方法、装置、电子设备和存储介质
CN201711283418.8 2017-12-07

Publications (1)

Publication Number Publication Date
WO2019109970A1 true WO2019109970A1 (zh) 2019-06-13

Family

ID=66750816

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/119512 WO2019109970A1 (zh) 2017-12-07 2018-12-06 网络管理方法、装置、电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN109905251B (zh)
WO (1) WO2019109970A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210147966A (ko) * 2020-05-30 2021-12-07 후아웨이 테크놀러지 컴퍼니 리미티드 네트워크 토폴로지 발견 방법, 디바이스, 및 시스템

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585917B (zh) * 2020-06-10 2021-03-30 广州市品高软件股份有限公司 一种裸金属服务器网络系统及其实现方法
CN112187523A (zh) * 2020-09-10 2021-01-05 华云数据控股集团有限公司 一种网络高可用实现方法及超融合系统
CN112689163A (zh) * 2020-12-02 2021-04-20 中国民航机场建设集团有限公司 一种基于sdn和网内缓存的视频服务传输系统和方法
CN114629791B (zh) * 2020-12-21 2024-03-26 亚信科技(中国)有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN113055232B (zh) * 2021-03-11 2022-07-12 浪潮思科网络科技有限公司 一种网络配置部署方法、装置与设备
CN115086978B (zh) * 2021-03-11 2024-05-07 中国移动通信集团四川有限公司 网络功能虚拟化sdn网络系统
CN113329055B (zh) * 2021-04-30 2023-04-07 网络通信与安全紫金山实验室 一种分布式sdn控制器系统及其控制方法与装置
CN114422529B (zh) * 2022-01-21 2023-07-11 中国联合网络通信集团有限公司 数据处理方法、设备及介质
CN115297157A (zh) * 2022-08-01 2022-11-04 中国电信股份有限公司 业务处理方法、装置、系统、介质及电子设备
TWI824827B (zh) * 2022-11-17 2023-12-01 中華電信股份有限公司 軟體定義網路的網路拓樸的管理系統和管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684922A (zh) * 2013-12-23 2014-03-26 蓝盾信息安全技术股份有限公司 基于sdn网络的出口信息保密检查检测平台系统及检测方法
CN105357024A (zh) * 2015-09-23 2016-02-24 清华大学 用于sdn网络的区域控制设备、域控制设备和控制系统
CN106936731A (zh) * 2015-12-31 2017-07-07 北京华为数字技术有限公司 软件定义网络sdn中的报文转发的方法和装置
CN107070681A (zh) * 2016-12-07 2017-08-18 全球能源互联网研究院 基于软件定义网络sdn的网络拓扑获取方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811325B (zh) * 2014-01-24 2018-12-25 华为技术有限公司 一种集群节点控制器监控方法、相关装置以及控制器
CN104618475B (zh) * 2015-01-28 2018-10-30 清华大学 用于异构sdn网络的水平方向通信方法和sdn系统
CN105072037A (zh) * 2015-07-23 2015-11-18 北京航空航天大学 面向分布式sdn控制器的动态流表生成方法
CN106411736B (zh) * 2016-11-17 2020-06-09 中国电子科技集团公司第五十四研究所 一种面向软件定义卫星网络的节点资源发现策略优化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684922A (zh) * 2013-12-23 2014-03-26 蓝盾信息安全技术股份有限公司 基于sdn网络的出口信息保密检查检测平台系统及检测方法
CN105357024A (zh) * 2015-09-23 2016-02-24 清华大学 用于sdn网络的区域控制设备、域控制设备和控制系统
CN106936731A (zh) * 2015-12-31 2017-07-07 北京华为数字技术有限公司 软件定义网络sdn中的报文转发的方法和装置
CN107070681A (zh) * 2016-12-07 2017-08-18 全球能源互联网研究院 基于软件定义网络sdn的网络拓扑获取方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210147966A (ko) * 2020-05-30 2021-12-07 후아웨이 테크놀러지 컴퍼니 리미티드 네트워크 토폴로지 발견 방법, 디바이스, 및 시스템
KR102547701B1 (ko) * 2020-05-30 2023-06-27 후아웨이 테크놀러지 컴퍼니 리미티드 네트워크 토폴로지 발견 방법, 디바이스, 및 시스템

Also Published As

Publication number Publication date
CN109905251B (zh) 2020-12-18
CN109905251A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
WO2019109970A1 (zh) 网络管理方法、装置、电子设备和存储介质
US10862783B2 (en) OAM mechanisms for EVPN active-active services
US10469312B1 (en) Methods and apparatus for scalable resilient networks
US9628375B2 (en) N-node link aggregation group (LAG) systems that can support various topologies
US10200278B2 (en) Network management system control service for VXLAN on an MLAG domain
US9858104B2 (en) Connecting fabrics via switch-to-switch tunneling transparent to network servers
JP2022122873A (ja) 高性能コンピューティング環境においてパーティションメンバーシップに関連して定義されるマルチキャストグループメンバーシップを提供するシステムおよび方法
EP2850518B1 (en) System and method for routing traffic between distinct infiniband subnets based on fat-tree routing
US10404621B2 (en) Scalable InfiniBand packet-routing technique
US9401861B2 (en) Scalable MAC address distribution in an Ethernet fabric switch
WO2020219235A1 (en) Enabling access to dedicated resources in a virtual network using top of rack switches
TWI531908B (zh) A method of supporting virtual machine migration with Software Defined Network (SDN)
CN107547243B (zh) 一种报文转发方法及装置
EP3057270A1 (en) Technologies for modular forwarding table scalability
US20140301401A1 (en) Providing aggregation link groups in logical network device
WO2017101114A1 (zh) 一种数据中心网络组网的方法以及数据中心网络
EP3316555B1 (en) Mac address synchronization method, device and system
WO2015180154A1 (zh) 网络控制方法和装置
TWI759571B (zh) 基於流表的資料傳送方法
IL280472B1 (en) System and method for using cloud network software
WO2020093871A1 (zh) 下行报文发送、转发方法和装置
WO2023093513A1 (zh) 路径感知方法、装置及系统
WO2023071324A1 (zh) 报文转发方法及装置
CN109347734A (zh) 一种报文发送方法、装置、网络设备和计算机可读介质
Fan et al. Distributed and dynamic multicast scheduling in fat-tree data center networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18886359

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM1205A DATED 22/09/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18886359

Country of ref document: EP

Kind code of ref document: A1