CN109905251B - Network management method, device, electronic equipment and storage medium - Google Patents

Network management method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN109905251B
CN109905251B CN201711283418.8A CN201711283418A CN109905251B CN 109905251 B CN109905251 B CN 109905251B CN 201711283418 A CN201711283418 A CN 201711283418A CN 109905251 B CN109905251 B CN 109905251B
Authority
CN
China
Prior art keywords
network
switch
topology information
switches
sdn controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711283418.8A
Other languages
Chinese (zh)
Other versions
CN109905251A (en
Inventor
周帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201711283418.8A priority Critical patent/CN109905251B/en
Priority to PCT/CN2018/119512 priority patent/WO2019109970A1/en
Publication of CN109905251A publication Critical patent/CN109905251A/en
Application granted granted Critical
Publication of CN109905251B publication Critical patent/CN109905251B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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]

Abstract

The embodiment of the invention provides a method and a device for realizing global network management based on an SDN, electronic equipment and a storage medium. The method is applied to the SDN controller, the SDN controller belongs to an SDN controller cluster, and each SDN controller in the SDN controller cluster is connected with a distributed database and a plurality of switches respectively to form a network domain; any switch is connected with at least two SDN controllers; the network control method comprises the steps of obtaining first topology information among switches in a network domain; acquiring second topology information among switches in a network domain where other SDN controllers in the SDN controller cluster are located from a distributed database; determining global network topology information according to the first topology information and the second topology information; and controlling each switch in the network domain to forward data based on the global network topology information. Therefore, the embodiment of the invention enlarges the scale of the network topology, realizes the synchronous updating of the global topology information and has small requirement on the performance of the distributed database.

Description

