WO2015157935A1 - 一种流表项管理方法及设备 - Google Patents
一种流表项管理方法及设备 Download PDFInfo
- Publication number
- WO2015157935A1 WO2015157935A1 PCT/CN2014/075481 CN2014075481W WO2015157935A1 WO 2015157935 A1 WO2015157935 A1 WO 2015157935A1 CN 2014075481 W CN2014075481 W CN 2014075481W WO 2015157935 A1 WO2015157935 A1 WO 2015157935A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- controller
- flow entry
- management
- switch
- security level
- Prior art date
Links
- 238000007726 management method Methods 0.000 title claims abstract description 503
- 230000004048 modification Effects 0.000 claims description 64
- 238000012986 modification Methods 0.000 claims description 64
- 238000012217 deletion Methods 0.000 claims description 32
- 230000037430 deletion Effects 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
- H04L45/655—Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Definitions
- the present invention relates to the field of SDN (Software-Defined Networking) technology, and in particular, to a flow entry management method and device based on the OpenFlow protocol. Background technique
- the OpenFlow protocol is currently the most popular protocol in the SDN field.
- the control functions of the network device are separated from the forwarding function, and then the control functions are all centralized on the remote controller (Controller), and the OpenFlow switch (Switch) It is only responsible for simple and high-speed data forwarding operations locally.
- the data forwarding is based on the flow table, and the controller can control the flow table in the OpenFlow switch by using a predetermined OpenFlow protocol interface, thereby achieving the purpose of controlling data forwarding.
- the OpenFlow switch saves some default flow entries.
- the OpenFlow switch saves the default flow entries related to the ad hoc network.
- the default flow entry is deleted by the OpenFlow switch according to the control command (also called management command) issued by a controller.
- the self-organizing function of the OpenFlow switch will be invalid.
- the controller A if the flow entry related to the A controller is modified or deleted by the OpenFlow switch according to the control command issued by the B controller, the controller A cannot continue to perform corresponding control according to the flow entry. Operation, which will affect the corresponding processing of the A controller.
- the embodiment of the invention provides a method and a device for managing a flow entry, so as to solve the problem that the system security of the current privilege control is low.
- a flow entry management method is provided, which is applied to a flow entry management system, where the flow entry management system includes at least one switch and at least one controller, where, for any of the at least one switch a switch, one or more controllers in the at least one controller are connected to the any one of the switches, and each of the one or more controllers connected to the any one of the switches is opposite
- the method includes:
- the first switch After receiving the management command for the first flow entry initiated by the first controller, the first switch acquires a management authority level of the first controller and the first switch, and a security level of the first flow entry.
- the first flow entry is configured with a corresponding security level corresponding to different management commands, where the security level is used to indicate a management authority level that the controller that manages the first flow entry has;
- the first switch is any one of the at least one switch, and the first controller is any one of one or more controllers connected to the first switch, the first flow entry Any flow entry to be created carried in the management command initiated by the first controller or any created flow entry stored in the first switch;
- the first switch compares the management authority level of the first controller with the first switch and the security level of the first flow entry corresponding to the management command initiated by the first controller, if Determining, by the first controller, that the management authority level of the first switch is lower than a security level of the first flow entry corresponding to the management command initiated by the first controller, determining that the first controller is And performing the corresponding management on the first flow entry, and performing corresponding management on the first flow entry according to the management instruction initiated by the first controller.
- the method further includes: if the first switch determines that a management authority level of the first controller is lower than that of the first switch And determining, by the first flow entry, a security level of the management command initiated by the first controller, determining that the first controller does not have the right to perform corresponding management on the first flow entry, And refusing to perform the operation of performing corresponding management on the first flow entry according to the management instruction initiated by the first controller.
- the management command initiated by the first controller carries the first controller Network protocol address and a matching field of the first flow entry;
- Obtaining a management authority level of the first controller with respect to the first switch including: a network protocol address of the first controller carried in a management command initiated by the first controller, and a preset The first relationship between the controllers connected to the first switch and the network authority address of each controller connected to the first switch, and the first query
- the management authority level corresponding to the network protocol address of the first controller carried in the management command initiated by the controller, and the queried management authority level is used as the acquired first controller relative to the first switch a management authority level; wherein: a preset management authority level of each controller connected to the first switch relative to the first switch and a network protocol address of each controller connected to the first switch The relationship between the two is stored in the first switch;
- Obtaining a security level of the first flow entry including:
- the matching relationship between the matching domain of the first flow entry carried in the management command initiated by the first controller, and the matching relationship between the security level of each flow entry and the matching domain of each flow entry, a security level corresponding to the matching domain of the first flow entry carried in the management command initiated by the first controller, and the queried security level is used as the security level of the obtained first flow entry; And setting the security level of the first flow entry to the first flow entry when the first flow entry is the flow entry to be created in the management command initiated by the first controller.
- the association relationship between the matching domains is carried in the management command initiated by the first controller. When the first flow entry is any created flow entry stored in the first switch, the preset The association between the security level of the first flow entry and the matching domain of the first flow entry is stored in the first switch.
- the obtained security level of the first flow entry includes at least the first security level corresponding to the content modification management instruction and/or the first flow entry corresponding to the content View the second security level of the management command;
- the content modification management instruction at least includes one or more of a creation instruction, a modification instruction, and a deletion instruction; and the content view management instruction includes at least a view instruction.
- the management authority level of the first controller relative to the first switch and the first security of the first flow entry are The level is compared, if it is determined that the management authority level of the first controller is not lower than the first security level of the first flow entry, the first controller is configured to The first flow entry has the corresponding permission to create, modify, or delete; or,
- the management command initiated by the first controller is a view command, comparing the management authority level of the first controller with the second security level of the first flow entry, Determining that the first controller is configured to view the first flow entry by determining that the management authority level of the first controller is not lower than the second security level of the first flow entry. permission.
- Performing corresponding management on the first flow entry according to the management instruction initiated by the first controller including:
- the first flow entry is locally created on the first switch according to the management instruction initiated by the first controller, and The security level of the first flow entry carried in the management command initiated by the first controller is filled in the flow entry permission field of the first flow entry that is added in advance; or
- the management instruction initiated by the first controller is a modification instruction or a deletion instruction, searching, according to the management instruction initiated by the first controller, the first flow entry locally stored by the first switch, and The first flow entry that is found is subjected to a corresponding modification process or a deletion process; or, if it is determined that the management command initiated by the first controller is a view instruction, searching according to the management instruction initiated by the first controller The first flow entry that is stored locally by the first switch, and returns the first flow entry that is found to the first controller.
- the method further includes:
- a switch which is applied to a flow entry management system, where the flow entry management system includes at least one switch and at least one controller, wherein one or more of the at least one controller And a controller is connected to the switch, and each of the one or more controllers connected to the switch is provided with a corresponding management authority level with respect to the switch, and the switch includes:
- An instruction receiving module configured to receive a management instruction initiated by the first controller for the first flow entry, where the first controller is any one of one or more controllers connected to the switch, where The first flow entry is any flow entry to be created carried in the management command initiated by the first controller or any created flow entry stored in the switch;
- a privilege acquisition module configured to acquire, after the instruction receiving module receives the management instruction initiated by the first controller, a management authority level of the first controller relative to the switch, and a security level of the first flow entry, where the first flow entry is respectively configured with a corresponding security level, and the security level is used to represent a controller that manages the first flow entry.
- the level of administrative authority that should be available;
- a privilege comparison module configured to: according to the management authority level of the first controller relative to the switch acquired by the privilege acquisition module, and the security level of the first flow entry, Comparing the management authority level of the switch with the security level of the first flow entry corresponding to the management command initiated by the first controller, to determine whether the management authority level of the first controller relative to the switch is Not lower than the security level of the first flow entry corresponding to the management command initiated by the first controller;
- An execution module configured to determine, by the authority comparison module, that a management authority level of the first controller relative to the switch is not lower than a security command corresponding to the management command initiated by the first controller by the first flow entry
- the first controller is configured to have the right to manage the first flow entry, and the first flow entry is managed according to the management command initiated by the first controller.
- the executing module is further configured to determine, by the rights comparison module, that the first controller has a low management authority level with respect to the switch When the first flow entry corresponds to the security level of the management command initiated by the first controller, determining that the first controller does not have the right to perform corresponding management on the first flow entry, and refuses to perform the The management command initiated by the first controller performs a corresponding management operation on the first flow entry.
- the instruction receiving module receives the management command initiated by the first controller Carrying a network protocol address of the first controller and a matching domain of the first flow entry;
- the privilege acquisition module is specifically configured to: according to a network protocol address of the first controller carried in a management command initiated by the first controller, and a preset relative to each controller connected to the switch
- the management authority level of the switch and the control connected to the switch Querying an association relationship between network protocol addresses of the device, querying an administrative authority level corresponding to a network protocol address of the first controller carried in the management command initiated by the first controller, and querying the management authority Level as the obtained management authority level of the first controller relative to the switch; wherein, each of the preset controllers connected to the switch is opposite to the management authority level of the switch and the switch
- the association relationship between the network protocol addresses of the connected controllers is stored in the switch;
- the relationship between the matching domain of the first flow entry carried in the management command initiated by the first controller and the matching relationship between the security level of each flow entry and the matching domain of each flow entry Querying a security level corresponding to the matching domain of the first flow entry carried in the management command initiated by the first controller, and using the queried security level as the obtained security of the first flow entry a security level of the first flow entry that is preset and the first flow entry is a flow entry to be created in the management command initiated by the first controller.
- the association between the matching domains of the first-class entries is carried in the management command initiated by the first controller, and is preset when the first flow entry is any created flow entry stored in the switch.
- the association between the security level of the first flow entry and the matching domain of the first flow entry is stored in the switch.
- the security level of the first flow entry obtained by the privilege acquisition module includes at least The first flow entry corresponds to a first security level of the content modification management instruction and/or the first flow entry corresponds to a second security level of the content viewing management instruction;
- the content modification management instruction at least includes one or more of a creation instruction, a modification instruction, and a deletion instruction; and the content view management instruction includes at least a view instruction.
- the privilege comparison module is specifically configured to: when the management command initiated by the first controller is created When the command, the modify command, or the delete command, compare the management authority level of the first controller with the switch and the first security level of the first flow entry, if the first controller is determined to be opposite The management authority level of the switch is not lower than the first security of the first flow entry. Level, determining that the first controller has the right to create, modify, or delete the first flow entry; or
- the management command initiated by the first controller is a view instruction
- comparing, by the first controller, a management authority level of the switch with a second security level of the first flow entry If it is determined that the management authority level of the first controller is not lower than the second security level of the first flow entry, the first controller is configured to view the first flow entry. Permissions.
- the executing module is specifically configured to determine, by the privilege comparison module, that the first controller is configured If the management command initiated by the first controller is a creation instruction, the management command initiated by the first controller is locally created on the switch according to the management instruction initiated by the first controller.
- the first flow entry, and the security level of the first flow entry carried in the management command initiated by the first controller is filled in the flow entry permission domain of the first flow entry that is added in advance;
- the management instruction initiated by the first controller is a modification instruction or a deletion instruction, searching for the first flow entry stored locally by the switch according to the management instruction initiated by the first controller, and searching for the first flow entry The first flow entry to the first modification or delete process is performed; or, if it is determined that the management command initiated by the first controller is a view instruction, searching for the management command according to the first controller The first flow entry that is stored locally by the switch, and returns the first flow entry that is found to the first controller.
- the privilege comparison module is further configured to: when the management command initiated by the first controller is created At the same time as or after determining that the management authority level of the first controller relative to the switch is not lower than the first security level of the first flow entry, and the execution module is according to the first control Comparing the first security level of the first flow entry with the second security level of the first flow entry, and determining the first The first security level of the first-class entry is not lower than the second security level of the first flow entry.
- a third aspect provides a switch, which is applied to a flow entry management system, where the flow entry management system includes at least one switch and at least one controller, wherein one or more of the at least one controller And a controller is connected to the switch, and each of the one or more controllers connected to the switch is provided with a corresponding management authority level with respect to the switch, and the switch includes:
- a receiver configured to receive, by the first controller, a management instruction for the first flow entry, where the first controller is any one of one or more controllers connected to the switch, The first flow entry is any flow entry to be created carried in the management command initiated by the first controller or any created flow entry stored in the switch;
- a processor configured to acquire, after the receiver receives the management instruction initiated by the first controller, a management authority level of the first controller with respect to the switch, and a security level of the first flow entry And comparing the management authority level of the first controller with the switch and the security level of the first flow entry corresponding to the management command initiated by the first controller, and determining the first Determining that the first controller has the first flow when the management authority level of the controller is not lower than the security level of the first flow entry corresponding to the management command initiated by the first controller The entry performs the corresponding management authority, and performs corresponding management on the first flow entry according to the management instruction initiated by the first controller;
- the first flow entry is respectively configured with a corresponding security level corresponding to different management commands, and the security level is used to indicate a management authority level that the controller that manages the first flow entry has.
- the processor is further configured to: determine that a management authority level of the first controller is lower than the first flow table with respect to the switch When the item corresponds to the security level of the management command initiated by the first controller, determining that the first controller does not have the right to perform corresponding management on the first flow entry, and rejecting execution according to the first controller The initiated management instruction performs a corresponding management operation on the first flow entry.
- the first controller initiates the management instruction received by the receiver
- the network protocol address of the first controller and the matching domain of the first flow entry are carried in the processor, where the processor is specifically configured to be used according to the first command carried in the management command initiated by the first controller a network protocol address of the controller and a pre-set association relationship between each controller connected to the switch with respect to an administrative authority level of the switch and a network protocol address of each controller connected to the switch, Querying an administrative authority level corresponding to a network protocol address of the first controller carried in the management command initiated by the first controller, and using the queried management authority level as the acquired first controller An administrative authority level with respect to the switch; wherein, each preset controller connected to the switch is between a management authority level of the switch and a network protocol address of each controller connected to the switch Relationships are stored in the switch; and,
- the relationship between the matching domain of the first flow entry carried in the management command initiated by the first controller and the matching relationship between the security level of each flow entry and the matching domain of each flow entry Querying a security level corresponding to the matching domain of the first flow entry carried in the management command initiated by the first controller, and using the queried security level as the obtained security of the first flow entry a security level of the first flow entry that is preset and the first flow entry is a flow entry to be created in the management command initiated by the first controller.
- the association between the matching domains of the first-class entries is carried in the management command initiated by the first controller, and is preset when the first flow entry is any created flow entry stored in the switch.
- the association between the security level of the first flow entry and the matching domain of the first flow entry is stored in the switch.
- the security level of the first flow entry obtained by the processor includes at least The first flow entry corresponds to a first security level of the content modification management instruction and/or the first flow entry corresponds to a second security level of the content viewing management instruction;
- the content modification management instruction at least includes one or more of a creation instruction, a modification instruction, and a deletion instruction; and the content view management instruction includes at least a view instruction.
- the processor is specifically configured to: when the management instruction initiated by the first controller is a create instruction, a modify instruction, or a delete instruction, the management authority level of the first controller relative to the switch The first security level of the first flow entry is compared, and if it is determined that the management authority level of the first controller is not lower than the first security level of the first flow entry, The first controller has the right to create, modify, or delete the first flow entry item; or
- the management command initiated by the first controller is a view instruction
- comparing, by the first controller, a management authority level of the switch with a second security level of the first flow entry If it is determined that the management authority level of the first controller is not lower than the second security level of the first flow entry, the first controller is configured to view the first flow entry. Permissions.
- the processor is configured to determine, in determining that the first controller The first flow entry is created locally on the switch according to the management command initiated by the first controller, if the management command initiated by the first controller is a creation instruction.
- the management command initiated by the first controller is a modification instruction or a deletion instruction, and searching for the first flow entry stored locally by the switch according to the management instruction initiated by the first controller, and searching for the first flow entry
- the first flow entry is subjected to a corresponding modification or deletion process; or, if it is determined that the management command initiated by the first controller is a view instruction, according to the first controller From the management instruction, searching the local storage of the first flow switch entry, and returns the first flow controller to the first entry found in the search.
- the processor is further configured to: when the management command initiated by the first controller is a create instruction At the same time as or after determining that the management authority level of the first controller relative to the switch is not lower than the first security level of the first flow entry, and initiating a pipe according to the first controller Before the first flow entry is managed by the instruction, the first security level of the first flow entry is compared with the second security level of the first flow entry, and the first flow entry is determined. The first security level is not lower than the second security level of the first flow entry.
- any switch may firstly obtain any of the obtained controllers. Determining, according to the management authority level of any one of the switches, and the security level of the any of the flow entries, whether the management authority level of the any controller is lower than the flow entry of the any one of the switches. The security level of the management command initiated by any one of the controllers, and when determining that the determination result is yes, determining that any one of the controllers has the right to perform corresponding management on any of the flow entry items, and according to any of the foregoing The management command initiated by the controller manages any of the flow entries in a corresponding manner, thereby avoiding the operation of randomly deleting or modifying the flow entry, thereby effectively protecting the flow entry, thereby improving system security. purpose.
- FIG. 1 is a schematic flowchart of a method for managing a flow entry according to Embodiment 1 of the present invention
- FIG. 2 is a schematic structural diagram of a switch according to Embodiment 2 of the present invention
- FIG. 3 is a schematic structural diagram of a switch according to Embodiment 3 of the present invention. detailed description
- the embodiment of the present invention provides a method and a device for managing a flow entry, where the method can be applied to a flow entry management system, where the flow entry management system can include at least one switch and at least one controller, where Any one of the at least one switch, one or more controllers in the at least one controller are connected to the any one of the switches, and Each of the one or more controllers to which the switch is connected has a corresponding management authority level with respect to the any one of the switches.
- the method includes:
- the first switch After receiving the management command for the first flow entry initiated by the first controller, the first switch acquires a management authority level of the first controller and the first switch, and a security level of the first flow entry.
- the first flow entry is configured with a corresponding security level corresponding to different management commands, where the security level is used to indicate a management authority level that the controller that manages the first flow entry has;
- the first switch is any one of the at least one switch, and the first controller is any one of one or more controllers connected to the first switch, the first flow entry Any flow entry to be created carried in the management command initiated by the first controller or any created flow entry stored in the first switch;
- the first switch compares the management authority level of the first controller with the first switch and the security level of the first flow entry corresponding to the management command initiated by the first controller, if Determining, by the first controller, that the management authority level of the first switch is lower than a security level of the first flow entry corresponding to the management command initiated by the first controller, determining that the first controller is And performing the corresponding management on the first flow entry, and performing corresponding management on the first flow entry according to the management instruction initiated by the first controller.
- any switch may firstly obtain any of the obtained controllers. Determining, according to the management authority level of any one of the switches, and the security level of the any of the flow entries, whether the management authority level of the any controller is lower than the flow entry of the any one of the switches. The security level of the management command initiated by any one of the controllers, and when determining that the determination result is yes, determining that any one of the controllers has the right to perform corresponding management on any of the flow entry items, and according to any of the foregoing The management command initiated by the controller manages any of the flow entries in a corresponding manner, thereby avoiding the operation of randomly deleting or modifying the flow entry, thereby effectively protecting the flow entry, thereby improving system security. purpose.
- Embodiment 1 is a diagrammatic representation of Embodiment 1:
- a flow entry management method is provided in the first embodiment of the present invention.
- the flow entry management method is applicable to the flow entry management method according to the first embodiment of the present invention.
- the flow entry management system may include at least one switch and at least one controller, where, for any one of the at least one switch, the at least one One or more controllers are present in the controller and are connected to any one of the switches, and each of the one or more controllers connected to the one of the switches is set relative to any of the switches There is a corresponding level of administrative authority.
- the flow entry management method may include the following steps:
- Step 101 After receiving the management instruction for the first flow entry initiated by the first controller, the first switch acquires a management authority level of the first controller relative to the first switch, and the first flow entry Security Level.
- the first flow entry is respectively configured with a corresponding security level corresponding to different management commands, and the security level may be used to represent a controller that manages the first flow entry.
- the first switch is any one of the at least one switch included in the flow entry management system, and the first controller is connected to the first switch. Any one of the one or more controllers, where the first flow entry is any flow entry to be created carried in the management command initiated by the first controller or stored in the first switch A flow table entry has been created.
- switches included in the flow entry management system are generally referred to as OpenFlow switches, and are not described in the embodiment of the present invention. .
- the management command initiated by the first controller received by the first switch may be a create instruction, a delete instruction, a modify instruction, or a view instruction.
- the embodiment of the present invention does not limit this.
- the management command initiated by the first controller may carry the network protocol address of the first controller and the matching domain of the first flow entry for the management command initiated by the first controller.
- the management command initiated by the first controller may also carry the corresponding masking characters and the like to perform the fuzzy matching of the flow entry, and the like, which is not limited in this embodiment of the present invention.
- the matching field of the flow entry carried in the management command initiated by the first controller may be a matching domain of one or more flow entries. That is, in the embodiment of the present invention, the management command initiated by the first controller may be a management command for a flow entry or a plurality of flow entries, which is not limited in this embodiment of the present invention.
- any switch included in the flow entry management system that is, the first switch, is connected to one or more controllers connected to the first switch.
- the administrative authority level of each controller relative to the first switch is generally configurable by the configuration point
- the configuration point may be an independent network element, or may be an integrated network element integrated in the corresponding controller, which is not limited in this embodiment of the present invention.
- the configuration point may be configured to be associated with the first switch by:
- each controller connected to the first switch into multiple authority levels according to the operation authority of each controller connected to the first switch with respect to the flow entry of the first switch;
- the management authority level of each controller that is configured to be connected to the first switch is different from the first switch.
- the controller may have the same or different management authority level with respect to different switches connected thereto, and may be specifically configured according to actual conditions.
- the embodiment of the present invention does not limit this.
- the configuration point is configured to be connected to the first switch.
- the network protocol address of each controller connected to the first switch may be configured at the same time or after the management authority level of the controller relative to the first switch (or other controllers of each controller may be used to uniquely identify each control) Information such as the identification information of the device.
- the configuration point is configured to configure a management authority level of each controller connected to the first switch with respect to the first switch, and a network protocol address of each controller connected to the first switch. Simultaneously or after the information, the management authority level of each controller connected to the first switch and the first switch may be communicated with the first switch. Informing the first switch of information such as a network protocol address of each controller connected to the first switch, so that the first switch learns and stores the information according to the received information from the configuration point. Information such as a management authority level of each controller connected to the first switch with respect to the first switch and a network protocol address of each controller connected to the first switch.
- the first switch receives the first switch. After the information of each of the connected controllers relative to the management authority level of the first switch and the network protocol address of each controller connected to the first switch, the information may be established and described according to the received information.
- the first switch is connected
- the information such as the network protocol address of each controller is stored in the corresponding manner, which is not limited in this embodiment of the present invention.
- the first switch receives the first flow initiated by the first controller.
- obtaining the management authority level of the first controller with respect to the first switch may include:
- the query corresponding to a network protocol address of the first controller carried in the management command initiated by the first controller
- the management authority level, and the queried management authority level is used as the obtained management authority level of the first controller relative to the first switch.
- any switch included in the flow entry management system that is, the first switch, is configured and configured on the first switch by using a configuration point.
- the controllers connected to the switch may also be configured with the first switch after the management authority level of the first switch and the network protocol address of each controller connected to the first switch.
- the connected controllers are sent to the corresponding controllers with respect to the management authority level of the first switch and the network protocol addresses of the controllers connected to the first switch, so that the controllers are locally saved and related thereto.
- Configuration information such as the management authority level.
- the first controller may be in After the first switch establishes a corresponding session connection (such as an OpenFlow session connection), the first switch requests the first switch by sending a rights acquisition request message (such as an authority_request message) to the first switch.
- a rights acquisition request message such as an authority_request message
- the first switch may search for a locally saved management privilege level corresponding to the network protocol address according to the network protocol address of the first controller, and Returning the right to carry the corresponding administrative authority level to the first controller In the manner of the response message (such as the authority-reply message), the corresponding management authority level is returned to the first controller, which is not described in detail in the embodiment of the present invention.
- any flow entry to be created carried in the management command initiated by the first controller or any created flow entry stored in the first switch may be, when the corresponding controller sends the creation instruction for the first flow entry, by the corresponding controller.
- the importance of the first flow entry and the privacy are pre-configured.
- the security level of the first flow entry may include that the first flow entry corresponds to a first security level of the content modification management instruction and the first flow entry corresponds to a second security level of the content viewing management instruction.
- the content modification management instruction may include at least one of a creation instruction, a modification instruction, and a deletion instruction
- the content view management instruction may at least include a view instruction, which is not limited by the embodiment of the present invention.
- the security level of the first flow entry when configured, the configured first flow entry corresponds to a first security level of the content modification management command.
- the second security level of the first flow entry corresponding to the content view management command should be not less than that of the embodiment.
- the security levels configured for each of the two flow entries are different from each other. Therefore, in order to distinguish the security level of each flow entry, Generally, the security level of each flow entry and the matching domain of each flow entry are pre-established by the corresponding controller (or other flow entries of each flow entry can be uniquely represented by the corresponding controller). The association relationship between the identifiers of the flow entries, so that the security level corresponding to the flow domain can be determined according to the matching domain of any flow entry, and the like.
- the first switch may obtain the security level of the first flow entry in the following manner:
- the first flow entry when the first flow entry is any flow entry to be created carried in the management command initiated by the first controller, the The association between the security level of the first-class entry and the matching domain of the first flow entry may be carried in the management command initiated by the first controller.
- the first switch may query, according to the matching field of the first flow entry that is carried in the management command initiated by the first controller, the query that is carried in the management command initiated by the first controller.
- the security level of the first flow entry is obtained in a manner corresponding to the security level of the matching domain of the first flow entry, which is not described in detail in the embodiment of the present invention.
- the security of the first flow entry is The association between the level and the matching domain of the first flow entry may be stored in the first switch.
- the first switch may obtain the security of the first flow entry by querying a security level corresponding to the matching domain of the first flow entry that is stored in the first switch. Levels, which are not described in detail in the embodiments of the present invention.
- Step 102 The first switch compares the management authority level of the first controller with the first switch and the security level of the first flow entry corresponding to the management command initiated by the first controller. Determining, if it is determined that the management authority level of the first controller with respect to the first switch is not lower than a security level of the first flow entry corresponding to the management command initiated by the first controller, determining the first The controller is configured to perform corresponding management on the first flow entry, and perform corresponding management on the first flow entry according to the management instruction initiated by the first controller.
- the security level of the first flow entry obtained by the first switch may include that the first flow entry corresponds to a first security level of the content modification management instruction and/or the first flow entry corresponds to
- the second security level of the content viewing management command may be determined according to the nature of the management command initiated by the first controller, which is not limited by the embodiment of the present invention.
- the security level of the first flow entry obtained by the first switch may generally include the first security level of the first flow entry and The second security level of the first flow entry, that is, the first switch can obtain all the security levels of the first flow entry.
- the management command initiated by the first controller may be initiated in the form of a flow-mod (OFPFC_ADD) message, which is not described in detail in this embodiment of the present invention.
- the first security level of the first flow entry and the second security level of the first flow entry may be generally determined by the first controller according to the first flow entry.
- the importance and the privacy are pre-configured; and the first security level of the first flow entry and the second security level of the first flow entry are simultaneously carried in the flow_mod (OFPFC_ADD) message.
- the first security level and the second security level are not described in detail in the embodiments of the present invention.
- the management authority level of the first controller relative to the first switch and the first flow entry are corresponding to the first control Comparing the security level of the management command initiated by the device, if it is determined that the management authority level of the first controller relative to the first switch is not lower than the management initiated by the first controller by the first flow entry
- the security level of the command is determined to: the first controller has the right to perform corresponding management on the first flow entry, and may include:
- the first controller Comparing the management authority level of the first controller with the first security level of the first flow entry, and determining the management authority of the first controller relative to the first switch If the level is not lower than the first security level of the first flow entry, the first controller is determined to have the right to create the first flow entry.
- the management command directly manages the first flow entry, and may include: Establishing, according to the management instruction initiated by the first controller, the first flow entry in the first switch, and the security of the first flow entry carried in the management command initiated by the first controller
- the level is filled in the flow entry permission field of the first flow entry that is added in advance.
- the flow entry item domain of the first flow entry that is added in advance may include a first permission domain and a second permission domain.
- the first security level of the first flow entry and the second security level of the first flow entry may be respectively filled into the flow The first permission domain of the entry and the second permission domain.
- the method can also include:
- the management authority level of the first controller relative to the first switch is not lower than the first flow entry corresponding to the first control.
- the first security level of the first flow entry is not lower than the second security level of the first flow entry, to avoid the pre-configured first flow entry. If the security level is incorrect, the creation of the corresponding flow entry cannot be performed.
- the permission may be determined according to the embodiment of the present invention.
- the method determines whether the first controller has the authority to create and manage the flow entry, and the embodiment of the present invention does not limit the present.
- the corresponding at least one flow entry is locally created according to the management instruction initiated by the first controller; or, the first controller may be determined to have the multiple flows
- the corresponding flow entry is created locally according to the management command initiated by the first controller, which is not limited in this embodiment of the present invention.
- the first flow entry obtained by the first switch is The security level may include only the first security level of the first flow entry.
- the modification instruction or the deletion instruction may be respectively initiated in the form of a flow-mod (OFPFC MODIF) message or a flow mod (OFPFC_DELETE) message; and, at this time, the first flow table
- the first security level of the item may be obtained by querying the security level that is saved by the first switch and corresponding to the matching domain of the first flow entry, which is not described in detail in the embodiment of the present invention.
- the management instruction initiated by the first controller is a modification instruction or a deletion instruction
- the management authority level of the first controller relative to the first switch and the first flow entry are corresponding to The security level of the management command initiated by the first controller is compared, and if the management authority level of the first controller relative to the first switch is not lower than the first flow entry corresponding to the first
- the security level of the management command initiated by the controller determines that the first controller has the right to perform corresponding management on the first flow entry, and may include:
- the first controller Comparing the management authority level of the first controller with the first security level of the first flow entry, and determining the management authority of the first controller relative to the first switch If the level is not lower than the first security level of the first flow entry, the first controller is determined to have the right to modify or delete the first flow entry.
- the management authority level of the first controller relative to the first switch is not lower than the first flow entry corresponding to the modification or The security level of the management instructions such as deletion can be deleted.
- the management instruction initiated by the first controller is a modification instruction or a deletion instruction
- the first controller is configured to have the right to manage the first flow entry
- the first flow entry is managed according to the management command initiated by the first controller, and may include:
- the management command initiated by the first controller searches for the first flow entry stored locally by the first switch, and performs corresponding modification processing or deletion processing on the first flow entry that is found.
- the matching field of the first flow entry that is carried in the management command initiated by the first controller may be used to search for a corresponding first flow entry, which is not described in detail in the embodiment of the present invention.
- the operation of searching for the corresponding flow entry according to the matching field of the first flow entry carried in the management command initiated by the first controller may also be determined in the determining Before the first controller has the right to manage the corresponding flow entry, the embodiment of the present invention does not limit the present.
- each flow entry may be described in the embodiment of the present invention.
- the privilege judgment manner determines whether the first controller has the authority to modify or delete the flow entry, and the embodiment of the present invention does not limit the present. Further, each time the first controller is determined to have the right to modify or delete the management of any one of the plurality of flow entries, the management may be searched according to the management command initiated by the first controller. Any one of the flow table entries that are stored locally, and the corresponding modification or deletion process is performed on any of the flow table entries that are found, which is not limited in this embodiment of the present invention.
- management instruction initiated by the first controller is a modification instruction
- the management instruction initiated by the first controller may also carry modified content information for modifying the corresponding flow entry, and the implementation of the present invention is implemented. This example will not be described in detail.
- the security level of the first flow entry obtained by the first switch may be increased in order to improve the convenience of information acquisition and save information acquisition resources. Only the second security level of the first flow entry is included. Of course, the first security level is usually not less than the second security level corresponding to the first flow entry. Therefore, the first switch can also obtain only the first security switch.
- the first security level of the first flow entry, or the first security level of the first flow entry And the second security level of the first flow entry which is not limited by the embodiment of the present invention.
- the viewing instruction may be initiated in the form of a multipart ( ⁇ _flow_stats_request) message; and, at this time, the first security level of the first flow entry or the first
- the second security level of the first-class entry may be obtained by querying the security level that is saved locally by the first switch and corresponding to the matching domain of the first flow entry, which is not used by the embodiment of the present invention. Narration.
- the management authority level of the first controller relative to the first switch and the first flow entry are corresponding to the first control Comparing the security level of the management command initiated by the device, if it is determined that the management authority level of the first controller relative to the first switch is not lower than the management initiated by the first controller by the first flow entry
- the security level of the command is determined to: the first controller has the right to perform corresponding management on the first flow entry, and may include:
- the management authority level of the first controller relative to the first switch is not lower than the second security level of the first flow entry (or The first security level of the first flow entry may be.
- the management command initiated by the first controller is a view instruction
- the first controller initiates The management command directly manages the first flow entry, and may include:
- each flow entry may be in accordance with the permission determination manner described in the embodiment of the present invention.
- the first controller does not have any limitation on the right to view and manage the flow entry.
- the at least one flow entry in the entry is configured to view the management
- the at least one flow entry that is locally stored is searched according to the management instruction initiated by the first controller, and the at least one flow that is found is found.
- the local storage is searched according to the management command initiated by the first controller. Any one of the flow entry items, and any one of the flow table entries that are found is returned to the first controller, which is not limited by the embodiment of the present invention.
- the first response message may be returned to the first controller to indicate that the management succeeds or the management fails.
- the embodiment of the present invention does not limit the present.
- the method may further include the following steps: the first switch determines that a management authority level of the first controller relative to the first switch is lower than the first flow
- the entry corresponds to the security level of the management command initiated by the first controller, and determines that the first controller does not have the right to perform corresponding management on the first flow entry, and refuses to execute according to the first control.
- the management command initiated by the device performs corresponding management operations on the first flow entry.
- the first switch may refuse to perform by returning, to the first controller, a second response message indicating that the first controller does not have the right to manage the first flow entry. Performing, according to the management instruction initiated by the first controller, the first flow entry.
- a first embodiment of the present invention provides a method for managing a flow entry.
- any switch receives any flow entry initiated by any controller connected thereto.
- the controller may be determined according to the obtained management authority level of any one of the switches and the security level of any of the flow entries, and any one of the controllers is determined by the switch.
- the management authority level is not lower than the security level of any one of the flow entry items corresponding to the management instruction initiated by the any controller, and when determining that the determination result is yes, determining that any one of the controllers has the Any flow entry has the right to manage the corresponding flow, and manages any of the flow entries according to the management command initiated by any of the controllers, thereby avoiding the operation of randomly deleting or modifying the flow entry.
- the purpose of effectively protecting the flow entry and improving the security of the system is achieved.
- the flow entry of the plurality of controllers on the same switch may be further achieved by the operation of the controller and the authority of the switch. In order to achieve the effect that other controllers cannot operate the flow table entries created by this controller.
- Embodiment 2 is a diagrammatic representation of Embodiment 1:
- the second embodiment of the present invention provides a switch that can be used to implement the method shown in the first embodiment of the present invention.
- the switch can be applied to a flow entry management system, where the flow entry management system can include at least one implementation of the present invention.
- Each controller in the controller is provided with a corresponding administrative authority level with respect to the switch.
- the switch may include an instruction receiving module 11, a rights acquiring module 12, a rights matching module 13, and an executing module 14, where :
- the instruction receiving module 11 is configured to receive a management instruction initiated by the first controller for the first flow entry, where the first controller is any one of the one or more controllers connected to the switch a controller, the first flow entry is any flow entry to be created carried in the management command initiated by the first controller, or any created flow entry stored in the switch;
- the privilege acquisition module 12 is configured to obtain, after the instruction receiving module 11 receives the management instruction initiated by the first controller, a management authority level of the first controller relative to the switch, and the first flow a security level of the entry; wherein, the first flow entry is respectively configured with a corresponding security level corresponding to different management commands, where the security level is used to indicate that the controller that manages the first flow entry has Management authority level;
- the privilege comparison module 13 is configured to: according to the management authority level of the first controller and the security level of the first flow entry acquired by the privilege acquisition module 12, the first control Comparing the management authority level of the switch with the security level of the first flow entry corresponding to the management command initiated by the first controller, to determine the management authority of the first controller relative to the switch Whether the level is not lower than a security level of the first flow entry corresponding to the management instruction initiated by the first controller;
- the execution module 14 is configured to determine, at the authority comparison module 13, that the management authority level of the first controller relative to the switch is not lower than the management initiated by the first controller corresponding to the first flow entry. And determining, by the first controller, the right to perform corresponding management on the first flow entry, and performing corresponding management on the first flow entry according to the management instruction initiated by the first controller.
- the management instruction initiated by the first controller received by the instruction receiving module 11 may be a create instruction, a delete instruction, a modify instruction, or a view instruction, etc., and the implementation of the present invention This example does not limit this.
- the management command initiated by the first controller may carry the network protocol address of the first controller and the matching domain of the first flow entry for the management command initiated by the first controller.
- the management command initiated by the first controller may also carry the corresponding masking characters and the like to perform the fuzzy matching of the flow entry, and the like, which is not limited in this embodiment of the present invention.
- the matching field of the flow entry carried in the management command initiated by the first controller may be a matching domain of one or more flow entry. That is, in the present invention, the management command initiated by the first controller may be a management command for a flow entry or a plurality of flow entries, which is not limited in this embodiment of the present invention.
- the switch may further include an information configuration module.
- the information configuration module 15 is configured to learn, by means of communication interaction with the configuration point, a management authority level of each controller connected to the switch configured by the configuration point with respect to the switch, and the Information such as the network protocol address of each controller connected to the switch.
- the controllers that are configured to be connected to the switch generally have different management authority levels with respect to the switch.
- the controller may have the same or different management authority level with respect to different switches connected thereto, and may be specifically configured according to actual conditions.
- the embodiment of the present invention does not limit this.
- the information configuration module 15 is further configured to: according to the received management authority level of each controller connected to the switch with respect to the switch, and a network protocol address of each controller connected to the switch And the like, establishing, by the respective controllers connected to the switch, an association relationship between a management authority level of the switch and a network protocol address of each controller connected to the switch, and storing the foregoing relationship In a manner, information such as a management authority level of each controller connected to the switch with respect to the switch and a network protocol address of each controller connected to the switch is stored correspondingly.
- the privilege obtaining module 12 is specifically configured to: after receiving the management instruction for the first flow entry initiated by the first controller, according to the first controller carried in the management command initiated by the first controller Network protocol address, and between the management authority level of the controller connected to the switch and the network protocol address of each controller connected to the switch, which is pre-established by the information configuration module 15 Correlation relationship, querying a management authority corresponding to a network protocol address of the first controller carried in the management instruction initiated by the first controller, and the like Level, and the queried management authority level is used as the obtained management authority level of the first controller with respect to the switch.
- the security level of the first flow entry corresponding to different management commands may be that when the corresponding controller sends the creation instruction for the first flow entry,
- the corresponding controller is pre-configured according to the importance and privacy of the first flow entry.
- the security level of the first flow entry may include that the first flow entry corresponds to a first security level of the content modification management instruction and the first flow entry corresponds to a second security level of the content view management instruction.
- the content modification management instruction may include at least one of a creation instruction, a modification instruction, and a deletion instruction
- the content view management instruction may include at least the view instruction, which is not limited by the embodiment of the present invention.
- the security level of the first flow entry when configured, the configured first flow entry corresponds to a first security level of the content modification management command.
- the second security level of the first flow entry corresponding to the content view management command should be not less than that of the embodiment.
- the security levels configured for the two flow entries are usually different from each other. Therefore, in order to distinguish the security levels of the flow entries, When the flow entry is configured with the corresponding security level, the association between the security level of each flow entry and the matching domain of each flow entry is established.
- the permission obtaining module 12 is specifically configured to receive the first control. After the management command for the first flow entry is initiated, the matching domain of the first flow entry carried in the management command initiated by the first controller, and the security level and flow of each pre-established flow entry are The association between the matching domains of the entry, the security level corresponding to the matching domain of the first flow entry carried in the management command initiated by the first controller, and the obtained security level is obtained.
- the security level of the first flow entry to be obtained; wherein, when the first flow entry is any flow entry to be created carried in the management command initiated by the first controller
- the association relationship between the security level of the first flow entry and the matching domain of the first flow entry may be carried in a management command initiated by the first controller, where the first flow entry is When any flow entry is stored in the switch, the first flow entry is preset.
- the association between the security level and the matching domain of the first flow entry may be stored in the switch.
- the security level of the first flow entry obtained by the privilege obtaining module 12 may include that the first flow entry corresponds to a first security level of the content modification management instruction and/or the first flow table.
- the item corresponds to the second security level of the content view management command, and may be determined according to the nature of the management command initiated by the first controller, which is not limited by the embodiment of the present invention.
- the security level of the first flow entry obtained by the privilege acquisition module 12 may generally include the first security level of the first flow entry. And a second security level of the first flow entry; when the management command initiated by the first controller is a modification instruction or a deletion instruction, the security level of the first flow entry obtained by the authorization obtaining module 12 The first security level of the first flow entry may be included; when the management command initiated by the first controller is a view command, the security level of the first flow entry obtained by the privilege acquisition module 12 may be The second security level of the first flow entry is not included in the embodiment of the present invention.
- the privilege comparison module 13 is specifically configured to: when the management instruction initiated by the first controller is a create instruction, a modify instruction, or a delete instruction, the management authority level of the first controller relative to the switch Comparing with the first security level of the first flow entry, if it is determined that the management authority level of the first controller relative to the switch is not lower than the first security level of the first flow entry, determining The first controller has the right to create, modify, or delete the first flow entry item; or
- the management command initiated by the first controller is a view command
- comparing, by the first controller, a management authority level of the switch and a second security level of the first flow entry If it is determined that the management authority level of the first controller is not lower than the second security level of the first flow entry, the first controller is configured to view the first flow entry. Permissions.
- the execution module 14 is specifically configured to: when the authority comparison module 13 determines that the first controller has the right to perform corresponding management on the first flow entry, a controller-initiated management command is a create command, and the first flow entry is created locally on the switch according to the management command initiated by the first controller, and the management command initiated by the first controller is generated.
- the security level of the first flow entry carried in the flow entry entry in the flow entry of the first flow entry is added; or
- the privilege comparison module 13 determines that the first controller has the right to perform corresponding management on the first flow entry, if it is determined that the management command initiated by the first controller is a modification instruction or deletes And executing, according to the management instruction initiated by the first controller, the first flow entry that is locally stored by the switch, and performing corresponding modification or deletion processing on the first flow entry that is found; or ,
- the privilege comparison module 13 determines that the first controller has the right to perform corresponding management on the first flow entry, if it is determined that the management command initiated by the first controller is a view instruction, And searching, according to the management instruction initiated by the first controller, the first flow entry that is locally stored by the switch, and returning the first flow entry that is found to the first controller.
- the flow entry item domain of the first flow entry that is added in advance may include a first permission domain and a second permission domain.
- the executing module 14 is specifically configured to: when performing the filling operation of the security level of the first flow entry, the first security level of the first flow entry and the second security of the first flow entry The levels are respectively filled in the first privilege domain and the second privilege domain of the flow entry, which are not described in detail in the embodiments of the present invention.
- the privilege comparison module 13 may also be used when the first controller initiates When the management instruction is to create an instruction, after determining that the management authority level of the first controller with respect to the switch is not lower than the first security level of the first flow entry, or after the execution module 14 is Before the management command initiated by the first controller performs corresponding management on the first flow entry, the first security level of the first flow entry is compared with the second security level of the first flow entry. And determining that the first security level of the first flow entry is not lower than the second security level of the first flow entry.
- the first flow entry creation operation when the first flow entry creation operation is performed, in addition to ensuring the first control
- the first flow entry needs to be guaranteed to be the first one of the first flow entry.
- the security level is not lower than the second security level of the first flow entry, so as to prevent the creation of the corresponding flow entry due to the incorrect security level of the pre-configured first flow entry.
- the execution module 14 is further configured to determine, at the authority comparison module 13, that the management authority level of the first controller relative to the switch is lower than the first flow table.
- the execution module 14 determines, at the authority comparison module 13, that the management authority level of the first controller relative to the switch is lower than the first flow table.
- the second embodiment of the present invention provides a switch that can be used to implement the method for managing a flow entry according to the first embodiment of the present invention.
- the switch is connected to the switch. After the management command for any flow entry is initiated by any of the controllers, the management authority level of the controller and the security level of the any flow entry may be determined according to the acquired security level of any of the controllers.
- the management authority level of any of the controllers relative to the switch is not lower than the security level of the management command initiated by the any of the flow entries corresponding to any one of the controllers, and when determining that the determination result is yes, determining Any controller has the right to perform corresponding management on any of the flow entries, and manages any of the flow entries according to the management command initiated by any of the controllers, thereby avoiding the flow entry
- the purpose of effectively protecting the flow entry and improving the security of the system is achieved.
- the flow entry of the plurality of controllers on the same switch can be further achieved by the operation of the controller with respect to the configuration of the management authority level of the switch and the determination of the authority. In order to achieve the effect that other controllers cannot operate the flow table entries created by this controller.
- Embodiment 3 is a diagrammatic representation of Embodiment 3
- the third embodiment of the present invention provides a switch that can be used to implement the method shown in the first embodiment of the present invention.
- the switch can be applied to a flow entry management system, where the flow entry management system can include a switch and at least one controller according to the third embodiment of the present invention, wherein one or more controllers in the at least one controller are connected to the switch, and are connected to the switch.
- Each of the one or more controllers is provided with a corresponding level of administrative authority relative to the switch.
- FIG. 3 it is a schematic structural diagram of a switch according to Embodiment 3 of the present invention, and the switch may include components such as a receiver 21 and a processor 22. It will be understood by those skilled in the art that the structure of the switch shown in FIG. 3 does not constitute a limitation of the switch, and may include more or less components than those illustrated, or combine some components, or different component arrangements. The embodiment of the present invention does not limit this.
- the receiver 21 is configured to receive a management command initiated by the first controller for the first flow entry, where the first controller is Any one of the one or more controllers connected to the switch, the first flow entry being any of the flow entry to be created carried in the management command initiated by the first controller or the Any created flow entry stored in the switch;
- the processor 22 is configured to obtain, after the receiver 21 receives the management instruction initiated by the first controller, the management authority level of the first controller relative to the switch, and the first flow entry. a security level, and comparing the management authority level of the first controller with the switch and the security level of the first flow entry corresponding to the management command initiated by the first controller, and determining the location Determining that the first controller is provided with the management authority level of the first controller relative to the switch is not lower than a security level of the first flow entry corresponding to the management command initiated by the first controller
- the first flow entry is configured to perform corresponding management, and the first flow entry is managed according to the management instruction initiated by the first controller;
- the first flow entry is respectively configured with a corresponding security level corresponding to different management commands, and the security level is used to indicate a management authority level that the controller that manages the first flow entry has.
- the management command initiated by the first controller received by the receiver 21 may be a create instruction, a delete instruction, a modify instruction, or a view instruction, etc.
- the embodiment of the invention does not limit this.
- the management command initiated by the first controller may carry the network protocol address of the first controller and the matching domain of the first flow entry for the management command initiated by the first controller.
- the management command initiated by the first controller may also carry the corresponding masking characters and the like to perform the fuzzy matching of the flow entry, and the like, which is not limited in this embodiment of the present invention.
- the matching field of the flow entry carried in the management command initiated by the first controller may be a matching domain of one or more flow entries. That is, in the embodiment of the present invention, the management command initiated by the first controller may be a management command for a flow entry or a plurality of flow entries, which is not limited in this embodiment of the present invention.
- the processor 22 is further configured to learn, by means of communication interaction with the configuration point, that each controller connected to the switch configured by the configuration point is relative to the controller. Information such as the management authority level of the switch and the network protocol address of each controller connected to the switch.
- the controllers connected to the switch configured by the configuration point usually have different management authority levels with respect to the switch.
- the controller may have the same or different management authority level with respect to different switches connected thereto, and may be specifically configured according to actual conditions.
- the embodiment of the present invention does not limit this.
- the processor 22 is further configured to: according to the received management authority level of each controller connected to the switch with respect to the switch, and a network protocol address of each controller connected to the switch And the like, establishing, by the respective controllers connected to the switch, an association relationship between a management authority level of the switch and a network protocol address of each controller connected to the switch, and storing the foregoing association relationship In a manner of the memory 23 provided in the switch, a management authority level of each controller connected to the switch with respect to the switch and a network protocol address of each controller connected to the switch Information Rows are stored accordingly.
- the memory 23 may be a ROM (read-only memory) or other type of static storage device that can store static information and instructions, a RAM (random access memory) or may store information and Other types of dynamic storage devices of instructions, such as EEPROM (Electrically Erasable Programmable Read-Only Memory), CD-ROM (Compact Disc Read-Only Memory) or other discs Storage, disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures And any other medium that can be accessed by a computer, but is not limited thereto.
- EEPROM Electrical Erasable Programmable Read-Only Memory
- CD-ROM Compact Disc Read-Only Memory
- disc storage including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.
- disk storage media or other magnetic storage devices or can be used to carry or store desired program
- the processor 22 is specifically configured to: after receiving the management instruction for the first flow entry initiated by the first controller, according to the first controller that is carried in the management command initiated by the first controller a network protocol address, and a relationship between a pre-established controller connected to the switch relative to the management authority level of the switch and a network protocol address of each controller connected to the switch, the query and the location Determining an administrative authority level corresponding to a network protocol address of the first controller carried in the management command initiated by the first controller, and using the queried management authority level as the acquired first controller The administrative authority level of the switch.
- the security level of the first flow entry corresponding to different management commands may be that when the corresponding controller sends the creation instruction for the first flow entry,
- the corresponding controller is pre-configured according to the importance and privacy of the first flow entry.
- the security level of the first flow entry may include that the first flow entry corresponds to a first security level of the content modification management instruction and the first flow entry corresponds to a second security level of the content view management instruction.
- the content modification management instruction may include at least one of a creation instruction, a modification instruction, and a deletion instruction
- the content view management instruction may include at least the view instruction, which is not limited by the embodiment of the present invention.
- the security level of the first flow entry when configured, the configured first flow entry corresponds to a content modification management instruction.
- the first security level should be no less than the second security level of the first flow entry corresponding to the content view management command, which is not described in detail in the embodiment of the present invention.
- the security levels configured for the two flow entries are usually different from each other. Therefore, in order to distinguish the security levels of the flow entries, When the flow entry is configured with the corresponding security level, the association between the security level of each flow entry and the matching domain of each flow entry is established.
- the processor 22 is specifically configured to: after receiving the management instruction for the first flow entry initiated by the first controller, according to the first flow entry carried in the management command initiated by the first controller Matching the matching domain and the pre-established relationship between the security level of each flow entry and the matching domain of each flow entry, and matching the matching with the first flow entry carried in the management command initiated by the first controller
- the security level corresponding to the domain, and the queried security level is used as the security level of the obtained first flow entry.
- the security level of the first flow entry and the first flow table are preset.
- the association relationship between the matching domains of the entry may be carried in the management command initiated by the first controller.
- the preset The association between the security level of the first flow entry and the matching domain of the first flow entry may be stored in the switch.
- the security level of the first flow entry obtained by the processor 22 may include that the first flow entry corresponds to a first security level of the content modification management instruction and/or the first flow entry.
- the second security level corresponding to the content view management command may be determined according to the nature of the management command initiated by the first controller, which is not limited by the embodiment of the present invention.
- the security level of the first flow entry obtained by the processor 22 may generally include a first security level of the first flow entry and a second security level of the first flow entry; when the management command initiated by the first controller is a modify command or a delete command, the security level of the first flow entry obtained by the processor 22 may only be The first security level of the first flow entry is included; when the management command initiated by the first controller is a view command, the security level of the first flow entry acquired by the processor 22 may include only The second security level of the first flow entry is not described in detail in the embodiment of the present invention.
- the processor 22 is specifically configured to: when the management instruction initiated by the first controller is a create instruction, a modify instruction, or a delete instruction, the management authority level and the first controller are compared with the switch The first security level of the first flow entry is compared, and if it is determined that the management authority level of the first controller is not lower than the first security level of the first flow entry, determining the first a controller has the right to create, modify, or delete the first flow entry item; or
- the management command initiated by the first controller is a view command
- comparing, by the first controller, a management authority level of the switch and a second security level of the first flow entry If it is determined that the management authority level of the first controller is not lower than the second security level of the first flow entry, the first controller is configured to view the first flow entry. Permissions.
- the processor 22 is further configured to: when determining that the first controller has the right to perform corresponding management on the first flow entry, if it is determined that the management command initiated by the first controller is a create instruction And creating, according to the management instruction initiated by the first controller, the first flow entry in the local area of the switch, and the first flow entry carried in the management command initiated by the first controller
- the security level is filled in the flow entry permission field of the first flow entry that is added in advance; or
- the management command initiated by the first controller is a modification instruction or a deletion instruction
- searching for the first flow entry stored locally by the switch and performing corresponding modification or deletion processing on the first flow entry that is found;
- the initiated management command searches for the first flow entry stored locally by the switch, and returns the first flow entry that is found to the first controller.
- the flow entry weight field of the first flow entry that is added in advance may include the first permission domain. And the second permission domain.
- the processor 22 is specifically configured to: when performing the filling operation of the security level of the first flow entry, the first security level of the first flow entry and the second security of the first flow entry The levels are respectively filled in the first privilege domain and the second privilege domain of the flow entry, which are not described in detail in the embodiments of the present invention.
- the processor 22 may also be used for the management command initiated by the first controller.
- the instruction is created, after determining that the management authority level of the first controller is not lower than the first security level of the first flow entry, and after starting according to the first controller, The first security level of the first flow entry is compared with the second security level of the first flow entry, and the first flow table is determined, before the first flow entry is managed by the management command.
- the first security level of the item is not lower than the second security level of the first flow entry.
- the management authority level of the first controller relative to the first switch is not lower than the first flow entry corresponding to the first control.
- the first security level of the first flow entry is not lower than the second security level of the first flow entry, to avoid the pre-configured first flow entry. If the security level is incorrect, the creation of the corresponding flow entry cannot be performed.
- the processor 22 is further configured to: determine that the management authority level of the first controller relative to the switch is lower than the first flow entry corresponding to the first Determining, by the controller, the security level of the management command, the first controller does not have the right to perform corresponding management on the first flow entry, and refuses to execute the management instruction initiated according to the first controller.
- the first flow entry performs corresponding management operations.
- the third embodiment of the present invention provides a switch that can be used to implement the method for managing a flow entry in the first embodiment of the present invention.
- the switch is connected to the switch.
- the management authority level of the controller and the security level of the any flow entry may be determined according to the acquired security level of any of the controllers.
- the management authority level of any controller relative to the switch is Whether it is not lower than the security level of the management command initiated by any one of the flow entries, and determining that the controller has any of the flow entries when the determination result is YES. Performing the corresponding management rights, and managing any of the flow entries according to the management instructions initiated by any of the controllers, thereby avoiding the operation of randomly deleting or modifying the flow entries, thereby achieving Effectively protect flow entries, thereby improving system security.
- the flow entry of the plurality of controllers on the same switch can be further achieved by the operation of the controller with respect to the configuration of the management authority level of the switch and the determination of the authority. In order to achieve the effect that other controllers cannot operate the flow table entries created by this controller.
- embodiments of the present invention can be provided as a method, apparatus (device), or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can be embodied in the form of one or more computer program products embodied on a computer-usable storage medium (including but not limited to disk storage, CD-ROM, optical storage, etc.) in which computer usable program code is embodied.
- a computer-usable storage medium including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种流表项管理方法及设备,任一交换机在接收到与其相连接的任一控制器发起的针对任一流表项的管理指令后,可首先根据获取到的所述任一控制器相对所述任一交换机的管理权限等级以及所述任一流表项的安全等级,判断所述任一控制器相对所述任一交换机的管理权限等级是否不低于所述任一流表项对应于所述任一控制器发起的管理指令的安全等级,并在确定判断结果为是时,确定所述任一控制器具备对所述任一流表项进行相应管理的权限,并根据所述任一控制器发起的管理指令对所述任一流表项进行相应管理,从而在避免了对流表项进行随意删除或修改等操作现象的基础上,达到了有效保护流表项、进而提高系统安全性的目的。
Description
一种流表项管理方法及设备 技术领域
本发明涉及 SDN ( Software-Defined Networking, 软件定义网络 )技术领 域, 尤其涉及一种基于 OpenFlow协议的流表项管理方法及设备。 背景技术
OpenFlow协议是目前 SDN领域最热门的协议, 在 OpenFlow协议中, 将网 络设备的控制功能与转发功能进行分离, 进而将控制功能全部集中到远程控 制器 (Controller )上完成, 而 OpenFlow交换机(Switch )可仅负责在本地进 行简单高速的数据转发等操作。 具体地, 在 OpenFlow交换机的运行过程中, 其数据转发的依据为流表, 控制器可通过事先规定好的 OpenFlow协议接口来 控制 OpenFlow交换机中的流表, 从而达到控制数据转发的目的。
但是, 由于目前在 OpenFlow协议中还缺少对流表中的各流表项的权限控 制, 从而导致可能会存在流表项被随意修改的问题, 降低系统的安全性。
例如, 在某些场景中, OpenFlow交换机会保存一些默认的重要流表项, 如, 在即插即用自组网的场景中, OpenFlow交换机会保存与自组网相关的默 认流表项, 若该默认流表项被该 OpenFlow交换机根据某一控制器下发的控制 指令(也可称为管理指令) 所删除, 则 OpenFlow交换机的自组网功能就会失 效; 再有, 针对多个控制器操作同一 OpenFlow交换机的场景, 若与 A控制器 相关的流表项被该 OpenFlow交换机根据 B控制器下发的控制指令所修改或删 除, 则 A控制器将无法继续根据该流表项进行相应的控制操作, 从而会影响到 A控制器的相应处理过程。
因此, 目前亟需提供一种对 OpenFlow协议中的流表项进行相应的权限控 制的方法, 以解决上述各问题。
发明内容
本发明实施例提供了一种流表项管理方法及设备, 以解决目前存在的缺 少对流表项的权限控制所导致的系统安全性较低的问题。
第一方面, 提供了一种流表项管理方法, 应用于流表项管理系统, 所述 流表项管理系统包括至少一个交换机以及至少一个控制器, 其中, 针对所述 至少一个交换机中的任一交换机, 所述至少一个控制器中存在一个或多个控 制器与所述任一交换机相连接, 并且, 与所述任一交换机相连接的一个或多 个控制器中的每个控制器相对于所述任一交换机设置有相应的管理权限等 级, 所述方法包括:
第一交换机在接收第一控制器发起的针对第一流表项的管理指令后, 获 取所述第一控制器相对所述第一交换机的管理权限等级, 以及所述第一流表 项的安全等级; 其中, 所述第一流表项对应不同的管理指令分别设置有相应 的安全等级, 所述安全等级用于表示对所述第一流表项进行管理的控制器所 应具有的管理权限等级; 所述第一交换机为所述至少一个交换机中的任一交 换机, 所述第一控制器为与所述第一交换机相连接的一个或多个控制器中的 任一控制器, 所述第一流表项为所述第一控制器发起的管理指令中携带的任 一待创建流表项或所述第一交换机中存储的任一已创建流表项;
所述第一交换机将所述第一控制器相对所述第一交换机的管理权限等级 和所述第一流表项对应于所述第一控制器发起的管理指令的安全等级进行比 对, 若确定所述第一控制器相对所述第一交换机的管理权限等级不低于所述 第一流表项对应于所述第一控制器发起的管理指令的安全等级, 则确定所述 第一控制器具备对所述第一流表项进行相应管理的权限, 并根据所述第一控 制器发起的管理指令对所述第一流表项进行相应管理。
结合第一方面, 在第一方面的第一种可能的实现方式中, 所述方法还包 括: 所述第一交换机若确定所述第一控制器相对所述第一交换机的管理权限 等级低于所述第一流表项对应于所述第一控制器发起的管理指令的安全等 级, 则确定所述第一控制器不具备对所述第一流表项进行相应管理的权限,
并拒绝执行根据所述第一控制器发起的管理指令对所述第一流表项进行相应 管理的操作。
结合第一方面或第一方面的第一种可能的实现方式, 在第一方面的第二 种可能的实现方式中, 所述第一控制器发起的管理指令中携带有所述第一控 制器的网络协议地址以及所述第一流表项的匹配域;
获取所述第一控制器相对所述第一交换机的管理权限等级, 包括: 根据所述第一控制器发起的管理指令中携带的所述第一控制器的网络协 议地址以及预先设置的、 与所述第一交换机相连接的各控制器相对所述第一 交换机的管理权限等级和与所述第一交换机相连接的各控制器的网络协议地 址之间的关联关系, 查询与所述第一控制器发起的管理指令中携带的所述第 一控制器的网络协议地址相对应的管理权限等级, 并将查询到的管理权限等 级作为获取到的所述第一控制器相对所述第一交换机的管理权限等级; 其中, 预先设置的、 与所述第一交换机相连接的各控制器相对所述第一交换机的管 理权限等级和与所述第一交换机相连接的各控制器的网络协议地址之间的关 联关系存储在所述第一交换机中;
获取所述第一流表项的安全等级, 包括:
根据所述第一控制器发起的管理指令中携带的所述第一流表项的匹配域 以及预先设置的各流表项的安全等级与各流表项的匹配域之间的关联关系, 查询与所述第一控制器发起的管理指令中携带的所述第一流表项的匹配域相 对应的安全等级, 并将查询到的安全等级作为获取到的所述第一流表项的安 全等级; 其中, 当所述第一流表项为所述第一控制器发起的管理指令中携带 的任一待创建流表项时, 预先设置的所述第一流表项的安全等级与所述第一 流表项的匹配域之间的关联关系携带在所述第一控制器发起的管理指令中, 当所述第一流表项为所述第一交换机中存储的任一已创建流表项时, 预先设 置的所述第一流表项的安全等级与所述第一流表项的匹配域之间的关联关系 存储在所述第一交换机中。
结合第一方面或第一方面的第一种可能的实现方式, 在第一方面的第三
种可能的实现方式中, 获取到的所述第一流表项的安全等级至少包括所述第 一流表项对应于内容修改管理指令的第一安全等级和 /或所述第一流表项对应 于内容查看管理指令的第二安全等级;
其中, 所述内容修改管理指令至少包括创建指令、 修改指令以及删除指 令中的一种或多种; 所述内容查看管理指令至少包括查看指令。
结合第一方面的第三种可能的实现方式, 在第一方面的第四种可能的实 现方式中, 将所述第一控制器相对所述第一交换机的管理权限等级和所述第 一流表项对应于所述第一控制器发起的管理指令的安全等级进行比对, 若确 定所述第一控制器相对所述第一交换机的管理权限等级不低于所述第一流表 项对应于所述第一控制器发起的管理指令的安全等级, 则确定所述第一控制 器具备对所述第一流表项进行相应管理的权限, 包括:
当所述第一控制器发起的管理指令为创建指令、 修改指令或删除指令时 , 将所述第一控制器相对所述第一交换机的管理权限等级和所述第一流表项的 第一安全等级进行比对, 若确定所述第一控制器相对所述第一交换机的管理 权限等级不低于所述第一流表项的第一安全等级, 则确定所述第一控制器具 备对所述第一流表项进行相应的创建、 修改或删除的权限; 或者,
当所述第一控制器发起的管理指令为查看指令时, 将所述第一控制器相 对所述第一交换机的管理权限等级和所述第一流表项的第二安全等级进行比 对, 若确定所述第一控制器相对所述第一交换机的管理权限等级不低于所述 第一流表项的第二安全等级, 则确定所述第一控制器具备对所述第一流表项 进行查看的权限。
结合第一方面的第三种可能的实现方式, 在第一方面的第五种可能的实 现方式中, 在确定所述第一控制器具备对所述第一流表项进行相应管理的权 限时, 根据所述第一控制器发起的管理指令对所述第一流表项进行相应管理, 包括:
若确定所述第一控制器发起的管理指令为创建指令, 则根据所述第一控 制器发起的管理指令, 在所述第一交换机本地创建所述第一流表项, 并将所
述第一控制器发起的管理指令中携带的所述第一流表项的安全等级填写入预 先增加的所述第一流表项的流表项权限域中; 或者,
若确定所述第一控制器发起的管理指令为修改指令或删除指令, 则根据 所述第一控制器发起的管理指令, 查找所述第一交换机本地存储的所述第一 流表项, 并对查找到的所述第一流表项进行相应的修改处理或删除处理; 或者, 若确定所述第一控制器发起的管理指令为查看指令, 则根据所述 第一控制器发起的管理指令, 查找所述第一交换机本地存储的所述第一流表 项, 并将查找到的所述第一流表项返回给所述第一控制器。
结合第一方面的第四种可能的实现方式, 在第一方面的第六种可能的实 现方式中, 当所述第一控制器发起的管理指令为创建指令时, 在确定所述第 一控制器相对所述第一交换机的管理权限等级不低于所述第一流表项的第一 安全等级的同时或之后, 且在根据所述第一控制器发起的管理指令对所述第 一流表项进行相应管理之前, 所述方法还包括:
将所述第一流表项的第一安全等级与所述第一流表项的第二安全等级进 行比对, 并确定所述第一流表项的第一安全等级不低于所述第一流表项的第 二安全等级。
第二方面, 提供了一种交换机, 应用于流表项管理系统, 所述流表项管 理系统包括至少一个所述交换机以及至少一个控制器, 其中, 所述至少一个 控制器中存在一个或多个控制器与所述交换机相连接, 并且, 与所述交换机 相连接的一个或多个控制器中的每个控制器相对于所述交换机设置有相应的 管理权限等级, 所述交换机包括:
指令接收模块, 用于接收第一控制器发起的针对第一流表项的管理指令, 所述第一控制器为与所述交换机相连接的一个或多个控制器中的任一控制 器, 所述第一流表项为所述第一控制器发起的管理指令中携带的任一待创建 流表项或所述交换机中存储的任一已创建流表项;
权限获取模块, 用于在所述指令接收模块接收到所述第一控制器发起的 管理指令后, 获取所述第一控制器相对所述交换机的管理权限等级, 以及所
述第一流表项的安全等级; 其中, 所述第一流表项对应不同的管理指令分别 设置有相应的安全等级, 所述安全等级用于表示对所述第一流表项进行管理 的控制器所应具有的管理权限等级;
权限比对模块, 用于根据所述权限获取模块获取到的所述第一控制器相 对所述交换机的管理权限等级, 以及所述第一流表项的安全等级, 将所述第 一控制器相对所述交换机的管理权限等级和所述第一流表项对应于所述第一 控制器发起的管理指令的安全等级进行比对, 以确定所述第一控制器相对所 述交换机的管理权限等级是否不低于所述第一流表项对应于所述第一控制器 发起的管理指令的安全等级;
执行模块, 用于在所述权限比对模块确定所述第一控制器相对所述交换 机的管理权限等级不低于所述第一流表项对应于所述第一控制器发起的管理 指令的安全等级时, 确定所述第一控制器具备对所述第一流表项进行相应管 理的权限, 并根据所述第一控制器发起的管理指令对所述第一流表项进行相 应管理。
结合第二方面, 在第二方面的第一种可能的实现方式中, 所述执行模块, 还用于在所述权限比对模块确定所述第一控制器相对所述交换机的管理权限 等级低于所述第一流表项对应于所述第一控制器发起的管理指令的安全等级 时, 确定所述第一控制器不具备对所述第一流表项进行相应管理的权限, 并 拒绝执行根据所述第一控制器发起的管理指令对所述第一流表项进行相应管 理的操作。
结合第二方面或第二方面的第一种可能的实现方式, 在第二方面的第二 种可能的实现方式中 , 所述指令接收模块接收到的所述第一控制器发起的管 理指令中携带有所述第一控制器的网络协议地址以及所述第一流表项的匹配 域;
所述权限获取模块, 具体用于根据所述第一控制器发起的管理指令中携 带的所述第一控制器的网络协议地址以及预先设置的、 与所述交换机相连接 的各控制器相对所述交换机的管理权限等级和与所述交换机相连接的各控制
器的网络协议地址之间的关联关系, 查询与所述第一控制器发起的管理指令 中携带的所述第一控制器的网络协议地址相对应的管理权限等级, 并将查询 到的管理权限等级作为获取到的所述第一控制器相对所述交换机的管理权限 等级; 其中, 预先设置的、 与所述交换机相连接的各控制器相对所述交换机 的管理权限等级和与所述交换机相连接的各控制器的网络协议地址之间的关 联关系存储在所述交换机中; 以及,
具体用于根据所述第一控制器发起的管理指令中携带的所述第一流表项 的匹配域以及预先设置的各流表项的安全等级与各流表项的匹配域之间的关 联关系, 查询与所述第一控制器发起的管理指令中携带的所述第一流表项的 匹配域相对应的安全等级, 并将查询到的安全等级作为获取到的所述第一流 表项的安全等级; 其中, 当所述第一流表项为所述第一控制器发起的管理指 令中携带的任一待创建流表项时, 预先设置的所述第一流表项的安全等级与 所述第一流表项的匹配域之间的关联关系携带在所述第一控制器发起的管理 指令中, 当所述第一流表项为所述交换机中存储的任一已创建流表项时, 预 先设置的所述第一流表项的安全等级与所述第一流表项的匹配域之间的关联 关系存储在所述交换机中。
结合第二方面或第二方面的第一种可能的实现方式, 在第二方面的第三 种可能的实现方式中 , 所述权限获取模块获取到的所述第一流表项的安全等 级至少包括所述第一流表项对应于内容修改管理指令的第一安全等级和 /或所 述第一流表项对应于内容查看管理指令的第二安全等级;
其中, 所述内容修改管理指令至少包括创建指令、 修改指令以及删除指 令中的一种或多种; 所述内容查看管理指令至少包括查看指令。
结合第二方面的第三种可能的实现方式, 在第二方面的第四种可能的实 现方式中, 所述权限比对模块, 具体用于当所述第一控制器发起的管理指令 为创建指令、 修改指令或删除指令时, 将所述第一控制器相对所述交换机的 管理权限等级和所述第一流表项的第一安全等级进行比对, 若确定所述第一 控制器相对所述交换机的管理权限等级不低于所述第一流表项的第一安全等
级, 则确定所述第一控制器具备对所述第一流表项进行相应的创建、 修改或 删除的权限; 或者,
具体用于当所述第一控制器发起的管理指令为查看指令时, 将所述第一 控制器相对所述交换机的管理权限等级和所述第一流表项的第二安全等级进 行比对, 若确定所述第一控制器相对所述交换机的管理权限等级不低于所述 第一流表项的第二安全等级, 则确定所述第一控制器具备对所述第一流表项 进行查看的权限。
结合第二方面的第三种可能的实现方式, 在第二方面的第五种可能的实 现方式中, 所述执行模块, 具体用于在所述权限比对模块确定所述第一控制 器具备对所述第一流表项进行相应管理的权限时, 若确定所述第一控制器发 起的管理指令为创建指令, 则根据所述第一控制器发起的管理指令, 在所述 交换机的本地创建所述第一流表项, 并将所述第一控制器发起的管理指令中 携带的所述第一流表项的安全等级填写入预先增加的所述第一流表项的流表 项权限域中; 或者,
若确定所述第一控制器发起的管理指令为修改指令或删除指令, 则根据 所述第一控制器发起的管理指令, 查找所述交换机的本地存储的所述第一流 表项, 并对查找到的所述第一流表项进行相应的修改或删除处理; 或者, 若确定所述第一控制器发起的管理指令为查看指令, 则根据所述第一控 制器发起的管理指令, 查找所述交换机本地存储的所述第一流表项, 并将查 找到的所述第一流表项返回给所述第一控制器。
结合第二方面的第四种可能的实现方式, 在第二方面的第六种可能的实 现方式中, 所述权限比对模块, 还用于当所述第一控制器发起的管理指令为 创建指令时, 在确定所述第一控制器相对所述交换机的管理权限等级不低于 所述第一流表项的第一安全等级的同时或之后, 且在所述执行模块根据所述 第一控制器发起的管理指令对所述第一流表项进行相应管理之前, 将所述第 一流表项的第一安全等级与所述第一流表项的第二安全等级进行比对, 并确 定所述第一流表项的第一安全等级不低于所述第一流表项的第二安全等级。
第三方面, 提供了一种交换机, 应用于流表项管理系统, 所述流表项管 理系统包括至少一个所述交换机以及至少一个控制器, 其中, 所述至少一个 控制器中存在一个或多个控制器与所述交换机相连接, 并且, 与所述交换机 相连接的一个或多个控制器中的每个控制器相对于所述交换机设置有相应的 管理权限等级, 所述交换机包括:
接收器, 用于接收第一控制器发起的针对第一流表项的管理指令, 所述 第一控制器为与所述交换机相连接的一个或多个控制器中的任一控制器, 所 述第一流表项为所述第一控制器发起的管理指令中携带的任一待创建流表项 或所述交换机中存储的任一已创建流表项;
处理器, 用于在所述接收器接收到所述第一控制器发起的管理指令后, 获取所述第一控制器相对所述交换机的管理权限等级, 以及所述第一流表项 的安全等级, 并将所述第一控制器相对所述交换机的管理权限等级和所述第 一流表项对应于所述第一控制器发起的管理指令的安全等级进行比对, 以及, 在确定所述第一控制器相对所述交换机的管理权限等级不低于所述第一流表 项对应于所述第一控制器发起的管理指令的安全等级时, 确定所述第一控制 器具备对所述第一流表项进行相应管理的权限, 并根据所述第一控制器发起 的管理指令对所述第一流表项进行相应管理;
其中, 所述第一流表项对应不同的管理指令分别设置有相应的安全等级, 所述安全等级用于表示对所述第一流表项进行管理的控制器所应具有的管理 权限等级。
结合第三方面, 在第三方面的第一种可能的实现方式中, 所述处理器, 还用于在确定所述第一控制器相对所述交换机的管理权限等级低于所述第一 流表项对应于所述第一控制器发起的管理指令的安全等级时, 确定所述第一 控制器不具备对所述第一流表项进行相应管理的权限, 并拒绝执行根据所述 第一控制器发起的管理指令对所述第一流表项进行相应管理的操作。
结合第三方面或第三方面的第一种可能的实现方式, 在第三方面的第二 种可能的实现方式中, 所述接收器接收到的所述第一控制器发起的管理指令
中携带有所述第一控制器的网络协议地址以及所述第一流表项的匹配域; 所述处理器, 具体用于根据所述第一控制器发起的管理指令中携带的所 述第一控制器的网络协议地址以及预先设置的、 与所述交换机相连接的各控 制器相对所述交换机的管理权限等级和与所述交换机相连接的各控制器的网 络协议地址之间的关联关系, 查询与所述第一控制器发起的管理指令中携带 的所述第一控制器的网络协议地址相对应的管理权限等级, 并将查询到的管 理权限等级作为获取到的所述第一控制器相对所述交换机的管理权限等级; 其中, 预先设置的、 与所述交换机相连接的各控制器相对所述交换机的管理 权限等级和与所述交换机相连接的各控制器的网络协议地址之间的关联关系 存储在所述交换机中; 以及,
具体用于根据所述第一控制器发起的管理指令中携带的所述第一流表项 的匹配域以及预先设置的各流表项的安全等级与各流表项的匹配域之间的关 联关系, 查询与所述第一控制器发起的管理指令中携带的所述第一流表项的 匹配域相对应的安全等级, 并将查询到的安全等级作为获取到的所述第一流 表项的安全等级; 其中, 当所述第一流表项为所述第一控制器发起的管理指 令中携带的任一待创建流表项时, 预先设置的所述第一流表项的安全等级与 所述第一流表项的匹配域之间的关联关系携带在所述第一控制器发起的管理 指令中, 当所述第一流表项为所述交换机中存储的任一已创建流表项时, 预 先设置的所述第一流表项的安全等级与所述第一流表项的匹配域之间的关联 关系存储在所述交换机中。
结合第三方面或第三方面的第一种可能的实现方式, 在第三方面的第三 种可能的实现方式中, 所述处理器获取到的所述第一流表项的安全等级至少 包括所述第一流表项对应于内容修改管理指令的第一安全等级和 /或所述第一 流表项对应于内容查看管理指令的第二安全等级;
其中, 所述内容修改管理指令至少包括创建指令、 修改指令以及删除指 令中的一种或多种; 所述内容查看管理指令至少包括查看指令。
结合第三方面的第三种可能的实现方式, 在第三方面的第四种可能的实
现方式中, 所述处理器, 具体用于当所述第一控制器发起的管理指令为创建 指令、 修改指令或删除指令时, 将所述第一控制器相对所述交换机的管理权 限等级和所述第一流表项的第一安全等级进行比对, 若确定所述第一控制器 相对所述交换机的管理权限等级不低于所述第一流表项的第一安全等级, 则 确定所述第一控制器具备对所述第一流表项进行相应的创建、 修改或删除的 权限; 或者,
具体用于当所述第一控制器发起的管理指令为查看指令时, 将所述第一 控制器相对所述交换机的管理权限等级和所述第一流表项的第二安全等级进 行比对, 若确定所述第一控制器相对所述交换机的管理权限等级不低于所述 第一流表项的第二安全等级, 则确定所述第一控制器具备对所述第一流表项 进行查看的权限。
结合第三方面的第三种可能的实现方式, 在第三方面的第五种可能的实 现方式中, 所述处理器, 具体用于在确定所述第一控制器具备对所述第一流 表项进行相应管理的权限时, 若确定所述第一控制器发起的管理指令为创建 指令, 则根据所述第一控制器发起的管理指令, 在所述交换机的本地创建所 述第一流表项, 并将所述第一控制器发起的管理指令中携带的所述第一流表 项的安全等级填写入预先增加的所述第一流表项的流表项权限域中; 或者, 若确定所述第一控制器发起的管理指令为修改指令或删除指令, 则根据 所述第一控制器发起的管理指令, 查找所述交换机的本地存储的所述第一流 表项, 并对查找到的所述第一流表项进行相应的修改或删除处理; 或者, 若确定所述第一控制器发起的管理指令为查看指令, 则根据所述第一控 制器发起的管理指令, 查找所述交换机本地存储的所述第一流表项, 并将查 找到的所述第一流表项返回给所述第一控制器。
结合第三方面的第四种可能的实现方式, 在第三方面的第六种可能的实 现方式中, 所述处理器, 还用于当所述第一控制器发起的管理指令为创建指 令时, 在确定所述第一控制器相对所述交换机的管理权限等级不低于所述第 一流表项的第一安全等级的同时或之后, 且在根据所述第一控制器发起的管
理指令对所述第一流表项进行相应管理之前, 将所述第一流表项的第一安全 等级与所述第一流表项的第二安全等级进行比对, 并确定所述第一流表项的 第一安全等级不低于所述第一流表项的第二安全等级。
在本发明实施例所述技术方案中, 由于任一交换机在接收到与其相连接 的任一控制器发起的针对任一流表项的管理指令后, 可首先根据获取到的所 述任一控制器相对所述任一交换机的管理权限等级以及所述任一流表项的安 全等级, 判断所述任一控制器相对所述任一交换机的管理权限等级是否不低 于所述任一流表项对应于所述任一控制器发起的管理指令的安全等级, 并在 确定判断结果为是时, 确定所述任一控制器具备对所述任一流表项进行相应 管理的权限, 并根据所述任一控制器发起的管理指令对所述任一流表项进行 相应管理, 从而在避免了对流表项进行随意删除或修改等操作现象的基础上, 达到了有效保护流表项、 进而提高系统安全性的目的。 附图说明
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中 所需要使用的附图作简要介绍, 显而易见地, 下面描述中的附图仅仅是本发 明的一些实施例, 对于本领域的普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据这些附图获得其他的附图。
图 1所示为本发明实施例一中所述流表项管理方法的流程示意图; 图 2所示为本发明实施例二中所述交换机的结构示意图;
图 3所示为本发明实施例三中所述交换机的结构示意图。 具体实施方式
本发明实施例提供了一种流表项管理方法及设备, 所述方法可应用于流 表项管理系统中, 所述流表项管理系统可包括至少一个交换机以及至少一个 控制器, 其中, 针对所述至少一个交换机中的任一交换机, 所述至少一个控 制器中存在一个或多个控制器与所述任一交换机相连接, 并且, 与所述任一
交换机相连接的一个或多个控制器中的每个控制器相对于所述任一交换机设 置有相应的管理权限等级, 具体地, 所述方法包括:
第一交换机在接收第一控制器发起的针对第一流表项的管理指令后, 获 取所述第一控制器相对所述第一交换机的管理权限等级, 以及所述第一流表 项的安全等级; 其中, 所述第一流表项对应不同的管理指令分别设置有相应 的安全等级, 所述安全等级用于表示对所述第一流表项进行管理的控制器所 应具有的管理权限等级; 所述第一交换机为所述至少一个交换机中的任一交 换机, 所述第一控制器为与所述第一交换机相连接的一个或多个控制器中的 任一控制器, 所述第一流表项为所述第一控制器发起的管理指令中携带的任 一待创建流表项或所述第一交换机中存储的任一已创建流表项;
所述第一交换机将所述第一控制器相对所述第一交换机的管理权限等级 和所述第一流表项对应于所述第一控制器发起的管理指令的安全等级进行比 对, 若确定所述第一控制器相对所述第一交换机的管理权限等级不低于所述 第一流表项对应于所述第一控制器发起的管理指令的安全等级, 则确定所述 第一控制器具备对所述第一流表项进行相应管理的权限, 并根据所述第一控 制器发起的管理指令对所述第一流表项进行相应管理。
在本发明实施例所述技术方案中, 由于任一交换机在接收到与其相连接 的任一控制器发起的针对任一流表项的管理指令后, 可首先根据获取到的所 述任一控制器相对所述任一交换机的管理权限等级以及所述任一流表项的安 全等级, 判断所述任一控制器相对所述任一交换机的管理权限等级是否不低 于所述任一流表项对应于所述任一控制器发起的管理指令的安全等级, 并在 确定判断结果为是时, 确定所述任一控制器具备对所述任一流表项进行相应 管理的权限, 并根据所述任一控制器发起的管理指令对所述任一流表项进行 相应管理, 从而在避免了对流表项进行随意删除或修改等操作现象的基础上, 达到了有效保护流表项、 进而提高系统安全性的目的。
为了使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本 发明作进一步地详细描述, 显然, 所描述的实施例仅仅是本发明一部分实施
例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在 没有做出创造性劳动前提下所获得的所有其它实施例, 都属于本发明保护的 范围。
实施例一:
本发明实施例一提供了一种流表项管理方法, 如图 1 所示, 其为本发明 实施例一中所述流表项管理方法的流程示意图, 所述流表项管理方法可应用 于本发明实施例所述的流表项管理系统中, 所述流表项管理系统可包括至少 一个交换机以及至少一个控制器, 其中, 针对所述至少一个交换机中的任一 交换机, 所述至少一个控制器中存在一个或多个控制器与所述任一交换机相 连接, 并且, 与所述任一交换机相连接的一个或多个控制器中的每个控制器 相对于所述任一交换机设置有相应的管理权限等级。 具体地, 所述流表项管 理方法可包括以下步骤:
步骤 101 :第一交换机在接收第一控制器发起的针对第一流表项的管理指 令后, 获取所述第一控制器相对所述第一交换机的管理权限等级, 以及所述 第一流表项的安全等级。
其中, 在本发明所述实施例中, 所述第一流表项对应不同的管理指令分 别设置有相应的安全等级, 所述安全等级可用于表示对所述第一流表项进行 管理的控制器所应具有的管理权限等级; 所述第一交换机为所述流表项管理 系统中包括的所述至少一个交换机中的任一交换机, 所述第一控制器为与所 述第一交换机相连接的一个或多个控制器中的任一控制器, 所述第一流表项 为所述第一控制器发起的管理指令中携带的任一待创建流表项或所述第一交 换机中存储的任一已创建流表项。
进一步地, 需要说明的是, 在本发明所述实施例中, 如无特殊说明, 所 述流表项管理系统中包括的各交换机通常指的是 OpenFlow交换机,本发明实 施例对此不再赘述。
进一步地, 在本发明所述实施例中, 所述第一交换机所接收到的所述第 一控制器发起的管理指令可为创建指令、 删除指令、 修改指令或查看指令等,
本发明实施例对此不作任何限定。 并且, 所述第一控制器发起的管理指令中 通常可携带有所述第一控制器的网络协议地址以及所述第一控制器发起的管 理指令所针对的第一流表项的匹配域等信息。 另外需要说明的是, 所述第一 控制器发起的管理指令中还可携带有相应的掩码字符等信息、 以进行流表项 的模糊匹配等, 本发明实施例对此也不作任何限定。
进一步地, 需要说明的是, 所述第一控制器发起的管理指令中所携带的 流表项的匹配域可为一个或多个流表项的匹配域。 也就是说, 在本发明所述 实施例中, 所述第一控制器发起的管理指令可为针对一个流表项或多个流表 项的管理指令, 本发明实施例对此不作任何限定。
进一步地, 在本发明所述实施例中, 针对所述流表项管理系统中包括的 任一交换机, 即所述第一交换机, 与所述第一交换机相连接的一个或多个控 制器中的每个控制器相对于所述第一交换机的管理权限等级通常可由配置点
(如 OpenFlow Configuration Point )配置完成。 其中, 所述配置点可为一独立 网元, 也可为集成在相应的控制器中的集成网元, 本发明实施例对此不作任 何限定。
具体地, 在本发明所述实施例中, 针对所述流表项管理系统中包括的任 一交换机, 即所述第一交换机, 所述配置点可通过以下方式配置与所述第一 交换机相连接的各控制器相对于所述第一交换机的管理权限等级:
根据与所述第一交换机相连接的各控制器相对所述第一交换机的流表项 操作权限的高低, 将与所述第一交换机相连接的各控制器划分为多个权限等 级; 并
根据与所述第一交换机相连接的各控制器所对应的权限等级, 为与所述 第一交换机相连接的各控制器配置相应的相对于所述第一交换机的管理权限 等级。
其中, 所配置的与所述第一交换机相连接的各控制器相对于所述第一交 换机的管理权限等级通常各不相同。 当然, 特殊地, 也可存在所具备的相对 于所述第一交换机的管理权限等级相同的两个或多个控制器, 本发明实施例
对此不作任何限定。
另外需要说明的是, 在本发明所述实施例中, 针对任一控制器, 所述控 制器相对于与其相连接的不同的交换机的管理权限等级可相同或不同, 具体 可根据实际情况进行设定, 本发明实施例对此也不作任何限定。
进一步地, 在本发明所述实施例中, 针对所述流表项管理系统中包括的 任一交换机, 即所述第一交换机, 所述配置点在配置与所述第一交换机相连 接的各控制器相对于所述第一交换机的管理权限等级的同时或之后, 还可配 置与所述第一交换机相连接的各控制器的网络协议地址(或各控制器的其他 可用于唯一标识各控制器的标识信息 )等信息。
进一步地, 所述配置点在配置与所述第一交换机相连接的各控制器相对 于所述第一交换机的管理权限等级、 以及与所述第一交换机相连接的各控制 器的网络协议地址等信息的同时或之后, 可通过与所述第一交换机进行通信 交互的方式, 将所配置的与所述第一交换机相连接的各控制器相对于所述第 一交换机的管理权限等级以及与所述第一交换机相连接的各控制器的网络协 议地址等信息告知所述第一交换机, 以使所述第一交换机根据接收到的来自 所述配置点的上述信息, 获知并存储与所述第一交换机相连接的各控制器相 对于所述第一交换机的管理权限等级以及与所述第一交换机相连接的各控制 器的网络协议地址等信息。
需要说明的是, 在本发明所述实施例中, 针对所述流表项管理系统中包 括的任一交换机, 即所述第一交换机, 所述第一交换机在接收到与所述第一 交换机相连接的各控制器相对于所述第一交换机的管理权限等级以及与所述 第一交换机相连接的各控制器的网络协议地址等信息之后, 可根据接收到的 上述信息, 建立与所述第一交换机相连接的各控制器相对所述第一交换机的 管理权限等级和与所述第一交换机相连接的各控制器的网络协议地址(或各 控制器的其他可用于唯一标识各控制器的标识信息)之间的关联关系, 并通 过在本地存储上述关联关系的方式, 对接收到的与所述第一交换机相连接的 各控制器相对于所述第一交换机的管理权限等级以及与所述第一交换机相连
接的各控制器的网络协议地址等信息进行相应的存储, 本发明实施例对此不 作任何限定。
相应地, 在本发明所述实施例中, 针对所述流表项管理系统中包括的任 一交换机, 即所述第一交换机, 所述第一交换机在接收第一控制器发起的针 对第一流表项的管理指令后, 获取所述第一控制器相对所述第一交换机的管 理权限等级, 可以包括:
根据所述第一控制器发起的管理指令中携带的所述第一控制器的网络协 议地址以及预先建立的与所述第一交换机相连接的各控制器相对所述第一交 换机的管理权限等级和与所述第一交换机相连接的各控制器的网络协议地址 之间的关联关系, 查询与所述第一控制器发起的管理指令中携带的所述第一 控制器的网络协议地址相对应的管理权限等级, 并将查询到的管理权限等级 作为获取到的所述第一控制器相对所述第一交换机的管理权限等级。
进一步地, 在本发明所述实施例中, 针对所述流表项管理系统中包括的 任一交换机, 即所述第一交换机, 在通过配置点在所述第一交换机上配置与 所述第一交换机相连接的各控制器相对于所述第一交换机的管理权限等级以 及与所述第一交换机相连接的各控制器的网络协议地址之后, 还可将所配置 的与所述第一交换机相连接的各控制器相对于所述第一交换机的管理权限等 级以及与所述第一交换机相连接的各控制器的网络协议地址发送给相应的控 制器 , 以便各控制器在本地保存与其相关的管理权限等级等配置信息。
具体地, 在本发明所述实施例中, 针对与所述第一交换机相连接的至少 一个控制器中的任一控制器, 即所述第一控制器, 所述第一控制器可在与所 述第一交换机建立相应的会话连接(如 OpenFlow会话连接)后, 通过向所述 第一交换机发送权限获取请求消息 (如 authority—request消息) 的方式, 向所 述第一交换机请求所述第一控制器相对于所述第一交换机的管理权限等级。 相应地, 所述第一交换机在接收到所述权限获取请求消息后, 可根据所述第 一控制器的网络协议地址, 查找本地保存的与所述网络协议地址相对应的管 理权限等级, 并通过向所述第一控制器返回携带有相应管理权限等级的权限
应答消息 (如 authority— reply消息) 的方式, 向所述第一控制器返回相应的管 理权限等级, 本发明实施例对此不再赘述。
进一步地, 在本发明所述实施例中, 针对所述第一控制器发起的管理指 令中携带的任一待创建流表项或所述第一交换机中存储的任一已创建流表 项, 即第一流表项, 所述第一流表项对应不同的管理指令的安全等级通常可 以是由相应的控制器在下发针对所述第一流表项的创建指令时, 由所述相应 的控制器根据所述第一流表项的重要性以及私密性所预先配置的。
具体地, 所述第一流表项的安全等级可包括所述第一流表项对应于内容 修改管理指令的第一安全等级以及所述第一流表项对应于内容查看管理指令 的第二安全等级。 其中, 所述内容修改管理指令至少可包括创建指令、 修改 指令以及删除指令中的一种或多种, 所述内容查看管理指令至少可包括查看 指令, 本发明实施例对此不作任何限定。
另外需要说明的是, 基于安全性的考虑, 原则上, 在进行所述第一流表 项的安全等级的配置时, 所配置的所述第一流表项对应于内容修改管理指令 的第一安全等级应该不小于所配置的所述第一流表项对应于内容查看管理指 令的第二安全等级, 本发明实施例对此不作赘述。
进一步地, 需要说明的是, 在本发明所述实施例中, 由于针对任意两个 流表项, 为其配置的安全等级通常互不相同, 因此, 为了便于区分各流表项 的安全等级, 通常可在为各流表项配置相应的安全等级的同时, 由相应的控 制器预先建立各流表项的安全等级与各流表项的匹配域(或各流表项的其他 能够唯一表示各流表项的标识信息)之间的关联关系, 以便后续可根据任一 流表项的匹配域等信息, 确定与其相对应的安全等级, 本发明实施例对此不 作赘述。
相应地, 第一交换机在接收第一控制器发起的针对第一流表项的管理指 令后, 可通过以下方式获取所述第一流表项的安全等级:
根据所述第一控制器发起的管理指令中携带的所述第一流表项的匹配域 以及预先建立的各流表项的安全等级与各流表项的匹配域之间的关联关系,
查询与所述第一控制器发起的管理指令中携带的所述第一流表项的匹配域相 对应的安全等级, 并将查询到的安全等级作为获取到的所述第一流表项的安 全等级。
进一步地, 需要说明的是, 在本发明所述实施例中, 当所述第一流表项 为所述第一控制器发起的管理指令中携带的任一待创建流表项时, 所述第一 流表项的安全等级与所述第一流表项的匹配域之间的关联关系可携带在所述 第一控制器发起的管理指令中。 相应地, 此时, 所述第一交换机可根据所述 第一控制器发起的管理指令中携带的所述第一流表项的匹配域, 查询所述第 一控制器发起的管理指令中携带的、 与所述第一流表项的匹配域相对应的安 全等级的方式, 获取所述第一流表项的安全等级, 本发明实施例对此不作赘 述。
进一步地, 需要说明的是, 在本发明所述实施例中, 当所述第一流表项 为所述第一交换机中存储的任一已创建流表项时, 所述第一流表项的安全等 级与所述第一流表项的匹配域之间的关联关系可存储在所述第一交换机中。 相应地, 此时, 所述第一交换机可通过查询所述第一交换机中存储的、 与所 述第一流表项的匹配域相对应的安全等级的方式, 获取所述第一流表项的安 全等级, 本发明实施例对此也不作赘述。
步骤 102:所述第一交换机将所述第一控制器相对所述第一交换机的管理 权限等级和所述第一流表项对应于所述第一控制器发起的管理指令的安全等 级进行比对, 若确定所述第一控制器相对所述第一交换机的管理权限等级不 低于所述第一流表项对应于所述第一控制器发起的管理指令的安全等级, 则 确定所述第一控制器具备对所述第一流表项进行相应管理的权限, 并根据所 述第一控制器发起的管理指令对所述第一流表项进行相应管理。
具体地, 所述第一交换机获取到的所述第一流表项的安全等级可包括所 述第一流表项对应于内容修改管理指令的第一安全等级和 /或所述第一流表 项对应于内容查看管理指令的第二安全等级, 具体可根据所述第一控制器发 起的管理指令的性质来决定, 本发明实施例对此不作任何限定。
例如, 当所述第一控制器发起的管理指令为创建指令时, 所述第一交换 机获取到的所述第一流表项的安全等级通常可包括所述第一流表项的第一安 全等级以及所述第一流表项的第二安全等级, 即此时, 所述第一交换机通常 可获取所述第一流表项的所有安全等级。 需要说明的是, 此时, 所述第一控 制器发起的管理指令通常可以 flow— mod ( OFPFC— ADD ) 消息的形式发起, 本发明实施例对此不作赘述。
另外需要说明的是, 此时, 所述第一流表项的第一安全等级以及所述第 一流表项的第二安全等级通常可以是由所述第一控制器根据所述第一流表项 的重要性和私密性预先配置的; 并且, 所述第一流表项的第一安全等级以及 所述第一流表项的第二安全等级可同时携带在所述 flow— mod ( OFPFC— ADD ) 消息中发送给所述第一交换机, 以使所述第一交换机通过查询所述 flow— mod ( OFPFC— ADD )消息中携带的与所述第一流表项的匹配域相对应的安全等级 的方式获取相应的第一安全等级以及第二安全等级, 本发明实施例对此也不 作赘述。
相应地, 当所述第一控制器发起的管理指令为创建指令时, 将所述第一 控制器相对所述第一交换机的管理权限等级和所述第一流表项对应于所述第 一控制器发起的管理指令的安全等级进行比对, 若确定所述第一控制器相对 所述第一交换机的管理权限等级不低于所述第一流表项对应于所述第一控制 器发起的管理指令的安全等级, 则确定所述第一控制器具备对所述第一流表 项进行相应管理的权限, 可以包括:
将所述第一控制器相对所述第一交换机的管理权限等级和所述第一流表 项的第一安全等级进行比对, 若确定所述第一控制器相对所述第一交换机的 管理权限等级不低于所述第一流表项的第一安全等级, 则确定所述第一控制 器具备对所述第一流表项进行相应的创建的权限。
进一步地, 当所述第一控制器发起的管理指令为创建指令时, 在确定所 述第一控制器具备对所述第一流表项进行相应管理的权限时, 根据所述第一 控制器发起的管理指令对所述第一流表项进行相应管理, 可以包括:
根据所述第一控制器发起的管理指令, 在所述第一交换机本地创建所述 第一流表项, 并将所述第一控制器发起的管理指令中携带的所述第一流表项 的安全等级填写入预先增加的所述第一流表项的流表项权限域中。 其中, 预 先增加的所述第一流表项的流表项权项域可包括第一权限域和第二权限域。 相应地, 在进行所述第一流表项的安全等级的填写操作时, 可将所述第一流 表项的第一安全等级以及所述第一流表项的第二安全等级分别填写入所述流 表项的第一权限域以及第二权限域中。
进一步地, 需要说明的是, 为了保证所创建的第一流表项本身的正确性, 当所述第一控制器发起的管理指令为创建指令时, 在确定所述第一控制器相 对所述第一交换机的管理权限等级不低于所述第一流表项的第一安全等级的 同时或之后, 且在根据所述第一控制器发起的管理指令对所述第一流表项进 行相应管理之前, 所述方法还可包括:
将所述第一流表项的第一安全等级与所述第一流表项的第二安全等级进 行比对, 并确定所述第一流表项的第一安全等级不低于所述第一流表项的第 二安全等级。
也就是说, 在进行第一流表项的创建操作时, 除了要保证所述第一控制 器相对所述第一交换机的管理权限等级不低于所述第一流表项对应于所述第 一控制器发起的管理指令的安全等级之外, 还需要保证所述第一流表项的第 一安全等级不低于所述第一流表项的第二安全等级, 以避免由于预先配置的 第一流表项的安全等级不正确所导致的无法进行相应流表项的创建操作的目 的。
另外, 需要说明的是, 当所述第一控制器发起的管理指令为针对多个流 表项发起的创建指令时, 针对每一流表项, 均可以按照本发明实施例中所述 的权限判断方式对所述第一控制器是否具备对所述流表项进行创建管理的权 限进行判断, 本发明实施例对此不作任何限定。 进一步地, 可在依次判断完 所述第一控制器是否具备对上述多个流表项中的各流表项进行创建管理的权 限之后, 且确定所述第一控制器具备对上述多个流表项中的至少一个流表项
进行创建管理的权限时, 根据所述第一控制器发起的管理指令, 在本地创建 相应的至少一个流表项; 或者, 也可在每次确定所述第一控制器具备对上述 多个流表项中的任一流表项进行创建管理的权限时, 根据所述第一控制器发 起的管理指令, 在本地创建相应的任一流表项, 本发明实施例对此不作任何 限定。
进一步地, 当所述第一控制器发起的管理指令为修改指令或删除指令时, 为了提高信息获取的便捷性以及节省信息获取资源, 所述第一交换机获取到 的所述第一流表项的安全等级可仅包括所述第一流表项的第一安全等级。 需 要说明的是, 此时, 所述修改指令或删除指令通常可分别以 flow— mod ( OFPFC MODIF ) 消息或 flow mod ( OFPFC— DELETE ) 消息的形式发起; 并且, 此时, 所述第一流表项的第一安全等级通常可以是通过查询所述第一 交换机本地保存的、 与所述第一流表项的匹配域相对应的安全等级的方式获 取到的, 本发明实施例对此不作赘述。
相应地, 当所述所述第一控制器发起的管理指令为修改指令或删除指令 时, 将所述第一控制器相对所述第一交换机的管理权限等级和所述第一流表 项对应于所述第一控制器发起的管理指令的安全等级进行比对, 若确定所述 第一控制器相对所述第一交换机的管理权限等级不低于所述第一流表项对应 于所述第一控制器发起的管理指令的安全等级, 则确定所述第一控制器具备 对所述第一流表项进行相应管理的权限, 可以包括:
将所述第一控制器相对所述第一交换机的管理权限等级和所述第一流表 项的第一安全等级进行比对, 若确定所述第一控制器相对所述第一交换机的 管理权限等级不低于所述第一流表项的第一安全等级, 则确定所述第一控制 器具备对所述第一流表项进行相应的修改或删除的权限。
也就是说, 在进行第一流表项的修改或删除等操作时, 可仅保证所述第 一控制器相对所述第一交换机的管理权限等级不低于所述第一流表项对应于 修改或删除等管理指令的安全等级即可。
进一步地, 当所述第一控制器发起的管理指令为修改指令或删除指令时,
在确定所述第一控制器具备对所述第一流表项进行相应管理的权限时, 根据 所述第一控制器发起的管理指令对所述第一流表项进行相应管理, 可以包括: 根据所述第一控制器发起的管理指令, 查找所述第一交换机本地存储的 所述第一流表项, 并对查找到的所述第一流表项进行相应的修改处理或删除 处理。 具体地, 可通过所述第一控制器发起的管理指令中携带的所述第一流 表项的匹配域, 查找相应的第一流表项, 本发明实施例对此不作赘述。 另外 需要说明的是, 在本发明所述实施例中, 根据所述第一控制器发起的管理指 令中携带的第一流表项的匹配域查找相应的流表项的操作还可在确定所述第 一控制器是否具备对相应流表项进行管理的权限之前进行, 本发明实施例对 此不作任何限定。
再有需要说明的是, 当所述第一控制器发起的管理指令为针对多个流表 项发起的修改指令或删除指令时, 针对每一流表项, 均可以按照本发明实施 例中所述的权限判断方式对所述第一控制器是否具备对所述流表项进行修改 或删除管理的权限进行判断, 本发明实施例对此不作任何限定。 进一步地, 可在每次确定所述第一控制器具备对上述多个流表项中的任一流表项进行修 改或删除管理的权限时, 根据所述第一控制器发起的管理指令, 查找本地存 储的所述任一流表项, 并对查找到的所述任一流表项进行相应的修改处理或 删除处理, 本发明实施例对此不作任何限定。
进一步地, 当所述第一控制器发起的管理指令为修改指令时, 所述第一 控制器发起的管理指令中通常还可携带有对相应流表项进行修改的修改内容 信息, 本发明实施例对此不作赘述。
进一步地, 当所述第一控制器发起的管理指令为查看指令时, 为了提高 信息获取的便捷性以及节省信息获取资源, 所述第一交换机获取到的所述第 一流表项的安全等级可仅包括所述第一流表项的第二安全等级。 当然, 需要 说明的是, 由于第一流表项被创建后, 其所对应的第一安全等级通常不小于 其所对应的第二安全等级, 因此, 此时, 所述第一交换机也可仅获取所述第 一流表项的第一安全等级, 或也可同时获取所述第一流表项的第一安全等级
以及所述第一流表项的第二安全等级, 本发明实施例对此不作任何限定。 另 外需要说明 的是, 此时 , 所述查看指令通常可以 multipart ( οφ— flow— stats— request ) 消息的形式发起; 并且, 此时, 所述第一流表项的 第一安全等级或所述第一流表项的第二安全等级通常可以是通过查询所述第 一交换机本地保存的、 与所述第一流表项的匹配域相对应的安全等级的方式 获取到的, 本发明实施例对此不作赘述。
相应地, 当所述第一控制器发起的管理指令为查看指令时, 将所述第一 控制器相对所述第一交换机的管理权限等级和所述第一流表项对应于所述第 一控制器发起的管理指令的安全等级进行比对, 若确定所述第一控制器相对 所述第一交换机的管理权限等级不低于所述第一流表项对应于所述第一控制 器发起的管理指令的安全等级, 则确定所述第一控制器具备对所述第一流表 项进行相应管理的权限, 可以包括:
将所述第一控制器相对所述第一交换机的管理权限等级和所述第一流表 项的第二安全等级(或所述第一流表项的第一安全等级)进行比对, 若确定 所述第一控制器相对所述第一交换机的管理权限等级不低于所述第一流表项 的第二安全等级(或确定所述第一控制器相对所述第一交换机的管理权限等 级不低于所述第一流表项的第一安全等级 ), 则确定所述第一控制器具备对所 述第一流表项进行查看的权限。
也就是说, 在进行第一流表项的查看操作时, 可仅保证所述第一控制器 相对所述第一交换机的管理权限等级不低于所述第一流表项的第二安全等级 (或所述第一流表项的第一安全等级) 即可。
进一步地, 当所述第一控制器发起的管理指令为查看指令时, 在确定所 述第一控制器具备对所述第一流表项进行相应管理的权限时, 根据所述第一 控制器发起的管理指令对所述第一流表项进行相应管理, 可以包括:
根据所述第一控制器发起的管理指令, 查找所述第一交换机本地存储的 所述第一流表项, 并将查找到的所述第一流表项返回给所述第一控制器, 以 使所述第一控制器对所述第一流表项进行相应的查看处理。
需要说明的是, 当所述第一控制器发起的管理指令为针对多个流表项发 起的查看指令时, 针对每一流表项, 均可以按照本发明实施例中所述的权限 判断方式对所述第一控制器是否具备对所述流表项进行查看管理的权限进行 判断, 本发明实施例对此不作任何限定。 进一步地, 可在依次判断完所述第 一控制器是否具备对上述多个流表项中的各流表项进行查看管理的权限之 后, 且确定所述第一控制器具备对上述多个流表项中的至少一个流表项进行 查看管理的权限时, 根据所述第一控制器发起的管理指令, 查找本地存储的 所述至少一个流表项, 并将查找到的所述至少一个流表项返回给所述第一控 制器;具体地,此时,可通过将所述至少一个流表项组装成 ofp— multipart— reply ( οφ— flow— stats ) 消息的方式, 返回给所述第一控制器。 或者, 也可在每次 确定所述第一控制器具备对上述多个流表项中的任一流表项进行查看管理的 权限时, 根据所述第一控制器发起的管理指令, 查找本地存储的所述任一流 表项, 并将查找到的所述任一流表项返回给所述第一控制器, 本发明实施例 对此不作任何限定。
另外需要说明的是, 在本发明所述实施例中, 在确定所述第一控制器具 备对所述第一流表项进行管理的权限, 且根据所述第一控制器发起的管理指 令对所述第一流表项进行相应管理之后, 还可向所述第一控制器返回用于表 示管理成功或管理失败的第一响应消息, 本发明实施例对此不作任何限定。
进一步地, 在本发明所述实施例中, 所述方法还可包括以下步骤: 所述第一交换机若确定所述第一控制器相对所述第一交换机的管理权限 等级低于所述第一流表项对应于所述第一控制器发起的管理指令的安全等 级, 则确定所述第一控制器不具备对所述第一流表项进行相应管理的权限, 并拒绝执行根据所述第一控制器发起的管理指令对所述第一流表项进行相应 管理的操作。
具体地, 所述第一交换机可通过向所述第一控制器返回用于表示所述第 一控制器不具备对所述第一流表项进行管理的权限的第二响应消息的方式, 拒绝执行根据所述第一控制器发起的管理指令对所述第一流表项进行相应管
理的操作, 本发明实施例对此不作赘述。
本发明实施例一提供了一种流表项管理方法, 在本发明实施例一所述技 术方案中, 由于任一交换机在接收到与其相连接的任一控制器发起的针对任 一流表项的管理指令后, 可首先根据获取到的所述任一控制器相对所述任一 交换机的管理权限等级以及所述任一流表项的安全等级, 判断所述任一控制 器相对所述任一交换机的管理权限等级是否不低于所述任一流表项对应于所 述任一控制器发起的管理指令的安全等级, 并在确定判断结果为是时, 确定 所述任一控制器具备对所述任一流表项进行相应管理的权限, 并根据所述任 一控制器发起的管理指令对所述任一流表项进行相应管理, 从而在避免了对 流表项进行随意删除或修改等操作现象的基础上, 达到了有效保护流表项、 进而提高系统安全性的目的。
另外, 在本发明实施例一所述技术方案中, 通过控制器相对交换机的管 理权限等级的配置以及权限的判断等操作, 还可进一步达到隔离多个控制器 在同一交换机上的流表项, 以实现其他控制器无法操作本控制器所创建的流 表项的效果。
实施例二:
本发明实施例二提供了一种可用于实现本发明实施例一所示方法的交换 机, 所述交换机可应用于流表项管理系统中, 所述流表项管理系统可包括至 少一个本发明实施例二中所述的交换机以及至少一个控制器, 其中, 所述至 少一个控制器中存在一个或多个控制器与所述交换机相连接, 并且, 与所述 交换机相连接的一个或多个控制器中的每个控制器相对于所述交换机设置有 相应的管理权限等级。
具体地, 如图 2所示, 其为本发明实施例二中所述交换机的结构示意图, 所述交换机可包括指令接收模块 11、 权限获取模块 12、 权限比对模块 13以 及执行模块 14, 其中:
所述指令接收模块 11可用于接收第一控制器发起的针对第一流表项的管 理指令, 所述第一控制器为与所述交换机相连接的一个或多个控制器中的任
一控制器, 所述第一流表项为所述第一控制器发起的管理指令中携带的任一 待创建流表项或所述交换机中存储的任一已创建流表项;
所述权限获取模块 12可用于在所述指令接收模块 11接收到所述第一控 制器发起的管理指令后, 获取所述第一控制器相对所述交换机的管理权限等 级, 以及所述第一流表项的安全等级; 其中, 所述第一流表项对应不同的管 理指令分别设置有相应的安全等级, 所述安全等级用于表示对所述第一流表 项进行管理的控制器所应具有的管理权限等级;
所述权限比对模块 13可用于根据所述权限获取模块 12获取到的所述第 一控制器相对所述交换机的管理权限等级以及所述第一流表项的安全等级, 将所述第一控制器相对所述交换机的管理权限等级和所述第一流表项对应于 所述第一控制器发起的管理指令的安全等级进行比对, 以确定所述第一控制 器相对所述交换机的管理权限等级是否不低于所述第一流表项对应于所述第 一控制器发起的管理指令的安全等级;
所述执行模块 14可用于在所述权限比对模块 13确定所述第一控制器相 对所述交换机的管理权限等级不低于所述第一流表项对应于所述第一控制器 发起的管理指令的安全等级时, 确定所述第一控制器具备对所述第一流表项 进行相应管理的权限, 并根据所述第一控制器发起的管理指令对所述第一流 表项进行相应管理。
具体地, 在本发明所述实施例中, 所述指令接收模块 11所接收到的所述 第一控制器发起的管理指令可为创建指令、 删除指令、 修改指令或查看指令 等, 本发明实施例对此不作任何限定。 并且, 所述第一控制器发起的管理指 令中通常可携带有所述第一控制器的网络协议地址以及所述第一控制器发起 的管理指令所针对的第一流表项的匹配域等信息。 另外需要说明的是, 所述 第一控制器发起的管理指令中还可携带有相应的掩码字符等信息、 以进行流 表项的模糊匹配等, 本发明实施例对此也不作任何限定。
进一步地, 需要说明的是, 所述第一控制器发起的管理指令中所携带的 流表项的匹配域可为一个或多个流表项的匹配域。 也就是说, 在本发明所述
实施例中, 所述第一控制器发起的管理指令可为针对一个流表项或多个流表 项的管理指令, 本发明实施例对此不作任何限定。
进一步地, 在本发明所述实施例中, 所述交换机还可包括信息配置模块
15:
所述信息配置模块 15可用于, 通过与配置点进行通信交互的方式, 获知 所述配置点所配置的与所述交换机相连接的各控制器相对于所述交换机的管 理权限等级以及与所述交换机相连接的各控制器的网络协议地址等信息。
其中, 所配置的与所述交换机相连接的各控制器相对于所述交换机的管 理权限等级通常各不相同。 当然, 特殊地, 也可存在所具备的相对于所述交 换机的管理权限等级相同的两个或多个控制器, 本发明实施例对此不作任何 限定。
另外需要说明的是, 在本发明所述实施例中, 针对任一控制器, 所述控 制器相对于与其相连接的不同的交换机的管理权限等级可相同或不同, 具体 可根据实际情况进行设定, 本发明实施例对此也不作任何限定。
进一步地, 所述信息配置模块 15还可用于根据接收到的与所述交换机相 连接的各控制器相对于所述交换机的管理权限等级以及与所述交换机相连接 的各控制器的网络协议地址等信息, 建立与所述交换机相连接的各控制器相 对所述交换机的管理权限等级和与所述交换机相连接的各控制器的网络协议 地址之间的关联关系, 并通过存储上述关联关系的方式, 对接收到的与所述 交换机相连接的各控制器相对于所述交换机的管理权限等级以及与所述交换 机相连接的各控制器的网络协议地址等信息进行相应的存储。
相应地, 所述权限获取模块 12具体可用于在接收第一控制器发起的针对 第一流表项的管理指令后, 根据所述第一控制器发起的管理指令中携带的所 述第一控制器的网络协议地址, 以及所述信息配置模块 15预先建立的与所述 交换机相连接的各控制器相对所述交换机的管理权限等级和与所述交换机相 连接的各控制器的网络协议地址之间的关联关系, 查询与所述第一控制器发 起的管理指令中携带的所述第一控制器的网络协议地址相对应的管理权限等
级, 并将查询到的管理权限等级作为获取到的所述第一控制器相对所述交换 机的管理权限等级。
进一步地, 在本发明所述实施例中, 所述第一流表项对应不同的管理指 令的安全等级通常可以是由相应的控制器在下发针对所述第一流表项的创建 指令时, 由所述相应的控制器根据所述第一流表项的重要性以及私密性所预 先配置的。 具体地, 所述第一流表项的安全等级可包括所述第一流表项对应 于内容修改管理指令的第一安全等级以及所述第一流表项对应于内容查看管 理指令的第二安全等级。 其中, 所述内容修改管理指令至少可包括创建指令、 修改指令以及删除指令中的一种或多种, 所述内容查看管理指令至少可包括 查看指令, 本发明实施例对此不作任何限定。
另外需要说明的是, 基于安全性的考虑, 原则上, 在进行所述第一流表 项的安全等级的配置时, 所配置的所述第一流表项对应于内容修改管理指令 的第一安全等级应该不小于所配置的所述第一流表项对应于内容查看管理指 令的第二安全等级, 本发明实施例对此不作赘述。
进一步地, 在本发明所述实施例中, 由于针对任意两个流表项, 为其配 置的安全等级通常互不相同, 因此, 为了便于区分各流表项的安全等级, 通 常可在为各流表项配置相应的安全等级的同时, 建立各流表项的安全等级与 各流表项的匹配域之间的关联关系; 相应地, 所述权限获取模块 12具体可用 于在接收第一控制器发起的针对第一流表项的管理指令后, 根据所述第一控 制器发起的管理指令中携带的所述第一流表项的匹配域以及预先建立的各流 表项的安全等级与各流表项的匹配域之间的关联关系, 查询与所述第一控制 器发起的管理指令中携带的所述第一流表项的匹配域相对应的安全等级, 并 将查询到的安全等级作为获取到的所述第一流表项的安全等级; 其中, 当所 述第一流表项为所述第一控制器发起的管理指令中携带的任一待创建流表项 时, 预先设置的所述第一流表项的安全等级与所述第一流表项的匹配域之间 的关联关系可携带在所述第一控制器发起的管理指令中, 当所述第一流表项 为所述交换机中存储的任一已创建流表项时, 预先设置的所述第一流表项的
安全等级与所述第一流表项的匹配域之间的关联关系可存储在所述交换机 中。
需要说明的是, 所述权限获取模块 12获取到的所述第一流表项的安全等 级可包括所述第一流表项对应于内容修改管理指令的第一安全等级和 /或所 述第一流表项对应于内容查看管理指令的第二安全等级, 具体可根据所述第 一控制器发起的管理指令的性质来决定, 本发明实施例对此不作任何限定。
例如, 当所述第一控制器发起的管理指令为创建指令时, 所述权限获取 模块 12获取到的所述第一流表项的安全等级通常可包括所述第一流表项的第 一安全等级以及所述第一流表项的第二安全等级; 当所述第一控制器发起的 管理指令为修改指令或删除指令时, 所述权限获取模块 12获取到的所述第一 流表项的安全等级可仅包括所述第一流表项的第一安全等级; 当所述第一控 制器发起的管理指令为查看指令时 , 所述权限获取模块 12获取到的所述第一 流表项的安全等级可仅包括所述第一流表项的第二安全等级, 本发明实施例 对此不作赘述。
进一步地, 所述权限比对模块 13具体可用于当所述第一控制器发起的管 理指令为创建指令、 修改指令或删除指令时, 将所述第一控制器相对所述交 换机的管理权限等级和所述第一流表项的第一安全等级进行比对, 若确定所 述第一控制器相对所述交换机的管理权限等级不低于所述第一流表项的第一 安全等级, 则确定所述第一控制器具备对所述第一流表项进行相应的创建、 修改或删除的权限; 或者,
具体可用于当所述第一控制器发起的管理指令为查看指令时, 将所述第 一控制器相对所述交换机的管理权限等级和所述第一流表项的第二安全等级 进行比对, 若确定所述第一控制器相对所述交换机的管理权限等级不低于所 述第一流表项的第二安全等级, 则确定所述第一控制器具备对所述第一流表 项进行查看的权限。
进一步地, 所述执行模块 14具体可用于在所述权限比对模块 13确定所 述第一控制器具备对所述第一流表项进行相应管理的权限时, 若确定所述第
一控制器发起的管理指令为创建指令, 则根据所述第一控制器发起的管理指 令, 在所述交换机的本地创建所述第一流表项, 并将所述第一控制器发起的 管理指令中携带的所述第一流表项的安全等级填写入预先增加的所述第一流 表项的流表项权限域中; 或者,
具体可用于在所述权限比对模块 13确定所述第一控制器具备对所述第一 流表项进行相应管理的权限时, 若确定所述第一控制器发起的管理指令为修 改指令或删除指令, 则根据所述第一控制器发起的管理指令, 查找所述交换 机的本地存储的所述第一流表项, 并对查找到的所述第一流表项进行相应的 修改或删除处理; 或者,
具体可用于在所述权限比对模块 13确定所述第一控制器具备对所述第一 流表项进行相应管理的权限时, 若确定所述第一控制器发起的管理指令为查 看指令, 则根据所述第一控制器发起的管理指令, 查找所述交换机本地存储 的所述第一流表项, 并将查找到的所述第一流表项返回给所述第一控制器。
具体地, 预先增加的所述第一流表项的流表项权项域可包括第一权限域 和第二权限域。 相应地, 所述执行模块 14具体可用于在进行所述第一流表项 的安全等级的填写操作时, 将所述第一流表项的第一安全等级以及所述第一 流表项的第二安全等级分别填写入所述流表项的第一权限域以及第二权限域 中, 本发明实施例对此不作赘述。
进一步地, 需要说明的是, 在本发明所述实施例中, 为了保证所创建的 第一流表项本身的正确性, 所述权限比对模块 13还可用于当所述第一控制器 发起的管理指令为创建指令时, 在确定所述第一控制器相对所述交换机的管 理权限等级不低于所述第一流表项的第一安全等级的同时或之后, 且在所述 执行模块 14根据所述第一控制器发起的管理指令对所述第一流表项进行相应 管理之前, 将所述第一流表项的第一安全等级与所述第一流表项的第二安全 等级进行比对, 并确定所述第一流表项的第一安全等级不低于所述第一流表 项的第二安全等级。
也就是说, 在进行第一流表项的创建操作时, 除了要保证所述第一控制
器相对所述第一交换机的管理权限等级不低于所述第一流表项对应于所述第 一控制器发起的管理指令的安全等级之外, 还需要保证所述第一流表项的第 一安全等级不低于所述第一流表项的第二安全等级, 以避免由于预先配置的 第一流表项的安全等级不正确所导致的无法进行相应流表项的创建操作的目 的。
进一步地, 在本发明所述实施例中, 所述执行模块 14还可用于在所述权 限比对模块 13确定所述第一控制器相对所述交换机的管理权限等级低于所述 第一流表项对应于所述第一控制器发起的管理指令的安全等级时, 确定所述 第一控制器不具备对所述第一流表项进行相应管理的权限, 并拒绝执行根据 所述第一控制器发起的管理指令对所述第一流表项进行相应管理的操作。
本发明实施例二提供了一种可用于实现本发明实施例一中所述流表项管 理方法的交换机, 在本发明实施例二所述技术方案中, 由于所述交换机在接 收到与其相连接的任一控制器发起的针对任一流表项的管理指令后, 可首先 根据获取到的所述任一控制器相对所述交换机的管理权限等级以及所述任一 流表项的安全等级, 判断所述任一控制器相对所述交换机的管理权限等级是 否不低于所述任一流表项对应于所述任一控制器发起的管理指令的安全等 级, 并在确定判断结果为是时, 确定所述任一控制器具备对所述任一流表项 进行相应管理的权限, 并根据所述任一控制器发起的管理指令对所述任一流 表项进行相应管理, 从而在避免了对流表项进行随意删除或修改等操作现象 的基础上, 达到了有效保护流表项、 进而提高系统安全性的目的。
另外, 在本发明实施例二所述技术方案中, 通过控制器相对交换机的管 理权限等级的配置以及权限的判断等操作, 还可进一步达到隔离多个控制器 在同一交换机上的流表项, 以实现其他控制器无法操作本控制器所创建的流 表项的效果。
实施例三:
本发明实施例三提供了一种可用于实现本发明实施例一所示方法的交换 机, 所述交换机可应用于流表项管理系统中, 所述流表项管理系统可包括至
少一个本发明实施例三中所述的交换机以及至少一个控制器, 其中, 所述至 少一个控制器中存在一个或多个控制器与所述交换机相连接, 并且, 与所述 交换机相连接的一个或多个控制器中的每个控制器相对于所述交换机设置有 相应的管理权限等级。
具体地, 如图 3所示, 其为本发明实施例三中所述交换机的结构示意图, 所述交换机可包括接收器 21 以及处理器 22等部件。 本领域技术人员可以理 解, 图 3 中示出的交换机的结构并不构成对交换机的限定, 还可以包括比图 示更多或更少的部件, 或者组合某些部件, 或者不同的部件布置, 本发明实 施例对此不作任何限定。
具体地, 下面结合图 3对所述交换机的各个构成部件进行具体的介绍: 所述接收器 21 可用于接收第一控制器发起的针对第一流表项的管理指 令, 所述第一控制器为与所述交换机相连接的一个或多个控制器中的任一控 制器, 所述第一流表项为所述第一控制器发起的管理指令中携带的任一待创 建流表项或所述交换机中存储的任一已创建流表项;
所述处理器 22可用于在所述接收器 21接收到所述第一控制器发起的管 理指令后, 获取所述第一控制器相对所述交换机的管理权限等级以及所述第 一流表项的安全等级, 并将所述第一控制器相对所述交换机的管理权限等级 和所述第一流表项对应于所述第一控制器发起的管理指令的安全等级进行比 对, 以及, 在确定所述第一控制器相对所述交换机的管理权限等级不低于所 述第一流表项对应于所述第一控制器发起的管理指令的安全等级时, 确定所 述第一控制器具备对所述第一流表项进行相应管理的权限, 并根据所述第一 控制器发起的管理指令对所述第一流表项进行相应管理;
其中, 所述第一流表项对应不同的管理指令分别设置有相应的安全等级, 所述安全等级用于表示对所述第一流表项进行管理的控制器所应具有的管理 权限等级。
具体地, 在本发明所述实施例中, 所述接收器 21所接收到的所述第一控 制器发起的管理指令可为创建指令、 删除指令、 修改指令或查看指令等, 本
发明实施例对此不作任何限定。 并且, 所述第一控制器发起的管理指令中通 常可携带有所述第一控制器的网络协议地址以及所述第一控制器发起的管理 指令所针对的第一流表项的匹配域等信息。 另外需要说明的是, 所述第一控 制器发起的管理指令中还可携带有相应的掩码字符等信息、 以进行流表项的 模糊匹配等, 本发明实施例对此也不作任何限定。
进一步地, 需要说明的是, 所述第一控制器发起的管理指令中所携带的 流表项的匹配域可为一个或多个流表项的匹配域。 也就是说, 在本发明所述 实施例中, 所述第一控制器发起的管理指令可为针对一个流表项或多个流表 项的管理指令, 本发明实施例对此不作任何限定。
进一步地, 在本发明所述实施例中, 所述处理器 22还可用于通过与配置 点进行通信交互的方式, 获知所述配置点所配置的与所述交换机相连接的各 控制器相对于所述交换机的管理权限等级以及与所述交换机相连接的各控制 器的网络协议地址等信息。
其中, 所述配置点所配置的与所述交换机相连接的各控制器相对于所述 交换机的管理权限等级通常各不相同。 当然, 特殊地, 也可存在所具备的相 对于所述交换机的管理权限等级相同的两个或多个控制器, 本发明实施例对 此不作任何限定。
另外需要说明的是, 在本发明所述实施例中, 针对任一控制器, 所述控 制器相对于与其相连接的不同的交换机的管理权限等级可相同或不同, 具体 可根据实际情况进行设定, 本发明实施例对此也不作任何限定。
进一步地, 所述处理器 22还还可用于根据接收到的与所述交换机相连接 的各控制器相对于所述交换机的管理权限等级以及与所述交换机相连接的各 控制器的网络协议地址等信息, 建立与所述交换机相连接的各控制器相对所 述交换机的管理权限等级和与所述交换机相连接的各控制器的网络协议地址 之间的关联关系, 并通过将上述关联关系存储在所述交换机具备的存储器 23 中的方式, 对接收到的与所述交换机相连接的各控制器相对于所述交换机的 管理权限等级以及与所述交换机相连接的各控制器的网络协议地址等信息进
行相应的存储。
其中, 所述存储器 23可以是 ROM ( read-only memory, 只读存储器) 或 可存储静态信息和指令的其他类型的静态存储设备, RAM ( random access memory, 随机存取存储器) 或者可存储信息和指令的其他类型的动态存储设 备, 也可以是 EEPROM ( Electrically Erasable Programmable Read-Only Memory, 电可擦可编程只读存储器), CD-ROM ( Compact Disc Read-Only Memory, 只读光盘)或其他光盘存储、 光碟存储(包括压缩光碟、 激光碟、 光碟、 数字通用光碟、 蓝光光碟等)、 磁盘存储介质或者其他磁存储设备, 或 者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由 计算机存取的任何其他介质, 但不限于此。
进一步地, 所述处理器 22具体可用于在接收第一控制器发起的针对第一 流表项的管理指令后, 根据所述第一控制器发起的管理指令中携带的所述第 一控制器的网络协议地址, 以及预先建立的与所述交换机相连接的各控制器 相对所述交换机的管理权限等级和与所述交换机相连接的各控制器的网络协 议地址之间的关联关系, 查询与所述第一控制器发起的管理指令中携带的所 述第一控制器的网络协议地址相对应的管理权限等级, 并将查询到的管理权 限等级作为获取到的所述第一控制器相对所述交换机的管理权限等级。
进一步地, 在本发明所述实施例中, 所述第一流表项对应不同的管理指 令的安全等级通常可以是由相应的控制器在下发针对所述第一流表项的创建 指令时, 由所述相应的控制器根据所述第一流表项的重要性以及私密性所预 先配置的。 具体地, 所述第一流表项的安全等级可包括所述第一流表项对应 于内容修改管理指令的第一安全等级以及所述第一流表项对应于内容查看管 理指令的第二安全等级。 其中, 所述内容修改管理指令至少可包括创建指令、 修改指令以及删除指令中的一种或多种, 所述内容查看管理指令至少可包括 查看指令, 本发明实施例对此不作任何限定。
另外需要说明的是, 基于安全性的考虑, 原则上, 在进行所述第一流表 项的安全等级的配置时, 所配置的所述第一流表项对应于内容修改管理指令
的第一安全等级应该不小于所配置的所述第一流表项对应于内容查看管理指 令的第二安全等级, 本发明实施例对此不作赘述。
进一步地, 在本发明所述实施例中, 由于针对任意两个流表项, 为其配 置的安全等级通常互不相同, 因此, 为了便于区分各流表项的安全等级, 通 常可在为各流表项配置相应的安全等级的同时, 建立各流表项的安全等级与 各流表项的匹配域之间的关联关系。 相应地, 所述处理器 22具体可用于在接 收第一控制器发起的针对第一流表项的管理指令后, 根据所述第一控制器发 起的管理指令中携带的所述第一流表项的匹配域以及预先建立的各流表项的 安全等级与各流表项的匹配域之间的关联关系, 查询与所述第一控制器发起 的管理指令中携带的所述第一流表项的匹配域相对应的安全等级, 并将查询 到的安全等级作为获取到的所述第一流表项的安全等级。 其中, 当所述第一 流表项为所述第一控制器发起的管理指令中携带的任一待创建流表项时, 预 先设置的所述第一流表项的安全等级与所述第一流表项的匹配域之间的关联 关系可携带在所述第一控制器发起的管理指令中, 当所述第一流表项为所述 交换机中存储的任一已创建流表项时, 预先设置的所述第一流表项的安全等 级与所述第一流表项的匹配域之间的关联关系可存储在所述交换机中。
需要说明的是, 所述处理器 22获取到的所述第一流表项的安全等级可包 括所述第一流表项对应于内容修改管理指令的第一安全等级和 /或所述第一 流表项对应于内容查看管理指令的第二安全等级, 具体可根据所述第一控制 器发起的管理指令的性质来决定, 本发明实施例对此不作任何限定。
例如, 当所述第一控制器发起的管理指令为创建指令时, 所述处理器 22 获取到的所述第一流表项的安全等级通常可包括所述第一流表项的第一安全 等级以及所述第一流表项的第二安全等级; 当所述第一控制器发起的管理指 令为修改指令或删除指令时, 所述处理器 22获取到的所述第一流表项的安全 等级可仅包括所述第一流表项的第一安全等级; 当所述第一控制器发起的管 理指令为查看指令时, 所述处理器 22获取到的所述第一流表项的安全等级可 仅包括所述第一流表项的第二安全等级, 本发明实施例对此不作赘述。
进一步地, 所述处理器 22具体可用于当所述第一控制器发起的管理指令 为创建指令、 修改指令或删除指令时, 将所述第一控制器相对所述交换机的 管理权限等级和所述第一流表项的第一安全等级进行比对, 若确定所述第一 控制器相对所述交换机的管理权限等级不低于所述第一流表项的第一安全等 级, 则确定所述第一控制器具备对所述第一流表项进行相应的创建、 修改或 删除的权限; 或者,
具体可用于当所述第一控制器发起的管理指令为查看指令时, 将所述第 一控制器相对所述交换机的管理权限等级和所述第一流表项的第二安全等级 进行比对, 若确定所述第一控制器相对所述交换机的管理权限等级不低于所 述第一流表项的第二安全等级, 则确定所述第一控制器具备对所述第一流表 项进行查看的权限。
进一步地, 所述处理器 22具体还可用于在确定所述第一控制器具备对所 述第一流表项进行相应管理的权限时, 若确定所述第一控制器发起的管理指 令为创建指令, 则根据所述第一控制器发起的管理指令, 在所述交换机的本 地创建所述第一流表项, 并将所述第一控制器发起的管理指令中携带的所述 第一流表项的安全等级填写入预先增加的所述第一流表项的流表项权限域 中; 或者,
具体可用于在确定所述第一控制器具备对所述第一流表项进行相应管理 的权限时, 若确定所述第一控制器发起的管理指令为修改指令或删除指令, 则根据所述第一控制器发起的管理指令, 查找所述交换机的本地存储的所述 第一流表项, 并对查找到的所述第一流表项进行相应的修改或删除处理; 或 者,
具体可用于在确定所述第一控制器具备对所述第一流表项进行相应管理 的权限时, 若确定所述第一控制器发起的管理指令为查看指令, 则根据所述 第一控制器发起的管理指令, 查找所述交换机本地存储的所述第一流表项, 并将查找到的所述第一流表项返回给所述第一控制器。
具体地, 预先增加的所述第一流表项的流表项权项域可包括第一权限域
和第二权限域。 相应地, 所述处理器 22具体可用于在进行所述第一流表项的 安全等级的填写操作时, 将所述第一流表项的第一安全等级以及所述第一流 表项的第二安全等级分别填写入所述流表项的第一权限域以及第二权限域 中, 本发明实施例对此不作赘述。
进一步地, 需要说明的是, 在本发明所述实施例中, 为了保证所创建的 第一流表项本身的正确性, 所述处理器 22还可用于当所述第一控制器发起的 管理指令为创建指令时, 在确定所述第一控制器相对所述交换机的管理权限 等级不低于所述第一流表项的第一安全等级的同时或之后, 且在根据所述第 一控制器发起的管理指令对所述第一流表项进行相应管理之前, 将所述第一 流表项的第一安全等级与所述第一流表项的第二安全等级进行比对, 并确定 所述第一流表项的第一安全等级不低于所述第一流表项的第二安全等级。
也就是说, 在进行第一流表项的创建操作时, 除了要保证所述第一控制 器相对所述第一交换机的管理权限等级不低于所述第一流表项对应于所述第 一控制器发起的管理指令的安全等级之外, 还需要保证所述第一流表项的第 一安全等级不低于所述第一流表项的第二安全等级, 以避免由于预先配置的 第一流表项的安全等级不正确所导致的无法进行相应流表项的创建操作的目 的。
进一步地, 在本发明所述实施例中, 所述处理器 22还可用于在确定所述 第一控制器相对所述交换机的管理权限等级低于所述第一流表项对应于所述 第一控制器发起的管理指令的安全等级时, 确定所述第一控制器不具备对所 述第一流表项进行相应管理的权限, 并拒绝执行根据所述第一控制器发起的 管理指令对所述第一流表项进行相应管理的操作。
本发明实施例三提供了一种可用于实现本发明实施例一中所述流表项管 理方法的交换机, 在本发明实施例三所述技术方案中, 由于所述交换机在接 收到与其相连接的任一控制器发起的针对任一流表项的管理指令后, 可首先 根据获取到的所述任一控制器相对所述交换机的管理权限等级以及所述任一 流表项的安全等级, 判断所述任一控制器相对所述交换机的管理权限等级是
否不低于所述任一流表项对应于所述任一控制器发起的管理指令的安全等 级, 并在确定判断结果为是时, 确定所述任一控制器具备对所述任一流表项 进行相应管理的权限, 并根据所述任一控制器发起的管理指令对所述任一流 表项进行相应管理, 从而在避免了对流表项进行随意删除或修改等操作现象 的基础上, 达到了有效保护流表项、 进而提高系统安全性的目的。
另外, 在本发明实施例三所述技术方案中, 通过控制器相对交换机的管 理权限等级的配置以及权限的判断等操作, 还可进一步达到隔离多个控制器 在同一交换机上的流表项, 以实现其他控制器无法操作本控制器所创建的流 表项的效果。
本领域技术人员应明白, 本发明的实施例可提供为方法、 装置 (设备)、 或计算机程序产品。 因此, 本发明可釆用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实施例的形式。 而且, 本发明可釆用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘 存储器、 CD-ROM、 光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 装置 (设备)和计算机程序产 品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程图和 / 或方框图中的每一流程和 /或方框、以及流程图和 /或方框图中的流程和 /或方框 的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入式处 理机或其他可编程数据处理设备的处理器以产生一个机器, 使得通过计算机 或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个 流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器 中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个流程或 多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的
处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图 一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了 基本创造性概念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权 利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。 发明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。
Claims
1、 一种流表项管理方法, 其特征在于, 应用于流表项管理系统, 所述流 表项管理系统包括至少一个交换机以及至少一个控制器, 其中, 针对所述至 少一个交换机中的任一交换机, 所述至少一个控制器中存在一个或多个控制 器与所述任一交换机相连接, 并且, 与所述任一交换机相连接的一个或多个 控制器中的每个控制器相对于所述任一交换机设置有相应的管理权限等级, 所述方法包括:
第一交换机在接收第一控制器发起的针对第一流表项的管理指令后, 获 取所述第一控制器相对所述第一交换机的管理权限等级, 以及所述第一流表 项的安全等级; 其中, 所述第一流表项对应不同的管理指令分别设置有相应 的安全等级, 所述安全等级用于表示对所述第一流表项进行管理的控制器所 应具有的管理权限等级; 所述第一交换机为所述至少一个交换机中的任一交 换机, 所述第一控制器为与所述第一交换机相连接的一个或多个控制器中的 任一控制器, 所述第一流表项为所述第一控制器发起的管理指令中携带的任 一待创建流表项或所述第一交换机中存储的任一已创建流表项;
所述第一交换机将所述第一控制器相对所述第一交换机的管理权限等级 和所述第一流表项对应于所述第一控制器发起的管理指令的安全等级进行比 对, 若确定所述第一控制器相对所述第一交换机的管理权限等级不低于所述 第一流表项对应于所述第一控制器发起的管理指令的安全等级, 则确定所述 第一控制器具备对所述第一流表项进行相应管理的权限, 并根据所述第一控 制器发起的管理指令对所述第一流表项进行相应管理。
2、如权利要求 1所述的流表项管理方法,其特征在于, 所述方法还包括: 所述第一交换机若确定所述第一控制器相对所述第一交换机的管理权限 等级低于所述第一流表项对应于所述第一控制器发起的管理指令的安全等 级, 则确定所述第一控制器不具备对所述第一流表项进行相应管理的权限, 并拒绝执行根据所述第一控制器发起的管理指令对所述第一流表项进行相应
管理的操作。
3、 如权利要求 1或 2所述的流表项管理方法, 其特征在于, 所述第一控 制器发起的管理指令中携带有所述第一控制器的网络协议地址以及所述第一 流表项的匹配 i或;
获取所述第一控制器相对所述第一交换机的管理权限等级, 包括: 根据所述第一控制器发起的管理指令中携带的所述第一控制器的网络协 议地址以及预先设置的、 与所述第一交换机相连接的各控制器相对所述第一 交换机的管理权限等级和与所述第一交换机相连接的各控制器的网络协议地 址之间的关联关系, 查询与所述第一控制器发起的管理指令中携带的所述第 一控制器的网络协议地址相对应的管理权限等级, 并将查询到的管理权限等 级作为获取到的所述第一控制器相对所述第一交换机的管理权限等级; 其中, 预先设置的、 与所述第一交换机相连接的各控制器相对所述第一交换机的管 理权限等级和与所述第一交换机相连接的各控制器的网络协议地址之间的关 联关系存储在所述第一交换机中;
获取所述第一流表项的安全等级, 包括:
根据所述第一控制器发起的管理指令中携带的所述第一流表项的匹配域 以及预先设置的各流表项的安全等级与各流表项的匹配域之间的关联关系, 查询与所述第一控制器发起的管理指令中携带的所述第一流表项的匹配域相 对应的安全等级, 并将查询到的安全等级作为获取到的所述第一流表项的安 全等级; 其中, 当所述第一流表项为所述第一控制器发起的管理指令中携带 的任一待创建流表项时, 预先设置的所述第一流表项的安全等级与所述第一 流表项的匹配域之间的关联关系携带在所述第一控制器发起的管理指令中, 当所述第一流表项为所述第一交换机中存储的任一已创建流表项时, 预先设 置的所述第一流表项的安全等级与所述第一流表项的匹配域之间的关联关系 存储在所述第一交换机中。
4、 如权利要求 1或 2所述的流表项管理方法, 其特征在于,
获取到的所述第一流表项的安全等级至少包括所述第一流表项对应于内
容修改管理指令的第一安全等级和 /或所述第一流表项对应于内容查看管理指 令的第二安全等级;
其中, 所述内容修改管理指令至少包括创建指令、 修改指令以及删除指 令中的一种或多种; 所述内容查看管理指令至少包括查看指令。
5、 如权利要求 4所述的流表项管理方法, 其特征在于, 将所述第一控制 器相对所述第一交换机的管理权限等级和所述第一流表项对应于所述第一控 制器发起的管理指令的安全等级进行比对, 若确定所述第一控制器相对所述 第一交换机的管理权限等级不低于所述第一流表项对应于所述第一控制器发 起的管理指令的安全等级, 则确定所述第一控制器具备对所述第一流表项进 行相应管理的权限, 包括:
当所述第一控制器发起的管理指令为创建指令、 修改指令或删除指令时 , 将所述第一控制器相对所述第一交换机的管理权限等级和所述第一流表项的 第一安全等级进行比对, 若确定所述第一控制器相对所述第一交换机的管理 权限等级不低于所述第一流表项的第一安全等级, 则确定所述第一控制器具 备对所述第一流表项进行相应的创建、 修改或删除的权限; 或者,
当所述第一控制器发起的管理指令为查看指令时, 将所述第一控制器相 对所述第一交换机的管理权限等级和所述第一流表项的第二安全等级进行比 对, 若确定所述第一控制器相对所述第一交换机的管理权限等级不低于所述 第一流表项的第二安全等级, 则确定所述第一控制器具备对所述第一流表项 进行查看的权限。
6、 如权利要求 4所述的流表项管理方法, 其特征在于, 在确定所述第一 控制器具备对所述第一流表项进行相应管理的权限时, 根据所述第一控制器 发起的管理指令对所述第一流表项进行相应管理, 包括:
若确定所述第一控制器发起的管理指令为创建指令, 则根据所述第一控 制器发起的管理指令, 在所述第一交换机本地创建所述第一流表项, 并将所 述第一控制器发起的管理指令中携带的所述第一流表项的安全等级填写入预 先增加的所述第一流表项的流表项权限域中; 或者,
若确定所述第一控制器发起的管理指令为修改指令或删除指令, 则根据 所述第一控制器发起的管理指令, 查找所述第一交换机本地存储的所述第一 流表项, 并对查找到的所述第一流表项进行相应的修改处理或删除处理; 或者, 若确定所述第一控制器发起的管理指令为查看指令, 则根据所述 第一控制器发起的管理指令, 查找所述第一交换机本地存储的所述第一流表 项, 并将查找到的所述第一流表项返回给所述第一控制器。
7、 如权利要求 5所述的流表项管理方法, 其特征在于, 当所述第一控制 器发起的管理指令为创建指令时, 在确定所述第一控制器相对所述第一交换 机的管理权限等级不低于所述第一流表项的第一安全等级的同时或之后, 且 在根据所述第一控制器发起的管理指令对所述第一流表项进行相应管理之 前, 所述方法还包括:
将所述第一流表项的第一安全等级与所述第一流表项的第二安全等级进 行比对, 并确定所述第一流表项的第一安全等级不低于所述第一流表项的第 二安全等级。
8、 一种交换机, 其特征在于, 应用于流表项管理系统, 所述流表项管理 系统包括至少一个所述交换机以及至少一个控制器, 其中, 所述至少一个控 制器中存在一个或多个控制器与所述交换机相连接, 并且, 与所述交换机相 连接的一个或多个控制器中的每个控制器相对于所述交换机设置有相应的管 理权限等级, 所述交换机包括:
指令接收模块, 用于接收第一控制器发起的针对第一流表项的管理指令, 所述第一控制器为与所述交换机相连接的一个或多个控制器中的任一控制 器, 所述第一流表项为所述第一控制器发起的管理指令中携带的任一待创建 流表项或所述交换机中存储的任一已创建流表项;
权限获取模块, 用于在所述指令接收模块接收到所述第一控制器发起的 管理指令后, 获取所述第一控制器相对所述交换机的管理权限等级, 以及所 述第一流表项的安全等级; 其中, 所述第一流表项对应不同的管理指令分别 设置有相应的安全等级, 所述安全等级用于表示对所述第一流表项进行管理
的控制器所应具有的管理权限等级;
权限比对模块, 用于根据所述权限获取模块获取到的所述第一控制器相 对所述交换机的管理权限等级, 以及所述第一流表项的安全等级, 将所述第 一控制器相对所述交换机的管理权限等级和所述第一流表项对应于所述第一 控制器发起的管理指令的安全等级进行比对, 以确定所述第一控制器相对所 述交换机的管理权限等级是否不低于所述第一流表项对应于所述第一控制器 发起的管理指令的安全等级;
执行模块, 用于在所述权限比对模块确定所述第一控制器相对所述交换 机的管理权限等级不低于所述第一流表项对应于所述第一控制器发起的管理 指令的安全等级时, 确定所述第一控制器具备对所述第一流表项进行相应管 理的权限, 并根据所述第一控制器发起的管理指令对所述第一流表项进行相 应管理。
9、 如权利要求 8所述的交换机, 其特征在于,
所述执行模块, 还用于在所述权限比对模块确定所述第一控制器相对所 述交换机的管理权限等级低于所述第一流表项对应于所述第一控制器发起的 管理指令的安全等级时, 确定所述第一控制器不具备对所述第一流表项进行 相应管理的权限, 并拒绝执行根据所述第一控制器发起的管理指令对所述第 一流表项进行相应管理的操作。
10、 如权利要求 8或 9所述的交换机, 其特征在于, 所述指令接收模块 接收到的所述第一控制器发起的管理指令中携带有所述第一控制器的网络协 议地址以及所述第一流表项的匹配域;
所述权限获取模块, 具体用于根据所述第一控制器发起的管理指令中携 带的所述第一控制器的网络协议地址以及预先设置的、 与所述交换机相连接 的各控制器相对所述交换机的管理权限等级和与所述交换机相连接的各控制 器的网络协议地址之间的关联关系, 查询与所述第一控制器发起的管理指令 中携带的所述第一控制器的网络协议地址相对应的管理权限等级, 并将查询 到的管理权限等级作为获取到的所述第一控制器相对所述交换机的管理权限
等级; 其中, 预先设置的、 与所述交换机相连接的各控制器相对所述交换机 的管理权限等级和与所述交换机相连接的各控制器的网络协议地址之间的关 联关系存储在所述交换机中; 以及,
具体用于根据所述第一控制器发起的管理指令中携带的所述第一流表项 的匹配域以及预先设置的各流表项的安全等级与各流表项的匹配域之间的关 联关系, 查询与所述第一控制器发起的管理指令中携带的所述第一流表项的 匹配域相对应的安全等级, 并将查询到的安全等级作为获取到的所述第一流 表项的安全等级; 其中, 当所述第一流表项为所述第一控制器发起的管理指 令中携带的任一待创建流表项时, 预先设置的所述第一流表项的安全等级与 所述第一流表项的匹配域之间的关联关系携带在所述第一控制器发起的管理 指令中, 当所述第一流表项为所述交换机中存储的任一已创建流表项时, 预 先设置的所述第一流表项的安全等级与所述第一流表项的匹配域之间的关联 关系存储在所述交换机中。
11、 如权利要求 8或 9所述的交换机, 其特征在于,
所述权限获取模块获取到的所述第一流表项的安全等级至少包括所述第 一流表项对应于内容修改管理指令的第一安全等级和 /或所述第一流表项对应 于内容查看管理指令的第二安全等级;
其中, 所述内容修改管理指令至少包括创建指令、 修改指令以及删除指 令中的一种或多种; 所述内容查看管理指令至少包括查看指令。
12、 如权利要求 11所述的交换机, 其特征在于,
所述权限比对模块, 具体用于当所述第一控制器发起的管理指令为创建 指令、 修改指令或删除指令时, 将所述第一控制器相对所述交换机的管理权 限等级和所述第一流表项的第一安全等级进行比对, 若确定所述第一控制器 相对所述交换机的管理权限等级不低于所述第一流表项的第一安全等级, 则 确定所述第一控制器具备对所述第一流表项进行相应的创建、 修改或删除的 权限; 或者,
具体用于当所述第一控制器发起的管理指令为查看指令时, 将所述第一
控制器相对所述交换机的管理权限等级和所述第一流表项的第二安全等级进 行比对, 若确定所述第一控制器相对所述交换机的管理权限等级不低于所述 第一流表项的第二安全等级, 则确定所述第一控制器具备对所述第一流表项 进行查看的权限。
13、 如权利要求 11所述的交换机, 其特征在于,
所述执行模块, 具体用于在所述权限比对模块确定所述第一控制器具备 对所述第一流表项进行相应管理的权限时, 若确定所述第一控制器发起的管 理指令为创建指令, 则根据所述第一控制器发起的管理指令, 在所述交换机 的本地创建所述第一流表项, 并将所述第一控制器发起的管理指令中携带的 所述第一流表项的安全等级填写入预先增加的所述第一流表项的流表项权限 域中; 或者,
若确定所述第一控制器发起的管理指令为修改指令或删除指令, 则根据 所述第一控制器发起的管理指令, 查找所述交换机的本地存储的所述第一流 表项, 并对查找到的所述第一流表项进行相应的修改或删除处理; 或者, 若确定所述第一控制器发起的管理指令为查看指令, 则根据所述第一控 制器发起的管理指令, 查找所述交换机本地存储的所述第一流表项, 并将查 找到的所述第一流表项返回给所述第一控制器。
14、 如权利要求 12所述的交换机, 其特征在于,
所述权限比对模块, 还用于当所述第一控制器发起的管理指令为创建指 令时, 在确定所述第一控制器相对所述交换机的管理权限等级不低于所述第 一流表项的第一安全等级的同时或之后, 且在所述执行模块根据所述第一控 制器发起的管理指令对所述第一流表项进行相应管理之前, 将所述第一流表 项的第一安全等级与所述第一流表项的第二安全等级进行比对, 并确定所述 第一流表项的第一安全等级不低于所述第一流表项的第二安全等级。
15、 一种交换机, 其特征在于, 应用于流表项管理系统, 所述流表项管 理系统包括至少一个所述交换机以及至少一个控制器, 其中, 所述至少一个 控制器中存在一个或多个控制器与所述交换机相连接, 并且, 与所述交换机
相连接的一个或多个控制器中的每个控制器相对于所述交换机设置有相应的 管理权限等级, 所述交换机包括:
接收器, 用于接收第一控制器发起的针对第一流表项的管理指令, 所述 第一控制器为与所述交换机相连接的一个或多个控制器中的任一控制器, 所 述第一流表项为所述第一控制器发起的管理指令中携带的任一待创建流表项 或所述交换机中存储的任一已创建流表项;
处理器, 用于在所述接收器接收到所述第一控制器发起的管理指令后, 获取所述第一控制器相对所述交换机的管理权限等级, 以及所述第一流表项 的安全等级, 并将所述第一控制器相对所述交换机的管理权限等级和所述第 一流表项对应于所述第一控制器发起的管理指令的安全等级进行比对, 以及, 在确定所述第一控制器相对所述交换机的管理权限等级不低于所述第一流表 项对应于所述第一控制器发起的管理指令的安全等级时, 确定所述第一控制 器具备对所述第一流表项进行相应管理的权限, 并根据所述第一控制器发起 的管理指令对所述第一流表项进行相应管理;
其中, 所述第一流表项对应不同的管理指令分别设置有相应的安全等级, 所述安全等级用于表示对所述第一流表项进行管理的控制器所应具有的管理 权限等级。
16、 如权利要求 15所述的交换机, 其特征在于,
所述处理器, 还用于在确定所述第一控制器相对所述交换机的管理权限 等级低于所述第一流表项对应于所述第一控制器发起的管理指令的安全等级 时, 确定所述第一控制器不具备对所述第一流表项进行相应管理的权限, 并 拒绝执行根据所述第一控制器发起的管理指令对所述第一流表项进行相应管 理的操作。
17、 如权利要求 15或 16所述的交换机, 其特征在于, 所述接收器接收 到的所述第一控制器发起的管理指令中携带有所述第一控制器的网络协议地 址以及所述第一流表项的匹配域;
所述处理器, 具体用于根据所述第一控制器发起的管理指令中携带的所
述第一控制器的网络协议地址以及预先设置的、 与所述交换机相连接的各控 制器相对所述交换机的管理权限等级和与所述交换机相连接的各控制器的网 络协议地址之间的关联关系, 查询与所述第一控制器发起的管理指令中携带 的所述第一控制器的网络协议地址相对应的管理权限等级, 并将查询到的管 理权限等级作为获取到的所述第一控制器相对所述交换机的管理权限等级; 其中, 预先设置的、 与所述交换机相连接的各控制器相对所述交换机的管理 权限等级和与所述交换机相连接的各控制器的网络协议地址之间的关联关系 存储在所述交换机中; 以及,
具体用于根据所述第一控制器发起的管理指令中携带的所述第一流表项 的匹配域以及预先设置的各流表项的安全等级与各流表项的匹配域之间的关 联关系, 查询与所述第一控制器发起的管理指令中携带的所述第一流表项的 匹配域相对应的安全等级, 并将查询到的安全等级作为获取到的所述第一流 表项的安全等级; 其中, 当所述第一流表项为所述第一控制器发起的管理指 令中携带的任一待创建流表项时, 预先设置的所述第一流表项的安全等级与 所述第一流表项的匹配域之间的关联关系携带在所述第一控制器发起的管理 指令中, 当所述第一流表项为所述交换机中存储的任一已创建流表项时, 预 先设置的所述第一流表项的安全等级与所述第一流表项的匹配域之间的关联 关系存储在所述交换机中。
18、 如权利要求 15或 16所述的交换机, 其特征在于,
所述处理器获取到的所述第一流表项的安全等级至少包括所述第一流表 项对应于内容修改管理指令的第一安全等级和 /或所述第一流表项对应于内容 查看管理指令的第二安全等级;
其中, 所述内容修改管理指令至少包括创建指令、 修改指令以及删除指 令中的一种或多种; 所述内容查看管理指令至少包括查看指令。
19、 如权利要求 18所述的交换机, 其特征在于,
所述处理器, 具体用于当所述第一控制器发起的管理指令为创建指令、 修改指令或删除指令时, 将所述第一控制器相对所述交换机的管理权限等级
和所述第一流表项的第一安全等级进行比对, 若确定所述第一控制器相对所 述交换机的管理权限等级不低于所述第一流表项的第一安全等级, 则确定所 述第一控制器具备对所述第一流表项进行相应的创建、 修改或删除的权限; 或者,
具体用于当所述第一控制器发起的管理指令为查看指令时, 将所述第一 控制器相对所述交换机的管理权限等级和所述第一流表项的第二安全等级进 行比对, 若确定所述第一控制器相对所述交换机的管理权限等级不低于所述 第一流表项的第二安全等级, 则确定所述第一控制器具备对所述第一流表项 进行查看的权限。
20、 如权利要求 18所述的交换机, 其特征在于,
所述处理器, 具体用于在确定所述第一控制器具备对所述第一流表项进 行相应管理的权限时, 若确定所述第一控制器发起的管理指令为创建指令, 则根据所述第一控制器发起的管理指令, 在所述交换机的本地创建所述第一 流表项, 并将所述第一控制器发起的管理指令中携带的所述第一流表项的安 全等级填写入预先增加的所述第一流表项的流表项权限域中; 或者,
若确定所述第一控制器发起的管理指令为修改指令或删除指令, 则根据 所述第一控制器发起的管理指令, 查找所述交换机的本地存储的所述第一流 表项, 并对查找到的所述第一流表项进行相应的修改或删除处理; 或者, 若确定所述第一控制器发起的管理指令为查看指令, 则根据所述第一控 制器发起的管理指令, 查找所述交换机本地存储的所述第一流表项, 并将查 找到的所述第一流表项返回给所述第一控制器。
21、 如权利要求 19所述的交换机, 其特征在于,
所述处理器, 还用于当所述第一控制器发起的管理指令为创建指令时, 在确定所述第一控制器相对所述交换机的管理权限等级不低于所述第一流表 项的第一安全等级的同时或之后, 且在根据所述第一控制器发起的管理指令 对所述第一流表项进行相应管理之前, 将所述第一流表项的第一安全等级与 所述第一流表项的第二安全等级进行比对, 并确定所述第一流表项的第一安
全等级不低于所述第一流表项的第二安全等级。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14889738.2A EP3119043B1 (en) | 2014-04-16 | 2014-04-16 | Flow table entry management method and device |
PCT/CN2014/075481 WO2015157935A1 (zh) | 2014-04-16 | 2014-04-16 | 一种流表项管理方法及设备 |
CN201480000415.7A CN105191227B (zh) | 2014-04-16 | 2014-04-16 | 一种流表项管理方法及设备 |
EP18203642.6A EP3503479B1 (en) | 2014-04-16 | 2014-04-16 | Flow entry management method and device |
US15/293,376 US10693731B2 (en) | 2014-04-16 | 2016-10-14 | Flow entry management method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/075481 WO2015157935A1 (zh) | 2014-04-16 | 2014-04-16 | 一种流表项管理方法及设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/293,376 Continuation US10693731B2 (en) | 2014-04-16 | 2016-10-14 | Flow entry management method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015157935A1 true WO2015157935A1 (zh) | 2015-10-22 |
Family
ID=54323371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/075481 WO2015157935A1 (zh) | 2014-04-16 | 2014-04-16 | 一种流表项管理方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10693731B2 (zh) |
EP (2) | EP3503479B1 (zh) |
CN (1) | CN105191227B (zh) |
WO (1) | WO2015157935A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360043A (zh) * | 2017-08-25 | 2017-11-17 | 中国联合网络通信集团有限公司 | 一种在sdn中更改转发设备配置信息的方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016032552A1 (en) * | 2014-08-28 | 2016-03-03 | Hewlett Packard Enterprise Development Lp | Network compatibility determination based on flow requirements of an application and stored flow capabilities of a software-defined network |
WO2016122696A1 (en) * | 2015-01-30 | 2016-08-04 | Hewlett Packard Enterprise Development Lp | Forwarding table of hybrid software defined networking switch |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852261A (zh) * | 2006-05-26 | 2006-10-25 | 杭州华为三康技术有限公司 | 维护邻居表项的方法 |
CN101631116A (zh) * | 2009-08-10 | 2010-01-20 | 中国科学院地理科学与资源研究所 | 一种分布式双重授权及访问控制方法和系统 |
WO2011132568A1 (ja) * | 2010-04-19 | 2011-10-27 | 日本電気株式会社 | スイッチ、及びフローテーブル制御方法 |
CN103620616A (zh) * | 2013-03-28 | 2014-03-05 | 华为技术有限公司 | 一种访问控制权限管理方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4196732B2 (ja) * | 2003-05-26 | 2008-12-17 | 日本電気株式会社 | データ転送装置及びプログラム |
GB0425113D0 (en) * | 2004-11-13 | 2004-12-15 | Ibm | A method of determining access rights to IT resources |
US7809123B2 (en) * | 2006-08-02 | 2010-10-05 | At&T Intellectual Property I, L.P. | Method and system for determining independent authorization levels in a VPN |
WO2013042598A1 (en) * | 2011-09-22 | 2013-03-28 | Nec Corporation | Communication terminal, communication method, and program |
US8261090B1 (en) * | 2011-09-28 | 2012-09-04 | Google Inc. | Login to a computing device based on facial recognition |
US9866500B2 (en) * | 2012-02-29 | 2018-01-09 | Nec Corporation | Communication apparatus, communication method, communication system and program |
CN104272676A (zh) * | 2012-05-01 | 2015-01-07 | 日本电气株式会社 | 通信系统、访问控制装置、交换机、网络控制方法及程序 |
CN104348750B (zh) * | 2013-07-31 | 2019-07-26 | 中兴通讯股份有限公司 | OpenFlow网络中QoS的实现方法及装置 |
CN104426815B (zh) * | 2013-08-27 | 2019-07-09 | 中兴通讯股份有限公司 | 一种sdn中流表下发的方法和系统、of控制器和of交换机 |
US20150169345A1 (en) * | 2013-12-18 | 2015-06-18 | International Business Machines Corporation | Software-defined networking (sdn) for management of traffic between virtual processors |
-
2014
- 2014-04-16 EP EP18203642.6A patent/EP3503479B1/en active Active
- 2014-04-16 EP EP14889738.2A patent/EP3119043B1/en active Active
- 2014-04-16 WO PCT/CN2014/075481 patent/WO2015157935A1/zh active Application Filing
- 2014-04-16 CN CN201480000415.7A patent/CN105191227B/zh active Active
-
2016
- 2016-10-14 US US15/293,376 patent/US10693731B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852261A (zh) * | 2006-05-26 | 2006-10-25 | 杭州华为三康技术有限公司 | 维护邻居表项的方法 |
CN101631116A (zh) * | 2009-08-10 | 2010-01-20 | 中国科学院地理科学与资源研究所 | 一种分布式双重授权及访问控制方法和系统 |
WO2011132568A1 (ja) * | 2010-04-19 | 2011-10-27 | 日本電気株式会社 | スイッチ、及びフローテーブル制御方法 |
CN103620616A (zh) * | 2013-03-28 | 2014-03-05 | 华为技术有限公司 | 一种访问控制权限管理方法和装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3119043A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107360043A (zh) * | 2017-08-25 | 2017-11-17 | 中国联合网络通信集团有限公司 | 一种在sdn中更改转发设备配置信息的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105191227B (zh) | 2018-09-21 |
US10693731B2 (en) | 2020-06-23 |
EP3119043B1 (en) | 2019-01-09 |
EP3503479B1 (en) | 2020-09-23 |
EP3503479A1 (en) | 2019-06-26 |
EP3119043A4 (en) | 2017-04-19 |
CN105191227A (zh) | 2015-12-23 |
EP3119043A1 (en) | 2017-01-18 |
US20170034005A1 (en) | 2017-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11089476B2 (en) | Network access control method and apparatus | |
CN106685917B (zh) | 物联网设备与控制器智能绑定的实现方法及系统 | |
JP2019525631A (ja) | 転送ポリシーの構成 | |
US20220124499A1 (en) | Wireless network access control method, device, and system | |
JP6940240B2 (ja) | 証明書取得方法、認証方法及びネットワークデバイス | |
CN104870068B (zh) | 一种接入网络的方法及路由器 | |
JP5466723B2 (ja) | ホスト提供システム及び通信制御方法 | |
WO2014032241A1 (zh) | 终端控制方法和装置、以及终端 | |
US10645580B2 (en) | Binding an authenticated user with a wireless device | |
WO2014198084A1 (zh) | 一种启动wifi模块的方法、系统和移动终端 | |
CN107113892A (zh) | 一种网关设备自动组网的方法及装置 | |
CN107483461B (zh) | 一种nat环境下的终端准入控制方法及装置 | |
WO2015157935A1 (zh) | 一种流表项管理方法及设备 | |
EP3345371A1 (en) | System and method for authentication | |
US20160028716A1 (en) | Routing protocol authentication migration | |
US9794351B2 (en) | Distributed management with embedded agents in enterprise apps | |
RU2693903C1 (ru) | Способ, устройство и система обработки для расширенного порта | |
CN106537962B (zh) | 无线网络配置、接入和访问方法、装置及设备 | |
CN111163035A (zh) | 家庭网关远程连接的管理方法、装置和系统 | |
CN107959584B (zh) | 信息配置方法及装置 | |
WO2016082500A1 (zh) | 一种无线网络接入方法及装置 | |
EP3318077A1 (en) | Circumventing wireless device spatial tracking based on wireless device identifiers | |
CN108076009B (zh) | 一种资源共享方法、装置及系统 | |
WO2015012822A1 (en) | Method and apparatus for secure access to access devices | |
RU2724639C2 (ru) | Способ связывания незарегистрированного агента управления устройством с пользователем |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201480000415.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14889738 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014889738 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014889738 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |