WO2018018568A1 - Multi-controller cooperation method and device - Google Patents

Multi-controller cooperation method and device Download PDF

Info

Publication number
WO2018018568A1
WO2018018568A1 PCT/CN2016/092177 CN2016092177W WO2018018568A1 WO 2018018568 A1 WO2018018568 A1 WO 2018018568A1 CN 2016092177 W CN2016092177 W CN 2016092177W WO 2018018568 A1 WO2018018568 A1 WO 2018018568A1
Authority
WO
WIPO (PCT)
Prior art keywords
function unit
service function
service
secondary controller
controller
Prior art date
Application number
PCT/CN2016/092177
Other languages
French (fr)
Chinese (zh)
Inventor
乔晓强
李岩
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2016/092177 priority Critical patent/WO2018018568A1/en
Publication of WO2018018568A1 publication Critical patent/WO2018018568A1/en

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/46Interconnection of networks

Definitions

  • the present invention relates to the field of network technologies, and in particular, to a multi-controller cooperation method and apparatus.
  • SDN Software Defined Networking
  • the SDN decouples the control logic and forwarding functions of the network element into control plane devices and forwarding plane devices to implement centralized deployment of control logic.
  • the control and maintenance of the network can be easily implemented through centralized deployment of control plane devices.
  • the idea of SDN is being widely applied to data center networks and telecommunication networks.
  • a network device also referred to as a switch
  • a forwarding plane device is used to perform packet transmission on the forwarding plane.
  • a network controller also known as a controller, is a control plane device that is used to configure and manage switches through a control channel.
  • the application is used to implement various network functions, including routing control, tunnel encapsulation, firewall, secure access, and QoS control.
  • the functions to be implemented by the switch are configured through the network application on the controller. If the switch needs to implement complex network functions, such as routing control, tunnel encapsulation, firewall, secure access, and QoS control, then A variety of web applications need to be installed on the controller. The centralized deployment of such network functions will bring great operational overhead to the controller, which is easy to cause control. On the other hand, when the network needs to be expanded or expanded, the cumulative stacking method can only be adopted. The network application on the controller will become larger and larger, which may cause operational stability and reliability problems. .
  • complex network functions such as routing control, tunnel encapsulation, firewall, secure access, and QoS control
  • the embodiments of the present invention provide a multi-controller cooperation method and device, which are used to solve a bottleneck problem caused by centralized deployment of network functions of a controller, and implement a multi-controller cooperative control switch.
  • a multi-controller collaboration method includes:
  • the master controller sends a binding trigger message to each of the at least one secondary controller, where the binding trigger message sent by the ith secondary controller is used to trigger the ith secondary controller and the component
  • the business function unit in each business function unit of the business process establishes a binding relationship, wherein each business function unit constituting the business process is deployed by the main controller as a switch;
  • the master controller receives a binding success message fed back by each secondary controller, where the binding success message is used to notify the primary controller that the secondary controller is successfully bound to the at least one service function unit;
  • the main controller sends a service flow start message to the at least one secondary controller and the switch separately when the primary service function unit that is configured to be the service flow is bound according to the received binding success message.
  • each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
  • embodiments of the present invention support multiple partitioning methods for business processes.
  • the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow and description information of each service function unit that constitutes the service flow.
  • the embodiment of the present invention supports each secondary controller to independently select a service function unit that needs to be bound.
  • the binding trigger message sent by the i-th secondary controller Carrying the identifier of the service process, the description information of each service function unit constituting the service process, and the service function name corresponding to the service function unit bound to the i-th secondary controller;
  • the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller.
  • the embodiment of the present invention supports the main controller to specify the bound service function unit for each secondary controller, which effectively avoids the occurrence of binding conflicts.
  • the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit.
  • Each of the jumpable service function unit information wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
  • the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
  • the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  • the secondary controller that binds the service function unit in the embodiment of the present invention can obtain detailed information of the binding service function unit, so as to implement effective control and management of the bound service function unit.
  • the method further includes: the primary controller to the at least one secondary control And the switch respectively send a service flow suspension message;
  • the primary controller sends a new service function unit notification message to at least one of the at least one secondary controller, where the new service function unit notification message is used to indicate the at least one secondary controller Establishing a binding relationship between the at least one secondary controller and the corresponding newly added service function unit;
  • the primary controller receives a binding success message sent by at least one secondary controller of the at least one secondary controller;
  • the primary controller separately sends a service flow recovery message to the at least one secondary controller and the switch.
  • the embodiment of the present invention can implement the newly added service function unit and notify the secondary controller of the information of the newly added service function unit, so as to implement the binding of the newly added service function unit, and the management of the business process is more flexible.
  • the method before the main controller sends the service flow suspension message to the at least one secondary controller and the switch, the method further includes:
  • the name and the new service function unit include indication information of the flow table.
  • the embodiment of the present invention can implement a service function unit that is newly requested by the secondary controller, so that the management of the service process is more flexible.
  • the method further includes: the primary controller to the at least one secondary control And the switch respectively send a service flow suspension message;
  • the main controller sends a service function unit unbinding notification message to the second secondary controller, where the service function unit unbinding notification message is used to indicate the second secondary controller and the service function unit that needs to be unbound. Unbinding the relationship, wherein the second secondary controller is any one of the at least one secondary controller;
  • the main controller receives an unbinding success message sent by the second secondary controller.
  • the embodiment of the present invention can implement the unbinding service function unit, and the management of the service process is more flexible.
  • the method before the main controller sends the service flow suspension message to the at least one secondary controller and the switch, the method further includes:
  • a service function unit unbinding request sent by the second secondary controller
  • the message that the service function unit unbind request message carries the service function name of the service function unit that needs to be unbound and the identifier of the service process.
  • the embodiment of the present invention can implement the request of the secondary controller to cancel the binding service function unit, so that the management of the service flow is more flexible.
  • the method further includes:
  • the main controller sends a service function unit designation message to the third secondary controller, where the service function unit designation message carries the description information of the service function unit that needs to be unbound and the identifier of the service process, where the service The function unit designation message is used to indicate that the third secondary controller establishes a binding relationship with the service function unit that needs to be unbound, and the third secondary controller is any one of the at least one secondary controller.
  • the main controller receives the binding success message sent by the third secondary controller; or the primary controller deletes the service function unit that needs to be unbound in the service process;
  • the primary controller separately sends a service flow recovery message to the at least one secondary controller and the switch.
  • the main controller may be assigned to other secondary controllers to be bound, or the service function unit may be deleted, so that the business process management is more flexible and comprehensive.
  • the method further includes:
  • the main controller determines that each service function unit constituting the service process has been unbound, the service process is deleted.
  • the main controller can delete the business process when the service function units that constitute the business process are unbound, so that the business process management is more flexible and comprehensive.
  • a multi-controller cooperation method is characterized by comprising:
  • the first secondary controller receives the binding trigger message sent by the primary controller, where the binding trigger message is used to trigger the service in the first secondary controller and each service functional unit constituting the service flow.
  • the functional unit establishes a binding relationship, where each service functional unit constituting the business process is deployed by the primary controller for the switch;
  • the first secondary controller sends a binding success message to the primary controller, where the binding success message is used to notify the primary controller that the first secondary controller is bound to the at least one service functional unit. success;
  • the first secondary controller receives a service flow initiation message sent by the primary controller.
  • each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
  • the binding trigger message carries an identifier of the service process and description information of each service function unit that constitutes the service process;
  • the method further includes:
  • the first secondary controller determines, according to the description information of each service function unit that constitutes the service flow, at least one service function unit as a service function unit to be bound.
  • the binding trigger message carries an identifier of the service process, description information of each service function unit that constitutes the service process, and a service that the first secondary controller needs to bind.
  • the first secondary controller establishes a binding relationship with the at least one service function unit, including:
  • the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller;
  • the first secondary controller establishes a binding relationship with the at least one service function unit, including:
  • the first secondary controller Determining, by the first secondary controller, the service function unit to be bound according to the description information of the service function unit to be bound by the first secondary controller that is carried in the binding trigger message, the first auxiliary control The controller establishes a binding relationship with the service function unit to be bound.
  • the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit.
  • Each of the jumpable service function unit information wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
  • the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
  • the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  • the method further includes:
  • the first secondary controller receives the new service function unit notification message sent by the primary controller, and the newly added service function unit notification message is used to indicate that the first secondary controller and the newly added service function unit are established. Binding relationship
  • the first secondary controller receives a service flow recovery message sent by the primary controller.
  • the method before the first secondary controller receives the service flow suspension message sent by the primary controller, the method further includes:
  • the first secondary controller sends a new service function unit request message to the primary controller, where the newly added service function unit request message carries the identifier of the service flow and the service function name of the newly added service function unit. And the newly added service function unit includes indication information of the flow table;
  • the first secondary controller receives the primary controller to send After the business process startup message, it also includes:
  • the first secondary controller receives a service function unit unbinding notification message sent by the primary controller, where the service function unit unbinding notification message is used to indicate that the first secondary controller needs to be unbound.
  • the business function unit unbinds the relationship;
  • the first secondary controller cancels the binding relationship with the service function unit that needs to be unbound
  • the first secondary controller sends an unbinding success message to the primary controller.
  • the method further includes:
  • the first secondary controller sends a service function unit unbinding request message to the main controller, where the service function unit unbinding request message carries the service function name and the service function unit of the service function unit that needs to be unbound.
  • the identification of the business process is not limited to.
  • a multi-controller collaboration device includes:
  • transceiver unit configured to send a binding trigger message to each of the at least one secondary controller, where the binding trigger message sent by the ith secondary controller is used to trigger the ith secondary controller Establishing a binding relationship with the service function unit in each service function unit constituting the business process, where each service function unit constituting the business process is deployed by the device as a switch;
  • a processing unit configured to send, according to the received binding success message, each service function unit constituting the service flow, to the at least one secondary controller and the switch, respectively, by using the transceiver unit Process start message.
  • each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
  • the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow and description information of each service function unit that constitutes the service flow.
  • the binding trigger message sent by the ith secondary controller carries an identifier of the service flow, description information of each service function unit constituting the service flow, and the ith The name of the service function corresponding to the service function unit bound to the secondary controller;
  • the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller.
  • the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit.
  • Each of the jumpable service function unit information wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
  • the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
  • the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  • the processing unit is further configured to:
  • the processing unit before the service flow suspension message is sent to the at least one secondary controller and the switch, the processing unit is further configured to:
  • the name and the new service function unit include indication information of the flow table.
  • the processing unit is further configured to:
  • the processing unit before the service flow suspension message is sent to the at least one secondary controller and the switch, the processing unit is further configured to:
  • the processing unit after receiving the unbinding success message sent by the second secondary controller, the processing unit is further configured to:
  • the transceiver unit Transmitting, by the transceiver unit, a service function unit designation message to the third secondary controller, where the service function unit designation message carries the description information of the service function unit that needs to be unbound and the identifier of the service process, where the service a functional unit designation message is used to indicate the third secondary controller
  • the third secondary controller is any one of the at least one secondary controller, and the third secondary controller sends the third secondary controller by using the transceiver unit. Binding success message; or deleting the business function unit that needs to be unbound in the business process;
  • the processing unit after receiving the unbinding success message sent by the second secondary controller, the processing unit is further configured to:
  • a fourth aspect is a multi-controller collaboration device, including:
  • transceiver unit configured to receive a binding trigger message sent by the main controller, where the binding triggering message is used to trigger a binding relationship between the device and a service function unit in each service function unit that constitutes a service process, where The various service functional units constituting the business process are deployed by the primary controller for the switch;
  • a processing unit configured to establish a binding relationship with at least one service function unit
  • the transceiver unit is further configured to send a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
  • each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
  • the binding trigger message carries an identifier of the service process and description information of each service function unit that constitutes the service process;
  • the processing unit is further configured to:
  • the binding trigger message carries an identifier of the service process, description information of each service function unit that constitutes the service process, and a service function unit that is required to be bound by the device.
  • Business function name ;
  • the processing unit is configured to:
  • the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller;
  • the processing unit is configured to:
  • the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit.
  • Each of the jumpable service function unit information wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
  • the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
  • the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  • the processing unit after receiving the service flow start message sent by the main controller, the processing unit is further configured to:
  • the newly added service function unit notification message is used to indicate that the device establishes a binding relationship with the newly added service function unit;
  • the processing unit before receiving the service flow suspension message sent by the main controller, the processing unit is further configured to:
  • the newly added service function unit includes indication information of the flow table;
  • the processing unit after receiving the service flow start message sent by the main controller, the processing unit is further configured to:
  • An unbinding success message is sent to the primary controller by the transceiver unit.
  • the processing unit after receiving the service flow suspension message sent by the primary controller, the processing unit is further configured to:
  • a main controller includes:
  • a memory for storing instructions
  • a processor coupled to the memory and the transceiver, for executing instructions to execute the instructions Perform the following steps:
  • a secondary controller includes:
  • a memory for storing instructions
  • a processor coupled to the memory and the transceiver, for executing instructions to perform the following steps when executing the instructions:
  • the primary controller receives, by the transceiver, the primary controller sends a binding trigger message, where the binding triggering message is used to trigger the device to establish a binding relationship with the service functional unit in each service functional unit constituting the service flow, where the service is formed
  • Each service functional unit of the process is deployed by the primary controller as a switch;
  • binding success message Sending, by the transceiver, a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
  • the primary controller sends a binding trigger message to each of the at least one secondary controller, that is, the primary controller can directly specify the service functional unit bound to each secondary controller.
  • the secondary controller may also select the service function unit that it wishes to bind, and the primary controller receives the binding success message fed back by each secondary controller, and the primary controller successfully cancels according to the received binding.
  • the service flow start message is separately sent to the at least one secondary controller and the switch. Therefore, after each secondary controller is bound to the service function unit, the network application required to implement the service function corresponding to the bound service function unit can be separately deployed on each secondary controller, and each secondary controller is bound to the network application.
  • the business function unit manages and controls the controller to avoid the bottleneck caused by the centralized deployment of the network function, and implements multiple controllers to cooperatively control the business process in the switch.
  • FIG. 1 is a schematic diagram of an SDN network architecture in the background art of the present invention.
  • FIG. 2 is a schematic diagram of an SDN network architecture including an OF Controller and an OF Switch according to an embodiment of the present invention
  • FIG. 3 is a flowchart of an overview of cooperation of multiple controllers according to an embodiment of the present invention.
  • FIG. 5 is a second specific process of multi-controller cooperation according to an embodiment of the present invention.
  • FIG. 6 is a specific process of adding a binding service function unit according to an embodiment of the present invention.
  • FIG. 7 is a specific process of unbinding a service function unit according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a multi-controller cooperation device according to an embodiment of the present invention.
  • FIG. 9 is a second schematic structural diagram of a multi-controller cooperation device according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of a main controller according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a secondary controller according to an embodiment of the present invention.
  • the OpenFlow protocol is a typical technology of an SDN network.
  • the network elements in the OpenFlow protocol include an OpenFlow controller (corresponding to the network controller in FIG. 1 and hereinafter referred to as OF Controller) and an OpenFlow switch (corresponding to the network device in FIG. 1 , hereinafter referred to as OF Switch).
  • OF Controller controls the flow table in the OF Switch by pre-specified interface operations, thereby achieving the purpose of controlling data forwarding.
  • the OF Controller is a control plane device in the SDN network architecture, and is responsible for determining the forwarding action of the service flow according to the packet characteristics, and sending the flow rule corresponding to the service flow to the OF Switch.
  • the OF Switch is a user plane device in the SDN network architecture. It is also called a forwarding plane device. It acquires and stores the flow rules from the OF Controller, and performs corresponding forwarding or processing on the packets conforming to the flow rule.
  • the OF Controller can configure and manage the OF Switch through the control channel. There are multiple channels in an OF Switch, which can be connected to multiple OF Controllers at the same time, as shown in Figure 2.
  • the controller can implement the business process to the switch and group the flow tables that constitute the business process. Specifically, the controller sends a packet indication message to the switch, where the packet indication message is used to instruct the switch to group at least one flow table constituting the service flow. Therefore, the controller can directly deliver the packetized service flow to the switch, or send the service flow to the switch, and then group the flow table that constitutes the service process. At this time, the service flow in the switch is configured by at least one flow table. Group composition.
  • the controller can divide each flow table constituting the business process into at least one logical switch by a configuration mode (for example, OF Config).
  • a configuration mode for example, OF Config
  • the logical switch is physically composed of at least one flow table in the switch, and can be logically regarded as a single switch.
  • the controller divides each flow table constituting the business process into at least one logical switch, which is completed through a configuration port, and the controller sends a packet indication message to the switch through the service port.
  • the controller can also bind and unbind the flow table group in the switch, and add the flow table group and the delete flow table group.
  • the controller sends the switch to the switch.
  • the flow table group binding message, the flow table group binding message carries the identification information of the flow table group to be bound, and the flow table group binding message is used to establish a binding relationship between the controller and the flow table group to be bound, so that the control is performed.
  • the device handles the binding flow table group management.
  • the device unbinds the flow table group, and the controller sends a flow table group unbinding message to the switch.
  • the flow table group unbinding message carries the identification information of the flow table group to be unbound.
  • the controller sends a new group indication message to the switch, and the newly added group indication message is used to instruct the switch to group at least one newly added flow table.
  • the controller sends a flow table group deletion message to the switch for deleting the flow table group.
  • the flow table group deletion message carries the identification information of the flow table group to be deleted or deletes the indication information of all the flow table groups.
  • the OF Controller (hereinafter referred to as "Master") with the Master attribute is the primary controller, and the OF Controller (hereinafter referred to as Equal) with the Equal attribute is the secondary controller.
  • the interaction process between the main controller, the first secondary controller, and the switch is taken as an example to illustrate how the multi-controller cooperation is implemented in the embodiment of the present invention.
  • an embodiment of the present invention provides a multi-controller cooperation method, including:
  • Step 300 The primary controller sends a binding trigger message to each of the at least one secondary controller.
  • the binding trigger message sent by the i-th secondary controller is used to trigger the binding relationship between the i-th secondary controller and the service functional unit in each service functional unit that constitutes the service process, where each of the service flows is formed.
  • the business function unit is deployed by the primary controller for the switch.
  • each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
  • Step 310 The first secondary controller establishes a binding relationship with the at least one service function unit.
  • Step 320 The first secondary controller sends a binding success message to the primary controller, where the binding success message is used to notify the primary controller that the first secondary controller is successfully bound to the at least one service functional unit.
  • Step 330 The main controller determines, according to the received binding success message, each of the constituent business processes.
  • the service flow start message is sent to at least one secondary controller and the switch respectively.
  • the first secondary controller is any one of at least one secondary controller.
  • the binding trigger message sent by the ith secondary controller may be the following two situations:
  • the binding trigger message sent by the i-th secondary controller carries the identifier of the service process and the description information of each service function unit that constitutes the service process.
  • the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, a forwarding plane type, and information of each jumpable service function unit corresponding to the service function unit,
  • Each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit.
  • the forwarding plane corresponding to the service function unit is identified as an identifier of the switch, and the forwarding plane type indicates that the switch is a switch that supports the flow table group;
  • the forwarding plane corresponding to the service function unit is identified as the identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  • the first secondary controller Before the first secondary controller establishes a binding relationship with the at least one service function unit, the first secondary controller carries the binding trigger message sent by the first secondary controller.
  • the description information of each service function unit constituting the business process the first secondary controller selects at least one service function unit as the service function unit to be bound.
  • the first secondary controller establishes a binding relationship with the flow table group to be bound in the switch.
  • the service function unit is a logical switch
  • the first secondary controller establishes a binding relationship with the logical switch to be bound in the logical switch.
  • FIG. 4 A scenario for implementing multi-controller cooperation is described below using FIG. 4 as an example.
  • S401 The master customizes the business process and deploys to the OF Switch.
  • the master customizes the service process and deploys it to the OF Switch, which is the service flow initialization process of each OF Switch by Mater. After the initialization process is successful, each OF Switch contains multiple flow table groups or multiple OPLSs. Here, the number of OF switches is taken as an example. Similarly, the Master can customize various business processes and deploy them to each OF Switch.
  • the Master customizes the service-based Pipeline to send a packet indication message (OFPT_BP_MOD) to the OF Switch.
  • OFPT_BP_MOD packet indication message
  • the master configures the resources of each OpenFlow Logical Switch (OFLS) and the connection relationship between them through the OF Config.
  • OFLS OpenFlow Logical Switch
  • the embodiment of the present invention does not limit the manner in which the service flow customization of the forwarding plane is implemented, and how to implement at least one flow table constituting the service function unit into the service function units.
  • Init_BP_Notification is an implementation of the binding trigger message. It is sent after the master determines that the business process is successfully initialized. Init_BP_Notification is used to notify each new new forwarding surface processing process. Init_BP_Notification contains the parameter process, whose structure is:
  • [bs_role]n A list of information of each business function unit in the business process, the order of which represents the position of each business function unit in the business process, wherein the structure of bs_role is:
  • Datapath_id forwarding surface identification information
  • Type forwarding face type
  • Bs_name The name of the service function that can be redirected to the service function unit
  • the forwarding plane corresponding to the service function unit The identifier is the ID of the OF Switch, and the forwarding plane type indicates that the switch is a switch that supports the flow table group.
  • the forwarding plane identifier corresponding to the service function unit is an identifier corresponding to the OFLS, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  • the instruction may adopt a Goto-TG instruction, and the Goto-TG carries a bs_name, or other instructions, such as carrying an output port, a destination Mac address, and the like in other manners of instructions.
  • Equal sends a flow table group binding message (OFPT_TG_MOD) to the OF Switch, where the message carries the service function name (ie, bs_name) of the selected service function unit.
  • OFPT_TG_MOD flow table group binding message
  • Equal sends an OFLS binding message OFPT_ROLE_REQUEST message to the OF Switch, where the message carries the service function name (ie, bs_name) of the selected service function unit.
  • Bind_BR_Notification is sent when Equal determines that the binding is successful with the selected business function unit.
  • S407 The master sends a service flow start message (Activate_BP_Notification) to all the Equals and the Switch.
  • Activate_BP_NotificationMaster is sent when the Master determines that all business functional units in the business process have been bound.
  • each Equal interacts with the service function unit and the corresponding flow table that it controls, and completes the specific service functions of the service function unit, including packet reporting, flow table delivery, and the like.
  • each Equal is provided according to the master.
  • the entire description of the service function units of the business process, the service function unit to be bound, and the binding of at least one selected service function unit, and the service function unit corresponding to the binding of each Equal is implemented.
  • the network application required for the business function, each Equal manages and controls the bound business function unit, avoids the bottleneck caused by the centralized deployment of the network function of the controller, and realizes the business process of the multiple controllers cooperatively controlling the switch. .
  • the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow, the description information of each service function unit constituting the service flow, and the service function unit to be bound by the i-th secondary controller.
  • the corresponding service function name; or the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the i-th secondary controller.
  • the secondary controller needs to determine the service function unit to be bound by itself.
  • the primary controller selects the corresponding bound service function unit for each secondary controller. .
  • FIG. 5 Another scenario for implementing multi-controller cooperation is described below using FIG. 5 as an example. In FIG. 5, steps similar to those of FIG. 4 are omitted and will not be described again.
  • S501 The master customizes the business process and deploys it to the OF Switch.
  • S502 The Master sends a service flow initialization message (Init_BP_Notification) to each Equal.
  • the two messages corresponding to the foregoing S502 and S503 can be sent to each Equal at one time, or can be sent to each Equal in two times.
  • the two transmissions are taken as an example for description. Both forms of message transmission can be implemented as binding trigger messages.
  • the messages corresponding to S502 and S503 respectively may be selected to carry different content.
  • the first case If the Init_BP_Notification message contains the process parameter, only the service function unit to be bound to the Equal is required in Designate_BR_Notification.
  • the process parameter is the same as the process parameter described in the above S402, and is not described here.
  • the Designate_BR_Notification carries [bs_name]n, and the surface master wants a list of service names corresponding to the plurality of service functional units bound by the Equal.
  • the Designate_BR_Notification carries the identifier of the service process and the description information of the service function unit to which the Equal needs to be bound.
  • [bs_role]n A list of descriptions of multiple business function units that the Master wants to assume for the Equal.
  • Bind_BR_Notification is sent when Equal determines that the binding with the specified business function unit is successful.
  • S507 The master sends a business process start message (Activate_BP_Notification) to all Equals and Switches.
  • the master specifies the service function unit to be bound for each Equal, and each Equal completes binding to at least one selected service function unit, and each Equal is separately deployed to implement binding.
  • the network application required by the service function corresponding to the service function unit, each Equal manages and controls the bound service function unit, avoids the bottleneck caused by the centralized deployment of the network function of the controller, and realizes cooperative control of multiple controllers. Business process in the switch.
  • the embodiment of the present invention further provides a method for adding a binding service function unit and deleting a binding service function unit.
  • the first scenario is triggered by the first secondary controller, and the first secondary controller sends a new service function unit request message to the primary controller, and the primary controller notifies each secondary controller and the switch to suspend the service flow. And adding at least one service function unit to the switch according to the newly added service function unit request message, and then feeding back the new service function unit response message to the first auxiliary controller, and the first secondary controller receives the response message and binds the new message. At least one business function unit is added. Finally, the primary controller notifies each secondary controller and switch to resume business processes.
  • the newly added service function unit request message carries the identifier of the service process, the service function name of the newly added service function unit, and the new service function unit includes the indication information of the flow table.
  • the first secondary controller is still triggered by the first secondary controller, and the primary controller adds at least one service function unit to the switch according to the newly added service function unit request message sent by the first secondary controller, and sends the new controller to the at least one secondary controller.
  • the service function unit specifies a message, and at least one of the secondary controllers herein may or may not include the first secondary controller.
  • Each of the secondary controllers that have received the new service function unit designation message is bound to the new service function unit corresponding to the new service function unit specified for the secondary controller in the new service function designation message.
  • the primary controller notifies each secondary controller and switch to resume business processes.
  • the first secondary controller is any one of the secondary controllers.
  • the new service function unit request message is sent to the master.
  • the master adds the required service function unit to the account.
  • Equal1 is then bound by Equal1. Since the new business function unit is related to the original business function unit, it is more convenient to manage it uniformly by Equal1.
  • the second scenario is triggered by the primary controller.
  • the primary controller After the primary controller notifies each secondary controller and switch to suspend the service process, add at least one service function unit to the switch, and then feed the at least one secondary controller to add a new service function unit. Specify a message.
  • Each of the secondary controllers that have received the new service function unit designation message is bound to the new service function unit corresponding to the new service function unit specified for the secondary controller in the new service function designation message.
  • the primary controller notifies each secondary controller and switch to resume business processes.
  • the master After adding a service function unit, the master specifies the new service function of the Equal2 pair that has been bound to the related service function unit according to the service function corresponding to the new service function unit.
  • the unit can be bound.
  • the service flow recovery message may carry the description information of each service function unit that constitutes the service process or the description of the newly added at least one service function unit. information.
  • FIG. 6 shows the specific process for the above two newly added binding service functional units.
  • Equal1 sends a new service function unit request message (Add_BR_Request) to the master.
  • the message includes:
  • Bs_name Name of the business function of the new business function unit.
  • Table_numbers Number of flow tables for new business function units.
  • S601 is an optional step.
  • S602 The Master sends a service flow suspension message (Deactivate_BP_Notification) to all Equal and OF switches, and suspends the business process.
  • S603 The Master adds a new service function unit and corresponding resources.
  • S603 can be implemented in the following two ways:
  • the master sends a new packet indication message (OFPT_TG_MOD) to the OF Switch to add a new flow table group.
  • OFPT_TG_MOD a new packet indication message
  • each service function unit refers to an OFLS
  • the master adds OFLS and corresponding resources through OF Config and modifies the connection relationship between them.
  • S604a The Master returns a new service function unit request response message (Add_BR_Response) to the Equal1 requesting to add the service function unit.
  • the message carries the description information of the added service function unit, that is, bs_role.
  • S604a is a step required to perform a scenario in which S601 is executed.
  • S604b The master sends a service function unit designation message (Designate_BR_Notification to the selected account, the message carries the description information of the added service function unit.
  • S604b may be a step required to execute a scenario in which S601 is executed, or may be a step required to execute a scenario in which S601 is not executed.
  • Figure 6 shows only one special case, the Master sends Designate_BR_Notification to Equal1. The Master can also choose to send Designate_BR_Notification to other Equals.
  • the equal1 sends a binding success message (Bind_BR_Notification) to the master to notify the binding result.
  • S607 The Master sends a Service Flow Recovery message (Activate_BP_Notification) message to all the Equals.
  • Activate_BP_Notification can be used to start both the business process and the recovery business process.
  • the Activate_BP_Notification sent contains the updated business process information (Update_BP_Notification).
  • Update_BP_Notification can contain at least one [bs_role]n of the latest process or update.
  • the first secondary controller sends a service function unit unbinding request message, and the primary controller notifies all the secondary controllers and switches to suspend the service flow, and the primary controller controls the first secondary control.
  • the device sends a sending service function unit unbinding response message, and the service function unit unbinding notification message is used to indicate that the first secondary controller is unbinding with the service function unit that needs to be unbound, wherein the first secondary controller is At least one of the secondary controllers; the primary controller receives the unbinding success message sent by the first secondary controller.
  • the service function unit unbind request message carries the service function name and the identifier of the service process of the service function unit that needs to be unbound.
  • Equal1 when Equal1 wants to unbind a service function unit that is currently bound to itself, it can send a service function unit unbind request message to the master.
  • the Master informs that Equal1 can unbind the service function unit and receive the unbinding success message fed back by Equal1.
  • the second scenario is triggered by the primary controller, and the primary controller notifies all the secondary controllers and switches to suspend the service process, and the primary controller sends a sending service function unit unbinding notification message to the first secondary controller, and the service function unit is unbound.
  • the notification message is used to instruct the first secondary controller to unbind the business function unit that needs to be unbound.
  • the main controller receives the unbind sent by the first secondary controller Success message.
  • the master when the master wants to cancel the binding relationship between the service function unit and the current service function unit, the master can notify Equal2 to unbind the service function unit and receive the unbinding success message fed back by Equal2.
  • FIG. 7 shows a specific process for the above two unbundling service function units.
  • the message carries bs_name, indicating the business function unit that needs to be unbound.
  • S701 is an optional step.
  • S702 The Master sends a service flow suspension message (Deactivate_BP_Notification) to all Equal and OF switches, and suspends the business process.
  • S703a The Master returns the service function unit unbind response message (Unbind_BR_Response) to the Equal of the request cancellation business function unit.
  • S703a is a step that is required to be performed for the scenario in which S701 is executed.
  • S703b The master sends a service function unit unbinding notification message (Cancel_BR_Notification) to the corresponding premium.
  • This message carries the parameter bs_name.
  • S703b is a step required to perform a scenario in which S701 is not executed.
  • S704 can be implemented in the following two ways:
  • Equal sends an OFPT_TG_MOD message to the OF Switch, and cancels the binding relationship with the flow table group corresponding to the service function unit.
  • the master can select another Equal to bind the service function unit, and then resume the business process, or the master initiates deletion of the service function unit, and then resumes the business process, or after determining that the service function unit is unbound, When each business function unit that constitutes a business process has been unbound, the business process is deleted.
  • the Master initiates the deletion of the service function unit in the following two ways:
  • the master When each service function unit is a flow table group, the master sends a flow table group deletion message (OFPT_TG_MOD) to the OF switch, and carries the service function name of the flow table group indicated by the service process unit.
  • OFPT_TG_MOD flow table group deletion message
  • the master When each service function unit refers to an OFLS, the master deletes the OFLS and corresponding resources through OF Config and modifies the connection relationship.
  • the Master can delete the business process in the following two ways:
  • the master sends a flow table group deletion message (OFPT_BP_MOD) to the Switch, indicating that all flow table groups included in the service flow are deleted.
  • OFPT_BP_MOD flow table group deletion message
  • the Master deletes all OFLSs through OF Config.
  • a multi-controller cooperation device is also provided in the embodiment of the present invention, and the device may be the main controller in the embodiment shown in FIG.
  • the device may be used to perform the method embodiment corresponding to FIG. 3 above. Therefore, the implementation manner of the multi-controller cooperation device provided by the embodiment of the present invention may be referred to the implementation manner of the method, and details are not described herein again.
  • an embodiment of the present invention provides a multi-controller cooperation device, which has a function of implementing a behavior of a main controller in an example of the foregoing method, and the function may be implemented by hardware, or may execute corresponding software through hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the device comprises a transceiver unit 80 and a processing unit 81, which can perform corresponding functions in the above method examples, specifically:
  • the transceiver unit 80 is configured to send a binding touch to each of the at least one secondary controller Sending a message, wherein the binding trigger message sent by the i-th secondary controller is used to trigger the binding relationship between the i-th secondary controller and the service function unit in each service function unit that constitutes the service flow, where The various service functional units constituting the business process are deployed by the device for the switch;
  • the processing unit 81 is configured to determine, according to the received binding success message, that each service function unit constituting the service flow is bound, by using the transceiver unit 80 to the at least one secondary controller and the switch respectively Send a business process start message.
  • each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
  • the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow and description information of each service function unit that constitutes the service flow.
  • the binding trigger message sent by the ith secondary controller carries an identifier of the service flow, description information of each service function unit constituting the service flow, and the ith The name of the service function corresponding to the service function unit bound to the secondary controller;
  • the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller.
  • the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit.
  • Each of the jumpable service function unit information wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
  • the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
  • the sender ID is the identifier of the corresponding logical switch.
  • the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  • the processing unit 81 is further configured to:
  • the processing unit 81 is further configured to:
  • the transceiver unit 80 Receiving, by the transceiver unit 80, a new service function unit request message sent by the first secondary controller, where the newly added service function unit request message carries the identifier of the service flow and the service of the newly added service function unit.
  • the function name and the newly added service function unit include indication information of the flow table.
  • the processing unit 81 is further configured to:
  • the processing unit 81 is further configured to:
  • the processing unit 81 is further configured to:
  • the transceiver unit 80 Sending, by the transceiver unit 80, a service function unit designation message to the third secondary controller, where the service function unit designation message carries the description information of the service function unit that needs to be unbound and the identifier of the service flow,
  • the service function unit designation message is used to indicate that the third secondary controller establishes a binding relationship with the service function unit that needs to be unbound, and the third secondary controller is any one of the at least one secondary controller.
  • the processing unit 81 is further configured to:
  • a multi-controller cooperation device is also provided in the embodiment of the present invention, and the device may be the secondary controller in the embodiment shown in FIG.
  • the device may be used to perform the method embodiment corresponding to FIG. 4 above. Therefore, the implementation manner of the multi-controller cooperation device provided by the embodiment of the present invention may be referred to the implementation manner of the method, and details are not described herein again.
  • a multi-controller cooperation device is also provided in the embodiment of the present invention, and the device may be the secondary controller in the embodiment shown in FIG.
  • the device may be used to perform the method embodiment corresponding to FIG. 3 above. Therefore, the implementation manner of the multi-controller cooperation device provided by the embodiment of the present invention may be referred to the implementation manner of the method, and details are not described herein again.
  • an embodiment of the present invention provides a multi-controller cooperation device, which has a function of implementing a behavior of a secondary controller in the foregoing method example, and the function may be implemented by hardware, or may execute corresponding software through hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the device includes a transceiver unit 90 and a processing unit 91, which can perform corresponding functions in the above method examples, wherein:
  • the transceiver unit 90 is configured to receive, by the main controller, a binding trigger message, where the binding trigger message is used to trigger the device to establish a binding relationship with a service function unit in each service function unit constituting the service flow, where The various service functional units constituting the business process are deployed by the primary controller for the switch;
  • the processing unit 91 is configured to establish a binding relationship with the at least one service function unit.
  • the transceiver unit 90 is further configured to send a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
  • each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
  • the binding trigger message carries an identifier of the service process and description information of each service function unit that constitutes the service process;
  • the processing unit 91 is further configured to:
  • the binding trigger message carries an identifier of the service process, description information of each service function unit that constitutes the service process, and a service function unit that is required to be bound by the device.
  • Business function name ;
  • the processing unit 91 is configured to:
  • the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller;
  • the processing unit 91 is configured to:
  • the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit.
  • Each of the jumpable service function unit information wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
  • the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
  • the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  • the processing unit 91 after receiving the service flow start message sent by the main controller, the processing unit 91 is further configured to:
  • the main controller sends a new service function unit notification
  • the new service function unit notification message is used to indicate that the device establishes a binding relationship with the newly added service function unit.
  • the processing unit 91 before receiving the service flow suspension message sent by the main controller, the processing unit 91 is further configured to:
  • the transceiver unit 90 Sending, by the transceiver unit 90, a new service function unit request message to the main controller, where the new service function unit request message carries an identifier of the service flow, a service function name of the newly added service function unit, and
  • the newly added service function unit includes indication information of the flow table;
  • the processing unit 91 after receiving the service flow start message sent by the main controller, the processing unit 91 is further configured to:
  • An unbinding success message is sent to the primary controller by the transceiver unit 90.
  • the processing unit 91 after receiving the service flow suspension message sent by the main controller, the processing unit 91 is further configured to:
  • the division of the unit in the embodiment of the present invention is schematic, and is only a logical function division, and the actual implementation may have another division manner.
  • the functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be used
  • the form of hardware implementation can also be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • a computer readable storage medium A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, and the program code can be stored. Medium.
  • a main controller is also provided in the embodiment of the present invention, which is a physical device of the device shown in FIG.
  • an embodiment of the present invention provides a main controller, including:
  • the processor 1003 is connected to the memory 1002 and the transceiver 1001, respectively, for executing instructions to perform the following steps when executing the instructions:
  • the service flow start message is separately sent to the at least one secondary controller and the switch by the transceiver 1001.
  • a secondary controller is also provided in the embodiment of the present invention, which is a physical device of the device shown in FIG.
  • an embodiment of the present invention provides a secondary controller, including:
  • the processor 1103 is respectively connected to the memory 1102 and the transceiver 1101 for executing an instruction to perform the following steps when executing the instruction:
  • the primary controller sends a binding triggering message, where the binding triggering message is used to trigger the device to establish a binding relationship with the service functional unit in each service functional unit constituting the service flow, where Each service functional unit of the business process is deployed by the primary controller for the switch;
  • the transceiver 1101 Sending, by the transceiver 1101, a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
  • connection manner between the parts shown in FIG. 10 and FIG. 11 is only one possible example, and the transceiver and the memory are both connected to the processor, and there is no connection between the transceiver and the memory. Or, it can be other possible connections.
  • the primary controller sends a binding trigger message to each of the at least one secondary controller, that is, the primary controller can directly specify the service functional unit bound to each secondary controller.
  • the secondary controller may also select a service function unit that is to be bound by the secondary controller, and the primary controller receives the binding success message fed back by each secondary controller, and the primary controller determines, according to the received binding success message, that the service flow is formed.
  • a service flow start message is separately sent to the at least one secondary controller and the switch. Therefore, after each secondary controller is bound to the service function unit, the network application required to implement the service function corresponding to the bound service function unit can be separately deployed on each secondary controller, and each secondary controller is bound to the network application.
  • Business function units are managed and controlled to avoid bottlenecks caused by centralized deployment of network functions. Multiple controllers cooperatively control the business processes in the switch.
  • the method provided by the embodiment of the present invention can implement distributed coordinated control of multiple controllers based on service flows for the SDN network, greatly simplifying the calculation processing overhead of each controller node, and improving the scalability of the network. Help network expansion and upgrade.
  • the shared control of the multi-control network element to the switch reduces the signaling forwarding level, optimizes the signaling path, and reduces the processing delay of the control signaling, compared to the hierarchical control architecture for the multi-control network element.
  • FIG. 1 These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device.

Abstract

Provided are a multi-controller cooperation method and device for solving a bottleneck of controllers due to centralized deployment of network functions and realizing multi-controller cooperative control of a switch. The method comprises: a primary controller sending a binding trigger message to each secondary controller of at least one secondary controller; the primary controller receiving a binding success message fed back by each secondary controller; and when it is determined, according to the received binding success message, that each of service function units forming a service process is bound, the primary controller sending a service process startup message to at least one secondary controller and a switch, respectively. According to the invention, after each secondary controller is bound with a service function unit, each secondary controller manages and controls the bound service function unit, thereby preventing the bottleneck of controllers due to centralized deployment of network functions.

Description

一种多控制器协作方法及装置Multi-controller cooperation method and device 技术领域Technical field
本发明涉及网络技术领域,特别是涉及一种多控制器协作方法及装置。The present invention relates to the field of network technologies, and in particular, to a multi-controller cooperation method and apparatus.
背景技术Background technique
在当前的网络中,存在众多复杂的网络设备,如路由器、网关、交换机、防火墙和各类服务器等。这些设备分别支持各种不同的标准协议,具有各自独立的控制模块,因此这种分布式的控制模式导致网络部署管理非常复杂。为了实施某个控制功能的升级或者参数修改,网络操作员可能需要对每台设备进行单独地操作。In the current network, there are many complex network devices, such as routers, gateways, switches, firewalls, and various types of servers. These devices support a variety of different standard protocols, each with its own independent control module, so this distributed control mode leads to complex network deployment management. In order to implement an upgrade or parameter modification of a control function, the network operator may need to operate each device individually.
为了实现网元的部署灵活性和可管理性,业界提出了软件定义网络(Software Defined Networking,SDN)的概念。SDN将网元的控制逻辑和转发功能解耦,分为控制面设备和转发面设备,实现将控制逻辑进行集中部署,对网络的控制和维护能够简单地通过集中部署的控制面设备实现,从而提高网络的管理效率,同时也使转发面设备更为简单化和通用化,有利于实现转发面设备的高性能和可重用性。目前,SDN的思想正在被广泛地应用到数据中心网络和电信网络中。In order to realize the deployment flexibility and manageability of network elements, the industry has proposed the concept of Software Defined Networking (SDN). The SDN decouples the control logic and forwarding functions of the network element into control plane devices and forwarding plane devices to implement centralized deployment of control logic. The control and maintenance of the network can be easily implemented through centralized deployment of control plane devices. Improve the management efficiency of the network, and at the same time make the forwarding device simpler and more general, which is beneficial to the high performance and reusability of the forwarding device. At present, the idea of SDN is being widely applied to data center networks and telecommunication networks.
具体的,参阅图1所示,网络设备(Network Device),又称交换机,为转发面设备,用于执行转发面的报文传输。网络控制器(Network Controller),又称控制器,为控制面设备,用于通过控制信道对交换机进行配置和管理。网络应用(Application)用于实现各种网络功能,包括路由控制、隧道封装、防火墙、安全接入、QoS控制等。Specifically, as shown in FIG. 1 , a network device (Network Device), also referred to as a switch, is a forwarding plane device, and is used to perform packet transmission on the forwarding plane. A network controller (Network Controller), also known as a controller, is a control plane device that is used to configure and manage switches through a control channel. The application is used to implement various network functions, including routing control, tunnel encapsulation, firewall, secure access, and QoS control.
现有技术中,交换机要实现的功能都需通过控制器上的网络应用进行配置,如果交换机需要实现复杂的网络功能,如路由控制、隧道封装、防火墙、安全接入、QoS控制等,那么就需要在控制器上安装多种网络应用。这种网络功能的集中部署方式,一方面会给控制器带来极大的运行开销,容易造成控 制面的瓶颈;另一方面,当网络需要进行设备扩容或者功能扩展时,只能采用累积叠加的方式,控制器上的网络应用会越来越庞大,可能造成运行的稳定性与可靠性问题。In the prior art, the functions to be implemented by the switch are configured through the network application on the controller. If the switch needs to implement complex network functions, such as routing control, tunnel encapsulation, firewall, secure access, and QoS control, then A variety of web applications need to be installed on the controller. The centralized deployment of such network functions will bring great operational overhead to the controller, which is easy to cause control. On the other hand, when the network needs to be expanded or expanded, the cumulative stacking method can only be adopted. The network application on the controller will become larger and larger, which may cause operational stability and reliability problems. .
发明内容Summary of the invention
本发明实施例提供一种多控制器协作方法及装置,用以解决控制器因网络功能集中部署造成的瓶颈问题,实现多控制器协作控制交换机。The embodiments of the present invention provide a multi-controller cooperation method and device, which are used to solve a bottleneck problem caused by centralized deployment of network functions of a controller, and implement a multi-controller cooperative control switch.
第一方面,一种多控制器协作方法,包括:In a first aspect, a multi-controller collaboration method includes:
主控制器针对至少一个辅控制器中的每个辅控制器发送绑定触发消息,其中,针对第i个辅控制器发送的绑定触发消息用于触发所述第i个辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;The master controller sends a binding trigger message to each of the at least one secondary controller, where the binding trigger message sent by the ith secondary controller is used to trigger the ith secondary controller and the component The business function unit in each business function unit of the business process establishes a binding relationship, wherein each business function unit constituting the business process is deployed by the main controller as a switch;
所述主控制器接收每个辅控制器反馈的绑定成功消息,所述绑定成功消息用于通知所述主控制器该辅控制器与至少一个业务功能单元绑定成功;The master controller receives a binding success message fed back by each secondary controller, where the binding success message is used to notify the primary controller that the secondary controller is successfully bound to the at least one service function unit;
所述主控制器根据接收到的绑定成功消息确定构成所述业务流程的各个业务功能单元均被绑定时,向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。The main controller sends a service flow start message to the at least one secondary controller and the switch separately when the primary service function unit that is configured to be the service flow is bound according to the received binding success message.
在一种可能的实现方式中,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。In a possible implementation manner, each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
因此,本发明实施例支持针对业务流程的多种划分方式。Therefore, embodiments of the present invention support multiple partitioning methods for business processes.
在一种可能的实现方式中,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息。In a possible implementation manner, the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow and description information of each service function unit that constitutes the service flow.
因此,本发明实施例支持各个辅控制器自主选择需要绑定的业务功能单元。Therefore, the embodiment of the present invention supports each secondary controller to independently select a service function unit that needs to be bound.
在一种可能的实现方式中,所述针对第i个辅控制器发送的绑定触发消息 携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述第i个辅控制器所需绑定的业务功能单元对应的业务功能名称;In a possible implementation manner, the binding trigger message sent by the i-th secondary controller Carrying the identifier of the service process, the description information of each service function unit constituting the service process, and the service function name corresponding to the service function unit bound to the i-th secondary controller;
或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息。Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller.
因此,本发明实施例支持主控制器为各个辅控制器指定绑定的业务功能单元,有效避免了绑定冲突的出现。Therefore, the embodiment of the present invention supports the main controller to specify the bound service function unit for each secondary controller, which effectively avoids the occurrence of binding conflicts.
在一种可能的实现方式中,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;In a possible implementation manner, the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit. Each of the jumpable service function unit information, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
因此,本发明实施例中绑定业务功能单元的辅控制器可以获得绑定业务功能单元的详细信息,以实现对绑定业务功能单元的有效控制和管理。Therefore, the secondary controller that binds the service function unit in the embodiment of the present invention can obtain detailed information of the binding service function unit, so as to implement effective control and management of the bound service function unit.
在一种可能的实现方式中,在所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,还包括:所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;In a possible implementation, after the main controller sends the service flow start message to the at least one secondary controller and the switch, the method further includes: the primary controller to the at least one secondary control And the switch respectively send a service flow suspension message;
所述主控制器在所述业务流程中添加新增至少一个业务功能单元;Adding, by the main controller, at least one service function unit to the service flow;
所述主控制器向所述至少一个辅控制器中的至少一个辅控制器发送新增业务功能单元通知消息,所述新增业务功能单元通知消息用于指示所述至少一个辅控制器中的至少一个辅控制器与对应的新增业务功能单元建立绑定关系; The primary controller sends a new service function unit notification message to at least one of the at least one secondary controller, where the new service function unit notification message is used to indicate the at least one secondary controller Establishing a binding relationship between the at least one secondary controller and the corresponding newly added service function unit;
所述主控制器接收所述至少一个辅控制器中的至少一个辅控制器发送的绑定成功消息;The primary controller receives a binding success message sent by at least one secondary controller of the at least one secondary controller;
所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。The primary controller separately sends a service flow recovery message to the at least one secondary controller and the switch.
因此,本发明实施例可以实现新增业务功能单元并将新增业务功能单元的信息通知给辅控制器,以实现新增业务功能单元的绑定,使业务流程的管理更加灵活。Therefore, the embodiment of the present invention can implement the newly added service function unit and notify the secondary controller of the information of the newly added service function unit, so as to implement the binding of the newly added service function unit, and the management of the business process is more flexible.
在一种可能的实现方式中,在所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,还包括:In a possible implementation, before the main controller sends the service flow suspension message to the at least one secondary controller and the switch, the method further includes:
所述主控制器接收所述第一辅控制器发送的新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息。Receiving, by the primary controller, a new service function unit request message sent by the first secondary controller, where the newly added service function unit request message carries the identifier of the service process, and the service function of the newly added service function unit The name and the new service function unit include indication information of the flow table.
因此,本发明实施例可以实现新增辅控制器请求的业务功能单元,使业务流程的管理更加灵活。Therefore, the embodiment of the present invention can implement a service function unit that is newly requested by the secondary controller, so that the management of the service process is more flexible.
在一种可能的实现方式中,在所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,还包括:所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;In a possible implementation, after the main controller sends the service flow start message to the at least one secondary controller and the switch, the method further includes: the primary controller to the at least one secondary control And the switch respectively send a service flow suspension message;
所述主控制器向第二辅控制器发送业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述第二辅控制器与需要取消绑定的业务功能单元取消绑定关系,其中,所述第二辅控制器为所述至少一个辅控制器中的任意一个;The main controller sends a service function unit unbinding notification message to the second secondary controller, where the service function unit unbinding notification message is used to indicate the second secondary controller and the service function unit that needs to be unbound. Unbinding the relationship, wherein the second secondary controller is any one of the at least one secondary controller;
所述主控制器接收所述第二辅控制器发送的取消绑定成功消息。The main controller receives an unbinding success message sent by the second secondary controller.
因此,本发明实施例可以实现取消绑定业务功能单元,使业务流程的管理更加灵活。Therefore, the embodiment of the present invention can implement the unbinding service function unit, and the management of the service process is more flexible.
在一种可能的实现方式中,在所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,还包括:In a possible implementation, before the main controller sends the service flow suspension message to the at least one secondary controller and the switch, the method further includes:
所述主控制器接收所述第二辅控制器发送的业务功能单元取消绑定请求 消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。Receiving, by the main controller, a service function unit unbinding request sent by the second secondary controller The message that the service function unit unbind request message carries the service function name of the service function unit that needs to be unbound and the identifier of the service process.
因此,本发明实施例可以实现辅控制器请求取消绑定业务功能单元,使业务流程的管理更加灵活。Therefore, the embodiment of the present invention can implement the request of the secondary controller to cancel the binding service function unit, so that the management of the service flow is more flexible.
在一种可能的实现方式中,在所述主控制器接收所述第二辅控制器发送的取消绑定成功消息之后,还包括:In a possible implementation, after the main controller receives the unbinding success message sent by the second secondary controller, the method further includes:
所述主控制器向第三辅控制器发送业务功能单元指定消息,所述业务功能单元指定消息携带所述需要取消绑定的业务功能单元的描述信息和所述业务流程的标识,所述业务功能单元指定消息用于指示所述第三辅控制器与所述需要取消绑定的业务功能单元建立绑定关系,所述第三辅控制器为所述至少一个辅控制器中的任意一个,所述主控制器接收所述第三辅控制器发送的绑定成功消息;或者,所述主控制器在所述业务流程中删除所述需要取消绑定的业务功能单元;The main controller sends a service function unit designation message to the third secondary controller, where the service function unit designation message carries the description information of the service function unit that needs to be unbound and the identifier of the service process, where the service The function unit designation message is used to indicate that the third secondary controller establishes a binding relationship with the service function unit that needs to be unbound, and the third secondary controller is any one of the at least one secondary controller. The main controller receives the binding success message sent by the third secondary controller; or the primary controller deletes the service function unit that needs to be unbound in the service process;
所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。The primary controller separately sends a service flow recovery message to the at least one secondary controller and the switch.
因此,本发明实施例取消绑定业务功能单元后,主控制器可以指定给其他辅控制器绑定,或删除该业务功能单元,使业务流程管理更加灵活全面。Therefore, after the binding of the service function unit is cancelled in the embodiment of the present invention, the main controller may be assigned to other secondary controllers to be bound, or the service function unit may be deleted, so that the business process management is more flexible and comprehensive.
在一种可能的实现方式中,在所述主控制器接收所述第二辅控制器发送的取消绑定成功消息之后,还包括:In a possible implementation, after the main controller receives the unbinding success message sent by the second secondary controller, the method further includes:
所述主控制器确定构成所述业务流程的各个业务功能单元均已取消绑定时,删除所述业务流程。When the main controller determines that each service function unit constituting the service process has been unbound, the service process is deleted.
因此,本发明实施例取消绑定业务功能单元后,主控制器可在确定构成业务流程的各个业务功能单元均已取消绑定时,删除业务流程,使业务流程管理更加灵活全面。Therefore, after the binding of the service function unit is cancelled in the embodiment of the present invention, the main controller can delete the business process when the service function units that constitute the business process are unbound, so that the business process management is more flexible and comprehensive.
第二方面,一种多控制器协作方法,其特征在于,包括:In a second aspect, a multi-controller cooperation method is characterized by comprising:
第一辅控制器接收主控制器发送绑定触发消息,其中,所述绑定触发消息用于触发所述第一辅控制器与构成业务流程的各个业务功能单元中的业务 功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;The first secondary controller receives the binding trigger message sent by the primary controller, where the binding trigger message is used to trigger the service in the first secondary controller and each service functional unit constituting the service flow. The functional unit establishes a binding relationship, where each service functional unit constituting the business process is deployed by the primary controller for the switch;
所述第一辅控制器与至少一个业务功能单元建立绑定关系;Establishing a binding relationship between the first secondary controller and the at least one service function unit;
所述第一辅控制器向所述主控制器发送绑定成功消息,所述绑定成功消息用于通知所述主控制器所述第一辅控制器与所述至少一个业务功能单元绑定成功;The first secondary controller sends a binding success message to the primary controller, where the binding success message is used to notify the primary controller that the first secondary controller is bound to the at least one service functional unit. success;
所述第一辅控制器接收所述主控制器发送的业务流程启动消息。The first secondary controller receives a service flow initiation message sent by the primary controller.
在一种可能的实现方式中,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。In a possible implementation manner, each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
在一种可能的实现方式中,所述绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息;In a possible implementation manner, the binding trigger message carries an identifier of the service process and description information of each service function unit that constitutes the service process;
在所述第一辅控制器与至少一个业务功能单元建立绑定关系之前,还包括:Before the first secondary controller establishes a binding relationship with the at least one service function unit, the method further includes:
所述第一辅控制器根据构成所述业务流程的各个业务功能单元的描述信息确定至少一个业务功能单元作为待绑定业务功能单元。The first secondary controller determines, according to the description information of each service function unit that constitutes the service flow, at least one service function unit as a service function unit to be bound.
在一种可能的实现方式中,所述绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述第一辅控制器所需绑定的业务功能单元对应的业务功能名称;In a possible implementation manner, the binding trigger message carries an identifier of the service process, description information of each service function unit that constitutes the service process, and a service that the first secondary controller needs to bind. The name of the business function corresponding to the functional unit;
所述第一辅控制器与至少一个业务功能单元建立绑定关系,包括:The first secondary controller establishes a binding relationship with the at least one service function unit, including:
所述第一辅控制器根据所述绑定触发消息中携带的所述第一辅控制器所需绑定的业务功能单元对应的业务功能名称确定待绑定业务功能单元,所述第一辅控制器与所述待绑定业务功能单元建立绑定关系。Determining, by the first secondary controller, a service function unit to be bound according to a service function name corresponding to the service function unit to be bound by the first secondary controller that is carried in the binding trigger message, where the first auxiliary The controller establishes a binding relationship with the service function unit to be bound.
或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息;Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller;
所述第一辅控制器与至少一个业务功能单元建立绑定关系,包括:The first secondary controller establishes a binding relationship with the at least one service function unit, including:
所述第一辅控制器根据所述绑定触发消息中携带的所述第一辅控制器所需绑定的业务功能单元的描述信息确定待绑定业务功能单元,所述第一辅控 制器与所述待绑定业务功能单元建立绑定关系。Determining, by the first secondary controller, the service function unit to be bound according to the description information of the service function unit to be bound by the first secondary controller that is carried in the binding trigger message, the first auxiliary control The controller establishes a binding relationship with the service function unit to be bound.
在一种可能的实现方式中,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;In a possible implementation manner, the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit. Each of the jumpable service function unit information, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
在一种可能的实现方式中,在所述第一辅控制器接收所述主控制器发送的业务流程启动消息之后,还包括:In a possible implementation, after the first secondary controller receives the service flow start message sent by the primary controller, the method further includes:
所述第一辅控制器接收所述主控制器发送的业务流程暂停消息;Receiving, by the first secondary controller, a service flow suspension message sent by the primary controller;
所述第一辅控制器接收所述主控制器发送新增业务功能单元通知消息,所述新增业务功能单元通知消息用于指示所述第一辅控制器与所述新增业务功能单元建立绑定关系;The first secondary controller receives the new service function unit notification message sent by the primary controller, and the newly added service function unit notification message is used to indicate that the first secondary controller and the newly added service function unit are established. Binding relationship
所述第一辅控制器与所述新增业务功能单元建立绑定关系;Establishing a binding relationship between the first secondary controller and the newly added service function unit;
所述第一辅控制器向所述主控制器发送绑定成功消息;Sending, by the first secondary controller, a binding success message to the primary controller;
所述第一辅控制器接收所述主控制器发送的业务流程恢复消息。The first secondary controller receives a service flow recovery message sent by the primary controller.
在一种可能的实现方式中,在所述第一辅控制器接收所述主控制器发送的业务流程暂停消息之前,还包括:In a possible implementation, before the first secondary controller receives the service flow suspension message sent by the primary controller, the method further includes:
所述第一辅控制器向所述主控制器发送新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息;The first secondary controller sends a new service function unit request message to the primary controller, where the newly added service function unit request message carries the identifier of the service flow and the service function name of the newly added service function unit. And the newly added service function unit includes indication information of the flow table;
在一种可能的实现方式中,在所述第一辅控制器接收所述主控制器发送 的业务流程启动消息之后,还包括:In a possible implementation manner, the first secondary controller receives the primary controller to send After the business process startup message, it also includes:
所述第一辅控制器接收所述主控制器发送的业务流程暂停消息;Receiving, by the first secondary controller, a service flow suspension message sent by the primary controller;
所述第一辅控制器接收所述主控制器发送的业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述第一辅控制器与需要取消绑定的业务功能单元取消绑定关系;The first secondary controller receives a service function unit unbinding notification message sent by the primary controller, where the service function unit unbinding notification message is used to indicate that the first secondary controller needs to be unbound. The business function unit unbinds the relationship;
所述第一辅控制器与所述需要取消绑定的业务功能单元取消绑定关系;The first secondary controller cancels the binding relationship with the service function unit that needs to be unbound;
所述第一辅控制器向所述主控制器发送取消绑定成功消息。The first secondary controller sends an unbinding success message to the primary controller.
在一种可能的实现方式中,在所述第一辅控制器接收所述主控制器发送的业务流程暂停消息之后,还包括:In a possible implementation, after the first secondary controller receives the service flow suspension message sent by the primary controller, the method further includes:
所述第一辅控制器向所述主控制器发送业务功能单元取消绑定请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。The first secondary controller sends a service function unit unbinding request message to the main controller, where the service function unit unbinding request message carries the service function name and the service function unit of the service function unit that needs to be unbound. The identification of the business process.
第三方面,一种多控制器协作装置,包括:In a third aspect, a multi-controller collaboration device includes:
收发单元,用于针对至少一个辅控制器中的每个辅控制器发送绑定触发消息,其中,针对第i个辅控制器发送的绑定触发消息用于触发所述第i个辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述装置为交换机部署的;a transceiver unit, configured to send a binding trigger message to each of the at least one secondary controller, where the binding trigger message sent by the ith secondary controller is used to trigger the ith secondary controller Establishing a binding relationship with the service function unit in each service function unit constituting the business process, where each service function unit constituting the business process is deployed by the device as a switch;
以及接收每个辅控制器反馈的绑定成功消息,所述绑定成功消息用于通知所述装置该辅控制器与至少一个业务功能单元绑定成功;And receiving, by the each secondary controller, a binding success message, where the binding success message is used to notify the device that the secondary controller is successfully bound to the at least one service function unit;
处理单元,用于根据接收到的绑定成功消息确定构成所述业务流程的各个业务功能单元均被绑定时,通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。a processing unit, configured to send, according to the received binding success message, each service function unit constituting the service flow, to the at least one secondary controller and the switch, respectively, by using the transceiver unit Process start message.
在一种可能的实现方式中,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。In a possible implementation manner, each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
在一种可能的实现方式中,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息。 In a possible implementation manner, the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow and description information of each service function unit that constitutes the service flow.
在一种可能的实现方式中,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述第i个辅控制器所需绑定的业务功能单元对应的业务功能名称;In a possible implementation, the binding trigger message sent by the ith secondary controller carries an identifier of the service flow, description information of each service function unit constituting the service flow, and the ith The name of the service function corresponding to the service function unit bound to the secondary controller;
或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息。Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller.
在一种可能的实现方式中,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;In a possible implementation manner, the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit. Each of the jumpable service function unit information, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
在一种可能的实现方式中,在向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,所述处理单元,还用于:In a possible implementation, after the service flow start message is sent to the at least one secondary controller and the switch, the processing unit is further configured to:
通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;Transmitting, by the transceiver unit, a service flow suspension message to the at least one secondary controller and the switch respectively;
在所述业务流程中添加新增至少一个业务功能单元;Adding at least one business function unit in the business process;
通过所述收发单元向所述至少一个辅控制器中的至少一个辅控制器发送新增业务功能单元通知消息,所述新增业务功能单元通知消息用于指示所述至少一个辅控制器中的至少一个辅控制器与对应的新增业务功能单元建立绑定关系;Transmitting, by the transceiver unit, a new service function unit notification message to at least one of the at least one secondary controller, where the newly added service function unit notification message is used to indicate the at least one secondary controller Establishing a binding relationship between the at least one secondary controller and the corresponding newly added service function unit;
通过所述收发单元接收所述至少一个辅控制器中的至少一个辅控制器发送的绑定成功消息; Receiving, by the transceiver unit, a binding success message sent by at least one secondary controller of the at least one secondary controller;
通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。Transmitting, by the transceiver unit, a service flow recovery message to the at least one secondary controller and the switch, respectively.
在一种可能的实现方式中,在向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,所述处理单元,还用于:In a possible implementation, before the service flow suspension message is sent to the at least one secondary controller and the switch, the processing unit is further configured to:
通过所述收发单元接收所述第一辅控制器发送的新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息。Receiving, by the transceiver unit, a new service function unit request message sent by the first secondary controller, where the newly added service function unit request message carries the identifier of the service flow, and the service function of the newly added service function unit The name and the new service function unit include indication information of the flow table.
在一种可能的实现方式中,在向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,所述处理单元,还用于:In a possible implementation, after the service flow start message is sent to the at least one secondary controller and the switch, the processing unit is further configured to:
通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;Transmitting, by the transceiver unit, a service flow suspension message to the at least one secondary controller and the switch respectively;
通过所述收发单元向第二辅控制器发送业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述第二辅控制器与需要取消绑定的业务功能单元取消绑定关系,其中,所述第二辅控制器为所述至少一个辅控制器中的任意一个;Transmitting, by the transceiver unit, a service function unit unbinding notification message to the second secondary controller, where the service function unit unbinding notification message is used to indicate the second secondary controller and the service function unit that needs to be unbound Unbinding the relationship, wherein the second secondary controller is any one of the at least one secondary controller;
通过所述收发单元接收所述第二辅控制器发送的取消绑定成功消息。Receiving, by the transceiver unit, an unbinding success message sent by the second secondary controller.
在一种可能的实现方式中,在向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,所述处理单元,还用于:In a possible implementation, before the service flow suspension message is sent to the at least one secondary controller and the switch, the processing unit is further configured to:
通过所述收发单元接收所述第二辅控制器发送的业务功能单元取消绑定请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。Receiving, by the transceiver unit, a service function unit unbinding request message sent by the second secondary controller, where the service function unit unbinding request message carries the service function name of the service function unit that needs to be unbound The identification of the business process.
在一种可能的实现方式中,在接收所述第二辅控制器发送的取消绑定成功消息之后,所述处理单元,还用于:In a possible implementation, after receiving the unbinding success message sent by the second secondary controller, the processing unit is further configured to:
通过所述收发单元向第三辅控制器发送业务功能单元指定消息,所述业务功能单元指定消息携带所述需要取消绑定的业务功能单元的描述信息和所述业务流程的标识,所述业务功能单元指定消息用于指示所述第三辅控制器 与所述需要取消绑定的业务功能单元建立绑定关系,所述第三辅控制器为所述至少一个辅控制器中的任意一个,通过所述收发单元接收所述第三辅控制器发送的绑定成功消息;或者,在所述业务流程中删除所述需要取消绑定的业务功能单元;Transmitting, by the transceiver unit, a service function unit designation message to the third secondary controller, where the service function unit designation message carries the description information of the service function unit that needs to be unbound and the identifier of the service process, where the service a functional unit designation message is used to indicate the third secondary controller Establishing a binding relationship with the service function unit that needs to be unbound, the third secondary controller is any one of the at least one secondary controller, and the third secondary controller sends the third secondary controller by using the transceiver unit. Binding success message; or deleting the business function unit that needs to be unbound in the business process;
通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。Transmitting, by the transceiver unit, a service flow recovery message to the at least one secondary controller and the switch, respectively.
在一种可能的实现方式中,在接收所述第二辅控制器发送的取消绑定成功消息之后,所述处理单元,还用于:In a possible implementation, after receiving the unbinding success message sent by the second secondary controller, the processing unit is further configured to:
确定构成所述业务流程的各个业务功能单元均已取消绑定时,删除所述业务流程。When it is determined that each business function unit constituting the business process has been unbound, the business process is deleted.
第四方面,一种多控制器协作装置,其特征在于,包括:A fourth aspect is a multi-controller collaboration device, including:
收发单元,用于接收主控制器发送绑定触发消息,其中,所述绑定触发消息用于触发所述装置与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;a transceiver unit, configured to receive a binding trigger message sent by the main controller, where the binding triggering message is used to trigger a binding relationship between the device and a service function unit in each service function unit that constitutes a service process, where The various service functional units constituting the business process are deployed by the primary controller for the switch;
处理单元,用于与至少一个业务功能单元建立绑定关系;a processing unit, configured to establish a binding relationship with at least one service function unit;
所述收发单元,还用于向所述主控制器发送绑定成功消息,所述绑定成功消息用于通知所述主控制器所述装置与所述至少一个业务功能单元绑定成功;The transceiver unit is further configured to send a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
以及接收所述主控制器发送的业务流程启动消息。And receiving a business process startup message sent by the primary controller.
在一种可能的实现方式中,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。In a possible implementation manner, each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
在一种可能的实现方式中,所述绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息;In a possible implementation manner, the binding trigger message carries an identifier of the service process and description information of each service function unit that constitutes the service process;
在与至少一个业务功能单元建立绑定关系之前,所述处理单元,还用于:Before the binding relationship is established with the at least one service function unit, the processing unit is further configured to:
根据构成所述业务流程的各个业务功能单元的描述信息确定至少一个业务功能单元作为待绑定业务功能单元。 Determining at least one service function unit as a service function unit to be bound according to description information of each service function unit constituting the service process.
在一种可能的实现方式中,所述绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述装置所需绑定的业务功能单元对应的业务功能名称;In a possible implementation manner, the binding trigger message carries an identifier of the service process, description information of each service function unit that constitutes the service process, and a service function unit that is required to be bound by the device. Business function name;
与至少一个业务功能单元建立绑定关系时,所述处理单元,用于:When a binding relationship is established with at least one service function unit, the processing unit is configured to:
根据所述绑定触发消息中携带的所述装置所需绑定的业务功能单元对应的业务功能名称确定待绑定业务功能单元,与所述待绑定业务功能单元建立绑定关系。And determining a to-be-bound service function unit according to the service function name corresponding to the service function unit to be bound to the device, and establishing a binding relationship with the to-be-bound service function unit.
或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息;Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller;
与至少一个业务功能单元建立绑定关系时,所述处理单元,用于:When a binding relationship is established with at least one service function unit, the processing unit is configured to:
根据所述绑定触发消息中携带的所述装置所需绑定的业务功能单元的描述信息确定待绑定业务功能单元,与所述待绑定业务功能单元建立绑定关系。Determining, according to the description information of the service function unit to be bound to the device that is carried in the binding trigger message, the service function unit to be bound, and establishing a binding relationship with the service function unit to be bound.
在一种可能的实现方式中,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;In a possible implementation manner, the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit. Each of the jumpable service function unit information, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
在一种可能的实现方式中,在接收所述主控制器发送的业务流程启动消息之后,所述处理单元,还用于:In a possible implementation, after receiving the service flow start message sent by the main controller, the processing unit is further configured to:
通过所述收发单元接收所述主控制器发送的业务流程暂停消息;Receiving, by the transceiver unit, a service flow suspension message sent by the primary controller;
通过所述收发单元接收所述主控制器发送新增业务功能单元通知消息, 所述新增业务功能单元通知消息用于指示所述装置与所述新增业务功能单元建立绑定关系;Receiving, by the transceiver unit, the sending, by the main controller, a new service function unit notification message, The newly added service function unit notification message is used to indicate that the device establishes a binding relationship with the newly added service function unit;
与所述新增业务功能单元建立绑定关系;Establishing a binding relationship with the newly added service function unit;
通过所述收发单元向所述主控制器发送绑定成功消息;Sending, by the transceiver unit, a binding success message to the primary controller;
通过所述收发单元接收所述主控制器发送的业务流程恢复消息。Receiving, by the transceiver unit, a service flow recovery message sent by the primary controller.
在一种可能的实现方式中,在接收所述主控制器发送的业务流程暂停消息之前,所述处理单元,还用于:In a possible implementation, before receiving the service flow suspension message sent by the main controller, the processing unit is further configured to:
通过所述收发单元向所述主控制器发送新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息;Sending, by the transceiver unit, a new service function unit request message to the main controller, where the newly added service function unit request message carries an identifier of the service process, a service function name and a location of the newly added service function unit. The newly added service function unit includes indication information of the flow table;
在一种可能的实现方式中,在接收所述主控制器发送的业务流程启动消息之后,所述处理单元,还用于:In a possible implementation, after receiving the service flow start message sent by the main controller, the processing unit is further configured to:
通过所述收发单元接收所述主控制器发送的业务流程暂停消息;Receiving, by the transceiver unit, a service flow suspension message sent by the primary controller;
通过所述收发单元接收所述主控制器发送的业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述装置与需要取消绑定的业务功能单元取消绑定关系;Receiving, by the transceiver unit, a service function unit unbinding notification message sent by the main controller, where the service function unit unbinding notification message is used to indicate that the device is unbound from a service function unit that needs to be unbound. relationship;
与所述需要取消绑定的业务功能单元取消绑定关系;Unbinding the business function unit that needs to be unbound;
通过所述收发单元向所述主控制器发送取消绑定成功消息。An unbinding success message is sent to the primary controller by the transceiver unit.
在一种可能的实现方式中,在接收所述主控制器发送的业务流程暂停消息之后,所述处理单元,还用于:In a possible implementation, after receiving the service flow suspension message sent by the primary controller, the processing unit is further configured to:
通过所述收发单元向所述主控制器发送业务功能单元取消绑定请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。Sending, by the transceiver unit, a service function unit unbinding request message to the main controller, where the service function unit unbinding request message carries the service function name of the service function unit that needs to be unbound and the service The identity of the process.
第五方面,一种主控制器,包括:In a fifth aspect, a main controller includes:
收发器;transceiver;
存储器,用于存储指令;和a memory for storing instructions; and
处理器,与存储器和收发器分别相连,用于执行指令,以在执行指令时 执行如下步骤:a processor, coupled to the memory and the transceiver, for executing instructions to execute the instructions Perform the following steps:
通过所述收发器针对至少一个辅控制器中的每个辅控制器发送绑定触发消息,其中,针对第i个辅控制器发送的绑定触发消息用于触发所述第i个辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述装置为交换机部署的;Sending, by the transceiver, a binding trigger message to each of the at least one secondary controller, where the binding trigger message sent for the i-th secondary controller is used to trigger the ith secondary controller Establishing a binding relationship with the service function unit in each service function unit constituting the business process, where each service function unit constituting the business process is deployed by the device as a switch;
以及接收每个辅控制器反馈的绑定成功消息,所述绑定成功消息用于通知所述装置该辅控制器与至少一个业务功能单元绑定成功;And receiving, by the each secondary controller, a binding success message, where the binding success message is used to notify the device that the secondary controller is successfully bound to the at least one service function unit;
根据接收到的绑定成功消息确定构成所述业务流程的各个业务功能单元均被绑定时,通过收发器向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。And determining, according to the received binding success message, that each service function unit constituting the service flow is bound, respectively, sending, by the transceiver, a service flow start message to the at least one secondary controller and the switch.
第六方面,一种辅控制器,包括:In a sixth aspect, a secondary controller includes:
收发器;transceiver;
存储器,用于存储指令;和a memory for storing instructions; and
处理器,与存储器和收发器分别相连,用于执行指令,以在执行指令时执行如下步骤:A processor, coupled to the memory and the transceiver, for executing instructions to perform the following steps when executing the instructions:
通过收发器接收主控制器发送绑定触发消息,其中,所述绑定触发消息用于触发所述装置与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;Receiving, by the transceiver, the primary controller sends a binding trigger message, where the binding triggering message is used to trigger the device to establish a binding relationship with the service functional unit in each service functional unit constituting the service flow, where the service is formed Each service functional unit of the process is deployed by the primary controller as a switch;
与至少一个业务功能单元建立绑定关系;Establishing a binding relationship with at least one business function unit;
通过收发器向所述主控制器发送绑定成功消息,所述绑定成功消息用于通知所述主控制器所述装置与所述至少一个业务功能单元绑定成功;Sending, by the transceiver, a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
以及接收所述主控制器发送的业务流程启动消息。And receiving a business process startup message sent by the primary controller.
综上所述,本发明实施例中主控制器针对至少一个辅控制器中的每个辅控制器发送绑定触发消息,即主控制器可以直接指定每个辅控制器绑定的业务功能单元也可由辅控制器选择自身希望绑定的业务功能单元,主控制器接收每个辅控制器反馈的绑定成功消息,在主控制器根据接收到的绑定成功消 息确定构成所述业务流程的各个业务功能单元均被绑定时,向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。因此,在每个辅控制器绑定业务功能单元后,每个辅控制器上可以单独部署实现绑定的业务功能单元对应的业务功能所需的网络应用,每个辅控制器对绑定的业务功能单元进行管理和控制,避免控制器因网络功能的集中部署造成的瓶颈的问题,实现多个控制器协作控制交换机中业务流程。In summary, in the embodiment of the present invention, the primary controller sends a binding trigger message to each of the at least one secondary controller, that is, the primary controller can directly specify the service functional unit bound to each secondary controller. The secondary controller may also select the service function unit that it wishes to bind, and the primary controller receives the binding success message fed back by each secondary controller, and the primary controller successfully cancels according to the received binding. When it is determined that each service function unit constituting the service process is bound, the service flow start message is separately sent to the at least one secondary controller and the switch. Therefore, after each secondary controller is bound to the service function unit, the network application required to implement the service function corresponding to the bound service function unit can be separately deployed on each secondary controller, and each secondary controller is bound to the network application. The business function unit manages and controls the controller to avoid the bottleneck caused by the centralized deployment of the network function, and implements multiple controllers to cooperatively control the business process in the switch.
附图说明DRAWINGS
图1为本发明背景技术中SDN网络架构示意图;1 is a schematic diagram of an SDN network architecture in the background art of the present invention;
图2为本发明实施例中包含OF Controller和OF Switch的SDN网络架构示意图;2 is a schematic diagram of an SDN network architecture including an OF Controller and an OF Switch according to an embodiment of the present invention;
图3为本发明实施例中多控制器协作概述流程图;3 is a flowchart of an overview of cooperation of multiple controllers according to an embodiment of the present invention;
图4为本发明实施例中多控制器协作具体流程之一;4 is a specific process of multi-controller cooperation in an embodiment of the present invention;
图5为本发明实施例中多控制器协作具体流程之二;FIG. 5 is a second specific process of multi-controller cooperation according to an embodiment of the present invention;
图6为本发明实施例中新增绑定业务功能单元的具体流程;FIG. 6 is a specific process of adding a binding service function unit according to an embodiment of the present invention;
图7为本发明实施例中取消绑定业务功能单元的具体流程;FIG. 7 is a specific process of unbinding a service function unit according to an embodiment of the present invention;
图8为本发明实施例中多控制器协作装置结构示意图之一;8 is a schematic structural diagram of a multi-controller cooperation device according to an embodiment of the present invention;
图9为本发明实施例中多控制器协作装置结构示意图之二;9 is a second schematic structural diagram of a multi-controller cooperation device according to an embodiment of the present invention;
图10为本发明实施例中主控制器的结构示意图;10 is a schematic structural diagram of a main controller according to an embodiment of the present invention;
图11为本发明实施例中辅控制器的结构示意图。FIG. 11 is a schematic structural diagram of a secondary controller according to an embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
首先对本发明实施例涉及的应用场景做简单介绍。First, the application scenario involved in the embodiment of the present invention is briefly introduced.
现有技术中,OpenFlow协议是SDN网络的一种典型技术。OpenFlow协议中的网元包括OpenFlow控制器(对应中图1中的网络控制器,以下简称OF Controller)和OpenFlow交换机(对应图1中的网络设备,以下简称OF Switch)。其中,OF Controller通过事先规定好的接口操作来控制OF Switch中的流表,从而达到控制数据转发的目的。In the prior art, the OpenFlow protocol is a typical technology of an SDN network. The network elements in the OpenFlow protocol include an OpenFlow controller (corresponding to the network controller in FIG. 1 and hereinafter referred to as OF Controller) and an OpenFlow switch (corresponding to the network device in FIG. 1 , hereinafter referred to as OF Switch). The OF Controller controls the flow table in the OF Switch by pre-specified interface operations, thereby achieving the purpose of controlling data forwarding.
具体参阅图2所示,在SDN网络中,OF Controller是SDN网络架构中的控制面设备,负责根据报文特征确定业务流的转发动作,并将业务流对应的流规则下发给OF Switch。OF Switch是SDN网络架构中的用户面设备,又叫转发面设备,它从OF Controller获取并存储流规则,对于符合该流规则的报文,执行对应的转发或处理。Specifically, as shown in FIG. 2, in the SDN network, the OF Controller is a control plane device in the SDN network architecture, and is responsible for determining the forwarding action of the service flow according to the packet characteristics, and sending the flow rule corresponding to the service flow to the OF Switch. The OF Switch is a user plane device in the SDN network architecture. It is also called a forwarding plane device. It acquires and stores the flow rules from the OF Controller, and performs corresponding forwarding or processing on the packets conforming to the flow rule.
OF Controller可以通过控制通道来配置和管理OF Switch,一个OF Switch中有多个通道,可以同时连接到多个OF Controller,如图2所示。The OF Controller can configure and manage the OF Switch through the control channel. There are multiple channels in an OF Switch, which can be connected to multiple OF Controllers at the same time, as shown in Figure 2.
现有技术中,控制器能够实现将业务流程部署至交换机,并对构成业务流程的各个流表进行分组。具体的,控制器向交换机发送分组指示消息,分组指示消息用于指示交换机对构成业务流程的至少一个流表进行分组。因此,控制器可将分组后的业务流程直接下发至交换机,或将业务流程下发至交换机后再对构成业务流程的流表进行分组,此时,交换机中的业务流程由至少一个流表组构成。In the prior art, the controller can implement the business process to the switch and group the flow tables that constitute the business process. Specifically, the controller sends a packet indication message to the switch, where the packet indication message is used to instruct the switch to group at least one flow table constituting the service flow. Therefore, the controller can directly deliver the packetized service flow to the switch, or send the service flow to the switch, and then group the flow table that constitutes the service process. At this time, the service flow in the switch is configured by at least one flow table. Group composition.
同理,对于不支持流表组的交换机,控制器可以通过配置方式(例如OF Config)将构成业务流程的各个流表划分为至少一个逻辑交换机。须知,逻辑交换机在物理上是由交换机中的至少一个流表构成,逻辑上可以看作一个单独的交换机。控制器将构成业务流程的各个流表划分为至少一个逻辑交换机是通过配置端口完成的,而控制器向交换机发送分组指示消息是通过业务端口完成的。Similarly, for a switch that does not support a flow table group, the controller can divide each flow table constituting the business process into at least one logical switch by a configuration mode (for example, OF Config). It should be noted that the logical switch is physically composed of at least one flow table in the switch, and can be logically regarded as a single switch. The controller divides each flow table constituting the business process into at least one logical switch, which is completed through a configuration port, and the controller sends a packet indication message to the switch through the service port.
进一步地,控制器还可对交换机中的流表组进行绑定和取消绑定,以及新增流表组和删除流表组。具体的,针对流表组绑定,控制器向交换机发送 流表组绑定消息,流表组绑定消息携带待绑定流表组的标识信息,流表组绑定消息用于使控制器与待绑定流表组建立绑定关系,以使控制器对待绑定流表组进行管理。针对流表组取消绑定,控制器向交换机发送流表组取消绑定消息,流表组取消绑定消息携带待取消绑定流表组的标识信息。针对新增流表组,控制器向交换机发送新增分组指示消息,新增分组指示消息用于指示交换机对至少一个新增流表进行分组。针对删除流表组,控制器向交换机发送流表组删除消息,流表组删除消息携带待删除流表组的标识信息或删除全部流表组的指示信息。Further, the controller can also bind and unbind the flow table group in the switch, and add the flow table group and the delete flow table group. Specifically, for the flow table group binding, the controller sends the switch to the switch. The flow table group binding message, the flow table group binding message carries the identification information of the flow table group to be bound, and the flow table group binding message is used to establish a binding relationship between the controller and the flow table group to be bound, so that the control is performed. The device handles the binding flow table group management. The device unbinds the flow table group, and the controller sends a flow table group unbinding message to the switch. The flow table group unbinding message carries the identification information of the flow table group to be unbound. For the new flow table group, the controller sends a new group indication message to the switch, and the newly added group indication message is used to instruct the switch to group at least one newly added flow table. The controller sends a flow table group deletion message to the switch for deleting the flow table group. The flow table group deletion message carries the identification information of the flow table group to be deleted or deletes the indication information of all the flow table groups.
同理,对于不支持流表组的交换机,通过配置方式(例如OF Config方式)实现对逻辑交换机进行绑定和取消绑定,以及新增逻辑交换机和删除逻辑交换机。For the same reason, for a switch that does not support the flow table group, bind and unbind the logical switch, and add a logical switch and delete the logical switch in the configuration mode (for example, OF Config mode).
下文中具有Master属性的OF Controller(以下简称Master)为主控制器,具有Equal属性的OF Controller(以下简称Equal)为辅控制器。The OF Controller (hereinafter referred to as "Master") with the Master attribute is the primary controller, and the OF Controller (hereinafter referred to as Equal) with the Equal attribute is the secondary controller.
下面以主控制器、第一辅控制器和交换机的交互过程为例,说明本发明实施例是如何实现多控制器协作。The interaction process between the main controller, the first secondary controller, and the switch is taken as an example to illustrate how the multi-controller cooperation is implemented in the embodiment of the present invention.
参阅图3所示,本发明实施例提供一种多控制器协作方法,包括:Referring to FIG. 3, an embodiment of the present invention provides a multi-controller cooperation method, including:
步骤300:主控制器针对至少一个辅控制器中的每个辅控制器发送绑定触发消息。Step 300: The primary controller sends a binding trigger message to each of the at least one secondary controller.
其中,针对第i个辅控制器发送的绑定触发消息用于触发第i个辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由主控制器为交换机部署的。The binding trigger message sent by the i-th secondary controller is used to trigger the binding relationship between the i-th secondary controller and the service functional unit in each service functional unit that constitutes the service process, where each of the service flows is formed. The business function unit is deployed by the primary controller for the switch.
具体的,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。Specifically, each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
步骤310:第一辅控制器与至少一个业务功能单元建立绑定关系。Step 310: The first secondary controller establishes a binding relationship with the at least one service function unit.
步骤320:第一辅控制器向主控制器发送绑定成功消息,绑定成功消息用于通知主控制器第一辅控制器与至少一个业务功能单元绑定成功。Step 320: The first secondary controller sends a binding success message to the primary controller, where the binding success message is used to notify the primary controller that the first secondary controller is successfully bound to the at least one service functional unit.
步骤330:主控制器根据接收到的绑定成功消息确定构成业务流程的各个 业务功能单元均被绑定时,向至少一个辅控制器和交换机分别发送业务流程启动消息。Step 330: The main controller determines, according to the received binding success message, each of the constituent business processes. When the service function units are all bound, the service flow start message is sent to at least one secondary controller and the switch respectively.
以上仅以第一辅控制器为例进行说明,第一辅控制器为至少一个辅控制器中的任一一个。The above is only described by taking the first secondary controller as an example, and the first secondary controller is any one of at least one secondary controller.
可选地,针对步骤300,针对第i个辅控制器发送的绑定触发消息可以为以下两种情况:Optionally, for step 300, the binding trigger message sent by the ith secondary controller may be the following two situations:
第一种情况:针对第i个辅控制器发送的绑定触发消息携带业务流程的标识和构成业务流程的各个业务功能单元的描述信息。In the first case, the binding trigger message sent by the i-th secondary controller carries the identifier of the service process and the description information of each service function unit that constitutes the service process.
其中,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令。The description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, a forwarding plane type, and information of each jumpable service function unit corresponding to the service function unit, Each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit.
此外,当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为交换机的标识,该转发面类型表明交换为支持流表组的交换机;In addition, when each service function unit refers to a flow table group, the forwarding plane corresponding to the service function unit is identified as an identifier of the switch, and the forwarding plane type indicates that the switch is a switch that supports the flow table group;
当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as the identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
具体的,以第一辅控制器为例,在第一辅控制器与至少一个业务功能单元建立绑定关系之前,第一辅控制器根据针对第一辅控制器发送的绑定触发消息中携带的构成业务流程的各个业务功能单元的描述信息,由第一辅控制器选择至少一个业务功能单元作为待绑定业务功能单元。Specifically, taking the first secondary controller as an example, before the first secondary controller establishes a binding relationship with the at least one service function unit, the first secondary controller carries the binding trigger message sent by the first secondary controller. The description information of each service function unit constituting the business process, the first secondary controller selects at least one service function unit as the service function unit to be bound.
进一步地,当业务功能单元为流表组时,第一辅控制器与交换机中的待绑定流表组建立绑定关系。当业务功能单元为逻辑交换机时,第一辅控制器与逻辑交换机中的待绑定逻辑交换机建立绑定关系。Further, when the service function unit is a flow table group, the first secondary controller establishes a binding relationship with the flow table group to be bound in the switch. When the service function unit is a logical switch, the first secondary controller establishes a binding relationship with the logical switch to be bound in the logical switch.
下面以图4为例描述实现多控制器协作的一种场景。A scenario for implementing multi-controller cooperation is described below using FIG. 4 as an example.
S401:Master定制业务流程并部署至OF Switch。 S401: The master customizes the business process and deploys to the OF Switch.
Master定制业务流程并部署至OF Switch,即Mater对各个OF Switch的业务流程初始化过程,初始化过程成功后每个OF Switch中包含多个流表组或多个OPLS。这里以OF Switch的数量为一个为例,同理,Master可以定制各种业务流程并部署至各个OF Switch。The master customizes the service process and deploys it to the OF Switch, which is the service flow initialization process of each OF Switch by Mater. After the initialization process is successful, each OF Switch contains multiple flow table groups or multiple OPLSs. Here, the number of OF switches is taken as an example. Similarly, the Master can customize various business processes and deploy them to each OF Switch.
具体的,当OF Switch为支持流表组的交换机时,Master定制基于业务的Pipeline,向OF Switch发送分组指示消息(OFPT_BP_MOD)。Specifically, when the OF Switch is a switch supporting the flow table group, the Master customizes the service-based Pipeline to send a packet indication message (OFPT_BP_MOD) to the OF Switch.
当OF Switch为不支持流表组的交换机时,Master通过OF Config配置各个OpenFlow逻辑交换机(OpenFlow Logical Switch,OFLS)的资源及其之间的连接关系。When the OF Switch is a switch that does not support the flow table group, the master configures the resources of each OpenFlow Logical Switch (OFLS) and the connection relationship between them through the OF Config.
须知,本发明实施例不限制采用其它方式来实现转发面的业务流程定制,以及如何实现将构成业务功能单元的至少一个流表划分为各个业务功能单元。It should be noted that the embodiment of the present invention does not limit the manner in which the service flow customization of the forwarding plane is implemented, and how to implement at least one flow table constituting the service function unit into the service function units.
S402:Master发送业务流程初始化消息(Init_BP_Notification)给各个Equal。S402: The Master sends a service flow initialization message (Init_BP_Notification) to each Equal.
Init_BP_Notification为绑定触发消息的一种实现形式,是在Master确定业务流程初始化成功后发送的,Init_BP_Notification用于通知各个Equal新的转发面处理流程发布。Init_BP_Notification中包含参数process,其结构为:Init_BP_Notification is an implementation of the binding trigger message. It is sent after the master determines that the business process is successfully initialized. Init_BP_Notification is used to notify each new new forwarding surface processing process. Init_BP_Notification contains the parameter process, whose structure is:
process_id:业务流程的标识Process_id: ID of the business process
[bs_role]n:业务流程中的各个业务功能单元的信息列表,其顺序代表了各个业务功能单元在业务流程中的位置,其中,bs_role的结构为:[bs_role]n: A list of information of each business function unit in the business process, the order of which represents the position of each business function unit in the business process, wherein the structure of bs_role is:
bs_name:业务功能名称;Bs_name: name of the business function;
datapath_id:转发面标识信息;Datapath_id: forwarding surface identification information;
type:转发面类型;Type: forwarding face type;
[Gotos]n:可跳转业务功能单元信息列表,结构为:[Gotos]n: A list of business function unit information can be jumped. The structure is:
bs_name:可跳转业务功能单元的业务功能名称;Bs_name: The name of the service function that can be redirected to the service function unit;
instruction:跳转到该可跳转业务功能单元的跳转指令Instruction: jump to the jump instruction of the jumpable business function unit
当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面 标识为OF Switch的标识,该转发面类型表明交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane corresponding to the service function unit The identifier is the ID of the OF Switch, and the forwarding plane type indicates that the switch is a switch that supports the flow table group.
当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应OFLS的标识,该转发面类型表明交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane identifier corresponding to the service function unit is an identifier corresponding to the OFLS, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
可选地,instruction可采用Goto-TG指令,Goto-TG中携带bs_name,或者其它方式的指令,例如在其它方式的指令中携带输出端口,目的Mac地址等。Optionally, the instruction may adopt a Goto-TG instruction, and the Goto-TG carries a bs_name, or other instructions, such as carrying an output port, a destination Mac address, and the like in other manners of instructions.
S403:每个Equal根据Init_BP_Notification中的Process,决定所要绑定的业务功能单元。S403: Each Equal determines the business function unit to be bound according to the Process in Init_BP_Notification.
S404:每个Equal与选定的业务功能单元所在的OF Switch之间建立连接。S404: Establish a connection between each Equal and the OF Switch where the selected service function unit is located.
S405:每个Equal绑定选定的业务功能单元。S405: Each Equal binds the selected business function unit.
具体的,当每个业务功能单元是指一个流表组时,Equal向OF Switch发送流表组绑定消息(OFPT_TG_MOD),该消息中携带选定业务功能单元的业务功能名称(即bs_name)。Specifically, when each service function unit refers to a flow table group, Equal sends a flow table group binding message (OFPT_TG_MOD) to the OF Switch, where the message carries the service function name (ie, bs_name) of the selected service function unit.
当每个业务功能单元是指一个逻辑交换机时,Equal向OF Switch发送OFLS绑定消息OFPT_ROLE_REQUEST消息,该消息中携带选定业务功能单元的业务功能名称(即bs_name)。When each service function unit refers to a logical switch, Equal sends an OFLS binding message OFPT_ROLE_REQUEST message to the OF Switch, where the message carries the service function name (ie, bs_name) of the selected service function unit.
S406:每个Equal发送绑定成功消息(Bind_BR_Notification)给Master。S406: Each Equal sends a binding success message (Bind_BR_Notification) to the Master.
Bind_BR_Notification是在Equal确定与选定的业务功能单元绑定成功时发送的。Bind_BR_Notification is sent when Equal determines that the binding is successful with the selected business function unit.
S407:Master向所有Equal和Switch发送业务流程启动消息(Activate_BP_Notification)。S407: The master sends a service flow start message (Activate_BP_Notification) to all the Equals and the Switch.
Activate_BP_NotificationMaster是在Master确定业务流程中的所有业务功能单元均已被绑定时发送的。Activate_BP_NotificationMaster is sent when the Master determines that all business functional units in the business process have been bound.
此时,每个Equal与自身控制的业务功能单元及对应流表进行交互,完成该业务功能单元的具体业务功能,包括报文上报,流表下发等操作。At this time, each Equal interacts with the service function unit and the corresponding flow table that it controls, and completes the specific service functions of the service function unit, including packet reporting, flow table delivery, and the like.
因此,采用本发明实施例提供的方法,各个Equal根据Master提供的完 整的构成业务流程的各个业务功能单元的描述信息,选择需要绑定的业务功能单元,完成对至少一个选定业务功能单元的绑定,每个Equal上单独部署实现绑定的业务功能单元对应的业务功能所需的网络应用,每个Equal对绑定的业务功能单元进行管理和控制,避免控制器因网络功能的集中部署造成的瓶颈的问题,实现多个控制器协作控制交换机中业务流程。Therefore, according to the method provided by the embodiment of the present invention, each Equal is provided according to the master. The entire description of the service function units of the business process, the service function unit to be bound, and the binding of at least one selected service function unit, and the service function unit corresponding to the binding of each Equal is implemented. The network application required for the business function, each Equal manages and controls the bound business function unit, avoids the bottleneck caused by the centralized deployment of the network function of the controller, and realizes the business process of the multiple controllers cooperatively controlling the switch. .
第二种情况:针对第i个辅控制器发送的绑定触发消息携带业务流程的标识、构成业务流程的各个业务功能单元的描述信息以及第i个辅控制器所需绑定的业务功能单元对应的业务功能名称;或者,针对第i个辅控制器发送的绑定触发消息携带业务流程的标识和第i个辅控制器所需绑定的业务功能单元的描述信息。The second case: the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow, the description information of each service function unit constituting the service flow, and the service function unit to be bound by the i-th secondary controller. The corresponding service function name; or the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the i-th secondary controller.
相比于第一种情况需要辅控制器自己去确定待绑定的业务功能单元,在第二情况中是由主控制器为各个辅控制器选定好对应的所需绑定的业务功能单元。Compared with the first case, the secondary controller needs to determine the service function unit to be bound by itself. In the second case, the primary controller selects the corresponding bound service function unit for each secondary controller. .
下面以图5为例描述实现多控制器协作的另一种场景。在图5中,与图4相似的步骤说明,不再赘述。Another scenario for implementing multi-controller cooperation is described below using FIG. 5 as an example. In FIG. 5, steps similar to those of FIG. 4 are omitted and will not be described again.
S501:Master定制业务流程并部署至OF Switch。S501: The master customizes the business process and deploys it to the OF Switch.
S502:Master发送业务流程初始化消息(Init_BP_Notification)给每个Equal。S502: The Master sends a service flow initialization message (Init_BP_Notification) to each Equal.
S503:Mater发送业务功能单元指定消息(Designate_BR_Notification)给每个Equal。S503: The Mater sends a service function unit designation message (Designate_BR_Notification) to each Equal.
上述S502和S503分别对应的两个消息可以一次发送给各个Equal,也可分为两次发送给各个Equal,这里以分两次发送为例进行说明。这两种消息发送形式均可作为绑定触发消息的实现形式。The two messages corresponding to the foregoing S502 and S503 can be sent to each Equal at one time, or can be sent to each Equal in two times. Here, the two transmissions are taken as an example for description. Both forms of message transmission can be implemented as binding trigger messages.
具体的,针对每个Equal,S502和S503分别对应的消息可以选择携带不同的内容。Specifically, for each Equal, the messages corresponding to S502 and S503 respectively may be selected to carry different content.
第一种情况:若Init_BP_Notification消息包含了process参数,则Designate_BR_Notification中只需针对该Equal所需绑定的业务功能单元对应 的业务功能名称。其中,process参数与上述S402中描述的Process参数一致,此处不再赘述。The first case: If the Init_BP_Notification message contains the process parameter, only the service function unit to be bound to the Equal is required in Designate_BR_Notification. The name of the business function. The process parameter is the same as the process parameter described in the above S402, and is not described here.
例如,Designate_BR_Notification中携带[bs_name]n,表面Master希望该Equal绑定的多个业务功能单元分别对应的业务名称列表。For example, the Designate_BR_Notification carries [bs_name]n, and the surface master wants a list of service names corresponding to the plurality of service functional units bound by the Equal.
第二种情况:若Init_BP_Notification消息不包含process参数,则Designate_BR_Notification中携带业务流程的标识和该Equal所需绑定的业务功能单元的描述信息。The second case: If the Init_BP_Notification message does not include the process parameter, the Designate_BR_Notification carries the identifier of the service process and the description information of the service function unit to which the Equal needs to be bound.
例如,[bs_role]n:Master希望该Equal承担的多个业务功能单元的描述信息列表。For example, [bs_role]n: A list of descriptions of multiple business function units that the Master wants to assume for the Equal.
S504:每个Equal与Master为其指定的业务功能单元所在的OF Switch之间建立连接。S504: Each Equal and the Master establish a connection between the OF Switchs where the designated service function unit is located.
S505:每个Equal绑定指定的业务功能单元。S505: Each Equal binds a specified business function unit.
S506:每个Equal发送绑定成功消息(Bind_BR_Notification)给Master。S506: Each Equal sends a binding success message (Bind_BR_Notification) to the Master.
Bind_BR_Notification是在Equal确定与指定的业务功能单元绑定成功时发送的。Bind_BR_Notification is sent when Equal determines that the binding with the specified business function unit is successful.
S507:Master向所有Equal和Switch发送业务流程启动消息(Activate_BP_Notification)。S507: The master sends a business process start message (Activate_BP_Notification) to all Equals and Switches.
因此,采用本发明实施例提供的方法,Master为各个Equal指定所需绑定的业务功能单元,各个Equal完成对至少一个选定业务功能单元的绑定,每个Equal上单独部署实现绑定的业务功能单元对应的业务功能所需的网络应用,每个Equal对绑定的业务功能单元进行管理和控制,避免控制器因网络功能的集中部署造成的瓶颈的问题,实现多个控制器协作控制交换机中业务流程。Therefore, in the method provided by the embodiment of the present invention, the master specifies the service function unit to be bound for each Equal, and each Equal completes binding to at least one selected service function unit, and each Equal is separately deployed to implement binding. The network application required by the service function corresponding to the service function unit, each Equal manages and controls the bound service function unit, avoids the bottleneck caused by the centralized deployment of the network function of the controller, and realizes cooperative control of multiple controllers. Business process in the switch.
此外,本发明实施例还提出了新增绑定业务功能单元和删除绑定业务功能单元的方法。In addition, the embodiment of the present invention further provides a method for adding a binding service function unit and deleting a binding service function unit.
针对新增绑定业务功能单元的场景,具体可能有两种实现场景:For a scenario where a new service function unit is added, there are two possible implementation scenarios:
第一种场景,由第一辅控制器触发,第一辅控制器向主控制器发送新增业务功能单元请求消息,主控制器通知各个辅控制器和交换机暂停业务流程, 并根据新增业务功能单元请求消息在交换机中新增至少一个业务功能单元,然后给第一辅控制器反馈新增业务功能单元响应消息,第一辅控制器收到该响应消息后绑定新增的至少一个业务功能单元。最后,主控制器通知各个辅控制器和交换机恢复业务流程。The first scenario is triggered by the first secondary controller, and the first secondary controller sends a new service function unit request message to the primary controller, and the primary controller notifies each secondary controller and the switch to suspend the service flow. And adding at least one service function unit to the switch according to the newly added service function unit request message, and then feeding back the new service function unit response message to the first auxiliary controller, and the first secondary controller receives the response message and binds the new message. At least one business function unit is added. Finally, the primary controller notifies each secondary controller and switch to resume business processes.
其中,新增业务功能单元请求消息携带业务流程的标识、新增业务功能单元的业务功能名称和新增业务功能单元包含流表的指示信息。The newly added service function unit request message carries the identifier of the service process, the service function name of the newly added service function unit, and the new service function unit includes the indication information of the flow table.
或者,仍由第一辅控制器触发,主控制器根据第一辅控制器发送的新增业务功能单元请求消息在交换机中新增至少一个业务功能单元后,给至少一个辅控制器发送新增业务功能单元指定消息,这里的至少一个辅控制器可以包括或者不包括该第一辅控制器。收到新增业务功能单元指定消息的每个辅控制器,根据新增业务功能指定消息中为该辅控制器指定的新增业务功能单元,绑定对应的新增业务功能单元。最后,主控制器通知各个辅控制器和交换机恢复业务流程。Or, the first secondary controller is still triggered by the first secondary controller, and the primary controller adds at least one service function unit to the switch according to the newly added service function unit request message sent by the first secondary controller, and sends the new controller to the at least one secondary controller. The service function unit specifies a message, and at least one of the secondary controllers herein may or may not include the first secondary controller. Each of the secondary controllers that have received the new service function unit designation message is bound to the new service function unit corresponding to the new service function unit specified for the secondary controller in the new service function designation message. Finally, the primary controller notifies each secondary controller and switch to resume business processes.
其中,第一辅控制器为任一一个辅控制器。The first secondary controller is any one of the secondary controllers.
例如,Equal1根据自身当前绑定的业务功能单元确定需要新增相关的业务功能单元时,可向Master发送新增业务功能单元请求消息,Master为Equal1新增其所需的业务功能单元后通知给Equal1,然后由Equal1对其进行绑定,由于新增的业务功能单元与原业务功能单元相关,因此由Equal1统一进行管理更加方便。For example, when the service function unit that is currently bound to the service is determined to be added by the service function unit, the new service function unit request message is sent to the master. The master adds the required service function unit to the account. Equal1 is then bound by Equal1. Since the new business function unit is related to the original business function unit, it is more convenient to manage it uniformly by Equal1.
第二种场景,由主控制器触发,主控制器通知各个辅控制器和交换机暂停业务流程后,在交换机中新增至少一个业务功能单元,然后给至少一个辅控制器反馈新增业务功能单元指定消息。收到新增业务功能单元指定消息的每个辅控制器,根据新增业务功能指定消息中为该辅控制器指定的新增业务功能单元,绑定对应的新增业务功能单元。最后,主控制器通知各个辅控制器和交换机恢复业务流程。The second scenario is triggered by the primary controller. After the primary controller notifies each secondary controller and switch to suspend the service process, add at least one service function unit to the switch, and then feed the at least one secondary controller to add a new service function unit. Specify a message. Each of the secondary controllers that have received the new service function unit designation message is bound to the new service function unit corresponding to the new service function unit specified for the secondary controller in the new service function designation message. Finally, the primary controller notifies each secondary controller and switch to resume business processes.
例如,Master在新增一个业务功能单元后,根据该新增业务功能单元对应的业务功能,指定之前已绑定相关业务功能单元的Equal2对新增的业务功 能单元进行绑定。For example, after adding a service function unit, the master specifies the new service function of the Equal2 pair that has been bound to the related service function unit according to the service function corresponding to the new service function unit. The unit can be bound.
此外,在主控制器通知各个辅控制器和交换机恢复业务流程时,可在业务流程恢复消息中携带完整的构成业务流程的各个业务功能单元的描述信息或者新增的至少一个业务功能单元的描述信息。In addition, when the main controller notifies each of the secondary controllers and the switch to restore the service process, the service flow recovery message may carry the description information of each service function unit that constitutes the service process or the description of the newly added at least one service function unit. information.
图6所示为针对上述两种新增绑定业务功能单元的具体流程。Figure 6 shows the specific process for the above two newly added binding service functional units.
S601:Equal1向Master发送新增业务功能单元请求消息(Add_BR_Request)。S601: Equal1 sends a new service function unit request message (Add_BR_Request) to the master.
该消息中包括:The message includes:
bs_name:新增业务功能单元的业务功能名称。Bs_name: Name of the business function of the new business function unit.
table_numbers:新增业务功能单元的流表数目。Table_numbers: Number of flow tables for new business function units.
须知,S601为可选的步骤。It should be noted that S601 is an optional step.
S602:Master发送业务流程暂停消息(Deactivate_BP_Notification)给所有Equal和OF Switch,暂停业务流程。S602: The Master sends a service flow suspension message (Deactivate_BP_Notification) to all Equal and OF switches, and suspends the business process.
S603:Master增加新的业务功能单元及对应资源。S603: The Master adds a new service function unit and corresponding resources.
具体可以通过以下两种方式实现S603:Specifically, S603 can be implemented in the following two ways:
当每个业务功能单元是指一个流表组时,Master向OF Switch发送新增分组指示消息(OFPT_TG_MOD),增加新的流表组。When each service function unit refers to a flow table group, the master sends a new packet indication message (OFPT_TG_MOD) to the OF Switch to add a new flow table group.
当每个业务功能单元是指一个OFLS时,Master通过OF Config增加OFLS及对应资源,并修改之间的连接关系。When each service function unit refers to an OFLS, the master adds OFLS and corresponding resources through OF Config and modifies the connection relationship between them.
S604a:Master向请求增加业务功能单元的Equal1返回新增业务功能单元请求响应消息(Add_BR_Response)。S604a: The Master returns a new service function unit request response message (Add_BR_Response) to the Equal1 requesting to add the service function unit.
该消息中携带已新增的业务功能单元的描述信息,即bs_role。The message carries the description information of the added service function unit, that is, bs_role.
须知,S604a是针对执行了S601的场景所需执行的步骤。It should be noted that S604a is a step required to perform a scenario in which S601 is executed.
S604b:Master发送业务功能单元指定消息(Designate_BR_Notification给所选Equal,该消息中携带已新增的业务功能单元的描述信息。S604b: The master sends a service function unit designation message (Designate_BR_Notification to the selected account, the message carries the description information of the added service function unit.
须知,S604b可以为针对执行了S601的场景所需执行的步骤,也可以为不执行S601的场景所需执行的步骤。图6所示仅为一种特例,Master发送 Designate_BR_Notification给Equal1。Master也可选择发送Designate_BR_Notification给其他Equal。It should be noted that S604b may be a step required to execute a scenario in which S601 is executed, or may be a step required to execute a scenario in which S601 is not executed. Figure 6 shows only one special case, the Master sends Designate_BR_Notification to Equal1. The Master can also choose to send Designate_BR_Notification to other Equals.
S605:Equal1绑定新增的业务功能单元。S605: The new business function unit is bound to Equal1.
S606:Equal1向Master发送绑定成功消息(Bind_BR_Notification),通知绑定结果。S606: The equal1 sends a binding success message (Bind_BR_Notification) to the master to notify the binding result.
S607:Master向所有Equal发送业务流程恢复消息(Activate_BP_Notification)消息。S607: The Master sends a Service Flow Recovery message (Activate_BP_Notification) message to all the Equals.
Activate_BP_Notification可以同时用于启动业务流程和恢复业务流程,此时发送的Activate_BP_Notification中包含更新业务流程信息(Update_BP_Notification)。例如,Update_BP_Notification中可包含最新的process或者更新的至少一个[bs_role]n。Activate_BP_Notification can be used to start both the business process and the recovery business process. The Activate_BP_Notification sent contains the updated business process information (Update_BP_Notification). For example, Update_BP_Notification can contain at least one [bs_role]n of the latest process or update.
针对删除绑定业务功能单元的场景,具体也可能有两种实现场景:For the scenario of deleting a bound service function unit, there are two possible implementation scenarios:
第一种场景,由第一辅控制器触发,第一辅控制器发送业务功能单元取消绑定请求消息,主控制器通知所有辅控制器和交换机暂停业务流程,主控制器向第一辅控制器发送发送业务功能单元取消绑定响应消息,业务功能单元取消绑定通知消息用于指示第一辅控制器与需要取消绑定的业务功能单元取消绑定关系,其中,第一辅控制器为至少一个辅控制器中的任意一个;主控制器接收第一辅控制器发送的取消绑定成功消息。In the first scenario, triggered by the first secondary controller, the first secondary controller sends a service function unit unbinding request message, and the primary controller notifies all the secondary controllers and switches to suspend the service flow, and the primary controller controls the first secondary control. The device sends a sending service function unit unbinding response message, and the service function unit unbinding notification message is used to indicate that the first secondary controller is unbinding with the service function unit that needs to be unbound, wherein the first secondary controller is At least one of the secondary controllers; the primary controller receives the unbinding success message sent by the first secondary controller.
业务功能单元取消绑定请求消息携带需要取消绑定的业务功能单元的业务功能名称和业务流程的标识。The service function unit unbind request message carries the service function name and the identifier of the service process of the service function unit that needs to be unbound.
例如,Equal1希望对当前与自身绑定的一个业务功能单元取消绑定时,可向Master发送业务功能单元取消绑定请求消息。Master通知Equal1可以对该业务功能单元取消绑定,并接收Equal1反馈的取消绑定成功消息。For example, when Equal1 wants to unbind a service function unit that is currently bound to itself, it can send a service function unit unbind request message to the master. The Master informs that Equal1 can unbind the service function unit and receive the unbinding success message fed back by Equal1.
第二种场景,由主控制器触发,主控制器通知所有辅控制器和交换机暂停业务流程,主控制器向第一辅控制器发送发送业务功能单元取消绑定通知消息,业务功能单元取消绑定通知消息用于指示第一辅控制器与需要取消绑定的业务功能单元取消绑定关系。主控制器接收第一辅控制器发送的取消绑 定成功消息。The second scenario is triggered by the primary controller, and the primary controller notifies all the secondary controllers and switches to suspend the service process, and the primary controller sends a sending service function unit unbinding notification message to the first secondary controller, and the service function unit is unbound. The notification message is used to instruct the first secondary controller to unbind the business function unit that needs to be unbound. The main controller receives the unbind sent by the first secondary controller Success message.
例如Master希望取消Equal2与Equal2当前绑定的一个业务功能单元的绑定关系时,Master可通知Equal2对该业务功能单元取消绑定,并接收Equal2反馈的取消绑定成功消息。For example, when the master wants to cancel the binding relationship between the service function unit and the current service function unit, the master can notify Equal2 to unbind the service function unit and receive the unbinding success message fed back by Equal2.
图7所示为针对上述两种取消绑定业务功能单元的具体流程。FIG. 7 shows a specific process for the above two unbundling service function units.
S701:Equal向Master发送业务功能单元取消绑定请求消息(Unbind_BR_Request)。S701: The Equal sends a service function unit unbinding request message (Unbind_BR_Request) to the master.
该消息中携带bs_name,指示需要取消绑定的业务功能单元。The message carries bs_name, indicating the business function unit that needs to be unbound.
须知,S701为可选的步骤。It should be noted that S701 is an optional step.
S702:Master发送业务流程暂停消息(Deactivate_BP_Notification)给所有Equal和OF Switch,暂停业务流程。S702: The Master sends a service flow suspension message (Deactivate_BP_Notification) to all Equal and OF switches, and suspends the business process.
S703a:Master返回业务功能单元取消绑定响应消息(Unbind_BR_Response)给请求取消业务功能单元绑定的EqualS703a: The Master returns the service function unit unbind response message (Unbind_BR_Response) to the Equal of the request cancellation business function unit.
S703a是针对执行了S701的场景所需执行的步骤。S703a is a step that is required to be performed for the scenario in which S701 is executed.
S703b:Master发送业务功能单元取消绑定通知消息(Cancel_BR_Notification)给对应的Equal。S703b: The master sends a service function unit unbinding notification message (Cancel_BR_Notification) to the corresponding premium.
该消息携带参数bs_name。This message carries the parameter bs_name.
须知,S703b是针对不执行S701的场景所需执行的步骤。It should be noted that S703b is a step required to perform a scenario in which S701 is not executed.
图7为仅为一种特例,请求取消业务功能单元绑定的Equal与Master希望取消绑定关系对应的Equal相同。Figure 7 is only a special case. The Equal that is requested to cancel the binding of the service function unit is the same as the Equal that the Master wants to cancel the binding relationship.
S704:Equal取消针对需要取消业务功能单元的绑定。S704: Equal cancels the binding for the unit that needs to cancel the business function.
具体可以通过以下两种方式实现S704:Specifically, S704 can be implemented in the following two ways:
当每个业务功能单元是指一个流表组时,Equal向OF Switch发送OFPT_TG_MOD消息,取消与业务功能单元对应流表组的绑定关系。When each service function unit refers to a flow table group, Equal sends an OFPT_TG_MOD message to the OF Switch, and cancels the binding relationship with the flow table group corresponding to the service function unit.
当每个业务功能单元是指一个OFLS时,Equal断开与该业务功能单元对应OFLS的连接。When each service function unit refers to an OFLS, Equal disconnects the OFLS corresponding to the service function unit.
S705:Equal向Master发送取消绑定成功消息(Unbind_BR_Notification), 通知取消绑定结果;S705: Equal sends an unbinding success message (Unbind_BR_Notification) to the master. Notify the unbinding result;
在执行完S705后,Master可选择其它Equal来绑定该业务功能单元,然后恢复业务流程,或者Master发起删除该业务功能单元,然后恢复业务流程,或者在确定该业务功能单元取消绑定后,构成业务流程的各个业务功能单元均已取消绑定时,删除该业务流程。After executing S705, the master can select another Equal to bind the service function unit, and then resume the business process, or the master initiates deletion of the service function unit, and then resumes the business process, or after determining that the service function unit is unbound, When each business function unit that constitutes a business process has been unbound, the business process is deleted.
Master发起删除该业务功能单元可以采用以下两种方式:The Master initiates the deletion of the service function unit in the following two ways:
当每个业务功能单元是指一个流表组时,Master向OF Switch发送流表组删除消息(OFPT_TG_MOD),携带该业务流程单元所指流表组的业务功能名称。When each service function unit is a flow table group, the master sends a flow table group deletion message (OFPT_TG_MOD) to the OF switch, and carries the service function name of the flow table group indicated by the service process unit.
当每个业务功能单元是指一个OFLS时,Master通过OF Config删除OFLS及对应资源,并修改之间连接关系。When each service function unit refers to an OFLS, the master deletes the OFLS and corresponding resources through OF Config and modifies the connection relationship.
Master删除该业务流程可以采用以下两种方式:The Master can delete the business process in the following two ways:
当每个业务功能单元是指一个流表组时,Master向Switch发送流表组删除消息(OFPT_BP_MOD),指示删除该业务流程包含的所有流表组。When each service function unit is a flow table group, the master sends a flow table group deletion message (OFPT_BP_MOD) to the Switch, indicating that all flow table groups included in the service flow are deleted.
当每个业务功能单元是指一个OFLS时,Master通过OF Config删除所有OFLS。When each service function unit refers to an OFLS, the Master deletes all OFLSs through OF Config.
基于同一发明构思,本发明实施例中还提供了一种多控制器协作装置,该装置可以为图3所示实施例中的主控制器。该装置可以用于执行上述图3对应的方法实施例,因此本发明实施例提供的多控制器协作装置的实施方式可以参见该方法的实施方式,重复之处不再赘述。Based on the same inventive concept, a multi-controller cooperation device is also provided in the embodiment of the present invention, and the device may be the main controller in the embodiment shown in FIG. The device may be used to perform the method embodiment corresponding to FIG. 3 above. Therefore, the implementation manner of the multi-controller cooperation device provided by the embodiment of the present invention may be referred to the implementation manner of the method, and details are not described herein again.
参阅图8所示,本发明实施例提供一种多控制器协作装置,该装置具有实现上述方法实例中主控制器行为的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。Referring to FIG. 8 , an embodiment of the present invention provides a multi-controller cooperation device, which has a function of implementing a behavior of a main controller in an example of the foregoing method, and the function may be implemented by hardware, or may execute corresponding software through hardware. achieve. The hardware or software includes one or more modules corresponding to the functions described above.
该装置包括收发单元80和处理单元81,这些单元可以执行上述方法示例中的相应功能,具体的:The device comprises a transceiver unit 80 and a processing unit 81, which can perform corresponding functions in the above method examples, specifically:
收发单元80,用于针对至少一个辅控制器中的每个辅控制器发送绑定触 发消息,其中,针对第i个辅控制器发送的绑定触发消息用于触发所述第i个辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述装置为交换机部署的;The transceiver unit 80 is configured to send a binding touch to each of the at least one secondary controller Sending a message, wherein the binding trigger message sent by the i-th secondary controller is used to trigger the binding relationship between the i-th secondary controller and the service function unit in each service function unit that constitutes the service flow, where The various service functional units constituting the business process are deployed by the device for the switch;
以及接收每个辅控制器反馈的绑定成功消息,所述绑定成功消息用于通知所述装置该辅控制器与至少一个业务功能单元绑定成功;And receiving, by the each secondary controller, a binding success message, where the binding success message is used to notify the device that the secondary controller is successfully bound to the at least one service function unit;
处理单元81,用于根据接收到的绑定成功消息确定构成所述业务流程的各个业务功能单元均被绑定时,通过所述收发单元80向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。The processing unit 81 is configured to determine, according to the received binding success message, that each service function unit constituting the service flow is bound, by using the transceiver unit 80 to the at least one secondary controller and the switch respectively Send a business process start message.
在一种可能的实现方式中,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。In a possible implementation manner, each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
在一种可能的实现方式中,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息。In a possible implementation manner, the binding trigger message sent by the i-th secondary controller carries the identifier of the service flow and description information of each service function unit that constitutes the service flow.
在一种可能的实现方式中,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述第i个辅控制器所需绑定的业务功能单元对应的业务功能名称;In a possible implementation, the binding trigger message sent by the ith secondary controller carries an identifier of the service flow, description information of each service function unit constituting the service flow, and the ith The name of the service function corresponding to the service function unit bound to the secondary controller;
或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息。Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller.
在一种可能的实现方式中,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;In a possible implementation manner, the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit. Each of the jumpable service function unit information, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转 发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the service function unit corresponds to the turn The sender ID is the identifier of the corresponding logical switch. The forwarding plane type indicates that the switch is a switch that does not support the flow table group.
在一种可能的实现方式中,在向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,所述处理单元81,还用于:In a possible implementation, after the service flow start message is sent to the at least one secondary controller and the switch, the processing unit 81 is further configured to:
通过所述收发单元80向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;Transmitting, by the transceiver unit 80, a service flow suspension message to the at least one secondary controller and the switch respectively;
在所述业务流程中添加新增至少一个业务功能单元;Adding at least one business function unit in the business process;
通过所述收发单元80向所述至少一个辅控制器中的至少一个辅控制器发送新增业务功能单元通知消息,所述新增业务功能单元通知消息用于指示所述至少一个辅控制器中的至少一个辅控制器与对应的新增业务功能单元建立绑定关系;Transmitting, by the transceiver unit 80, a new service function unit notification message to at least one of the at least one secondary controller, where the newly added service function unit notification message is used to indicate the at least one secondary controller At least one secondary controller establishes a binding relationship with the corresponding newly added service function unit;
通过所述收发单元80接收所述至少一个辅控制器中的至少一个辅控制器发送的绑定成功消息;Receiving, by the transceiver unit 80, a binding success message sent by at least one secondary controller of the at least one secondary controller;
通过所述收发单元80向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。Transmitting, by the transceiver unit 80, a service flow recovery message to the at least one secondary controller and the switch, respectively.
在一种可能的实现方式中,在向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,所述处理单元81,还用于:In a possible implementation, before the service flow suspension message is sent to the at least one secondary controller and the switch, the processing unit 81 is further configured to:
通过所述收发单元80接收所述第一辅控制器发送的新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息。Receiving, by the transceiver unit 80, a new service function unit request message sent by the first secondary controller, where the newly added service function unit request message carries the identifier of the service flow and the service of the newly added service function unit. The function name and the newly added service function unit include indication information of the flow table.
在一种可能的实现方式中,在向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,所述处理单元81,还用于:In a possible implementation, after the service flow start message is sent to the at least one secondary controller and the switch, the processing unit 81 is further configured to:
通过所述收发单元80向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;Transmitting, by the transceiver unit 80, a service flow suspension message to the at least one secondary controller and the switch respectively;
通过所述收发单元80向第二辅控制器发送业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述第二辅控制器与需要 取消绑定的业务功能单元取消绑定关系,其中,所述第二辅控制器为所述至少一个辅控制器中的任意一个;Transmitting, by the transceiver unit 80, a service function unit unbinding notification message to the second secondary controller, where the service function unit unbinding notification message is used to indicate the second secondary controller and the requirement Unbinding the business function unit unbinding relationship, wherein the second secondary controller is any one of the at least one secondary controller;
通过所述收发单元80接收所述第二辅控制器发送的取消绑定成功消息。Receiving, by the transceiver unit 80, an unbinding success message sent by the second secondary controller.
在一种可能的实现方式中,在向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,所述处理单元81,还用于:In a possible implementation, before the service flow suspension message is sent to the at least one secondary controller and the switch, the processing unit 81 is further configured to:
通过所述收发单元80接收所述第二辅控制器发送的业务功能单元取消绑定请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。Receiving, by the transceiver unit 80, a service function unit unbinding request message sent by the second secondary controller, where the service function unit unbinding request message carries the service function name of the service function unit that needs to be unbound And the identification of the business process.
在一种可能的实现方式中,在接收所述第二辅控制器发送的取消绑定成功消息之后,所述处理单元81,还用于:In a possible implementation, after receiving the unbinding success message sent by the second secondary controller, the processing unit 81 is further configured to:
通过所述收发单元80向第三辅控制器发送业务功能单元指定消息,所述业务功能单元指定消息携带所述需要取消绑定的业务功能单元的描述信息和所述业务流程的标识,所述业务功能单元指定消息用于指示所述第三辅控制器与所述需要取消绑定的业务功能单元建立绑定关系,所述第三辅控制器为所述至少一个辅控制器中的任意一个,通过所述收发单元80接收所述第三辅控制器发送的绑定成功消息;或者,在所述业务流程中删除所述需要取消绑定的业务功能单元;Sending, by the transceiver unit 80, a service function unit designation message to the third secondary controller, where the service function unit designation message carries the description information of the service function unit that needs to be unbound and the identifier of the service flow, The service function unit designation message is used to indicate that the third secondary controller establishes a binding relationship with the service function unit that needs to be unbound, and the third secondary controller is any one of the at least one secondary controller. Receiving, by the transceiver unit 80, a binding success message sent by the third secondary controller; or deleting the service function unit that needs to be unbound in the service flow;
通过所述收发单元80向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。Transmitting, by the transceiver unit 80, a service flow recovery message to the at least one secondary controller and the switch, respectively.
在一种可能的实现方式中,在接收所述第二辅控制器发送的取消绑定成功消息之后,所述处理单元81,还用于:In a possible implementation, after receiving the unbinding success message sent by the second secondary controller, the processing unit 81 is further configured to:
确定构成所述业务流程的各个业务功能单元均已取消绑定时,删除所述业务流程。When it is determined that each business function unit constituting the business process has been unbound, the business process is deleted.
基于同一发明构思,本发明实施例中还提供了一种多控制器协作装置,该装置可以为图4所示实施例中的辅控制器。该装置可以用于执行上述图4对应的方法实施例,因此本发明实施例提供的多控制器协作装置的实施方式可以参见该方法的实施方式,重复之处不再赘述。 Based on the same inventive concept, a multi-controller cooperation device is also provided in the embodiment of the present invention, and the device may be the secondary controller in the embodiment shown in FIG. The device may be used to perform the method embodiment corresponding to FIG. 4 above. Therefore, the implementation manner of the multi-controller cooperation device provided by the embodiment of the present invention may be referred to the implementation manner of the method, and details are not described herein again.
基于同一发明构思,本发明实施例中还提供了一种多控制器协作装置,该装置可以为图3所示实施例中的辅控制器。该装置可以用于执行上述图3对应的方法实施例,因此本发明实施例提供的多控制器协作装置的实施方式可以参见该方法的实施方式,重复之处不再赘述。Based on the same inventive concept, a multi-controller cooperation device is also provided in the embodiment of the present invention, and the device may be the secondary controller in the embodiment shown in FIG. The device may be used to perform the method embodiment corresponding to FIG. 3 above. Therefore, the implementation manner of the multi-controller cooperation device provided by the embodiment of the present invention may be referred to the implementation manner of the method, and details are not described herein again.
参阅图9所示,本发明实施例提供一种多控制器协作装置,该装置具有实现上述方法实例中辅控制器行为的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。Referring to FIG. 9 , an embodiment of the present invention provides a multi-controller cooperation device, which has a function of implementing a behavior of a secondary controller in the foregoing method example, and the function may be implemented by hardware, or may execute corresponding software through hardware. achieve. The hardware or software includes one or more modules corresponding to the functions described above.
具体的,该装置包括收发单元90和处理单元91,这些单元可以执行上述方法示例中的相应功能,其中:Specifically, the device includes a transceiver unit 90 and a processing unit 91, which can perform corresponding functions in the above method examples, wherein:
收发单元90,用于接收主控制器发送绑定触发消息,其中,所述绑定触发消息用于触发所述装置与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;The transceiver unit 90 is configured to receive, by the main controller, a binding trigger message, where the binding trigger message is used to trigger the device to establish a binding relationship with a service function unit in each service function unit constituting the service flow, where The various service functional units constituting the business process are deployed by the primary controller for the switch;
处理单元91,用于与至少一个业务功能单元建立绑定关系;The processing unit 91 is configured to establish a binding relationship with the at least one service function unit.
所述收发单元90,还用于向所述主控制器发送绑定成功消息,所述绑定成功消息用于通知所述主控制器所述装置与所述至少一个业务功能单元绑定成功;The transceiver unit 90 is further configured to send a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
以及接收所述主控制器发送的业务流程启动消息。And receiving a business process startup message sent by the primary controller.
在一种可能的实现方式中,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。In a possible implementation manner, each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to one service function.
在一种可能的实现方式中,所述绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息;In a possible implementation manner, the binding trigger message carries an identifier of the service process and description information of each service function unit that constitutes the service process;
在与至少一个业务功能单元建立绑定关系之前,所述处理单元91,还用于:Before the binding relationship is established with the at least one service function unit, the processing unit 91 is further configured to:
根据构成所述业务流程的各个业务功能单元的描述信息确定至少一个业务功能单元作为待绑定业务功能单元。 Determining at least one service function unit as a service function unit to be bound according to description information of each service function unit constituting the service process.
在一种可能的实现方式中,所述绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述装置所需绑定的业务功能单元对应的业务功能名称;In a possible implementation manner, the binding trigger message carries an identifier of the service process, description information of each service function unit that constitutes the service process, and a service function unit that is required to be bound by the device. Business function name;
与至少一个业务功能单元建立绑定关系时,所述处理单元91,用于:When the binding relationship is established with the at least one service function unit, the processing unit 91 is configured to:
根据所述绑定触发消息中携带的所述装置所需绑定的业务功能单元对应的业务功能名称确定待绑定业务功能单元,与所述待绑定业务功能单元建立绑定关系。And determining a to-be-bound service function unit according to the service function name corresponding to the service function unit to be bound to the device, and establishing a binding relationship with the to-be-bound service function unit.
或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息;Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller;
与至少一个业务功能单元建立绑定关系时,所述处理单元91,用于:When the binding relationship is established with the at least one service function unit, the processing unit 91 is configured to:
根据所述绑定触发消息中携带的所述装置所需绑定的业务功能单元的描述信息确定待绑定业务功能单元,与所述待绑定业务功能单元建立绑定关系。Determining, according to the description information of the service function unit to be bound to the device that is carried in the binding trigger message, the service function unit to be bound, and establishing a binding relationship with the service function unit to be bound.
在一种可能的实现方式中,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;In a possible implementation manner, the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, and a corresponding corresponding to the service function unit. Each of the jumpable service function unit information, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump instruction corresponding to the jumpable service function unit;
当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
在一种可能的实现方式中,在接收所述主控制器发送的业务流程启动消息之后,所述处理单元91,还用于:In a possible implementation, after receiving the service flow start message sent by the main controller, the processing unit 91 is further configured to:
通过所述收发单元90接收所述主控制器发送的业务流程暂停消息;Receiving, by the transceiver unit 90, a service flow suspension message sent by the primary controller;
通过所述收发单元90接收所述主控制器发送新增业务功能单元通知消 息,所述新增业务功能单元通知消息用于指示所述装置与所述新增业务功能单元建立绑定关系;Receiving, by the transceiver unit 90, the main controller sends a new service function unit notification The new service function unit notification message is used to indicate that the device establishes a binding relationship with the newly added service function unit.
与所述新增业务功能单元建立绑定关系;Establishing a binding relationship with the newly added service function unit;
通过所述收发单元90向所述主控制器发送绑定成功消息;Sending, by the transceiver unit 90, a binding success message to the primary controller;
通过所述收发单元90接收所述主控制器发送的业务流程恢复消息。Receiving, by the transceiver unit 90, a service flow recovery message sent by the primary controller.
在一种可能的实现方式中,在接收所述主控制器发送的业务流程暂停消息之前,所述处理单元91,还用于:In a possible implementation, before receiving the service flow suspension message sent by the main controller, the processing unit 91 is further configured to:
通过所述收发单元90向所述主控制器发送新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息;Sending, by the transceiver unit 90, a new service function unit request message to the main controller, where the new service function unit request message carries an identifier of the service flow, a service function name of the newly added service function unit, and The newly added service function unit includes indication information of the flow table;
在一种可能的实现方式中,在接收所述主控制器发送的业务流程启动消息之后,所述处理单元91,还用于:In a possible implementation, after receiving the service flow start message sent by the main controller, the processing unit 91 is further configured to:
通过所述收发单元90接收所述主控制器发送的业务流程暂停消息;Receiving, by the transceiver unit 90, a service flow suspension message sent by the primary controller;
通过所述收发单元90接收所述主控制器发送的业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述装置与需要取消绑定的业务功能单元取消绑定关系;Receiving, by the transceiver unit 90, a service function unit unbinding notification message sent by the main controller, where the service function unit unbinding notification message is used to indicate that the device is unbind from a service function unit that needs to be unbound. Relationship
与所述需要取消绑定的业务功能单元取消绑定关系;Unbinding the business function unit that needs to be unbound;
通过所述收发单元90向所述主控制器发送取消绑定成功消息。An unbinding success message is sent to the primary controller by the transceiver unit 90.
在一种可能的实现方式中,在接收所述主控制器发送的业务流程暂停消息之后,所述处理单元91,还用于:In a possible implementation, after receiving the service flow suspension message sent by the main controller, the processing unit 91 is further configured to:
通过所述收发单元90向所述主控制器发送业务功能单元取消绑定请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。Transmitting, by the transceiver unit 90, a service function unit unbinding request message to the main controller, where the service function unit unbinding request message carries the service function name of the service function unit that needs to be unbound and the The identity of the business process.
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用 硬件的形式实现,也可以采用软件功能单元的形式实现。It should be noted that the division of the unit in the embodiment of the present invention is schematic, and is only a logical function division, and the actual implementation may have another division manner. The functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be used The form of hardware implementation can also be implemented in the form of software functional units.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application, in essence or the contribution to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, and the program code can be stored. Medium.
基于同一发明构思,本发明实施例中还提供了一种主控制器,为图8所示装置的实体设备,重复之处不再赘述。Based on the same inventive concept, a main controller is also provided in the embodiment of the present invention, which is a physical device of the device shown in FIG.
参阅图10所示,本发明实施例提供一种主控制器,包括:Referring to FIG. 10, an embodiment of the present invention provides a main controller, including:
收发器1001; Transceiver 1001;
存储器1002,用于存储指令;和a memory 1002 for storing instructions; and
处理器1003,与存储器1002和收发器1001分别相连,用于执行指令,以在执行指令时执行如下步骤:The processor 1003 is connected to the memory 1002 and the transceiver 1001, respectively, for executing instructions to perform the following steps when executing the instructions:
通过所述收发器1001针对至少一个辅控制器中的每个辅控制器发送绑定触发消息,其中,针对第i个辅控制器发送的绑定触发消息用于触发所述第i个辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述装置为交换机部署的;Sending, by the transceiver 1001, a binding trigger message to each of the at least one secondary controller, where the binding trigger message sent for the i-th secondary controller is used to trigger the ith secondary control Establishing a binding relationship with the service function unit in each service function unit constituting the business process, where each service function unit constituting the business process is deployed by the device as a switch;
以及接收每个辅控制器反馈的绑定成功消息,所述绑定成功消息用于通知所述装置该辅控制器与至少一个业务功能单元绑定成功;And receiving, by the each secondary controller, a binding success message, where the binding success message is used to notify the device that the secondary controller is successfully bound to the at least one service function unit;
根据接收到的绑定成功消息确定构成所述业务流程的各个业务功能单元均被绑定时,通过收发器1001向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。 When it is determined that each service function unit constituting the service flow is bound according to the received binding success message, the service flow start message is separately sent to the at least one secondary controller and the switch by the transceiver 1001.
基于同一发明构思,本发明实施例中还提供了一种辅控制器,为图9所示装置的实体设备,重复之处不再赘述。Based on the same inventive concept, a secondary controller is also provided in the embodiment of the present invention, which is a physical device of the device shown in FIG.
参阅图11所示,本发明实施例提供一种辅控制器,包括:Referring to FIG. 11, an embodiment of the present invention provides a secondary controller, including:
收发器1101; Transceiver 1101;
存储器1102,用于存储指令;和a memory 1102 for storing instructions; and
处理器1103,与存储器1102和收发器1101分别相连,用于执行指令,以在执行指令时执行如下步骤:The processor 1103 is respectively connected to the memory 1102 and the transceiver 1101 for executing an instruction to perform the following steps when executing the instruction:
通过收发器1101接收主控制器发送绑定触发消息,其中,所述绑定触发消息用于触发所述装置与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;Receiving, by the transceiver 1101, the primary controller sends a binding triggering message, where the binding triggering message is used to trigger the device to establish a binding relationship with the service functional unit in each service functional unit constituting the service flow, where Each service functional unit of the business process is deployed by the primary controller for the switch;
与至少一个业务功能单元建立绑定关系;Establishing a binding relationship with at least one business function unit;
通过收发器1101向所述主控制器发送绑定成功消息,所述绑定成功消息用于通知所述主控制器所述装置与所述至少一个业务功能单元绑定成功;Sending, by the transceiver 1101, a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
以及接收所述主控制器发送的业务流程启动消息。And receiving a business process startup message sent by the primary controller.
需要说明的是图10和图11所示的各部分之间的连接方式仅为一种可能的示例,也可以是,收发器与存储器均与处理器连接,且收发器与存储器之间没有连接,或者,也可以是其他可能的连接方式。It should be noted that the connection manner between the parts shown in FIG. 10 and FIG. 11 is only one possible example, and the transceiver and the memory are both connected to the processor, and there is no connection between the transceiver and the memory. Or, it can be other possible connections.
综上所述,本发明实施例中主控制器针对至少一个辅控制器中的每个辅控制器发送绑定触发消息,即主控制器可以直接指定每个辅控制器绑定的业务功能单元也可由辅控制器选择自身希望绑定的业务功能单元,主控制器接收每个辅控制器反馈的绑定成功消息,在主控制器根据接收到的绑定成功消息确定构成所述业务流程的各个业务功能单元均被绑定时,向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。因此,在每个辅控制器绑定业务功能单元后,每个辅控制器上可以单独部署实现绑定的业务功能单元对应的业务功能所需的网络应用,每个辅控制器对绑定的业务功能单元进行管理和控制,避免控制器因网络功能的集中部署造成的瓶颈的问题,实现 多个控制器协作控制交换机中业务流程。In summary, in the embodiment of the present invention, the primary controller sends a binding trigger message to each of the at least one secondary controller, that is, the primary controller can directly specify the service functional unit bound to each secondary controller. The secondary controller may also select a service function unit that is to be bound by the secondary controller, and the primary controller receives the binding success message fed back by each secondary controller, and the primary controller determines, according to the received binding success message, that the service flow is formed. When each service function unit is bound, a service flow start message is separately sent to the at least one secondary controller and the switch. Therefore, after each secondary controller is bound to the service function unit, the network application required to implement the service function corresponding to the bound service function unit can be separately deployed on each secondary controller, and each secondary controller is bound to the network application. Business function units are managed and controlled to avoid bottlenecks caused by centralized deployment of network functions. Multiple controllers cooperatively control the business processes in the switch.
因此,采用本发明实施例提供的方法针对SDN网络,能够实现基于业务流程实现多控制器的分布式协调控制,大大简化了每个控制器节点的计算处理开销,提升了网络的伸缩性,有助于网络的扩容和升级。此外,多控制网元对交换机的共享控制,相对于面向多控制网元的分层控制架构而言,减少了信令转发层次,优化了信令路径,降低了控制信令的处理时延。Therefore, the method provided by the embodiment of the present invention can implement distributed coordinated control of multiple controllers based on service flows for the SDN network, greatly simplifying the calculation processing overhead of each controller node, and improving the scalability of the network. Help network expansion and upgrade. In addition, the shared control of the multi-control network element to the switch reduces the signaling forwarding level, optimizes the signaling path, and reduces the processing delay of the control signaling, compared to the hierarchical control architecture for the multi-control network element.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。It will be understood by those skilled in the art that all or part of the steps of implementing the above embodiments may be performed by a program, and the program may be stored in a computer readable storage medium, which is non-transitory ( English: non-transitory) media, such as random access memory, read-only memory, flash memory, hard disk, solid state disk, magnetic tape (English: magnetic tape), floppy disk (English: floppy disk), CD (English: optical disc) And any combination thereof.
本发明是参照本发明实施例的方法和设备各自的流程图和方框图来描述的。应理解可由计算机程序指令实现流程图和方框图中的每一流程和方框、以及流程图和方框图中的流程和方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和方框图一个方框或多个方框中指定的功能的装置。The present invention has been described with reference to the respective flowcharts and block diagrams of the method and apparatus of the embodiments of the invention. It will be understood that each flow and block of the flowchart illustrations. FIG. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device. A device that implements the functions specified in one or more blocks of a flowchart or a plurality of flows and block diagrams.
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。 The above is only a preferred embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or within the technical scope disclosed by the present invention. Alternatives are intended to be covered by the scope of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims (40)

  1. 一种多控制器协作方法,其特征在于,包括:A multi-controller cooperation method, comprising:
    主控制器针对至少一个辅控制器中的每个辅控制器发送绑定触发消息,其中,针对第i个辅控制器发送的绑定触发消息用于触发所述第i个辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;The master controller sends a binding trigger message to each of the at least one secondary controller, where the binding trigger message sent by the ith secondary controller is used to trigger the ith secondary controller and the component The business function unit in each business function unit of the business process establishes a binding relationship, wherein each business function unit constituting the business process is deployed by the main controller as a switch;
    所述主控制器接收每个辅控制器反馈的绑定成功消息,所述绑定成功消息用于通知所述主控制器该辅控制器与至少一个业务功能单元绑定成功;The master controller receives a binding success message fed back by each secondary controller, where the binding success message is used to notify the primary controller that the secondary controller is successfully bound to the at least one service function unit;
    所述主控制器根据接收到的绑定成功消息确定构成所述业务流程的各个业务功能单元均被绑定时,向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。The main controller sends a service flow start message to the at least one secondary controller and the switch separately when the primary service function unit that is configured to be the service flow is bound according to the received binding success message.
  2. 如权利要求1所述的方法,其特征在于,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。The method according to claim 1, wherein each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to a service function.
  3. 如权利要求1或2所述的方法,其特征在于,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息。The method according to claim 1 or 2, wherein the binding trigger message sent by the i-th secondary controller carries an identifier of the service flow and a description of each service function unit constituting the service flow. information.
  4. 如权利要求1或2所述的方法,其特征在于,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述第i个辅控制器所需绑定的业务功能单元对应的业务功能名称;The method according to claim 1 or 2, wherein the binding trigger message sent by the i-th secondary controller carries an identifier of the service flow and a description of each service function unit constituting the service flow. Information and a service function name corresponding to the service function unit bound to the i-th secondary controller;
    或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息。Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller.
  5. 如权利要求3或4所述的方法,其特征在于,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的 业务功能名称以及对应该可跳转业务功能单元的跳转指令;The method according to claim 3 or 4, wherein the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, Each of the jumpable service function unit information corresponding to the service function unit, wherein each of the jumpable service function unit information includes the jumpable service function unit The business function name and the jump instruction corresponding to the jumpable business function unit;
    当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
    当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  6. 如权利要求1-5任一项所述的方法,其特征在于,在所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,还包括:所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;The method according to any one of claims 1 to 5, further comprising: after the main controller sends a service flow start message to the at least one secondary controller and the switch, The controller sends a service flow suspension message to the at least one secondary controller and the switch respectively;
    所述主控制器在所述业务流程中添加新增至少一个业务功能单元;Adding, by the main controller, at least one service function unit to the service flow;
    所述主控制器向所述至少一个辅控制器中的至少一个辅控制器发送新增业务功能单元通知消息,所述新增业务功能单元通知消息用于指示所述至少一个辅控制器中的至少一个辅控制器与对应的新增业务功能单元建立绑定关系;The primary controller sends a new service function unit notification message to at least one of the at least one secondary controller, where the new service function unit notification message is used to indicate the at least one secondary controller Establishing a binding relationship between the at least one secondary controller and the corresponding newly added service function unit;
    所述主控制器接收所述至少一个辅控制器中的至少一个辅控制器发送的绑定成功消息;The primary controller receives a binding success message sent by at least one secondary controller of the at least one secondary controller;
    所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。The primary controller separately sends a service flow recovery message to the at least one secondary controller and the switch.
  7. 如权利要求6所述的方法,其特征在于,在所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,还包括:The method of claim 6, wherein before the main controller sends the service flow suspension message to the at least one secondary controller and the switch, the method further includes:
    所述主控制器接收所述第一辅控制器发送的新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息。Receiving, by the primary controller, a new service function unit request message sent by the first secondary controller, where the newly added service function unit request message carries the identifier of the service process, and the service function of the newly added service function unit The name and the new service function unit include indication information of the flow table.
  8. 如权利要求1-7任一项所述的方法,其特征在于,在所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,还包 括:所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;The method according to any one of claims 1 to 7, wherein after the main controller sends a service flow start message to the at least one secondary controller and the switch respectively, The main controller sends a service flow suspension message to the at least one secondary controller and the switch respectively;
    所述主控制器向第二辅控制器发送业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述第二辅控制器与需要取消绑定的业务功能单元取消绑定关系,其中,所述第二辅控制器为所述至少一个辅控制器中的任意一个;The main controller sends a service function unit unbinding notification message to the second secondary controller, where the service function unit unbinding notification message is used to indicate the second secondary controller and the service function unit that needs to be unbound. Unbinding the relationship, wherein the second secondary controller is any one of the at least one secondary controller;
    所述主控制器接收所述第二辅控制器发送的取消绑定成功消息。The main controller receives an unbinding success message sent by the second secondary controller.
  9. 如权利要求8所述的方法,其特征在于,在所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,还包括:The method of claim 8, wherein before the main controller sends the service flow suspension message to the at least one secondary controller and the switch, the method further includes:
    所述主控制器接收所述第二辅控制器发送的业务功能单元取消绑定请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。Receiving, by the main controller, a service function unit unbinding request message sent by the second secondary controller, where the service function unit unbinding request message carries the service function name of the service function unit that needs to be unbound and The identification of the business process.
  10. 如权利要求8或9所述的方法,其特征在于,在所述主控制器接收所述第二辅控制器发送的取消绑定成功消息之后,还包括:The method according to claim 8 or 9, wherein after the main controller receives the unbinding success message sent by the second secondary controller, the method further includes:
    所述主控制器向第三辅控制器发送业务功能单元指定消息,所述业务功能单元指定消息携带所述需要取消绑定的业务功能单元的描述信息和所述业务流程的标识,所述业务功能单元指定消息用于指示所述第三辅控制器与所述需要取消绑定的业务功能单元建立绑定关系,所述第三辅控制器为所述至少一个辅控制器中的任意一个,所述主控制器接收所述第三辅控制器发送的绑定成功消息;或者,所述主控制器在所述业务流程中删除所述需要取消绑定的业务功能单元;The main controller sends a service function unit designation message to the third secondary controller, where the service function unit designation message carries the description information of the service function unit that needs to be unbound and the identifier of the service process, where the service The function unit designation message is used to indicate that the third secondary controller establishes a binding relationship with the service function unit that needs to be unbound, and the third secondary controller is any one of the at least one secondary controller. The main controller receives the binding success message sent by the third secondary controller; or the primary controller deletes the service function unit that needs to be unbound in the service process;
    所述主控制器向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。The primary controller separately sends a service flow recovery message to the at least one secondary controller and the switch.
  11. 如权利要求8或9所述的方法,其特征在于,在所述主控制器接收所述第二辅控制器发送的取消绑定成功消息之后,还包括:The method according to claim 8 or 9, wherein after the main controller receives the unbinding success message sent by the second secondary controller, the method further includes:
    所述主控制器确定构成所述业务流程的各个业务功能单元均已取消绑定时,删除所述业务流程。 When the main controller determines that each service function unit constituting the service process has been unbound, the service process is deleted.
  12. 一种多控制器协作方法,其特征在于,包括:A multi-controller cooperation method, comprising:
    第一辅控制器接收主控制器发送绑定触发消息,其中,所述绑定触发消息用于触发所述第一辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;The first secondary controller receives the binding trigger message sent by the primary controller, where the binding trigger message is used to trigger the binding of the first secondary controller to the service functional unit in each service functional unit constituting the service flow. Relationship, wherein each business function unit constituting the business process is deployed by the main controller for the switch;
    所述第一辅控制器与至少一个业务功能单元建立绑定关系;Establishing a binding relationship between the first secondary controller and the at least one service function unit;
    所述第一辅控制器向所述主控制器发送绑定成功消息,所述绑定成功消息用于通知所述主控制器所述第一辅控制器与所述至少一个业务功能单元绑定成功;The first secondary controller sends a binding success message to the primary controller, where the binding success message is used to notify the primary controller that the first secondary controller is bound to the at least one service functional unit. success;
    所述第一辅控制器接收所述主控制器发送的业务流程启动消息。The first secondary controller receives a service flow initiation message sent by the primary controller.
  13. 如权利要求12所述的方法,其特征在于,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。The method according to claim 12, wherein each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to a service function.
  14. 如权利要求12或13所述的方法,其特征在于,所述绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息;The method according to claim 12 or 13, wherein the binding trigger message carries an identifier of the service flow and description information of each service function unit constituting the service flow;
    在所述第一辅控制器与至少一个业务功能单元建立绑定关系之前,还包括:Before the first secondary controller establishes a binding relationship with the at least one service function unit, the method further includes:
    所述第一辅控制器根据构成所述业务流程的各个业务功能单元的描述信息确定至少一个业务功能单元作为待绑定业务功能单元。The first secondary controller determines, according to the description information of each service function unit that constitutes the service flow, at least one service function unit as a service function unit to be bound.
  15. 如权利要求12或13所述的方法,其特征在于,所述绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述第一辅控制器所需绑定的业务功能单元对应的业务功能名称;The method according to claim 12 or 13, wherein the binding trigger message carries an identifier of the service flow, description information of each service function unit constituting the service flow, and the first secondary controller The name of the business function corresponding to the business function unit to be bound;
    所述第一辅控制器与至少一个业务功能单元建立绑定关系,包括:The first secondary controller establishes a binding relationship with the at least one service function unit, including:
    所述第一辅控制器根据所述绑定触发消息中携带的所述第一辅控制器所需绑定的业务功能单元对应的业务功能名称确定待绑定业务功能单元,所述第一辅控制器与所述待绑定业务功能单元建立绑定关系。Determining, by the first secondary controller, a service function unit to be bound according to a service function name corresponding to the service function unit to be bound by the first secondary controller that is carried in the binding trigger message, where the first auxiliary The controller establishes a binding relationship with the service function unit to be bound.
    或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的 标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息;Or the binding trigger message sent by the i-th secondary controller carries the service flow Demyimating the description information of the service function unit bound to the i-th secondary controller;
    所述第一辅控制器与至少一个业务功能单元建立绑定关系,包括:The first secondary controller establishes a binding relationship with the at least one service function unit, including:
    所述第一辅控制器根据所述绑定触发消息中携带的所述第一辅控制器所需绑定的业务功能单元的描述信息确定待绑定业务功能单元,所述第一辅控制器与所述待绑定业务功能单元建立绑定关系。Determining, by the first secondary controller, the service function unit to be bound according to the description information of the service function unit to be bound by the first secondary controller that is carried in the binding trigger message, the first secondary controller Establish a binding relationship with the service function unit to be bound.
  16. 如权利要求14或15所述的方法,其特征在于,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;The method according to claim 14 or 15, wherein the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, Each of the jumpable service function unit information corresponding to the service function unit, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump corresponding to the jumpable service function unit instruction;
    当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
    当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  17. 如权利要求12-16任一项所述的方法,其特征在于,在所述第一辅控制器接收所述主控制器发送的业务流程启动消息之后,还包括:The method according to any one of claims 12 to 16, wherein after the first secondary controller receives the service flow start message sent by the primary controller, the method further includes:
    所述第一辅控制器接收所述主控制器发送的业务流程暂停消息;Receiving, by the first secondary controller, a service flow suspension message sent by the primary controller;
    所述第一辅控制器接收所述主控制器发送新增业务功能单元通知消息,所述新增业务功能单元通知消息用于指示所述第一辅控制器与所述新增业务功能单元建立绑定关系;The first secondary controller receives the new service function unit notification message sent by the primary controller, and the newly added service function unit notification message is used to indicate that the first secondary controller and the newly added service function unit are established. Binding relationship
    所述第一辅控制器与所述新增业务功能单元建立绑定关系;Establishing a binding relationship between the first secondary controller and the newly added service function unit;
    所述第一辅控制器向所述主控制器发送绑定成功消息;Sending, by the first secondary controller, a binding success message to the primary controller;
    所述第一辅控制器接收所述主控制器发送的业务流程恢复消息。The first secondary controller receives a service flow recovery message sent by the primary controller.
  18. 如权利要求17任一项所述的方法,其特征在于,在所述第一辅控制器接收所述主控制器发送的业务流程暂停消息之前,还包括: The method of claim 17, wherein before the first secondary controller receives the service flow suspension message sent by the primary controller, the method further includes:
    所述第一辅控制器向所述主控制器发送新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息;The first secondary controller sends a new service function unit request message to the primary controller, where the newly added service function unit request message carries the identifier of the service flow and the service function name of the newly added service function unit. And the newly added service function unit includes indication information of the flow table;
  19. 如权利要求14-18任一项所述的方法,其特征在于,在所述第一辅控制器接收所述主控制器发送的业务流程启动消息之后,还包括:The method according to any one of claims 14 to 18, further comprising: after the first secondary controller receives the service flow start message sent by the primary controller,
    所述第一辅控制器接收所述主控制器发送的业务流程暂停消息;Receiving, by the first secondary controller, a service flow suspension message sent by the primary controller;
    所述第一辅控制器接收所述主控制器发送的业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述第一辅控制器与需要取消绑定的业务功能单元取消绑定关系;The first secondary controller receives a service function unit unbinding notification message sent by the primary controller, where the service function unit unbinding notification message is used to indicate that the first secondary controller needs to be unbound. The business function unit unbinds the relationship;
    所述第一辅控制器与所述需要取消绑定的业务功能单元取消绑定关系;The first secondary controller cancels the binding relationship with the service function unit that needs to be unbound;
    所述第一辅控制器向所述主控制器发送取消绑定成功消息。The first secondary controller sends an unbinding success message to the primary controller.
  20. 如权利要求19所述的方法,其特征在于,在所述第一辅控制器接收所述主控制器发送的业务流程暂停消息之后,还包括:The method of claim 19, after the first secondary controller receives the service flow suspension message sent by the primary controller, further comprising:
    所述第一辅控制器向所述主控制器发送业务功能单元取消绑定请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。The first secondary controller sends a service function unit unbinding request message to the main controller, where the service function unit unbinding request message carries the service function name and the service function unit of the service function unit that needs to be unbound. The identification of the business process.
  21. 一种多控制器协作装置,其特征在于,包括:A multi-controller cooperation device, comprising:
    收发单元,用于针对至少一个辅控制器中的每个辅控制器发送绑定触发消息,其中,针对第i个辅控制器发送的绑定触发消息用于触发所述第i个辅控制器与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述装置为交换机部署的;a transceiver unit, configured to send a binding trigger message to each of the at least one secondary controller, where the binding trigger message sent by the ith secondary controller is used to trigger the ith secondary controller Establishing a binding relationship with the service function unit in each service function unit constituting the business process, where each service function unit constituting the business process is deployed by the device as a switch;
    以及接收每个辅控制器反馈的绑定成功消息,所述绑定成功消息用于通知所述装置该辅控制器与至少一个业务功能单元绑定成功;And receiving, by the each secondary controller, a binding success message, where the binding success message is used to notify the device that the secondary controller is successfully bound to the at least one service function unit;
    处理单元,用于根据接收到的绑定成功消息确定构成所述业务流程的各个业务功能单元均被绑定时,通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息。a processing unit, configured to send, according to the received binding success message, each service function unit constituting the service flow, to the at least one secondary controller and the switch, respectively, by using the transceiver unit Process start message.
  22. 如权利要求21所述的装置,其特征在于,每个业务功能单元是指一 个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。The device of claim 21, wherein each business function unit is a A flow table group or a logical switch, each business function unit corresponding to a business function.
  23. 如权利要求21或22所述的装置,其特征在于,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息。The device according to claim 21 or 22, wherein the binding trigger message sent by the i-th secondary controller carries an identifier of the service flow and a description of each service function unit constituting the service flow. information.
  24. 如权利要求21或22所述的装置,其特征在于,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述第i个辅控制器所需绑定的业务功能单元对应的业务功能名称;The device according to claim 21 or 22, wherein the binding trigger message sent by the i-th secondary controller carries an identifier of the service flow and a description of each service function unit constituting the service flow. Information and a service function name corresponding to the service function unit bound to the i-th secondary controller;
    或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息。Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller.
  25. 如权利要求23或24所述的装置,其特征在于,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;The device according to claim 23 or 24, wherein the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, Each of the jumpable service function unit information corresponding to the service function unit, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump corresponding to the jumpable service function unit instruction;
    当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the switch is a switch supporting a flow table group;
    当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  26. 如权利要求21-25任一项所述的装置,其特征在于,在向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,所述处理单元,还用于:The device according to any one of claims 21 to 25, wherein after the service flow start message is sent to the at least one secondary controller and the switch, the processing unit is further configured to:
    通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;Transmitting, by the transceiver unit, a service flow suspension message to the at least one secondary controller and the switch respectively;
    在所述业务流程中添加新增至少一个业务功能单元; Adding at least one business function unit in the business process;
    通过所述收发单元向所述至少一个辅控制器中的至少一个辅控制器发送新增业务功能单元通知消息,所述新增业务功能单元通知消息用于指示所述至少一个辅控制器中的至少一个辅控制器与对应的新增业务功能单元建立绑定关系;Transmitting, by the transceiver unit, a new service function unit notification message to at least one of the at least one secondary controller, where the newly added service function unit notification message is used to indicate the at least one secondary controller Establishing a binding relationship between the at least one secondary controller and the corresponding newly added service function unit;
    通过所述收发单元接收所述至少一个辅控制器中的至少一个辅控制器发送的绑定成功消息;Receiving, by the transceiver unit, a binding success message sent by at least one secondary controller of the at least one secondary controller;
    通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。Transmitting, by the transceiver unit, a service flow recovery message to the at least one secondary controller and the switch, respectively.
  27. 如权利要求26所述的装置,其特征在于,在向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,所述处理单元,还用于:The device according to claim 26, wherein the processing unit is further configured to: before transmitting the service flow suspension message to the at least one secondary controller and the switch, respectively:
    通过所述收发单元接收所述第一辅控制器发送的新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息。Receiving, by the transceiver unit, a new service function unit request message sent by the first secondary controller, where the newly added service function unit request message carries the identifier of the service flow, and the service function of the newly added service function unit The name and the new service function unit include indication information of the flow table.
  28. 如权利要求21-27任一项所述的装置,其特征在于,在向所述至少一个辅控制器和所述交换机分别发送业务流程启动消息之后,所述处理单元,还用于:The device according to any one of claims 21 to 27, wherein after the service flow start message is sent to the at least one secondary controller and the switch, the processing unit is further configured to:
    通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息;Transmitting, by the transceiver unit, a service flow suspension message to the at least one secondary controller and the switch respectively;
    通过所述收发单元向第二辅控制器发送业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述第二辅控制器与需要取消绑定的业务功能单元取消绑定关系,其中,所述第二辅控制器为所述至少一个辅控制器中的任意一个;Transmitting, by the transceiver unit, a service function unit unbinding notification message to the second secondary controller, where the service function unit unbinding notification message is used to indicate the second secondary controller and the service function unit that needs to be unbound Unbinding the relationship, wherein the second secondary controller is any one of the at least one secondary controller;
    通过所述收发单元接收所述第二辅控制器发送的取消绑定成功消息。Receiving, by the transceiver unit, an unbinding success message sent by the second secondary controller.
  29. 如权利要求28所述的装置,其特征在于,在向所述至少一个辅控制器和所述交换机分别发送业务流程暂停消息之前,所述处理单元,还用于:The device according to claim 28, wherein the processing unit is further configured to: before transmitting the service flow suspension message to the at least one secondary controller and the switch, respectively:
    通过所述收发单元接收所述第二辅控制器发送的业务功能单元取消绑定 请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。Receiving, by the transceiver unit, a service function unit sent by the second secondary controller to unbind And the service function unit unbinding request message carries the service function name of the service function unit that needs to be unbound and the identifier of the service process.
  30. 如权利要求28或29所述的装置,其特征在于,在接收所述第二辅控制器发送的取消绑定成功消息之后,所述处理单元,还用于:The device according to claim 28 or 29, wherein after receiving the unbinding success message sent by the second secondary controller, the processing unit is further configured to:
    通过所述收发单元向第三辅控制器发送业务功能单元指定消息,所述业务功能单元指定消息携带所述需要取消绑定的业务功能单元的描述信息和所述业务流程的标识,所述业务功能单元指定消息用于指示所述第三辅控制器与所述需要取消绑定的业务功能单元建立绑定关系,所述第三辅控制器为所述至少一个辅控制器中的任意一个,通过所述收发单元接收所述第三辅控制器发送的绑定成功消息;或者,在所述业务流程中删除所述需要取消绑定的业务功能单元;Transmitting, by the transceiver unit, a service function unit designation message to the third secondary controller, where the service function unit designation message carries the description information of the service function unit that needs to be unbound and the identifier of the service process, where the service The function unit designation message is used to indicate that the third secondary controller establishes a binding relationship with the service function unit that needs to be unbound, and the third secondary controller is any one of the at least one secondary controller. Receiving, by the transceiver unit, a binding success message sent by the third secondary controller; or deleting the service function unit that needs to be unbound in the service process;
    通过所述收发单元向所述至少一个辅控制器和所述交换机分别发送业务流程恢复消息。Transmitting, by the transceiver unit, a service flow recovery message to the at least one secondary controller and the switch, respectively.
  31. 如权利要求28或29所述的装置,其特征在于,在接收所述第二辅控制器发送的取消绑定成功消息之后,所述处理单元,还用于:The device according to claim 28 or 29, wherein after receiving the unbinding success message sent by the second secondary controller, the processing unit is further configured to:
    确定构成所述业务流程的各个业务功能单元均已取消绑定时,删除所述业务流程。When it is determined that each business function unit constituting the business process has been unbound, the business process is deleted.
  32. 一种多控制器协作装置,其特征在于,包括:A multi-controller cooperation device, comprising:
    收发单元,用于接收主控制器发送绑定触发消息,其中,所述绑定触发消息用于触发所述装置与构成业务流程的各个业务功能单元中的业务功能单元建立绑定关系,其中,构成业务流程的各个业务功能单元是由所述主控制器为交换机部署的;a transceiver unit, configured to receive a binding trigger message sent by the main controller, where the binding triggering message is used to trigger a binding relationship between the device and a service function unit in each service function unit that constitutes a service process, where The various service functional units constituting the business process are deployed by the primary controller for the switch;
    处理单元,用于与至少一个业务功能单元建立绑定关系;a processing unit, configured to establish a binding relationship with at least one service function unit;
    所述收发单元,还用于向所述主控制器发送绑定成功消息,所述绑定成功消息用于通知所述主控制器所述装置与所述至少一个业务功能单元绑定成功;The transceiver unit is further configured to send a binding success message to the main controller, where the binding success message is used to notify the main controller that the device is successfully bound to the at least one service function unit;
    以及接收所述主控制器发送的业务流程启动消息。 And receiving a business process startup message sent by the primary controller.
  33. 如权利要求32所述的装置,其特征在于,每个业务功能单元是指一个流表组或一个逻辑交换机,每个业务功能单元对应一个业务功能。The device according to claim 32, wherein each service function unit refers to a flow table group or a logical switch, and each service function unit corresponds to a service function.
  34. 如权利要求32或33所述的装置,其特征在于,所述绑定触发消息携带所述业务流程的标识和构成所述业务流程的各个业务功能单元的描述信息;The device according to claim 32 or 33, wherein the binding trigger message carries an identifier of the service flow and description information of each service function unit constituting the service flow;
    在与至少一个业务功能单元建立绑定关系之前,所述处理单元,还用于:Before the binding relationship is established with the at least one service function unit, the processing unit is further configured to:
    根据构成所述业务流程的各个业务功能单元的描述信息确定至少一个业务功能单元作为待绑定业务功能单元。Determining at least one service function unit as a service function unit to be bound according to description information of each service function unit constituting the service process.
  35. 如权利要求32或33所述的装置,其特征在于,所述绑定触发消息携带所述业务流程的标识、构成所述业务流程的各个业务功能单元的描述信息以及所述装置所需绑定的业务功能单元对应的业务功能名称;The device according to claim 32 or 33, wherein the binding trigger message carries an identifier of the service flow, description information of each service function unit constituting the service flow, and binding required by the device. The name of the business function corresponding to the business function unit;
    与至少一个业务功能单元建立绑定关系时,所述处理单元,用于:When a binding relationship is established with at least one service function unit, the processing unit is configured to:
    根据所述绑定触发消息中携带的所述装置所需绑定的业务功能单元对应的业务功能名称确定待绑定业务功能单元,与所述待绑定业务功能单元建立绑定关系。And determining a to-be-bound service function unit according to the service function name corresponding to the service function unit to be bound to the device, and establishing a binding relationship with the to-be-bound service function unit.
    或者,所述针对第i个辅控制器发送的绑定触发消息携带所述业务流程的标识和所述第i个辅控制器所需绑定的业务功能单元的描述信息;Or the binding trigger message sent by the ith secondary controller carries the identifier of the service flow and the description information of the service function unit to be bound by the ith secondary controller;
    与至少一个业务功能单元建立绑定关系时,所述处理单元,用于:When a binding relationship is established with at least one service function unit, the processing unit is configured to:
    根据所述绑定触发消息中携带的所述装置所需绑定的业务功能单元的描述信息确定待绑定业务功能单元,与所述待绑定业务功能单元建立绑定关系。Determining, according to the description information of the service function unit to be bound to the device that is carried in the binding trigger message, the service function unit to be bound, and establishing a binding relationship with the service function unit to be bound.
  36. 如权利要求34或35所述的装置,其特征在于,每个业务功能单元的描述信息包括该业务功能单元对应的业务功能名称,该业务功能单元对应的转发面标识,所述转发面类型、该业务功能单元对应的各个可跳转业务功能单元信息,其中,每个可跳转业务功能单元信息包括该可跳转业务功能单元的业务功能名称以及对应该可跳转业务功能单元的跳转指令;The device according to claim 34 or 35, wherein the description information of each service function unit includes a service function name corresponding to the service function unit, a forwarding plane identifier corresponding to the service function unit, the forwarding plane type, Each of the jumpable service function unit information corresponding to the service function unit, wherein each of the jumpable service function unit information includes a service function name of the jumpable service function unit and a jump corresponding to the jumpable service function unit instruction;
    当每个业务功能单元是指一个流表组时,该业务功能单元对应的转发面标识为所述交换机的标识,该转发面类型表明所述交换为支持流表组的交换 机;When each service function unit refers to a flow table group, the forwarding plane identifier corresponding to the service function unit is an identifier of the switch, and the forwarding plane type indicates that the exchange is to support the exchange of the flow table group. machine;
    当每个业务功能单元是指一个逻辑交换机时,该业务功能单元对应的转发面标识为对应逻辑交换机的标识,该转发面类型表明所述交换机为不支持流表组的交换机。When each service function unit refers to a logical switch, the forwarding plane corresponding to the service function unit is identified as an identifier of the corresponding logical switch, and the forwarding plane type indicates that the switch is a switch that does not support the flow table group.
  37. 如权利要求32-36任一项所述的装置,其特征在于,在接收所述主控制器发送的业务流程启动消息之后,所述处理单元,还用于:The device according to any one of claims 32 to 36, wherein after receiving the service flow start message sent by the main controller, the processing unit is further configured to:
    通过所述收发单元接收所述主控制器发送的业务流程暂停消息;Receiving, by the transceiver unit, a service flow suspension message sent by the primary controller;
    通过所述收发单元接收所述主控制器发送新增业务功能单元通知消息,所述新增业务功能单元通知消息用于指示所述装置与所述新增业务功能单元建立绑定关系;Receiving, by the transceiver unit, the sending, by the main controller, a new service function unit notification message, where the newly added service function unit notification message is used to indicate that the device establishes a binding relationship with the newly added service function unit;
    与所述新增业务功能单元建立绑定关系;Establishing a binding relationship with the newly added service function unit;
    通过所述收发单元向所述主控制器发送绑定成功消息;Sending, by the transceiver unit, a binding success message to the primary controller;
    通过所述收发单元接收所述主控制器发送的业务流程恢复消息。Receiving, by the transceiver unit, a service flow recovery message sent by the primary controller.
  38. 如权利要求37任一项所述的装置,其特征在于,在接收所述主控制器发送的业务流程暂停消息之前,所述处理单元,还用于:The device according to any one of claims 37, wherein the processing unit is further configured to: before receiving the service flow suspension message sent by the main controller:
    通过所述收发单元向所述主控制器发送新增业务功能单元请求消息,所述新增业务功能单元请求消息携带所述业务流程的标识、所述新增业务功能单元的业务功能名称和所述新增业务功能单元包含流表的指示信息;Sending, by the transceiver unit, a new service function unit request message to the main controller, where the newly added service function unit request message carries an identifier of the service process, a service function name and a location of the newly added service function unit. The newly added service function unit includes indication information of the flow table;
  39. 如权利要求32-38任一项所述的装置,其特征在于,在接收所述主控制器发送的业务流程启动消息之后,所述处理单元,还用于:The device according to any one of claims 32 to 38, wherein after receiving the service flow start message sent by the main controller, the processing unit is further configured to:
    通过所述收发单元接收所述主控制器发送的业务流程暂停消息;Receiving, by the transceiver unit, a service flow suspension message sent by the primary controller;
    通过所述收发单元接收所述主控制器发送的业务功能单元取消绑定通知消息,所述业务功能单元取消绑定通知消息用于指示所述装置与需要取消绑定的业务功能单元取消绑定关系;Receiving, by the transceiver unit, a service function unit unbinding notification message sent by the main controller, where the service function unit unbinding notification message is used to indicate that the device is unbound from a service function unit that needs to be unbound. relationship;
    与所述需要取消绑定的业务功能单元取消绑定关系;Unbinding the business function unit that needs to be unbound;
    通过所述收发单元向所述主控制器发送取消绑定成功消息。An unbinding success message is sent to the primary controller by the transceiver unit.
  40. 如权利要求39所述的装置,其特征在于,在接收所述主控制器发送 的业务流程暂停消息之后,所述处理单元,还用于:The apparatus according to claim 39, wherein said main controller transmits After the business process pause message, the processing unit is further configured to:
    通过所述收发单元向所述主控制器发送业务功能单元取消绑定请求消息,所述业务功能单元取消绑定请求消息携带所述需要取消绑定的业务功能单元的业务功能名称和所述业务流程的标识。 Sending, by the transceiver unit, a service function unit unbinding request message to the main controller, where the service function unit unbinding request message carries the service function name of the service function unit that needs to be unbound and the service The identity of the process.
PCT/CN2016/092177 2016-07-29 2016-07-29 Multi-controller cooperation method and device WO2018018568A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/092177 WO2018018568A1 (en) 2016-07-29 2016-07-29 Multi-controller cooperation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/092177 WO2018018568A1 (en) 2016-07-29 2016-07-29 Multi-controller cooperation method and device

Publications (1)

Publication Number Publication Date
WO2018018568A1 true WO2018018568A1 (en) 2018-02-01

Family

ID=61015693

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/092177 WO2018018568A1 (en) 2016-07-29 2016-07-29 Multi-controller cooperation method and device

Country Status (1)

Country Link
WO (1) WO2018018568A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691347A (en) * 2019-04-30 2020-01-14 努比亚技术有限公司 Communication connection method, communication device, and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104572A (en) * 2014-07-15 2014-10-15 杭州华三通信技术有限公司 Automatic deploying method and device for switch in SDN network
CN104253767A (en) * 2013-06-27 2014-12-31 华为技术有限公司 Virtual shard network implementing method and switch
CN105262665A (en) * 2015-09-07 2016-01-20 浙江工商大学 Two-layer distributed multi-controller architecture and construction method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253767A (en) * 2013-06-27 2014-12-31 华为技术有限公司 Virtual shard network implementing method and switch
CN104104572A (en) * 2014-07-15 2014-10-15 杭州华三通信技术有限公司 Automatic deploying method and device for switch in SDN network
CN105262665A (en) * 2015-09-07 2016-01-20 浙江工商大学 Two-layer distributed multi-controller architecture and construction method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LAN, JULONG ET AL.: "SDN Architecture: Research and Practice", ZTE TECHNOLOGY JOURNAL, vol. 19, no. 5, 31 October 2013 (2013-10-31), pages 4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691347A (en) * 2019-04-30 2020-01-14 努比亚技术有限公司 Communication connection method, communication device, and storage medium

Similar Documents

Publication Publication Date Title
EP2920932B1 (en) Apparatus for a high performance and highly available multi-controllers in a single sdn/openflow network
KR101989333B1 (en) Data forwarding method, device and system in software-defined networking
JP7246505B2 (en) Broadcast method for virtual network group, and its device and equipment
WO2015117401A1 (en) Information processing method and device
JP6619096B2 (en) Firewall cluster
JP5488979B2 (en) Computer system, controller, switch, and communication method
CN109660441B (en) Method and device for multicast replication in Overlay network
CN111492627A (en) Controller-based service policy mapping to establish different tunnels for different applications
WO2018113792A1 (en) Broadcast packet processing method and processing apparatus, controller, and switch
EP2911346B1 (en) Method and network device for establishing virtual cluster
CN109587286A (en) A kind of equipment connection control method and device
EP3751903A1 (en) Method and apparatus for business migration
WO2008009193A1 (en) Method and device for transmitting packet in resilient packet intersect ring
JP6037251B2 (en) Method, device, and system for controlling network paths
WO2018219300A1 (en) Method and apparatus for packet exchange in sdn
CN111615812B (en) Configuration method intended to be implemented in a network using dynamic routing protocols
WO2010109767A1 (en) Data synchronization system, data synchronization method, and synchronization control server
WO2014080993A1 (en) Communication system, virtual-network management device, communication node, and communication method and program
EP4009592A1 (en) Method for configuring port state and network device
WO2018018568A1 (en) Multi-controller cooperation method and device
JP6288633B2 (en) Network control method
CN107295038B (en) Method and device for establishing interface group
EP3364610B1 (en) Method, device and system for deploying service stream forwarding function
US20200351153A1 (en) Anima Network Information Processing Method, Device, and System
JPWO2017164068A1 (en) Transport network control device, communication system, transfer node control method and program

Legal Events

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

Ref document number: 16910149

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16910149

Country of ref document: EP

Kind code of ref document: A1