Network management method, device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of network management technologies, and in particular, to a network management method and apparatus, an electronic device, and a storage medium.
Background
In recent years, the traditional network architecture is too complex to manage and flexible to meet the needs of people.
To meet the demand of flexibility and simplicity of Network management, the concept of SDN (Software Defined Network) is emerging. The core idea of the SDN concept is software programmability. Based on the concept of SDN, OpenFlow (a network protocol) networks without hierarchical network control are often used in network applications.
Currently, in an existing OpenFlow network, only one SDN controller is generally used to perform centralized network management on all switches in the network. For example, assume that there are 1500 switches and one SDN controller in an OpenFlow network. The 1500 switches generate 100000 data flows per second, and one SDN controller can only process about 30000 data flows, so that the OpenFlow network cannot bear setting of a sufficient number of switches when deployed, and thus, the scale of the global network topology is affected. Therefore, the existing OpenFlow network has the defect of small scale of the global network topology because one SDN controller is adopted to discover the global network topology to manage the switches.
Disclosure of Invention
Embodiments of the present invention provide a network management method, an apparatus, an electronic device, and a storage medium, so as to solve a technical problem how to enlarge a global network topology scale.
In order to achieve the above object, in a first aspect, the following technical solutions are provided:
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, each SDN controller in the SDN controller cluster is respectively connected with a distributed database, and each SDN controller is respectively connected with a plurality of interconnected switches to form a network domain;
the method comprises the following steps:
acquiring first topology information among switches in a network domain where the first topology information is located;
acquiring second topology information among switches in a network domain where other SDN controllers in the SDN controller cluster are located from the distributed database;
and determining the global network topology according to the first topology information and the second topology information.
Optionally, the step of obtaining the first topology information between the switches in the network domain in which the step is located includes:
respectively sending topology information requests to the switches in the network domain where the switches are located;
respectively receiving port information sent by each switch aiming at the topology information request and port information of the switch connected with the switch;
and obtaining the first topology information among the switches in the network domain where the first topology information is located according to the received port information.
Optionally, after the step of obtaining the first topology information between the switches in the network domain, the method includes:
and sending the first topology information to the distributed database.
Optionally, the step of obtaining second topology information between switches in a network domain where other SDN controllers in the SDN controller cluster are located from the distributed database includes:
receiving a topology information updating notice sent by the distributed database; wherein the topology information update notification is sent by the distributed database upon receiving the second topology information sent by the other SDN controller;
and acquiring second topology information among switches in a network domain where the other SDN controllers are located in the SDN controller cluster from the distributed database according to the topology information updating notice.
Optionally, the method further includes:
and controlling each switch in the network domain of the switch to forward data according to the global network topology.
Optionally, the step of controlling, according to the global network topology, each switch in the network domain where the switch is located to forward data includes:
and generating a flow table according to the global network topology, respectively sending the flow table to each switch in the network domain where the switch is located, and controlling each switch in the network domain where the switch is located to forward data.
Optionally, each switch in the network domain in which the switch is located includes a plurality of provider edge switches;
the step of generating a flow table according to the global network topology includes:
calculating paths among the plurality of provider edge switches according to a preset algorithm according to the global network topology;
a flow table is generated containing the path.
Optionally, the step of calculating paths between the multiple provider edge switches according to a predetermined algorithm according to the global network topology includes:
receiving a data packet sent by the switch in the network domain where the switch is located;
analyzing the data packet to obtain a destination MAC address;
and calculating paths among the plurality of provider edge switches according to a preset algorithm according to the global network topology and the destination MAC address.
Optionally, the method further includes:
receiving network connection requests sent by switches in other network domains except the network domain in which the switch is located; wherein the network connection request is sent by a switch within the other network domain upon a failure of an SDN controller of the other network domain;
and establishing network connection with the switches in other network domains according to the network connection request.
In order to achieve the above object, the second aspect further provides the following technical solutions:
a global network management device based on a Software Defined Network (SDN) is applied to an SDN controller, the SDN controller belongs to an SDN controller cluster, each SDN controller in the SDN controller cluster is respectively connected with a distributed database, and each SDN controller is respectively connected with a plurality of interconnected switches to form a network domain;
the device comprises:
the first acquisition module is used for acquiring first topology information among the switches in the network domain where the first acquisition module is located;
a second obtaining module, configured to 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;
and the determining module is used for determining the global network topology according to the first topology information and the second topology information.
Optionally, the first obtaining module includes:
the first sending unit is used for respectively sending topology information requests to the switches in the network domain where the first sending unit is located;
the first receiving unit is used for respectively receiving port information sent by each switch aiming at the topology information request and port information of the switch connected with the first receiving unit;
and the first acquisition unit is used for acquiring the first topology information among the switches in the network domain where the first topology information is located according to the received port information.
Optionally, the apparatus further comprises:
and the sending module is used for sending the first topology information to the distributed database.
Optionally, 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 sent by the distributed database upon receiving the second topology information sent by the other SDN controller;
a second obtaining unit, configured to obtain, according to the topology information update notification, second topology information between switches in a network domain where the other SDN controllers in the SDN controller cluster are located from the distributed database.
Optionally, the apparatus further comprises:
and the control module is used for controlling each switch in the network domain where the control module is located to forward data according to the global network topology.
Optionally, the control module is specifically configured to generate a flow table according to the global network topology, send the flow table to each switch in the network domain where the control module is located, and control each switch in the network domain where the control module is located to forward data.
Optionally, each switch in the network domain in which the switch is located includes a plurality of provider edge switches;
the control module includes:
a calculation unit, configured to calculate, according to the global network topology, paths between the provider edge switches according to a predetermined algorithm;
and a generating unit configured to generate a flow table including the path.
Optionally, the computing unit includes:
the receiving subunit is used for receiving the data packet sent by the switch in the network domain where the receiving subunit is located;
the analysis subunit is used for analyzing the data packet to obtain a destination MAC address;
and the calculating subunit is used for calculating paths among the plurality of provider edge switches according to a preset algorithm according to the global network topology and the destination MAC address.
Optionally, the apparatus further comprises:
the receiving module is used for receiving network connection requests sent by switches in other network domains except the network domain where the receiving module is located; wherein the network connection request is sent by a switch within the other network domain upon a failure of an SDN controller of the other network domain;
and the establishing module is used for establishing network connection with the switches in other network domains according to the network connection request.
In order to achieve the above object, a third aspect further provides the following technical solutions:
an electronic device comprising a processor and a memory;
the memory is used for storing a computer program;
the processor is configured to implement the method steps of the first aspect when executing the program stored in the memory.
In order to achieve the above object, a fourth aspect further provides the following technical solutions:
a computer-readable storage medium, having stored thereon a computer program which, when being executed by a processor, carries out the method steps of the first aspect.
The embodiment of the invention provides a method and a device for realizing global network management based on an SDN, electronic equipment and a storage medium. The network control method 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 connected with a distributed database and a plurality of switches respectively to form a network domain; the network control method comprises the following steps: acquiring first topology information among switches in a network domain where the first topology information is located; acquiring second topology information among switches in a network domain where other SDN controllers in the SDN controller cluster are located from a distributed database; and determining the global network topology according to the first topology information and the second topology information.
By adopting the technical scheme, the switches are controlled through the SDN controller cluster, each SDN controller is connected with a plurality of interconnected switches in one network domain, each SDN controller in the SDN controller cluster not only obtains first topology information of the network domain in which the SDN controller is located, but also obtains second topology information of the network domains in which other SDN controllers are located through the distributed database, and therefore each SDN controller can obtain the global network topology of the whole network, the scale of the network topology is enlarged, and the infinite expansion of the scale of the network topology can be realized. And the step of obtaining second topology information in the network domain where other SDN controllers are located through the distributed database also realizes the synchronous updating of the global topology information. In addition, in the embodiment of the present invention, the SDN controller obtains topology information from the distributed database without involving related information such as path calculation, flow table issue, and the like; therefore, the embodiment of the invention has low performance requirement on the distributed database, and improves the network performance, thereby overcoming the defect of SDN control performance bottleneck in the prior art.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Of course, not all of the advantages described above need to be achieved at the same time in the practice of any one product or method of the invention.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Figure 1 is a schematic diagram of a logical layered architecture of an SDN controller according to an embodiment of the invention;
fig. 2 is a flowchart illustrating a method for global network management based on SDN according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a network topology according to an embodiment of the present invention;
fig. 4 is a schematic flowchart of acquiring first topology information between switches in a network domain where the first topology information is located according to an embodiment of the present invention;
fig. 5 is a schematic flowchart illustrating a process of obtaining second topology information between switches in a network domain where other SDN controllers in an SDN controller cluster are located from a distributed database according to an embodiment of the present invention;
fig. 6 is a schematic flow chart illustrating a step of controlling each switch in the network domain where the switch is located to forward data according to the global network topology, which is added to the embodiment shown in fig. 2 according to the embodiment of the present invention;
fig. 7 is a schematic flow chart illustrating the generation of a flow table according to a global network topology according to an embodiment of the present invention;
FIG. 8 is a schematic flow chart illustrating a calculation of paths between a plurality of provider edge switches according to a predetermined algorithm based on a global network topology according to an embodiment of the present invention;
FIG. 9 is a schematic diagram of a process for maintaining a global network topology based on switch roles, according to an embodiment of the invention;
FIG. 10 is a schematic diagram of a process for maintaining a global network topology based on switch roles according to another embodiment of the present invention;
fig. 11 is a schematic structural diagram of a global network management device based on SDN according to an embodiment of the present invention;
FIG. 12 is a schematic structural diagram of a first obtaining module according to an embodiment of the present invention;
fig. 13 is a schematic structural diagram of a global network management device based on SDN according to another embodiment of the present invention;
FIG. 14 is a diagram illustrating a second obtaining module according to an embodiment of the present invention;
FIG. 15 is a block diagram of a control module according to an embodiment of the present invention;
FIG. 16 is a schematic structural diagram of a computing unit according to an embodiment of the present invention;
fig. 17 is a schematic structural diagram of an electronic device according to an embodiment of the invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The following is a detailed description of the terms referred to herein:
a link refers to a communication path between any connected nodes in a network; such as a communication path between two switches.
A path refers to a path from a source node to a destination node in a network; a path may contain one or more links; which may be referred to herein as paths between provider edge switches.
SDN: the network flow control method is a network architecture, and mainly separates a control plane and a data plane of network equipment through an OpenFlow protocol, so that the control of network flow is realized.
OpenFlow network: it includes a switch and a Controller; among them, the switch is preferably an OpenFlowSwitch (open flow switch). The OpenFlow switch is a core component of the entire OpenFlow network, including flow tables, secure channels, and OpenFlow protocols, and mainly manages forwarding of data layers. The safety channel is an interface for connecting the switch and the controller; the OpenFlow protocol is used to describe standards for information used for interaction between a controller and a switch, and interface standards of the controller and the switch. The OpenFlowSwitch has one or more flowtables (flow tables), and forwards packets only according to the flow tables. The generation, maintenance and issuing of the FlowTable is implemented by a Controller. Here, FlowTable does not refer to an IP five-tuple (IP source address, IP destination address, protocol number, source port, destination port), but encompasses almost all network fields of a two-to seven-layer network. Each key in the FlowTable may be wildcarded. The operator of the network may decide what granularity of flows to use. For example, if the operator only needs to perform packet routing according to the destination IP, only the IP destination address field in the FlowTable may be valid, and the others are all wildcards. The flow direction of a data packet in a traditional network is manually specified, although a switch and a router have control rights, the concept of the data packet does not exist, and only the data packet level switching is carried out; in the OpenFlow network, a Controller replaces a route, manages transmission paths of all data packets in the network, and realizes the function of a control layer.
Fig. 1 exemplarily shows a logical layered architecture diagram of an SDN controller (also referred to as an OpenFlow controller). The architecture shown in fig. 1 is generally divided into three layers, namely an application layer, a control plane layer and a data plane layer. Wherein, the control plane layer and the data plane layer are based on the same physical network. The data plane layer is used as a bottom layer and mainly comprises equipment such as a switch and the like; the switch is preferably a physical machine or a software-implemented virtual switch (e.g., OpenFlow switch) supporting the OpenFlow protocol, and is responsible for receiving flow table rules from the controller and forwarding network traffic. The control plane layer comprises open flow controllers; the openflow controller is used for discovering the global topology of a lower-layer switch, and then controlling the switch to forward data traffic according to a corresponding flow table rule issued by specific services and upper-layer application logic. The application layer is some concrete business applications based on the open flow controller, for example, it can include virtual network, traffic engineering and multiple floodlight applications, and is used to abstract out a logical virtual network, and the function user configures and uses, so that the user does not need to care about the structure of the lower concrete physical network, and it is easy to perform networking and connected business.
The existing OpenFlow network has the defect of small scale of the global network topology because one SDN controller is usually adopted to discover the global network topology to manage the switches. For example, in the existing scheme that one master is used for multiple slaves, multiple controllers read and write the same database, which is used for storing related network topology information based on the OpenFlow protocol. In the scheme, only one main controller writes data into the database at the same time; the controller can only read the network topology information from the database. Thus, network scaling support is limited by the performance of SDN controllers. Therefore, this solution has the drawback of not supporting large scale network topologies since there is only one controller at a time.
In view of this, in order to solve the technical problem of how to expand the topology size of the global network, an embodiment of the present invention provides a global network management method based on a software defined network SDN, which is applied to SDN controllers, the SDN controllers belong to an SDN controller cluster, each SDN controller in the SDN controller cluster is connected to a distributed database, and each SDN controller is connected to a plurality of interconnected switches to form a network domain; as shown in fig. 2, the SDN-based global network management method includes the following steps S200 to S220. Wherein:
s200: first topology information among switches in a network domain where the first topology information is located is obtained.
In this step, first topology information between a plurality of switches in a network domain where the SDN controller is located may be obtained by the SDN controller. Wherein each SDN controller in the SDN controller cluster may only manage a portion of switches in the entire network. The SDN controller may be, for example, a FloodLight controller (FloodLight controller), an openday light controller (an on-off controller), or any other commercially available or on-off controller. The FloodLight controller is simple in structure and adopts a modular design mode, and upper-layer virtual network application is easy to increase and develop. The SDN controller runs on a server (e.g., an X86 architecture server) and performs processing of data flows on the server, such as topology discovery, flow table distribution, packet reporting, and the like. Each SDN controller may manage a certain number of switches by the IP address and port number of the switch.
The switch is preferably an OpenFlow switch supporting the OpenFlow protocol. The ports of the switch may be used for both transceiving control packets and transceiving data packets. The switch may 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 No. 1; the second switch is connected to the third switch through port number 5.
TABLE 1
Switch for starting forwarding packets Port number Next switch connected
First switch Number 1 Second switch
Second switch Number 5 Third switch
Fig. 3 schematically shows a network topology. The network topology shown in fig. 3 is a data center three-layer network topology. Including a distributed database 30, a network domain 31, and a network domain 32. Network domain 31 includes SDN controller 311 and switches 3111, 3121, 3122, 3131, and 3132. The network domain 32 includes an SDN controller 321 and switches 3211, 3221, 3222, and 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 access layer network devices dual upstream to an intermediate aggregation layer network. Wherein, the access layer is used for providing the workstation access service for the local network segment. The convergence layer refers to an intermediary layer located between the network access layer and the core layer. The core layer refers to a network backbone network layer. The SDN controller 311 and the SDN controller 321 may constitute an SDN controller cluster. The distributed database 30 may be implemented by an open-source database, and the distributed database 30 may provide a distributed lock function to ensure an orderly and efficient read-write of all SDN controller node data in the SDN controller cluster. As shown in fig. 3, SDN controller 311 obtains topology information among switch 3111, switch 3131, switch 3132, switch 3131, and switch 3132 within network domain 31; the SDN controller 321 acquires topology information between the SDN controller 321 and the switch 3211, the switch 3221, the switch 3222, and the switch 3231 within the network domain 32.
Specifically, in some optional embodiments, as shown in fig. 4, the step may include the following steps S201 to S203. Wherein:
s201: and respectively sending topology information requests to the switches in the network domain where the switches are located.
In practical applications, an IP (internet protocol) address of the SDN controller is configured in a switch. The switch actively establishes a connection with the SDN controller. After the connection is established, the SDN controller sends a topology information request to a switch in a network domain where the SDN controller is located.
Following the example illustrated in fig. 3, SDN controller 311 may send topology information requests to various switches within network domain 31.
S202: and respectively receiving port information sent by each switch aiming at the topology information request and the port information of the switch connected with the switch.
The port information may be a port number of the switch, for example, No. 2, No. 5, and the like.
In practical application, after receiving the topology information request, the switch sends port information of the switch itself and port information of switches connected to the switch to the SDN controller.
Following the example shown in fig. 3, taking switch 3131 within network domain 31 as an example, SDN controller 311 receives its own port number sent by switch 3131 and the port numbers used by switches 3121 and 3122.
S203: and obtaining first topology information among the switches in the network domain where the network domain is located according to the received port information.
After receiving the port information, the step can draw a topological graph according to the connection relation among the ports of each switch to form first topological information.
Taking table one as an example, the information in table one indicates that the first switch is connected with the second switch through the port No. 1; the second switch is connected to the third switch through port number 5. Through the topology information, topology information between the first switch and the second switch can be obtained.
In some optional embodiments, after step S200, the SDN-based global network management method may further include:
and sending the first topology information to a distributed database.
In this step, each SDN controller may send the acquired topology information to the distributed database, so as to update the topology information stored in the distributed database.
S210: and acquiring second topology information among switches in the network domain where other SDN controllers in the SDN controller cluster are located from the distributed database.
For the description of the second topology information, reference may be made to the description of the first topology information, and details are not described herein.
The embodiment of the invention not only obtains the first topology information among the switches in the network domain where the SDN controller cluster is located, but also obtains the second topology information among the switches in the network domain where other SDN controllers in the SDN controller cluster are located through the step so as to obtain the global network topology.
In some optional embodiments, as shown in fig. 5, step S210 may specifically include step S211 and step S212. Wherein:
s211: receiving a topology information updating notice sent by a distributed database; wherein the topology information update notification is sent by the distributed database when receiving second topology information sent by other SDN controllers.
In a specific implementation process, each SDN controller monitors updating of topology information of the distributed database in real time. When the topology information in the distributed database is updated, the distributed database notifies each SDN controller, and then each SDN controller receives the topology information update notification sent by the distributed database.
Following the example shown in fig. 3, if SDN controller 311 sends topology information to distributed database 30; the distributed database 30 sends a topology information update notification to the SDN controller 321.
S212: and according to the topology information updating notice, second topology information among switches in the network domain where other SDN controllers in the SDN controller cluster are located is obtained from the distributed database.
As an example, after receiving the update notification, each SDN controller acquires topology information sent to the distributed database by another SDN controller from the distributed database, thereby implementing synchronization of global topology information.
S220: and determining the global network topology according to the first topology information and the second topology information.
In the step, according to the acquired topology information between the switches in the network domain of the self network and the topology information between the switches in the network domain where other SDN controllers are located, which is obtained from the distributed database synchronously, the connection relation between the ports of the switches in each network domain in the whole network can be obtained, so that a topological graph can be pieced out, and the global topology can be determined.
Taking the example shown in fig. 3, the switches 3111, 3211, 3121, 3122, 3221, and 3222 may employ DC Core (Data Center Core, Core switch) with a 32 gamma 40G interface; switches 3131, 3132, and 3231 may employ TORs (cabinet top switches) of gamma 10G +4 gamma 40G; under this topology, 48 DC cores and 128 TORs can be used to provide 6144 10G access ports with 3:1 convergence. The access port is connected to an X86 server, and a Vswitch (virtual switch) and an SDN controller are run on the X86 server and used as a relay. If the server configuration of 24 cores and 128G memory is adopted, the embodiment can provide a network topology with 10 ten thousand of scale. Compared with the prior art adopting one SDN controller, the scale of the global network topology is enlarged.
According to the embodiment of the invention, the SDN controllers in the SDN controller cluster are used for respectively acquiring the topology information in the network domain in which each SDN controller is positioned, and then the topology information acquired by other SDN controllers is acquired through the distributed database, so that the discovery of the global network topology is realized.
In the existing scheme of discovering the network topology by using a distributed database, the distributed database is used for uniformly storing information such as the network topology, a flow table, states of an SDN controller such as OpenDayLight and the like, that is, all state information is stripped and uniformly stored in the distributed database. Although the solution solves the bottleneck of scale through the distributed database, the solution stores the network topology and all state information in the unified database. Therefore, the scheme not only increases the logic complexity of the controller, but also has high performance requirements on the distributed database, for example, flow table information which changes in real time, such as failure to store and update in time, will cause confusion of network paths, resulting in network failure.
In addition, in the existing scheme of using a two-stage submission mode by adopting a part of controllers, the controllers are divided into two layers. The controllers of the lower layer manage part of OpenFlow switches respectively, the upper layer is a central controller, each controller in the lower layer is managed, and network topology information is received from the controllers of the lower layer, so that the global topology is discovered. In the scheme, the lower-layer controller can process partial requests such as flow table issuing, and only the requests which 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, thereby causing poor network performance.
However, in the embodiment of the present invention, a complete distributed controller scheme is provided, and uniform distributed database access state information is also used, but since only topology information is synchronized between the SDN controller and the distributed database, the information amount of the topology information is small and stable, and does not change, and no logic such as path computation and flow table issue is introduced to the distributed database; therefore, the embodiment of the invention has low performance requirement on the distributed database, thereby ensuring good real-time synchronization of the global topology and improving the network performance.
In some optional embodiments, based on any one of the above embodiments, as shown in fig. 6, the SDN-based global network management method may further include:
s230: and controlling each switch in the network domain to forward data according to the global network topology.
In this embodiment, each switch in the own network domain is controlled to forward the data packet according to the global network topology control, and finally the data packet is forwarded to the destination server.
In a specific implementation process, a plurality of OpenFlow switches and SDN controllers may form a data plane; the packet is then forwarded through the data plane.
In some optional embodiments, on the basis of the above embodiments, the step of controlling each switch in the network domain where the switch is located to forward data according to the global network topology specifically includes:
and generating a flow table according to the global network topology, respectively sending the flow table to each switch in the network domain where the switch is located, and controlling each switch in the network domain where the switch is located to forward data.
In the present embodiment, the flow table includes a plurality of flow table entries; each flow table entry may include one or more matching fields, and specifically may include fields such as a header field, a destination MAC (Media Access Control) address, a source MAC address, a destination IP address, a source IP address, a TCP port number/UDP port number, an instruction, and the like. Wherein the instruction is used to indicate through which port to forward the packet. Of course, the flow table entry may also include a counter and the like. The counter is used for counting the number of times of hitting the flow table entry.
For example, when the flow table is sent to each switch in the network domain of the switch, the flow table entries may be sent to each switch in order from small to large according to the number of hops between the switch and the switch on the path.
Additionally, one skilled in the art will appreciate that an initial flow table may be sent to a switch in order to allow the switch to forward packets. Specifically, the flow table may be acquired in a manner that the control plane and the data plane are separated. For example, an OpenFlow switch communicates a control plane based on a Link Layer Discovery Protocol (LLDP) Protocol and a Spanning Tree Protocol (STP) Protocol, that is, forwarding tables generated by the protocols realize forwarding of various OpenFlow control messages. The OpenFlow switch sends a flow table request to the SDN controller; after receiving the flow table request, the SDN controller sends a flow table entry to the OpenFlow switch through a control plane; the OpenFlow switch receives the flow table entry and adds the flow table entry to a flow table locally maintained by itself, thereby obtaining an initial flow table.
In some optional embodiments, on the basis of the above embodiments, each switch in the network domain where the switch is located includes a plurality of provider edge switches; as shown in fig. 7, the step of generating the flow table according to the global network topology includes the following step S231 and step S232. Wherein:
s231: paths between the plurality of provider edge switches are calculated according to a predetermined algorithm based on the global network topology.
The predetermined algorithm may be, for example, a minimum path algorithm, an optimal path algorithm, a critical path algorithm, etc., but is by no means limited thereto.
The provider edge switch (i.e., provider edge switch, PE device for short) may be a switch with a small load, for example, a switch with a single port having a throughput of 10 Gb. The PE device may be, for example, a normal switch. The PE device is connected to a server.
Corresponding to the provider edge switch, a provider switch (i.e., provider switch, abbreviated as P device) is also defined herein, which may be a switch with a large load, for example, a switch with a single port with 40Gb throughput. The P device may act as an intermediate node, unconnected to the server.
S232: a flow table containing paths is generated.
In this embodiment, the path calculation and the flow table are independently calculated and stored by each SDN controller, so that the requirement on the distributed database is low, and the network performance is improved.
In some optional embodiments, based on the above embodiments, as shown in fig. 8, the step of calculating paths between a plurality of provider edge switches according to a predetermined algorithm according to the global network topology may specifically include steps S2311 to S2313. Wherein:
s2311: and receiving the data packet sent by the switch in the network domain where the switch is located.
The switch sends the data packet to the SDN controller when at least the following occurs:
the first condition is as follows: the switch receives a data packet which is not matched with any flow table entry;
when the situation occurs, the switch sends the data packet to the SDN controller in the network domain where the switch is located, so as to obtain a flow table which can be matched.
Case two: the switch receives the data packet, but does not receive the flow table issued by the SDN controller.
The above case includes a case where the switch does not match the flow table for a predetermined time (e.g., 3 minutes, 5 minutes), but deletes the flow table that does not match. When the second situation occurs, the switch sends the data packet to the SDN controller to acquire a flow table matched with the data packet.
S2312: and analyzing the data packet to obtain the destination MAC address.
S2313: and calculating paths among the plurality of 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, etc., but is by no means limited thereto.
In order to facilitate network management and path computation, in the embodiment of the present invention, the switch is divided 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 edge) role, which are referred to as PE device and P device for short. The role of the switch is applicable to SDN controllers, transparent to the physical switch. The SDN controller maintains topology within the network domain according to role. Specifically, the P device only serves as an intermediate node in the network topology, and does not serve as a source or destination node of path computation; when the network topology is discovered, the link between PE devices is determined to be an illegal link, which is ignored. Therefore, this step calculates the path between PE devices according to, for example, a minimum path algorithm, an optimal path algorithm, a critical path algorithm, and the like.
In practical applications, the P role and the PE role may maintain the correspondence between the switch and the role through a switchrole manager. The user can view the role information of all switches through a Restful API (Representational State Transfer API), or set/delete the role configuration of a certain switch.
The following describes a process of maintaining a global network topology according to switch roles in an embodiment of the present invention in a specific embodiment with reference to fig. 9. The present embodiment takes an access switch in a network domain as an example.
When a new switch is accessed in a network domain and connected with an SDN controller, the SDN controller identifies the switch; determining the role of the switch according to the corresponding relation between the preset switch and the role; the Link line (also called Link, i.e., Link), topology information of the switch whose role is determined is sent to the distributed database.
Specifically, as shown in fig. 9, the SDN controller may include a topology manager, a switch role manager, a domain topology manager, and a global topology manager.
When a switch access network exists, the following steps are executed:
step a 1: the topology manager sends a switch connection controller notification to the switch role manager;
step a 2: the switch role manager sets the role of the switch under the condition that the role information exists, and sends the set role information to the domain topology manager;
step a 3: the domain topology manager adds the switch to the local controller topology; the domain topology manager acquires a link related to the switch and sends the link to the topology manager; adding a legal Link line into the topology, initializing the Link weight, and deleting an illegal Link line; sending the updated topology information to a global topology manager, and calculating the path, flow table pre-issuing and link weight updating after updating;
step a 4: and the global topology manager sends the updated information of the distributed database to the domain topology manager so that other SDN controls can calculate paths among the edge switches of the multiple providers according to the updated global network topology information and a preset algorithm.
Similarly, when the switch is disconnected from the SDN controller in the network domain, the processing procedure is similar to the case of switch access, and is not described herein again.
The following describes a process of maintaining a global network topology according to switch roles in an embodiment of the present invention in a specific embodiment with reference to fig. 10. The present embodiment takes link state change as an example.
When the link state in the network topology changes, the domain topology manager is triggered to perform relevant processing. When a Link line is newly added, the local topology is updated, then the information is updated to the distributed database, and global topology synchronization is performed on other SDN controllers. When the Link line is disconnected, whether the Link line exists in the local topology or not is detected; if yes, updating operations such as path calculation, flow table issuing and the like; then, the Link line is deleted and updated into the distributed database.
As shown in fig. 10, the topology manager sends a Link add/drop message to the domain topology manager; the domain topology manager adds the Link into the topology under the condition that the Link is legal, initializes the Link weight to be 1(), and then sends an instruction for updating the distributed database to the global topology manager; and under the condition that the Link is illegal, the domain topology manager warns the Link mark and does not process the Link mark. If the Link exists in the topology, the domain topology manager deletes the Link from the topology, and then sends updated distributed database information to the global topology manager; and if the Link does not exist in the topology, the domain topology manager deletes the Link from the alarm Link, and performs operations such as related path calculation, flow table issuing and the like. When a Link line is disconnected, whether the Link line exists in a local topology or not is detected, if yes, operations such as path calculation, flow table issuing and the like are updated, then the Link line is deleted and updated to a distributed database, so that other SDN controllers can calculate paths among a plurality of provider edge switches according to updated global network topology information and a preset algorithm.
In the prior art, only one SDN controller is adopted to perform centralized management on a network. If the SDN controller fails, the whole network cannot work normally because no standby SDN controller takes over the SDN controller which fails. Thus, the prior art has the disadvantage of single point of failure.
In view of the above drawbacks of the prior art, in some alternative embodiments, on the basis of the embodiment shown in fig. 4, the SDN-based global network management method further includes the following step b1 and step b 2.
Step b 1: receiving network connection requests sent by switches in other network domains except the network domain in which the switch is located; wherein the network connection request is sent by a switch in the other network domain when the SDN controller of the other network domain fails;
in a specific implementation process of this step, IP addresses of at least two SDN controllers may be configured in a switch, so that the switch may receive management of the at least two SDN controllers.
For example, if an OpenFlow switch is connected to a first SDN controller and a second SDN controller, IP addresses of the first SDN controller and the second SDN controller are configured in the OpenFlow switch, and the OpenFlow switch and the first SDN controller are located in the same network domain. As such, the OpenFlow switch is in a different network domain than the second SDN controller. When a first SDN controller fails, the OpenFlow switch may connect to a second SDN controller, that is, send a network connection request to the second SDN controller, because the OpenFlow switch is configured with an IP address of the second SDN controller. The second SDN controller receives network connection requests sent by the OpenFlow switch within other network domains.
Step b 2: and establishing network connection with the switches in other network domains according to the network connection request.
In the above example, after the second SDN controller receives the network connection request, a network connection is established with the OpenFlow switch, so as to manage the OpenFlow switch. The network connection may be, for example, a TCP (transmission control protocol) connection.
In the embodiment, the switch is connected with at least two SDN controllers; therefore, when one SDN controller fails to work normally, the switch may perform network connection with other SDN controllers that do not fail to work normally. Therefore, compared with a scheme of adopting one master and multiple standby, the embodiment overcomes the defect of single-point fault, and the technical scheme provided by the embodiment of the invention can ensure that the network is not limited by the influence of the performance of one SDN controller, overcomes the defect of performance bottleneck, and further improves the processing speed of the network and the network topology scale.
In summary, according to any one of the above technical solutions, switches are controlled by an 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 obtains first topology information of its own network domain, but also obtains second topology information of network domains where other SDN controllers are located through a distributed database, so that each SDN controller can obtain a global network topology of the entire network, thereby expanding the scale of the network topology and realizing infinite expansion of the scale of the network topology. And the step of obtaining second topology information in the network domain where other SDN controllers are located through the distributed database also realizes the synchronous updating of the global topology information. In addition, in the embodiment of the present invention, the SDN controller obtains topology information from the distributed database without involving related information such as path calculation, flow table issue, and the like; therefore, the embodiment of the invention has low performance requirement on the distributed database, and improves the network performance, thereby overcoming the defect of SDN control performance bottleneck in the prior art.
The existing OpenFlow network has the defect of small scale of the global network topology because one SDN controller is usually adopted to discover the global network topology to manage the switches. Thus, network scaling support is limited by the performance of SDN controllers. Therefore, in order to solve the technical problem of how to scale up the topology of the global network, embodiments of the present invention provide a global network management device based on a software defined network SDN, and the device may perform the above method embodiments. The device is applied to an SDN controller, the SDN controller belongs to an SDN controller cluster, each SDN controller in the SDN controller cluster is respectively connected with a distributed database, and each SDN controller is respectively connected with a plurality of interconnected switches to form a network domain; as shown in fig. 11, the SDN-based global network management apparatus includes:
a first obtaining module 111, configured to obtain first topology information between switches in a network domain where the first obtaining module is located;
a second obtaining module 112, configured to 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;
a determining module 113, configured to determine a global network topology according to the first topology information and the second topology information.
In this embodiment, switches are controlled by an SDN controller cluster, and each SDN controller is connected to multiple switches in one network domain, each SDN controller in the SDN controller cluster not only obtains first topology information of its own network domain by using a first obtaining module 111, but also obtains second topology information of network domains where other SDN controllers are located from a distributed database by using a second obtaining module 112, so that a global network topology of the entire network can be obtained by using a determining module 113, thereby expanding the scale of the network topology and realizing infinite expansion of the scale of the network topology. Moreover, the step of acquiring, by the second acquiring module 112, second topology information in a network domain where other SDN controllers are located from the distributed database also achieves synchronous updating of the global topology information. In addition, in the embodiment of the present invention, the SDN controller obtains topology information from the distributed database without involving related information such as path calculation, flow table issue, and the like; therefore, the embodiment of the invention has low performance requirement on the distributed database, and improves the network performance, thereby overcoming the defect of SDN control performance bottleneck in the prior art.
In some optional embodiments, as shown in fig. 12, the first obtaining module includes:
a first sending unit 121, configured to send topology information requests to switches in a network domain where the first sending unit is located;
a first receiving unit 122, configured to receive port information sent by each switch in response to the topology information request and port information of a switch connected to the first receiving unit;
the first obtaining unit 123 is configured to obtain, according to the received port information, first topology information between switches in a network domain where the first obtaining unit is located.
In some optional embodiments, as shown in fig. 13, 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.
In some optional embodiments, as shown in fig. 14, the second obtaining module specifically includes:
a second receiving unit 141, configured to receive a topology information update notification sent by the distributed database; wherein the topology information update notification is sent by the distributed database when receiving second topology information sent by other SDN controllers;
a second obtaining unit 142, configured to obtain, according to the topology information update notification, second topology information between switches in a network domain where other SDN controllers in the SDN controller cluster are located from the distributed database.
In some optional embodiments, the SDN-based global network management apparatus may further include:
and the control module is used for controlling each switch in the network domain where the control module is located to forward data according to the global network topology.
In some optional embodiments, the control module is specifically configured to generate a flow table according to the global network topology, send the flow table to each switch in the network domain where the control module is located, and control each switch in the network domain where the control module is located to forward data.
In some optional embodiments, each switch in the network domain in which the switch is located includes a plurality of provider edge switches;
as shown in fig. 15, the control module specifically includes:
a calculation unit 151 configured to calculate paths between the plurality of provider edge switches according to a predetermined algorithm based on the global network topology;
the generating unit 152 is configured to generate a flow table including the path.
In some optional embodiments, as shown in fig. 16, the computing unit specifically includes:
a receiving subunit 161, configured to receive a data packet sent by a switch in a network domain where the receiving subunit is located;
an analyzing subunit 162, configured to analyze the data packet to obtain a destination MAC address;
and a calculating subunit 163 for calculating paths between the plurality of provider edge switches according to a predetermined algorithm based on the global network topology and the destination MAC address.
In some optional embodiments, the SDN-based global network management apparatus may further include:
the receiving module is used for receiving network connection requests sent by switches in other network domains except the network domain where the receiving module is located; wherein the network connection request is sent by a switch in the other network domain when the SDN controller of the other network domain fails;
and the establishing module is used for establishing network connection with the switch in other network domains according to the network connection request.
For the description of the embodiment of the global network management device based on the SDN, reference may be made to the description of the foregoing embodiment of the global network management method based on the SDN, and details are not described here again.
Based on the same technical concept as the method embodiment, an embodiment of the present invention further provides an electronic device, as shown in fig. 17, including a processor 171 and a memory 172;
a memory 172 for storing computer programs;
the processor 171 is configured to implement the method steps in the above-described SDN-based global network management method embodiment when executing the program stored in the memory 172.
Of course, it should be understood by those skilled in the art that the above-described embodiments may also include communication interfaces and communication buses, and such obvious modifications or equivalent alternative embodiments are also included in the scope of the present invention.
The communication bus mentioned in the electronic device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 17, but this does not mean only one bus or one type of bus.
The communication interface is used for communication between the electronic equipment and other equipment.
The Memory 172 may include a Random Access Memory (RAM) or a non-volatile Memory (NVM), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor 171 may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a network Processor (Ne word Processor, NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
Such electronic devices include, but are not limited to, smart phones, computers, personal digital assistants, wearable devices, and the like.
In this embodiment, the processor 171 executes the program stored in the memory 172, so that switches are controlled by an SDN controller cluster, and each SDN controller is connected to multiple switches in one network domain, each SDN controller in the SDN controller cluster not only obtains first topology information of the network domain where the SDN controller is located, but also obtains second topology information of network domains where other SDN controllers are located through a distributed database, so that each SDN controller can obtain a global network topology of the entire network, thereby expanding the scale of the network topology, and realizing infinite expansion of the scale of the network topology. And the step of obtaining second topology information in the network domain where other SDN controllers are located through the distributed database also realizes the synchronous updating of the global topology information. In addition, in the embodiment of the present invention, the SDN controller obtains topology information from the distributed database without involving related information such as path calculation, flow table issue, and the like; therefore, the embodiment of the invention has low performance requirement on the distributed database, and improves the network performance, thereby overcoming the defect of SDN control performance bottleneck in the prior art.
Based on the same technical concept as the method embodiment, the embodiment of the invention also provides a computer-readable storage medium. The computer readable storage medium has stored therein a computer program which, when being executed by a processor, implements the method steps as described in the above-mentioned SDN based global network management method embodiment.
The computer-readable storage medium may include, but is not limited to, a Random Access Memory (RAM), a Dynamic Random Access Memory (DRAM), a Static Random Access Memory (SRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory (e.g., a NOR-type flash memory or a NAND-type flash memory), a Content Addressable Memory (CAM), a polymer memory (e.g., a ferroelectric polymer memory), a phase change memory, an ovonic memory, a Silicon-Oxide-Silicon-Nitride-Oxide-Silicon (Silicon-Oxide-Nitride-Oxide-Silicon (os-son) memory, a magnetic or optical card, or any other suitable type of computer-readable storage medium.
In this embodiment, when being executed by a processor, a computer program realizes that switches are controlled through an 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 obtains first topology information of the network domain where the SDN controller is located, but also obtains second topology information of network domains where other SDN controllers are located through a distributed database, so that each SDN controller can obtain a global network topology of the entire network, thereby expanding the scale of the network topology, and realizing infinite expansion of the scale of the network topology. And the step of obtaining second topology information in the network domain where other SDN controllers are located through the distributed database also realizes the synchronous updating of the global topology information. In addition, in the embodiment of the present invention, the SDN controller obtains topology information from the distributed database without involving related information such as path calculation, flow table issue, and the like; therefore, the embodiment of the invention has low performance requirement on the distributed database, and improves the network performance, thereby overcoming the defect of SDN control performance bottleneck in the prior art.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The embodiments in the present specification are described in a related manner, each embodiment focuses on differences from other embodiments, and the same and similar parts in the embodiments are referred to each other. In particular, as for the apparatus embodiment, since it is substantially similar to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment. The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (14)

1. A global network management method based on a Software Defined Network (SDN) is characterized in that the method is applied to an SDN controller, the SDN controller belongs to an SDN controller cluster, each SDN controller in the SDN controller cluster is respectively connected with a distributed database, and each SDN controller is respectively connected with a plurality of interconnected switches to form a network domain;
the method comprises the following steps:
acquiring first topology information among switches in a network domain where the first topology information is located;
acquiring second topology information among switches in a network domain where other SDN controllers in the SDN controller cluster are located from the distributed database;
determining a global network topology according to the first topology information and the second topology information;
each switch in the network domain comprises a plurality of provider edge switches;
the method further comprises the following steps:
calculating paths among the plurality of provider edge switches according to a preset algorithm according to the global network topology; the predetermined algorithm is used for calculating paths between provider edge switches;
and generating a flow table containing the path, respectively sending the flow table to each switch in the network domain where the switch is located, and controlling each switch in the network domain where the switch is located to forward data.
2. The method according to claim 1, wherein the step of obtaining the first topology information between the switches in the network domain includes:
respectively sending topology information requests to the switches in the network domain where the switches are located;
respectively receiving port information sent by each switch aiming at the topology information request and port information of the switch connected with the switch;
and obtaining the first topology information among the switches in the network domain where the first topology information is located according to the received port information.
3. The method according to claim 1, wherein after the step of obtaining the first topology information between the switches in the network domain, the method comprises:
and sending the first topology information to the distributed database.
4. The method of claim 1, wherein the step of obtaining second topology information between switches in a network domain where other SDN controllers in the SDN controller cluster are located from the distributed database comprises:
receiving a topology information updating notice sent by the distributed database; wherein the topology information update notification is sent by the distributed database upon receiving the second topology information sent by the other SDN controller;
and acquiring second topology information among switches in a network domain where the other SDN controllers are located in the SDN controller cluster from the distributed database according to the topology information updating notice.
5. The method of claim 1, wherein the step of computing paths between the plurality of provider edge switches according to a predetermined algorithm based on the global network topology comprises:
receiving a data packet sent by the switch in the network domain where the switch is located;
analyzing the data packet to obtain a destination MAC address;
and calculating paths among the plurality of provider edge switches according to a preset algorithm according to the global network topology and the destination MAC address.
6. The method of claim 1, further comprising:
receiving network connection requests sent by switches in other network domains except the network domain in which the switch is located; wherein the network connection request is sent by a switch within the other network domain upon a failure of an SDN controller of the other network domain;
and establishing network connection with the switches in other network domains according to the network connection request.
7. A global network management device based on a Software Defined Network (SDN) is characterized in that the device is applied to an SDN controller, the SDN controller belongs to an SDN controller cluster, each SDN controller in the SDN controller cluster is respectively connected with a distributed database, and each SDN controller is respectively connected with a plurality of interconnected switches to form a network domain;
the device comprises:
the first acquisition module is used for acquiring first topology information among the switches in the network domain where the first acquisition module is located;
a second obtaining module, configured to 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;
a determining module, configured to determine a global network topology according to the first topology information and the second topology information;
each switch in the network domain comprises a plurality of provider edge switches;
the device further comprises:
a calculation unit, configured to calculate, according to the global network topology, paths between the provider edge switches according to a predetermined algorithm; the predetermined algorithm is used for calculating paths between provider edge switches;
a generating unit configured to generate a flow table including the path;
and the second sending unit is used for respectively sending the flow table to each switch in the network domain where the second sending unit is located and controlling each switch in the network domain where the second sending unit is located to forward data.
8. The apparatus of claim 7, wherein the first obtaining module comprises:
the first sending unit is used for respectively sending topology information requests to the switches in the network domain where the first sending unit is located;
the first receiving unit is used for respectively receiving port information sent by each switch aiming at the topology information request and port information of the switch connected with the first receiving unit;
and the first acquisition unit is used for acquiring the first topology information among the switches in the network domain where the first topology information is located according to the received port information.
9. The apparatus of claim 7, further comprising:
and the sending module is used for sending the first topology information to the distributed database.
10. The apparatus of claim 7, wherein the second obtaining module comprises:
a second receiving unit, configured to receive a topology information update notification sent by the distributed database; wherein the topology information update notification is sent by the distributed database upon receiving the second topology information sent by the other SDN controller;
a second obtaining unit, configured to obtain, according to the topology information update notification, second topology information between switches in a network domain where the other SDN controllers in the SDN controller cluster are located from the distributed database.
11. The apparatus of claim 7, wherein the computing unit comprises:
the receiving subunit is used for receiving the data packet sent by the switch in the network domain where the receiving subunit is located;
the analysis subunit is used for analyzing the data packet to obtain a destination MAC address;
and the calculating subunit is used for calculating paths among the plurality of provider edge switches according to a preset algorithm according to the global network topology and the destination MAC address.
12. The apparatus of claim 7, further comprising:
the receiving module is used for receiving network connection requests sent by switches in other network domains except the network domain where the receiving module is located; wherein the network connection request is sent by a switch within the other network domain upon a failure of an SDN controller of the other network domain;
and the establishing module is used for establishing network connection with the switches in other network domains according to the network connection request.
13. An electronic device comprising a processor and a memory;
the memory is used for storing a computer program;
the processor, when executing the program stored in the memory, is adapted to perform the method steps of any of claims 1-6.
14. A computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, which computer program, when being executed by a processor, carries out the method steps of any one of claims 1 to 6.
CN201711283418.8A 2017-12-07 2017-12-07 Network management method, device, electronic equipment and storage medium Active CN109905251B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711283418.8A CN109905251B (en) 2017-12-07 2017-12-07 Network management method, device, electronic equipment and storage medium
PCT/CN2018/119512 WO2019109970A1 (en) 2017-12-07 2018-12-06 Network management method and apparatus, electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711283418.8A CN109905251B (en) 2017-12-07 2017-12-07 Network management method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN109905251A CN109905251A (en) 2019-06-18
CN109905251B true CN109905251B (en) 2020-12-18

Family

ID=66750816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711283418.8A Active CN109905251B (en) 2017-12-07 2017-12-07 Network management method, device, electronic equipment and storage medium

Country Status (2)

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

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3917086B1 (en) * 2020-05-30 2023-04-05 Huawei Technologies Co., Ltd. Network topology discovery method, device, and system
CN111585917B (en) * 2020-06-10 2021-03-30 广州市品高软件股份有限公司 Bare metal server network system and implementation method thereof
CN112187523A (en) * 2020-09-10 2021-01-05 华云数据控股集团有限公司 Network high-availability implementation method and super-convergence system
CN112689163A (en) * 2020-12-02 2021-04-20 中国民航机场建设集团有限公司 Video service transmission system and method based on SDN and in-network cache
CN114629791B (en) * 2020-12-21 2024-03-26 亚信科技(中国)有限公司 Data processing method, device, electronic equipment and computer readable storage medium
CN113055232B (en) * 2021-03-11 2022-07-12 浪潮思科网络科技有限公司 Network configuration deployment method, device and equipment
CN115086978A (en) * 2021-03-11 2022-09-20 ***通信集团四川有限公司 Network function virtualization SDN network system
CN113329055B (en) * 2021-04-30 2023-04-07 网络通信与安全紫金山实验室 Distributed SDN controller system and control method and device thereof
CN114422529B (en) * 2022-01-21 2023-07-11 中国联合网络通信集团有限公司 Data processing method, device and medium
CN115297157A (en) * 2022-08-01 2022-11-04 中国电信股份有限公司 Service processing method, device, system, medium and electronic equipment
TWI824827B (en) * 2022-11-17 2023-12-01 中華電信股份有限公司 Management system and management method for network topology of software-defined network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618475A (en) * 2015-01-28 2015-05-13 清华大学 Horizontal direction communication method for heterogeneous SDN (self-defending network) and SDN system
CN104811325A (en) * 2014-01-24 2015-07-29 华为技术有限公司 Cluster node controller monitoring method, related device and controller
CN105072037A (en) * 2015-07-23 2015-11-18 北京航空航天大学 Dynamic flow generating method for distributed SDN controllers
CN106411736A (en) * 2016-11-17 2017-02-15 中国电子科技集团公司第五十四研究所 Node resource discovery strategy optimization method for software defined satellite network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684922B (en) * 2013-12-23 2017-02-15 蓝盾信息安全技术股份有限公司 Outlet information privacy checking detection platform system based on SDN (self-defending network) and detection method
CN105357024A (en) * 2015-09-23 2016-02-24 清华大学 Area control equipment, domain control equipment and control system for SDN (Software Defined Networking)
CN106936731A (en) * 2015-12-31 2017-07-07 北京华为数字技术有限公司 The method and apparatus of the message forwarding in software defined network SDN
CN107070681B (en) * 2016-12-07 2020-10-09 全球能源互联网研究院有限公司 Network topology obtaining method and device based on Software Defined Network (SDN)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104811325A (en) * 2014-01-24 2015-07-29 华为技术有限公司 Cluster node controller monitoring method, related device and controller
CN104618475A (en) * 2015-01-28 2015-05-13 清华大学 Horizontal direction communication method for heterogeneous SDN (self-defending network) and SDN system
CN105072037A (en) * 2015-07-23 2015-11-18 北京航空航天大学 Dynamic flow generating method for distributed SDN controllers
CN106411736A (en) * 2016-11-17 2017-02-15 中国电子科技集团公司第五十四研究所 Node resource discovery strategy optimization method for software defined satellite network

Also Published As

Publication number Publication date
WO2019109970A1 (en) 2019-06-13
CN109905251A (en) 2019-06-18

Similar Documents

Publication Publication Date Title
CN109905251B (en) Network management method, device, electronic equipment and storage medium
TWI813743B (en) Independent datastore in a network routing environment
US11563602B2 (en) Method and apparatus for providing a point-to-point connection over a network
CN105049359B (en) Entrance calculate node and machine readable media for the distribution router that distributed routing table is searched
US20190222496A1 (en) Oam mechanisms for evpn active-active services
US9736263B2 (en) Temporal caching for ICN
US9461877B1 (en) Aggregating network resource allocation information and network resource configuration information
EP3057270A1 (en) Technologies for modular forwarding table scalability
US20200220774A1 (en) Method and device for detecting network failure
CN108234306A (en) Network equipment, network method and computer readable storage medium
CN108234302A (en) Keep the consistency in the distributed operating system of network equipment
EP3682597B1 (en) Modeling access networks as trees in software-defined network controllers
JP7190569B2 (en) Data center traffic sharing method, apparatus, device and storage medium
CN109660441A (en) The method and device of multicast replication in Overlay network
IL280472B1 (en) A system and a method for using a network cloud software
CN109286563B (en) Data transmission control method and device
CN104994019A (en) Horizontal direction interface system for SDN controller
WO2016173196A1 (en) Method and apparatus for learning address mapping relationship
WO2022002123A1 (en) Verification method and apparatus for network configuration
CN116016448A (en) Service network access method, device, equipment and storage medium
US11411855B1 (en) Computation of ranked path options in networks
US11405284B1 (en) Generating network link utilization targets using a packet-loss-versus-link utilization model
JP5782393B2 (en) Network resource distributed management method and program
CN112637285A (en) Edge cloud communication method, management system, computer device and storage medium
CN113938534B (en) Synergistic method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant