CN115277424B - Decision issuing method, device and storage medium in software defined network - Google Patents

Decision issuing method, device and storage medium in software defined network Download PDF

Info

Publication number
CN115277424B
CN115277424B CN202210718283.8A CN202210718283A CN115277424B CN 115277424 B CN115277424 B CN 115277424B CN 202210718283 A CN202210718283 A CN 202210718283A CN 115277424 B CN115277424 B CN 115277424B
Authority
CN
China
Prior art keywords
data forwarding
decision
sdn
sdn control
decisions
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
CN202210718283.8A
Other languages
Chinese (zh)
Other versions
CN115277424A (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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202210718283.8A priority Critical patent/CN115277424B/en
Publication of CN115277424A publication Critical patent/CN115277424A/en
Application granted granted Critical
Publication of CN115277424B publication Critical patent/CN115277424B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

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

Abstract

The application provides a decision issuing method, a device and a storage medium in a software defined network. In the technical scheme of the application, the software defined network can comprise a plurality of SDN control devices and a plurality of SDN forwarding devices, each SDN control device can make a data forwarding decision by acquiring network dynamic information of the SDN forwarding device, and each SDN control device can perform information interaction, so that each SDN control device can acquire the data forwarding decision of all SDN control devices in the software defined network, each SDN control device determines a target data forwarding decision in all data forwarding decisions, and then the target data forwarding decision is issued to the SDN forwarding device through one SDN control device. And a plurality of SDN control devices are deployed in the software defined network, so that the stability of the software defined network can be improved.

Description

Decision issuing method, device and storage medium in software defined network
Technical Field
The embodiment of the application relates to the technical field of networks, in particular to a method, a device and a storage medium for issuing decisions in a software defined network.
Background
The software defined network (Software Defined Network, SDN) is a novel network architecture, is an implementation manner of network virtualization, and has a core technology of realizing flexible control of network traffic by separating a control plane and a data plane of network equipment, so that the network becomes more intelligent as a pipeline.
At present, the existing decision issuing method based on SDN architecture is as follows: according to the method, a SDN controller issues decisions, and the decisions are transmitted to a plurality of network forwarding devices based on an Open Flow (OpenFlow) protocol to realize forwarding of network data. However, when the method is used for issuing decisions, the problem that the whole SDN cannot work normally due to the fact that SDN is abnormal occurs.
Disclosure of Invention
The application provides a decision issuing method, a decision issuing device and a storage medium in a software defined network, which can improve the stability of the software defined network.
In a first aspect, the present application provides a method for issuing decisions in a software defined network, applied to a first SDN control device, where the method includes: acquiring network dynamic information of SDN forwarding equipment; determining a first data forwarding decision in the software defined network based on the network dynamic information; receiving M data forwarding decisions from M SDN control devices, wherein the M data forwarding decisions are in one-to-one correspondence with the M SDN control devices, each data forwarding decision in the M data forwarding decisions is from a corresponding SDN control device in the M SDN control devices, and M is a positive integer; determining a target data forwarding decision based on m+1 data forwarding decisions, the m+1 data forwarding decision comprising the first data forwarding decision and the M data forwarding decision; and sending the target data forwarding decision to SDN forwarding equipment.
In the method, a first SDN control device determines a first data forwarding decision in a software defined network based on acquired network dynamic information of SDN forwarding devices, receives M data forwarding decisions from M SDN control devices, and determines a target data forwarding decision in M+1 data forwarding decisions. Because the software defined network contains a plurality of SDN control devices, each SDN control device can conduct interaction of data forwarding decisions so as to determine target data forwarding decisions, thus the problem that the whole software defined network cannot be used due to the occurrence of abnormality of one SDN control device can be avoided, and the stability of the software defined network can be further improved.
In one possible embodiment, the method further comprises: transmitting the first data forwarding decision to each of the M SDN control devices; wherein determining a target data forwarding decision based on the m+1 data forwarding decisions comprises: determining a first best data forwarding decision from the m+1 data forwarding decisions; sending the first best data forwarding decision to each SDN control device; receiving M optimal data forwarding decisions from the M SDN control devices, wherein the M optimal data forwarding decisions are in one-to-one correspondence with the M SDN control devices, and each optimal data forwarding decision in the M optimal data forwarding decisions is from a corresponding SDN control device in the M SDN control devices; the target data forwarding decision is determined from m+1 best data forwarding decisions, the m+1 best data forwarding decisions comprising the first best data forwarding decision and the M best data forwarding decisions.
In the implementation manner, a first SDN control device sends a first best data forwarding decision to each SDN control device in M SDN control devices, receives M best data forwarding decisions from the M SDN control devices, and determines the target data forwarding decision in m+1 best data forwarding decisions. The first SDN control device can interact with the M SDN control devices to enable each SDN control device to acquire all optimal data forwarding decisions in the software defined network, so that each SDN control device in the software defined network can determine more reasonable target data forwarding decisions.
In one possible implementation, determining the target data forwarding decision from m+1 best data forwarding decisions includes: and determining a second data forwarding decision of the M+1 best data forwarding decisions as the target data forwarding decision, wherein the second data forwarding decision is the most data forwarding decision of the M+1 best data forwarding decisions.
In one possible implementation, the second data forwarding decision includes a third data forwarding decision and a fourth data forwarding decision; determining a second data forwarding decision of the m+1 best data forwarding decisions as the target data forwarding decision, comprising: determining the weight of the third data forwarding decision and the weight of the fourth data forwarding decision based on preset decision weights of the M SDN control devices and the first SDN control device; and determining the data forwarding decision with the largest weight in the second data forwarding decision as the target data forwarding decision.
In a possible implementation manner, based on preset decision weights of the M SDN control devices and the first SDN control device, determining the weight of the third data forwarding decision and the weight of the fourth data forwarding decision includes: determining the sum of preset decision weights of all SDN control devices selecting the third data forwarding decision as the optimal data forwarding decision as the weight of the third data forwarding decision; and determining the sum of preset decision weights of all SDN control devices selecting the fourth data forwarding decision as the optimal data forwarding decision as the weight of the fourth data forwarding decision.
In a possible implementation manner, if the weight of the third data forwarding decision is equal to the weight of the fourth data forwarding decision, determining the third data forwarding decision as the target data forwarding decision, and selecting a preset decision weight of a second SDN control device of the plurality of SDN control devices with the third data forwarding decision as an optimal data forwarding decision as a first preset decision weight, where the first preset decision weight is greater than a preset decision weight of each SDN control device with the fourth data forwarding decision selected as the optimal data forwarding decision.
In the implementation manner, the first SDN control device determines the data forwarding decision with the largest weight in the second data forwarding decision as the target data forwarding decision, so that the first SDN control device in the software defined network can be ensured to issue a label data forwarding decision to the SDN forwarding device, and the problem that a forwarding path is disordered due to the fact that the first SDN control device issues multiple label data forwarding decisions is avoided.
In a possible implementation manner, sending the target data forwarding decision to an SDN forwarding device includes: and sending the target data forwarding decision to a target SDN forwarding device, wherein the distance from the target SDN forwarding device to each SDN control device is larger than the distance from the target SDN forwarding device to the first SDN control device.
In this implementation manner, the distance between the target SDN forwarding device and each SDN control device is greater than the distance between the target SDN forwarding device and the first SDN control device, so that the delay of the first SDN control device sending the target data forwarding decision to the target SDN forwarding device may be reduced.
In a second aspect, the present application provides a decision issuing apparatus in a software defined network, applied to a first SDN control device, where the apparatus includes functional modules for implementing the method in the first aspect. Wherein each functional module can be realized by a software and/or hardware mode.
As an example, the apparatus may include: the acquisition module is used for acquiring network dynamic information of the SDN forwarding equipment; a first determining module configured to determine a first data forwarding decision in the software defined network based on the network dynamic information; a receiving module, configured to receive M data forwarding decisions from M SDN control devices, where the M data forwarding decisions are in one-to-one correspondence with the M SDN control devices, and each data forwarding decision in the M data forwarding decisions is from a corresponding SDN control device in the M SDN control devices, and M is a positive integer; a second determining module, configured to determine a target data forwarding decision based on m+1 data forwarding decisions, where the m+1 data forwarding decisions include the first data forwarding decision and the M data forwarding decisions; and the sending module is used for sending the target data forwarding decision to SDN forwarding equipment.
In one possible implementation manner, the sending module is specifically configured to: transmitting the first data forwarding decision to each of the M SDN control devices; the first determining module is specifically configured to determine a first best data forwarding decision from the m+1 data forwarding decisions; the sending module is specifically configured to: sending the first best data forwarding decision to each SDN control device; the receiving module is specifically configured to: receiving M optimal data forwarding decisions from the M SDN control devices, wherein the M optimal data forwarding decisions are in one-to-one correspondence with the M SDN control devices, and each optimal data forwarding decision in the M optimal data forwarding decisions is from a corresponding SDN control device in the M SDN control devices; the second determining module is specifically configured to: the target data forwarding decision is determined from m+1 best data forwarding decisions, the m+1 best data forwarding decisions comprising the first best data forwarding decision and the M best data forwarding decisions.
In one possible implementation manner, the second determining module is specifically configured to: and determining a second data forwarding decision of the M+1 best data forwarding decisions as the target data forwarding decision, wherein the second data forwarding decision is the most data forwarding decision of the M+1 best data forwarding decisions.
In one possible implementation, the second data forwarding decision includes a third data forwarding decision and a fourth data forwarding decision.
In one possible implementation manner, the second determining module is specifically configured to: determining the weight of the third data forwarding decision and the weight of the fourth data forwarding decision based on preset decision weights of the M SDN control devices and the first SDN control device; and determining the data forwarding decision with the largest weight in the second data forwarding decision as the target data forwarding decision.
In one possible implementation manner, the second determining module is specifically configured to: determining the sum of preset decision weights of all SDN control devices selecting the third data forwarding decision as the optimal data forwarding decision as the weight of the third data forwarding decision; and determining the sum of preset decision weights of all SDN control devices selecting the fourth data forwarding decision as the optimal data forwarding decision as the weight of the fourth data forwarding decision.
In one possible implementation manner, the second determining module is specifically configured to: if the weight of the third data forwarding decision is equal to the weight of the fourth data forwarding decision, determining the third data forwarding decision as the target data forwarding decision, and selecting the third data forwarding decision as a preset decision weight of a second SDN control device in a plurality of SDN control devices of the optimal data forwarding decision, wherein the preset decision weight is larger than the preset decision weight of each SDN control device selecting the fourth data forwarding decision as the optimal data forwarding decision.
In one possible implementation manner, the sending module is specifically configured to: and sending the target data forwarding decision to a target SDN forwarding device, wherein the distance from the target SDN forwarding device to each SDN control device is larger than the distance from the target SDN forwarding device to the first SDN control device.
Since the apparatus in the second aspect includes respective functional modules for implementing the method in the first aspect, the technical effects in the first aspect are equally applicable to the apparatus in the second aspect, and are not described herein.
In a third aspect, the present application provides an output device for debug information of a microkernel operating system, including: at least one processor and memory;
wherein the memory stores computer-executable instructions; the at least one processor executing computer-executable instructions stored in the memory to enable the at least one processor to perform the method of any one of the first aspects.
The device may be a decision issuing device, a decision issuing server or a decision issuing service system, or may be a device that can be applied to a decision issuing device, a decision issuing server or a decision issuing service system, for example, may be a chip that can be applied to a decision issuing device, a decision issuing server or a decision issuing service system.
Since the apparatus in the third aspect includes respective functional modules for implementing the method in the first aspect, the technical effects in the first aspect are equally applicable to the apparatus in the third aspect, and are not repeated here.
In a fourth aspect, the present application provides a computer-readable storage medium having stored therein computer-executable instructions which, when executed by a processor, implement the method of the first aspect.
In a fifth aspect, the application provides a computer program product comprising a computer program which, when executed by a processor, implements the method of the first aspect.
Drawings
Fig. 1 is an exemplary system architecture diagram of an SDN network provided in an embodiment of the present application;
fig. 2 is a flow chart of a decision issuing method based on SDN architecture according to an embodiment of the present application;
fig. 3 is a flow chart of a decision issuing method based on SDN architecture according to another embodiment of the present application;
fig. 4 is an exemplary architecture diagram of an SDN network provided in another embodiment of the present application;
fig. 5 is a schematic block diagram of a decision issuing device of an SDN network according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a decision issuing device of an SDN network according to an embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The application scene applicable to the embodiment of the application is as follows: the SDN network architecture comprises SDN control equipment and SDN forwarding equipment, the SDN control equipment obtains decisions and transmits the decisions to the SDN forwarding equipment, the SDN forwarding equipment realizes the forwarding of data according to the decisions, a user can realize flexible control of data traffic based on the SDN network architecture, and related network functions can be deployed through software based on the SDN network architecture, so that the flexibility of network application can be improved.
In the related art, an SDN network architecture is composed of one SDN control device and a plurality of SDN forwarding devices. The SDN control device obtains network information of the SDN forwarding device through a southbound interface based on an OpenFlow protocol to generate decisions, the SDN control device transmits the decisions to the SDN forwarding device through the southbound interface, and the SDN forwarding device achieves data forwarding based on the received decisions.
In the method, as only one SDN control device is arranged in the SDN network architecture, once the SDN control device is attacked by the network, damaged or affected by other unreliability, the whole SDN network is paralyzed, so that the stability of the SDN network is poor.
Aiming at the problems, the application provides a decision issuing method in an SDN network. In the technical scheme provided by the application, the SDN network architecture is composed of a plurality of SDN control devices and a plurality of SDN forwarding devices, the SDN control devices obtain decisions through a negotiation mechanism deployed in advance, the SDN control devices for issuing the decisions are further determined, the SDN control devices transmit the decisions to the SDN forwarding devices through a southbound interface based on an OpenFlow protocol, and the SDN forwarding devices realize data forwarding based on the received decisions.
Because the SDN framework is provided with the plurality of SDN control devices, when any control device is in a problem or is attacked, the operation of the whole SDN network is not affected, and the stability of the SDN network can be improved.
Fig. 1 is an exemplary system architecture diagram of an SDN network provided in an embodiment of the present application. As shown in fig. 1, the system may include one SDN control device group and a plurality of SDN forwarding devices, where the SDN control device group may include a plurality of SDN control devices.
The SDN control equipment is used as an operating system in the SDN network and is responsible for centralized control of the whole SDN network, and on one hand, the SDN control equipment can perform centralized management, state monitoring and forwarding decision on the bottom SDN forwarding equipment through an interface protocol so as to process and schedule the traffic of a data plane; on the other hand, the SDN control device may open multiple levels of programmable capabilities to upper layer applications through interfaces, allowing network users to flexibly formulate various network policies according to specific application scenarios. In this embodiment, the SDN control device issues a decision to the SDN forwarding device mainly through an interface.
The main function of the SDN forwarding device is to forward network data according to the decision issued by the SDN control device.
The decision issuing method based on the SDN architecture is described below with reference to fig. 2. Fig. 2 is a flow chart of a decision issuing method based on an SDN architecture according to an embodiment of the present application. As shown in fig. 2, the method may include S210, S220, S230, S240, and S250.
S210, the first SDN control device acquires network dynamic information of the SDN forwarding device.
An example of a first SDN control device is any one of the SDN control devices shown in fig. 1.
As an example, the SDN forwarding device is an SDN forwarding device managed by the first SDN control device.
As an example, the network dynamic information of the SDN forwarding device may be network dynamic information of the SDN forwarding device in real time. For example, the network dynamic information of the SDN forwarding device may include information such as a real-time bandwidth usage rate of a network to which the SDN forwarding device currently belongs and a real-time flow table usage rate of the SDN forwarding device.
Optionally, the first SDN control device may obtain, through a southbound interface, network dynamic information of an SDN forwarding device managed by the SDN control device based on an "Open Flow" protocol, where the southbound interface refers to a standard message interface between the SDN control device and the SDN forwarding device.
In general, in a software defined network, an SDN control device and an SDN forwarding device need to communicate based on an "Open Flow" protocol, the SDN control device needs to establish a secure channel, and the SDN control device may perform information interaction with the SDN forwarding device through a southbound interface through the secure channel, so as to implement functions of issuing, querying, reporting, etc. of a data forwarding decision.
In software-defined networks, information interaction through an "Open Flow" secure channel must be performed in a format specified by the "Open Flow" protocol, and the "Open Flow" message types transmitted in the secure channel may include three major types of control-to-forwarding device (Controller-to-Switch) messages, asynchronous (asynchonous) messages, and Symmetric (symmetry) messages. Various sub-message types may also be included in the Controller-to-Switch message types, such as acquire forwarding device characteristics (Features), configure forwarding device (Configuration), modify forwarding device State (Modify-State), read forwarding device State (Read-State), etc. In this embodiment, the first SDN control device mainly reads network dynamic information of the SDN forwarding device through a Read-State message in a Controller-to-Switch message type. As an example, the first SDN control device may send, via the Open Flow security channel, a Read-State message to an SDN forwarding device managed by the first SDN control device in real time via the southbound interface, where the Read-State message may Read network dynamic information of the SDN forwarding device in real time and return the network dynamic information to the first SDN control device.
S220, the first SDN control device determines a first data forwarding decision in the software defined network based on the network dynamic information.
As an example, the SDN control device may generate a data forwarding decision based on the obtained network dynamic information, where the data forwarding decision may include flow tables, each flow table may be composed of a series of fields, a forwarding path of data in the SDN may be included in the flow table, and the SDN forwarding device may implement forwarding of the data according to the forwarding path in the flow table.
S230, the first SDN control device receives M data forwarding decisions from M SDN control devices, the M data forwarding decisions are in one-to-one correspondence with the M SDN control devices, each data forwarding decision in the M data forwarding decisions is from the corresponding SDN control device in the M SDN control devices, and M is a positive integer. In the SDN of the present embodiment, each SDN control device has a communication interface, and each SDN control device may implement information interaction between SDN control devices based on these communication interfaces.
As an example, a first SDN control device may receive M data forwarding decisions from M SDN control devices over a communication interface. S240, the first SDN control device determines a target data forwarding decision based on M+1 data forwarding decisions, wherein the M+1 data forwarding decisions comprise the first data forwarding decision and the M data forwarding decisions.
S250, the first SDN control device sends the target data forwarding decision to SDN forwarding devices.
Fig. 3 is a flow chart of a decision issuing method based on SDN architecture according to another embodiment of the present application, and in some possible implementations of the embodiment of fig. 2, as shown in fig. 3, may further include:
s235, the first SDN control device sends the first data forwarding decision to each SDN control device in M SDN control devices, wherein M is a positive integer.
As an example, the first SDN control device may send the first data forwarding decision to each of the M SDN control devices through a communication interface. Accordingly, S240, that is, the first SDN control device determines a target data forwarding decision based on m+1 data forwarding decisions may include S241, S242, S243, S244 and S245.
S241, the first SDN control device determines a first optimal data forwarding decision from the M+1 data forwarding decisions.
S242, the first SDN control device sends the first best data forwarding decision to each SDN control device.
S243, the first SDN control device receives M best data forwarding decisions from the M SDN control devices, where the M best data forwarding decisions are in one-to-one correspondence with the M SDN control devices, and each best data forwarding decision in the M best data forwarding decisions is from a corresponding SDN control device in the M SDN control devices.
S244, the first SDN control device determines the target data forwarding decision from M+1 best data forwarding decisions, wherein the M+1 best data forwarding decisions comprise the first best data forwarding decision and the M data forwarding decisions.
As an example, the first SDN control device may determine a first best data forwarding decision from the m+1 data forwarding decisions based on network dynamic information of its managed SDN forwarding devices.
Optionally, the first SDN control device may determine the first best data forwarding decision based on a real-time flow table usage rate of an SDN forwarding device included in the network dynamic information acquired by the first SDN control device.
As an example, an implementation manner of S245, i.e. the first SDN control device determining the target data forwarding decision from m+1 best data forwarding decisions may include: the first SDN control device may determine a target data forwarding decision based on a number of times the optimal data forwarding decision is selected. For example, the first SDN control device may determine the best data forwarding decision selected the most as the target forwarding decision.
In other words, the first SDN control device counts the number of identical best data forwarding decisions among the m+1 best data forwarding decisions, and determines the best data forwarding decision with the largest number as the target data forwarding decision. The most number of best data forwarding decisions corresponds to what more SDN control devices select.
Alternatively, if there are cases where different best data forwarding decisions are selected the same number of times, as an example, the first SDN control device may select a target data forwarding decision from these different data forwarding decisions based on a preset decision weight.
For example, the manager may set a decision weight of each SDN control device in advance, then calculate a score of the best data forwarding decision based on the decision weight of the SDN control device corresponding to the best data forwarding decision with the largest number of choices, and determine the best data forwarding decision with the highest score as the target data forwarding decision.
For example, four SDN control devices among the 10 SDN control devices select a first data forwarding decision as an optimal data forwarding decision, and the other four SDN control devices select a second data forwarding decision as an optimal data forwarding decision. In this case, the decision weights of the first four SDN control devices may be used to determine the first data forwarding policy as the score of the target data forwarding decision, the decision weights of the second four SDN control devices may be used to determine the second data forwarding decision as the score of the target data forwarding decision, and the data forwarding decision with the highest score may be determined as the target data forwarding decision.
Optionally, the implementation manner of calculating the score of the data forwarding decision based on the decision weights of the plurality of SDN control devices is as follows: and adding the decision weights of the SDN control devices, or adding the decision weights of the SDN control devices and then averaging.
In this embodiment, optionally, in S250, the first SDN control device may send a target data forwarding decision to an SDN forwarding device managed by the first SDN control device.
Alternatively, the first SDN control device may determine the target SDN control device based on a distance between the first SDN control device and the SDN forwarding device.
For example, the SDN control device may take as a target SDN control device an SDN control device closest to an SDN forwarding device included in the target forwarding decision.
In this case, the first SDN control device sends the target data forwarding decision to the SDN forwarding device closest to itself.
The method of this embodiment is described below with reference to fig. 4 by taking an example in which the SDN network architecture includes 3 SDN control devices and 6 SDN forwarding devices. Fig. 4 is an exemplary architecture diagram of an SDN network provided in another embodiment of the present application.
In this embodiment, the 3 SDN control devices are sequentially denoted as an SDN control device 1, an SDN control device 2, and an SDN control device 3, and the 6 SDN forwarding devices are sequentially denoted as an SDN forwarding device 1, an SDN forwarding device 2, an SDN forwarding device 3, an SDN forwarding device 4, an SDN forwarding device 5, and an SDN forwarding device 6.
In this embodiment, different SDN control devices are located in different physical locations, so that information interaction can be implemented between the SDN control devices. Each SDN control device manages 2 SDN forwarding devices within a respective network range.
For example, the SDN control device 1 is responsible for managing the SDN forwarding device 1 and the SDN forwarding device 2; the SDN control device 2 is responsible for managing the SDN forwarding device 3 and the SDN forwarding device 4; the SDN control device 3 is responsible for managing the SDN forwarding device 5 and the SDN forwarding device 6.
The SDN control device 1 obtains network dynamic information currently operated by the SDN forwarding device 1 and the SDN forwarding device 2 through a southbound interface based on an Open Flow protocol.
The SDN control device 2 obtains network dynamic information currently operated by the SDN forwarding device 3 and the SDN forwarding device 4 through a southbound interface based on an "Open Flow" protocol.
The SDN control device 3 obtains network dynamic information currently operated by the SDN forwarding device 5 and the SDN forwarding device 6 through a southbound interface based on an "Open Flow" protocol.
The "Open Flow protocol" is a network communication protocol that may enable an SDN control device to remotely control a data forwarding path of an SDN forwarding device, e.g., the data forwarding path may be changed by remotely adding, modifying, and removing data packet control rules and actions.
The network dynamic information of the SDN forwarding device may include information such as a real-time bandwidth usage rate of a network to which the SDN forwarding device currently belongs and a flow table usage rate of the SDN forwarding device.
The current network dynamic information of the SDN forwarding devices acquired by each SDN control device determines a data forwarding decision between the 6 SDN forwarding devices.
Optionally, the data forwarding decision may include a flow table, each flow table may be formed by a series of fields, a flow table may include a forwarding path of data, and the SDN forwarding device may implement forwarding of data according to the forwarding path in the flow table.
Specifically, the SDN control device 1 determines a data forwarding decision 1 between the 6 SDN forwarding devices according to current network dynamic information of the SDN forwarding devices 1 and 2. As an example, the following forwarding paths are included in the data forwarding decision 1: SDN forwarding device 1-to SDN forwarding device 2-to SDN forwarding device 3-to SDN forwarding device 5.
The SDN control device 2 determines a data forwarding decision 2 between the 6 SDN forwarding devices according to current network dynamic information of the SDN forwarding devices 3 and 4. As an example, the following forwarding paths are included in the data forwarding decision 2: SDN forwarding device 1-to SDN forwarding device 2-to SDN forwarding device 5.
The SDN control device 3 determines a data forwarding decision 3 between the 6 SDN forwarding devices according to current network dynamic information of the SDN forwarding devices 5 and 6. As an example, the following forwarding paths are included in the data forwarding decision 3: SDN forwarding device 1-to SDN forwarding device 3-to SDN forwarding device 5.
Each SDN control device transmits its determined data forwarding decision to the remaining SDN control devices through predefined interfaces. In this way, each SDN control device may learn the data forwarding decisions made by all SDN control devices, i.e. data forwarding decision 1, data forwarding decision 2, and data forwarding decision 3.
Each SDN control device determines an optimal data forwarding decision from all data forwarding decisions according to the acquired network dynamic information of the SDN forwarding device.
As an example, an SDN control device may determine an optimal data forwarding decision from flow table usage in network dynamic information of an SDN forwarding device.
For example, if the flow table usage of the SDN forwarding device 1 and the SDN forwarding device 2 is high, which indicates that the link from the SDN forwarding device 1 to the SDN forwarding device 2 is congested, then the SDN control device 1 may select the data forwarding decision 3, that is, the forwarding path from the SDN forwarding device 1 to the SDN forwarding device 3 to the SDN forwarding device 5.
In this embodiment, the best data forwarding decision determined by the SDN control device 1 is referred to as the best data forwarding decision 1, the best data forwarding decision determined by the SDN control device 2 is referred to as the best data forwarding decision 2, and the best data forwarding decision determined by the SDN control device 3 is referred to as the best data forwarding decision 3.
After each SDN forwarding device determines an optimal data forwarding decision, sending the optimal data forwarding decision to other SDN forwarding devices. In this way, each SDN forwarding device can learn all the best data forwarding decisions.
For each SDN control device, the SDN control device determines the best data forwarding decision with the highest number of selected rules as a target data forwarding decision.
For example, when the best data forwarding decisions selected by the SDN control device 1 and the SDN control device 2 are both data forwarding decisions 3 and the best data forwarding decision selected by the SDN control device 3 is data forwarding decision 2, each SDN control device determines the data forwarding decision 3 as a target data forwarding decision.
If there are cases where the number of times different data forwarding decisions are selected as the optimal data forwarding decision is the same, the SDN control device may select a target data forwarding path from the different data forwarding decisions based on a preset decision weight. Optionally, in this embodiment, the network administrator may assign a decision weight to any one of the SDN control devices in the SDN control device group in advance and set a decision weight of each SDN control device in each SDN control device.
As an example, a network administrator may assign a decision weight according to the area size managed by any one SDN control device. For example, the larger the area managed by the SDN control device, the larger the decision weight.
As an example, if the best data forwarding decision selected by the SDN control device 1 is the data forwarding decision 1, the best data forwarding decision selected by the SDN control device 2 is the data forwarding decision 2, the best data forwarding decision selected by the SDN control device 3 is the data forwarding decision 3, and the decision weight of the SDN control device 1 is 50%, the decision weight of the SDN control device 2 is 20%, and the decision weight of the SDN control device 3 is 30%, then each SDN control device determines the data forwarding decision 1 as the target data forwarding decision.
As an example, the SDN control device needs to determine a target SDN control device in an SDN control device group, where the target SDN control device is an SDN control device that issues a target forwarding decision.
As an example, the SDN control device 1 may determine the target SDN control device based on a distance between each SDN control device and an SDN forwarding device in the SDN control device group, and specifically, the SDN control device 1 may take, as the target SDN control device, an SDN control device closest to the SDN forwarding device included in the target forwarding decision.
For example, if the forwarding paths included in the target forwarding decisions determined by the SDN control device 1 are SDN forwarding devices 1-to-SDN forwarding devices 2-to-SDN forwarding devices 3, then the SDN control device 1 may determine an SDN control device closest to the SDN forwarding devices 1, 2 and 3 as a target SDN forwarding device, and issue the target data forwarding decisions by the target SDN control device.
Fig. 5 is a schematic block diagram of a decision issuing device of an SDN network according to an embodiment of the present application. Referring to fig. 5, the apparatus 500 may include: an acquisition module 501, a first determination module 502, a receiving module 503, a second determination module 504, and a sending module 505.
The apparatus 500 may be used to implement the methods of the embodiments shown in fig. 2 and 3. For example, the acquisition module 501 may be used to implement S210, the first determination module 502 may be used to implement S220, the receiving module 503 may be used to implement S230, the second determination module 504 may be used to implement S240, and the sending module 505 may be used to implement S250.
Fig. 6 is a schematic structural diagram of a decision issuing device of an SDN network according to an embodiment of the present application. Referring to fig. 6, the apparatus 600 may include: at least one processor 601 and a memory 602. Wherein the processor 601 and the memory 602 are connected to each other via a bus 603.
As an example, the processor 601 is configured to execute program instructions stored in the memory 602, such that at least one processor 601 implements the methods of the embodiments shown in fig. 2 and 3.
In the embodiment shown in fig. 6 above, it should be understood that the processor may be a central processing unit (Central Processing Unit, CPU), but may also be other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the present application may be embodied directly in a hardware processor for execution, or in a combination of hardware and software modules in a processor for execution.
The memory may comprise high speed RAM memory or may further comprise non-volatile storage NVM, such as at least one disk memory.
The bus may be an industry standard architecture (Industry Standard Architecture, ISA) bus, an external device interconnect (Peripheral Component, PCI) bus, or an extended industry standard architecture (Extended Industry Standard Architecture, EISA) bus, among others. The buses may be divided into address buses, data buses, control buses, etc. For ease of illustration, the buses in the drawings of the present application are not limited to only one bus or to one type of bus.
Embodiments of the present application provide a computer-readable storage medium having stored therein computer-executable instructions for implementing the above-described method when the computer-executable instructions are executed by a processor.
Embodiments of the present application may also provide a computer program product comprising a computer program which, when executed by a processor, performs the above-described method.
The term "module" as used in this specification may be used to represent a computer-related entity, either hardware, firmware, a combination of hardware and software, or software in execution.
Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus, and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made to the embodiments of the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims and the equivalents thereof, the present application is also intended to include such modifications and variations.

Claims (9)

1. The decision issuing method in the software defined network is characterized by being applied to SDN control equipment of a first software defined network and comprising the following steps of:
acquiring network dynamic information of SDN forwarding equipment;
determining a first data forwarding decision in the software defined network based on the network dynamic information;
receiving M data forwarding decisions from M SDN control devices, wherein the M data forwarding decisions are in one-to-one correspondence with the M SDN control devices, each data forwarding decision in the M data forwarding decisions is from a corresponding SDN control device in the M SDN control devices, and M is a positive integer;
determining a target data forwarding decision based on m+1 data forwarding decisions, the m+1 data forwarding decision comprising the first data forwarding decision and the M data forwarding decision;
transmitting the target data forwarding decision to an SDN forwarding device;
transmitting the first data forwarding decision to each of the M SDN control devices;
wherein determining a target data forwarding decision based on the m+1 data forwarding decisions comprises:
determining a first best data forwarding decision from the m+1 data forwarding decisions;
sending the first best data forwarding decision to each SDN control device;
Receiving M optimal data forwarding decisions from the M SDN control devices, wherein the M optimal data forwarding decisions are in one-to-one correspondence with the M SDN control devices, and each optimal data forwarding decision in the M optimal data forwarding decisions is from a corresponding SDN control device in the M SDN control devices; each SDN control device transmits the determined data forwarding decision to the rest SDN control devices, and each SDN control device determines the optimal data forwarding decision from all the data forwarding decisions according to the acquired network dynamic information of the SDN forwarding devices;
the target data forwarding decision is determined from m+1 best data forwarding decisions, the m+1 best data forwarding decisions comprising the first best data forwarding decision and the M best data forwarding decisions.
2. The method of claim 1, wherein determining the target data forwarding decision from m+1 best data forwarding decisions comprises:
and determining a second data forwarding decision of the M+1 best data forwarding decisions as the target data forwarding decision, wherein the second data forwarding decision is the most data forwarding decision of the M+1 best data forwarding decisions.
3. The method of claim 2, wherein the second data forwarding decision comprises a third data forwarding decision and a fourth data forwarding decision;
determining a second data forwarding decision of the m+1 best data forwarding decisions as the target data forwarding decision, comprising:
determining the weight of the third data forwarding decision and the weight of the fourth data forwarding decision based on preset decision weights of the M SDN control devices and the first SDN control device;
and determining the data forwarding decision with the largest weight in the second data forwarding decision as the target data forwarding decision.
4. The method of claim 3, wherein determining the weights of the third data forwarding decision and the fourth data forwarding decision based on preset decision weights of the M SDN control devices and the first SDN control device comprises:
determining the sum of preset decision weights of all SDN control devices selecting the third data forwarding decision as the optimal data forwarding decision as the weight of the third data forwarding decision;
and determining the sum of preset decision weights of all SDN control devices selecting the fourth data forwarding decision as the optimal data forwarding decision as the weight of the fourth data forwarding decision.
5. The method according to claim 3 or 4, characterized in that the method further comprises:
if the weight of the third data forwarding decision is equal to the weight of the fourth data forwarding decision, determining the third data forwarding decision as the target data forwarding decision, and selecting the third data forwarding decision as a preset decision weight of a second SDN control device in a plurality of SDN control devices of the optimal data forwarding decision, wherein the preset decision weight is larger than the preset decision weight of each SDN control device selecting the fourth data forwarding decision as the optimal data forwarding decision.
6. The method of claim 5, wherein sending the target data forwarding decision to an SDN forwarding device comprises:
sending the target data forwarding decision to a target SDN forwarding device, wherein the distance from the target SDN forwarding device to each SDN control device is greater than the distance from the target SDN forwarding device to the first SDN control device; the method for the target forwarding decision comprises the following steps: determining a first best data forwarding decision from the m+1 data forwarding decisions; sending the first best data forwarding decision to each SDN control device; receiving M optimal data forwarding decisions from M SDN control devices, wherein the M optimal data forwarding decisions are in one-to-one correspondence with the M SDN control devices, and each optimal data forwarding decision in the M optimal data forwarding decisions is from a corresponding SDN control device in the M SDN control devices; each SDN control device transmits the determined data forwarding decision to the rest SDN control devices, and each SDN control device determines the optimal data forwarding decision from all the data forwarding decisions according to the acquired network dynamic information of the SDN forwarding devices; the target data forwarding decision is determined from m+1 best data forwarding decisions, the m+1 best data forwarding decisions comprising the first best data forwarding decision and the M best data forwarding decisions.
7. A decision issuing apparatus in a software defined network, applied to a first SDN control device, the apparatus comprising:
the acquisition module is used for acquiring network dynamic information of the SDN forwarding equipment;
a first determining module configured to determine a first data forwarding decision in the software defined network based on the network dynamic information;
a receiving module, configured to receive M data forwarding decisions from M SDN control devices, where the M data forwarding decisions are in one-to-one correspondence with the M SDN control devices, and each data forwarding decision in the M data forwarding decisions is from a corresponding SDN control device in the M SDN control devices, and M is a positive integer;
a second determining module, configured to determine a target data forwarding decision based on m+1 data forwarding decisions, where the m+1 data forwarding decisions include the first data forwarding decision and the M data forwarding decisions;
a sending module, configured to send the target data forwarding decision to an SDN forwarding device;
the sending module is further configured to send the first data forwarding decision to each SDN control device of the M SDN control devices;
the second determining module is specifically configured to determine a first best data forwarding decision from the m+1 data forwarding decisions; sending the first best data forwarding decision to each SDN control device; receiving M optimal data forwarding decisions from the M SDN control devices, wherein the M optimal data forwarding decisions are in one-to-one correspondence with the M SDN control devices, and each optimal data forwarding decision in the M optimal data forwarding decisions is from a corresponding SDN control device in the M SDN control devices; each SDN control device transmits the determined data forwarding decision to the rest SDN control devices, and each SDN control device determines the optimal data forwarding decision from all the data forwarding decisions according to the acquired network dynamic information of the SDN forwarding devices; the target data forwarding decision is determined from m+1 best data forwarding decisions, the m+1 best data forwarding decisions comprising the first best data forwarding decision and the M best data forwarding decisions.
8. A decision issuing apparatus in a software defined network, comprising: at least one processor and memory;
wherein the memory stores computer-executable instructions;
the at least one processor executing computer-executable instructions stored in the memory to enable the at least one processor to perform the method of any one of claims 1 to 6.
9. A computer readable storage medium having stored therein computer executable instructions which when executed by a processor implement the method of any of claims 1 to 6.
CN202210718283.8A 2022-06-23 2022-06-23 Decision issuing method, device and storage medium in software defined network Active CN115277424B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210718283.8A CN115277424B (en) 2022-06-23 2022-06-23 Decision issuing method, device and storage medium in software defined network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210718283.8A CN115277424B (en) 2022-06-23 2022-06-23 Decision issuing method, device and storage medium in software defined network

Publications (2)

Publication Number Publication Date
CN115277424A CN115277424A (en) 2022-11-01
CN115277424B true CN115277424B (en) 2023-10-03

Family

ID=83761232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210718283.8A Active CN115277424B (en) 2022-06-23 2022-06-23 Decision issuing method, device and storage medium in software defined network

Country Status (1)

Country Link
CN (1) CN115277424B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205767A (en) * 2012-03-22 2014-12-10 华为技术有限公司 Supporting software defined networking with application layer traffic optimization
CN104917699A (en) * 2014-03-12 2015-09-16 骁阳网络有限责任公司 A network element of a software-defined network
CN105429886A (en) * 2015-10-30 2016-03-23 南京优速网络科技有限公司 Comprehensive unified flow scheduling system and scheduling method based on SDN
CN105490960A (en) * 2014-09-15 2016-04-13 中兴通讯股份有限公司 SDN configuration, and message forwarding method based on same
CN106789648A (en) * 2016-12-15 2017-05-31 南京邮电大学 Software defined network route decision method based on content storage with network condition
CN108880918A (en) * 2018-08-24 2018-11-23 北京邮电大学 A kind of SDN multi-controller load-balancing method and system
WO2019081188A1 (en) * 2017-10-27 2019-05-02 Telefonaktiebolaget Lm Ericsson (Publ) Methods, controller manager and controller agent for enabling a connection between a switch of a communication network and a switch controller
CN110708245A (en) * 2019-09-29 2020-01-17 华南理工大学 SDN data plane fault monitoring and recovery method under multi-controller architecture
CN111147387A (en) * 2019-12-19 2020-05-12 北京邮电大学 Flow control method and device for hybrid SDN network

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104205767A (en) * 2012-03-22 2014-12-10 华为技术有限公司 Supporting software defined networking with application layer traffic optimization
CN104917699A (en) * 2014-03-12 2015-09-16 骁阳网络有限责任公司 A network element of a software-defined network
CN105490960A (en) * 2014-09-15 2016-04-13 中兴通讯股份有限公司 SDN configuration, and message forwarding method based on same
CN105429886A (en) * 2015-10-30 2016-03-23 南京优速网络科技有限公司 Comprehensive unified flow scheduling system and scheduling method based on SDN
CN106789648A (en) * 2016-12-15 2017-05-31 南京邮电大学 Software defined network route decision method based on content storage with network condition
WO2019081188A1 (en) * 2017-10-27 2019-05-02 Telefonaktiebolaget Lm Ericsson (Publ) Methods, controller manager and controller agent for enabling a connection between a switch of a communication network and a switch controller
CN108880918A (en) * 2018-08-24 2018-11-23 北京邮电大学 A kind of SDN multi-controller load-balancing method and system
CN110708245A (en) * 2019-09-29 2020-01-17 华南理工大学 SDN data plane fault monitoring and recovery method under multi-controller architecture
CN111147387A (en) * 2019-12-19 2020-05-12 北京邮电大学 Flow control method and device for hybrid SDN network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
He Li ; Peng Li ; Song Guo ; Amiya Nayak.Byzantine-Resilient Secure Software-Defined Networks with Multiple Controllers in Cloud.IEEE Transactions on Cloud Computing.2014,全文. *
基于SDN多控制器优化选择的负载均衡算法研究;刘晓凤;硕士电子期刊;全文 *
基于博弈的异构控制器云安全策略研究;胡军台;武振宇;付晓;王逸超;;网络与信息安全学报(09);全文 *

Also Published As

Publication number Publication date
CN115277424A (en) 2022-11-01

Similar Documents

Publication Publication Date Title
RU2692042C1 (en) Method of route determination and corresponding device and system
EP3072260B1 (en) Methods, systems, and computer readable media for a network function virtualization information concentrator
EP3101850B1 (en) Packet processing method, device and system
US20150215228A1 (en) Methods, systems, and computer readable media for a cloud-based virtualization orchestrator
US7911958B2 (en) Token bucket with variable token value
CN107613528B (en) Method and system for controlling service flow
EP3361703A1 (en) Load balancing method, related device and system
KR20140106235A (en) Open-flow switch and packet manageing method thereof
CN105391648A (en) Technologies for aligning network flows to processing resources
CN108718258B (en) Quality detection method and equipment for inter-board link
CN111010343B (en) Method, device, network equipment and storage medium for forwarding multicast message
CN104283801A (en) Method and system for processing service data
CN115277424B (en) Decision issuing method, device and storage medium in software defined network
Buzhin et al. Evaluation of Telecommunication Equipment Delays in Software-Defined Networks
CN113676423A (en) Port flow control method and device, exchange chip and storage medium
WO2016137371A1 (en) A sampling node and a method performed thereby for handling flows through a sdn between client(s) and origin server(s) of a communication network
CN109104334B (en) Management method and device for nodes in monitoring system
CN108199975B (en) Flow control method and device
CN116318554A (en) Network transmission method and device
CN108156086A (en) A kind of strategy rule downloading method and device
JP2015207921A (en) traffic information collection system and collection control node
CN105704057B (en) The method and apparatus for determining the type of service of burst port congestion packet loss
US20180255157A1 (en) Network service chains using hardware logic devices in an information handling system
CN115884252A (en) Policy adjustment method, data transmission method, system, server and storage medium
CN113364704B (en) Differential flow transmission control method, system and terminal of cloud computing data center network

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