CN107979546B - Method and device for processing multiple OpenFlow connections - Google Patents

Method and device for processing multiple OpenFlow connections Download PDF

Info

Publication number
CN107979546B
CN107979546B CN201711237954.4A CN201711237954A CN107979546B CN 107979546 B CN107979546 B CN 107979546B CN 201711237954 A CN201711237954 A CN 201711237954A CN 107979546 B CN107979546 B CN 107979546B
Authority
CN
China
Prior art keywords
controller
sdn
port
sdn controller
embedded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711237954.4A
Other languages
Chinese (zh)
Other versions
CN107979546A (en
Inventor
张庆军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201711237954.4A priority Critical patent/CN107979546B/en
Publication of CN107979546A publication Critical patent/CN107979546A/en
Application granted granted Critical
Publication of CN107979546B publication Critical patent/CN107979546B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

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

Abstract

The present disclosure relates to a method and an apparatus for processing multiple OpenFlow connections, where the method is applied to an external SDN controller, and establishes a first OpenFlow connection with an SDN device, a second OpenFlow connection with an embedded SDN controller deployed on the SDN device, and a third OpenFlow connection with the embedded SDN controller and the SDN device, and the method includes: determining ports corresponding to each OpenFlow connection on the SDN equipment; establishing a corresponding relation between the port and the controller index, and informing corresponding SDN equipment or an embedded SDN controller of the corresponding relation; and issuing the flow table item carrying the controller index. By issuing the flow entry carrying the controller index, the method and the device for processing the multiple OpenFlow connections according to the embodiment of the disclosure can enable the SDN device to report the message to the correct SDN controller.

Description

Method and device for processing multiple OpenFlow connections
Technical Field
The present disclosure relates to the field of network communication technologies, and in particular, to a method and an apparatus for processing multiple OpenFlow connections.
Background
OpenFlow is a communication interface standard between an SDN controller and an SDN device Defined in an SDN (Software Defined Network) architecture. The OpenFlow network is composed of SDN equipment, an SDN controller and a secure channel. The SDN device may receive a flow table issued by the SDN controller, perform simple message processing according to the flow table, and report a state and an event of the device, such as an interface normal (UP) and a fault (DOWN), to the SDN controller; the SDN controller is a control center of an OpenFlow network, and can generate a flow table according to the configuration of a user or a dynamically operated protocol and issue the flow table to SDN equipment; the SDN device and the SDN controller can communicate through a pre-configured secure channel.
If a service board (e.g., an OAP board) responsible for running services such as antivirus and deep inspection exists in the SDN device, and the service board interacts with the SDN device through an OpenFlow channel, the service board is in the role of an SDN controller, and may issue a flow table to the SDN device. At this time, the SDN device connects two SDN controllers, and both SDN controllers can manage the SDN device, which may cause confusion in SDN device management, for example, when the SDN device uploads a message to a controller, a problem may occur that it is uncertain which controller should be sent to.
Disclosure of Invention
In view of this, the present disclosure provides a method and an apparatus for processing multiple OpenFlow connections, which can forward a packet to a correct SDN controller when multiple SDN controllers exist in the same device environment.
According to an aspect of the disclosure, a method for processing multiple OpenFlow connections is provided, where a multiple OpenFlow connection networking includes an external SDN controller and an SDN device, an embedded SDN controller is deployed on the SDN device, the external SDN controller establishes a first OpenFlow connection with the SDN device, the external SDN controller establishes a second OpenFlow connection with the embedded SDN controller, and the embedded SDN controller establishes a third OpenFlow connection with the SDN device, and the method is applied to the external SDN controller, and the method includes: the external SDN controller determines a first port corresponding to the first OpenFlow connection, a second port corresponding to the second OpenFlow connection, and a third port corresponding to the third OpenFlow connection on an SDN device; the external SDN controller establishes a corresponding relationship between a port and a controller index, and the corresponding relationship comprises the following steps: a first correspondence of a first port and a controller index of an external SDN controller, a second correspondence of a second port and a controller index of an external SDN controller, a third correspondence of a third port and a controller index of the embedded SDN controller; the external SDN controller informs the SDN device of the first corresponding relation and the third corresponding relation, and informs the embedded SDN controller of the second corresponding relation; the external SDN controller issues a flow entry carrying a controller index to the SDN device and the embedded SDN controller, so that the SDN device or the embedded SDN controller forwards a message matched with the flow entry through a port corresponding to the controller index carried by the flow entry.
According to another aspect of the present disclosure, a multi-OpenFlow connection processing apparatus is provided, where a multi-OpenFlow connection networking includes an external SDN controller and an SDN device, an embedded SDN controller is deployed on the SDN device, the external SDN controller establishes a first OpenFlow connection with the SDN device, the external SDN controller establishes a second OpenFlow connection with the embedded SDN controller, and the embedded SDN controller establishes a third OpenFlow connection with the SDN device, and the apparatus is applied to the external SDN controller, and the apparatus includes: a determining module, configured to determine a first port corresponding to the first OpenFlow connection, a second port corresponding to the second OpenFlow connection, and a third port corresponding to the third OpenFlow connection on an SDN device; the establishing module is used for establishing a corresponding relation between the port and the controller index, and comprises the following steps: a first correspondence of a first port and a controller index of an external SDN controller, a second correspondence of a second port and a controller index of an external SDN controller, a third correspondence of a third port and a controller index of the embedded SDN controller; a notification module, configured to notify the SDN device of the first corresponding relationship and the third corresponding relationship, and notify the embedded SDN controller of the second corresponding relationship; an issuing module, configured to issue a flow entry carrying a controller index to the SDN device and the embedded SDN controller, so that the SDN device or the embedded SDN controller forwards a packet matching the flow entry through a port corresponding to the controller index carried by the flow entry.
By determining a first port corresponding to a first OpenFlow connection, a second port corresponding to a second OpenFlow connection, and a third port corresponding to a third OpenFlow connection on an SDN device, establishing a first correspondence between the first port and a controller index of an external SDN controller, a second correspondence between the second port and a controller index of an external SDN controller, and a third correspondence between the third port and an index of the embedded SDN controller, notifying the SDN device of the first correspondence and the third correspondence, notifying the embedded SDN controller of the second correspondence, issuing a flow table item carrying a controller index to the SDN device and the embedded SDN controller, the processing method and apparatus for multiple OpenFlow connections according to the embodiments of the present disclosure can, in the case where an SDN device connects multiple SDN controllers, based on a controller index carried by a packet, and forwarding the message through a port corresponding to the controller index carried by the flow entry, so that the message is sent to a correct SDN controller.
Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
Fig. 1 shows a networking schematic of a multiple OpemFlow connection according to an embodiment of the present disclosure;
fig. 2 shows a flow chart of a method of processing multiple OpenFlow connections according to an embodiment of the present disclosure;
figure 3 illustrates a block diagram of a processing device with multiple OpenFlow connections according to an embodiment of the present disclosure;
fig. 4 shows a block diagram of a processing device with multiple OpenFlow connections according to an embodiment of the present disclosure.
Detailed Description
Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present disclosure.
Fig. 1 shows a networking schematic of a multiple OpemFlow connection according to an embodiment of the present disclosure. As shown in fig. 1, the networking of multiple OpenFlow connections includes an external SDN controller 21 and an SDN device 22, the external SDN controller 21 is physically separated from the SDN device 22, an embedded SDN controller 23 is also deployed on the SDN device 22, the embedded SDN controller 23 may be a service version, and the service board may provide services such as antivirus and deep inspection. A first OpenFlow connection is established between the external SDN controller 21 and the SDN device 22, a second OpenFlow connection is established between the external SDN controller 21 and the embedded SDN controller 23, and a third OpenFlow connection is established between the SDN device 22 and the embedded SDN controller 23. When a connection is established between the external SDN controller 21 and the embedded SDN controller 23, the embedded SDN controller 23 is managed and controlled by the external SDN controller 21 as an SDN device.
In one example, the multi-OpenFlow connection networking may include a plurality of external SDN controllers and a plurality of SDN devices, and each SDN device may have a plurality of embedded SDN controllers deployed thereon. The SDN device or the embedded SDN controller can be controlled and managed by the external SDN controllers, namely a plurality of first OpenFlow connections and a plurality of second OpenFlow connections exist; an SDN device may also be managed by multiple embedded SDN controllers deployed thereon, i.e. there are multiple third OpenFlow connections.
Each OpenFlow connection in the multi-OpenFlow connection networking is provided with a corresponding identifier, and the multiple OpenFlow connections can be distinguished through the identifiers.
For convenience of description, the method of the present invention is described based on the networking of multiple OpenFlow connections shown in fig. 1, and of course, the method of the present invention is also applicable to networking in which multiple first OpenFlow connections, multiple second OpenFlow connections, and multiple third OpenFlow connections exist. Fig. 2 shows a flowchart of a processing method of multiple OpenFlow connections according to an embodiment of the present disclosure. The processing method of multiple OpenFlow connections may be applied to the external SDN controller 21 shown in fig. 1. As shown in fig. 2, the processing method of multiple OpenFlow connections includes:
step S11, the external SDN controller determines a first port corresponding to the first OpenFlow connection, a second port corresponding to the second OpenFlow connection, and a third port corresponding to the third OpenFlow connection on an SDN device.
The SDN device may establish an OpenFlow connection with the SDN controller using a specified port or a default port. In this step, an embedded SDN controller is deployed on the SDN device, so the first port, the second port, and the third port are all ports on the SDN device. The first port may be used to represent a port on the SDN device that establishes a first OpenFlow connection with an external SDN controller, the second port may be used to represent a port on the SDN device that establishes a second OpenFlow connection with the external SDN controller, and the third port may be used to represent a port on the SDN device that establishes a third OpenFlow connection with the embedded SDN controller.
After the OpenFlow connection is established, the SDN controller may obtain port information of each port of the SDN device, such as a port number, a port MAC address, a port name, a port connection state, and the like of each port, through the feature request message. Therefore, the external SDN controller may obtain, through the feature request message, ports corresponding to the first OpenFlow connection, the second OpenFlow connection, and the third OpenFlow connection on the SDN device.
Step S12, the external SDN controller establishes a correspondence between a port and a controller index, including: a first correspondence of a first port and a controller index of an external SDN controller, a second correspondence of a second port and a controller index of an external SDN controller, a third correspondence of a third port and a controller index of the embedded SDN controller.
The controller index may be used to identify a unique SDN controller, and may be composed of one or more of letters, numbers, and symbols. The present disclosure is not so limited.
In one possible implementation, the external SDN controller may establish a controller index table, where the controller index table is used to record correspondence between the ports and the controller indexes. In one example, the controller index table includes a first entry corresponding to the first port, a second entry corresponding to the second port, and a third entry corresponding to the third port. The first table entry records a corresponding relation between a first port and a controller index of an external SDN controller, the second table entry records a corresponding relation between a second port and a controller index of an external SDN controller, and the third table entry records a corresponding relation between a third port and a controller index of an embedded SDN controller.
In one possible implementation, the controller index may be configured for the external SDN controller and the embedded SDN controller by means of a command line. It should be noted that if the controller indexes are configured through a command line, it is to be ensured that the controller indexes of the SDN controllers do not conflict, that is, the controller indexes of the SDN controllers are unique.
In one possible implementation, the controller indices of the external SDN controller and the embedded SDN controller may both be assigned and managed by the external SDN controller. The external SDN controller can configure a controller index of the external SDN controller, and after the embedded SDN controller establishes OpenFlow connection with the external SDN controller, the controller index of the embedded SDN controller is distributed by the external SDN controller. In case there are multiple external SDN controllers, the controller index of an external SDN controller may be determined by each external SDN controller negotiation.
In one possible implementation, the controller index of the external SDN controller is different from the index range of the controller index of the embedded SDN controller. For example, the index range of the controller index of the external SDN controller is 1-999, and the index range of the controller index of the embedded SDN controller is 1000-. In this way, the types of services provided by different SDN controllers may be distinguished by the controller index, for example, an external SDN controller may provide standard OpenFlow services, and an embedded SDN controller may provide proprietary customized services other than the standard OpenFlow services, such as antivirus, depth detection, and the like.
Step S13, the external SDN controller notifies the SDN device of the first corresponding relationship and the third corresponding relationship, and notifies the embedded SDN controller of the second corresponding relationship.
In an embodiment, the external SDN controller may issue the correspondence relationship through an OpenFlow message, for example, the external SDN controller may issue a first OpenFlow message carrying the first correspondence relationship and the third correspondence relationship through a first OpenFlow connection, and issue a second OpenFlow message carrying the second correspondence relationship through a second OpenFlow connection.
The SDN device can be connected with an external SDN controller through a first port, and is connected with an embedded SDN controller through a third port. After the external SDN controller notifies the SDN device of the first corresponding relationship and the third corresponding relationship, the SDN device may send, according to the first corresponding relationship, a packet sent to the external SDN controller through the first port, and the SDN device may send, according to the third corresponding relationship, a packet sent to the embedded SDN controller through the third port.
The embedded SDN controller is controlled and managed by an external SDN controller, the embedded SDN controller is equivalent to an SDN device of the external SDN controller, and the embedded SDN controller is connected with the external SDN controller through a second port of the SDN device. After the external SDN controller notifies the embedded SDN controller of the second correspondence, the embedded SDN controller may send, through the second port, a message sent to the external SDN controller according to the second correspondence.
Step S14, the external SDN controller issues a flow entry carrying a controller index to the SDN device and the embedded SDN controller, so that the SDN device or the embedded SDN controller forwards a packet matching the flow entry through a port corresponding to the controller index carried by the flow entry.
Wherein, a flow entry issued by the external SDN controller to the SDN device carries the external SDN controller index or the embedded SDN controller index; and the flow table items issued by the external SDN controller to the embedded SDN controller carry external SDN controller indexes.
Referring to fig. 1, in one possible implementation, the SDN device 22 includes a master board 221. The external SDN controller 21 may issue the flow entry carrying the controller index to the main control board 221 through the first OpenFlow connection, and the main control board 221 further distributes the flow entry to each forwarding board. In one example, the master control board 221 may issue the flow entry directly to each forwarding board. The main control board 221 may also issue the flow table item to one or more forwarding boards according to the requirement. For example, after the forwarding board 1 receives a message, if the message is not matched with the local flow entry, the forwarding board 1 reports the message to the main hole board 221, and at this time, the main control board 221 determines that the message is matched with the flow entry 1, and the main control board 221 may issue the flow entry 1 to the forwarding board 1.
Referring to fig. 1, in one possible implementation, the external SDN controller 21 may issue the flow entry carrying the controller index to the embedded SDN controller through a second OpenFlow connection. In a possible implementation manner, the external SDN controller may further send the flow entry to the main control board 221 through the first OpenFlow, and then the main control board sends the flow entry to the embedded SDN controller through a third OpenFlow connection or other device internal communication manner.
The external SDN controller issues the flow table item carrying the controller index to the SDN device and the embedded SDN controller, so that the SDN device or the embedded SDN controller can obtain the controller index in the flow table item matched with the message, determine the port corresponding to the controller index according to the corresponding relation issued by the external SDN controller in the step S13, and further send the message to the SDN controller corresponding to the controller index through the port.
In one example, referring to fig. 1, the external SDN controller index is R1, the embedded SDN controller index is R2, and port 1 corresponds to a first OpenFlow connection, port 2 corresponds to a second OpenFlow connection, and port 3 corresponds to a third OpenFlow connection on the SDN device. In step S12, the external SDN controller may establish a correspondence of port 1 and R1, a correspondence of port 2 and R1, and a correspondence of port 3 and R2. In step S13, the external SDN controller may notify the SDN device of the correspondence between ports 1 and R1 and the correspondence between ports 3 and R2, and may notify the embedded SDN controller of the correspondence between ports 2 and R1. In this way, the SDN device may establish a correspondence between port 1 and R1, and a correspondence between port 3 and R2, and the embedded SDN controller may establish a correspondence between port 2 and R1. In step S14, the external SDN controller issues a flow entry 1 to the SDN device, where the flow entry 1 carries a controller index R1 to indicate that the packet is sent to the external SDN controller; the external SDN controller also issues a flow entry 2 to the SDN device, where the flow entry 2 carries a controller index R2 to indicate that the packet is sent to the embedded SDN controller. The SDN device may send the packet matched to the flow entry 1 through the port 1 corresponding to the R1, thereby sending the packet to an external SDN controller. The SDN device may send the packet matched to the flow entry 2 through the port 3 corresponding to the R2, so as to send the packet to the embedded SDN controller.
By determining a first port corresponding to a first OpenFlow connection, a second port corresponding to a second OpenFlow connection, and a third port corresponding to a third OpenFlow connection on an SDN device, establishing a first correspondence between the first port and a controller index of an external SDN controller, a second correspondence between the second port and a controller index of an external SDN controller, and a third correspondence between the third port and a controller index of an embedded SDN controller, notifying the SDN device of the first correspondence and the third correspondence, notifying the embedded SDN controller of the second correspondence, and issuing a flow table item carrying a controller index to the SDN device and the embedded SDN controller, the processing method for multi-OpenFlow connection according to the embodiment of the present disclosure can be based on a controller index carried by a packet in a case where an SDN device connects multiple SDN controllers, and forwarding the message through a port corresponding to the controller index carried by the flow entry, so that the message is sent to a correct SDN controller.
In a possible implementation manner, one or more controller indexes may be carried in flow table entries issued by an external SDN controller to the SDN device and the embedded SDN controller. The plurality of controller indexes carried in the flow entry may include a plurality of external SDN controller indexes, or a plurality of embedded SDN controller indexes, or both one or more external SDN controller indexes and one or more embedded SDN controller indexes. Wherein, the carrying of the plurality of controller indexes in the flow table entry includes: the flow table entry carries a group identification to which the plurality of controller indices belong. Wherein the group identification may be used to distinguish an index group consisting of a plurality of controller indexes. The group identification may be composed of one or more of numbers, letters, and symbols, which the present disclosure does not limit.
In an example, a Group with a Group identifier of Group1 includes a controller index 1 and a controller index 2, and if a packet matched with a flow entry needs to be simultaneously sent to an SDN controller corresponding to the controller index 1 and an SDN controller corresponding to the controller index 2, an external SDN device may send the flow entry carrying the Group identifier of Group1 to the SDN device.
In a possible implementation manner, the SDN device further includes a flow entry carrying an index of the embedded SDN controller and issued by the embedded SDN controller.
The embedded SDN controller, as an SDN controller, may also send the flow entry to the SDN device. The embedded SDN controller may send a flow entry carrying an embedded SDN controller index to the SDN device, so that the SDN device forwards a packet matched with the flow entry according to a third port corresponding to the embedded SDN controller index carried by the flow entry, thereby sending the packet to the embedded SDN controller.
In this way, the SDN device may send the packet to the corresponding SDN controller according to the controller index carried in the flow entry matched with the packet. According to network and service planning, after connection is established, for a service uploaded to an SDN controller by a standard OpenFlow, a message is sent to an external SDN controller for processing; for services except services of a standard OpenFlow uploading SDN controller, the message is sent to an embedded SDN controller corresponding to the services for processing. Therefore, professional matters are processed by the professional embedded SDN controller, the functions of control and data separation and third-party service compatibility are achieved, and service expansion in the existing SDN architecture network is facilitated.
In a possible implementation manner, the port types of the first port, the second port, and the third port involved in the above steps include: physical ports, logical ports, and reserved ports.
Wherein the physical port corresponds to a hardware interface of the SDN device. For example, physical ports on an ethernet switch correspond one-to-one to ethernet interfaces. In the case of hardware virtualization, a physical port may also represent a virtual slice corresponding to a hardware interface.
The logical port is a port defined by the SDN device, and does not directly correspond to a hardware interface of the device, and may be a non-OpenFlow port in the SDN device, for example, a link aggregation port, a port of a tunnel such as VXLAN (Virtual Extensible local area network), and the like.
Reserved ports are ports defined by the OpenFlow protocol, and generic forwarding actions can be specified on the ports, such as forwarding to a controller, flooding, or forwarding using non-OpenFlow methods. Wherein, a Controller type reserved port indicates that the port corresponds to a control channel of the SDN Controller. When a message is sent from a Controller type port, it indicates that the message is sent to the SDN Controller. When a message is received from a Controller type port, it is indicated that the message is from an SDN Controller.
As described above, in the execution process of step S11, the external SDN controller may obtain the port number and the port MAC address of each port of the SDN device. According to the rules of the OpenFlow protocol, the SDN equipment pre-allocates a port number for each port, and the setting rule of the port number is as follows: 0 to 0xfffff 00 for physical and logical ports, and 0xfffffff 01 to 0 xffffffffffff for reserved ports. Where the port number may identify a unique physical port, a unique logical port, and a type of reserved port. For example, 0 xfffffef 00 corresponds to a unique physical port, and 0 xffffffffd corresponds to a Controller type reserved port.
In one possible implementation, step S12 may be implemented to establish a correspondence between the port identifier and the controller index. Wherein the port identification may be used to identify the unique port.
In an embodiment of the present disclosure, as shown in table 1, the port identification may be a port number or a port MAC address for the physical port and the logical port. The port number and the port MAC address are in one-to-one correspondence. In steps S12 and S13, the external SDN controller establishes a correspondence between the port number and the controller index, or establishes a correspondence between the port MAC address and the controller index, and notifies the SDN device of the established correspondence. The SDN device may establish a relationship between the controller index and the port MAC address according to a correspondence between the port number and the controller index and a correspondence between the port number and the port MAC address, or directly establish a correspondence between the port MAC address and the controller index according to a notification from an external SDN controller. In step S14, the external SDN controller sends the flow entry carrying the controller index to the SDN device. After receiving the packet matched with the flow entry, the SDN device may determine, according to a correspondence between the port MAC address and the controller index, an MAC address of a port that sends the packet, and then send the packet through the port.
TABLE 1
Figure BDA0001489345240000121
In an embodiment of the present disclosure, as shown in table 1, for a reserved port, a port identifier may be a port MAC address, and a port number may be a combination of a pre-assigned number and a controller index corresponding to the port. The pre-assigned number may be used to indicate a port number assigned to a reserved port specified by an OpenFlow protocol in the related art. In steps S12 and S13, the external SDN controller establishes a correspondence between the port number and the port MAC address, and notifies the SDN device of the established correspondence. And the SDN equipment establishes a corresponding relation between the corresponding port number and the port MAC address. In step S14, the external SDN controller sends a flow entry carrying the port number to the SDN device. After receiving the packet matched with the flow entry, the SDN device may determine, according to a correspondence between the port number and the MAC address, the MAC address of the port that sends the packet, and then send the packet through the port.
For example, the SDN device establishes a first OpenFlow connection with an external SDN controller through a first port, and establishes a third OpenFlow connection with an embedded SDN controller through a third port. Two Controller-type reserved ports of a first port and a third port exist in the SDN device. If the port for sending the message is determined only according to the pre-assigned number of the reserved port of the Controller type, the SDN device sends the message through the first port and the third port at the same time, which causes resource waste. In this embodiment of the present disclosure, the port number corresponding to the first port includes a pre-allocation number of a Controller-type reserved port and a Controller index of an external SDN Controller, and the port number corresponding to the third port includes a pre-allocation number of a Controller-type reserved port and a Controller index of an embedded SDN Controller. The SDN device may determine, according to a pre-assigned number in the port number, that the first port and the third port are reserved ports of a Controller type, and the SDN device may distinguish the first port and the third port according to a Controller index in the pre-assigned number, thereby determining a unique port that sends a packet.
In one possible implementation, for a reserved port, the pre-assigned number may be the number of the reserved port of the Controller type specified by the protocol. In one possible implementation, the present disclosure may also extend the reserved ports of the new type and assign numbers to the reserved ports of the new type from the unoccupied numbers in 0xfffffff 01 to 0 xffffffffff. At this time, the pre-assigned number is the number corresponding to the reserved port of the new type.
In one example, for a Controller-type reserved port, the port number may be extended from 0 xffffffffd to 0 xffffffffd (i), where i denotes an index of the SDN Controller of the port connection, e.g., a Controller index of an external SDN Controller of a first port connection, a Controller index of an embedded SDN Controller of a third port connection.
In an example, for a reserved port of a new addition type, for example, a reserved port of a new addition Controller _ interface type, the pre-assigned port number is xfffff 01, the port number of the reserved port of the Controller _ interface type is 0xfffff 01(i), and i represents an index of an SDN Controller to which the port is connected.
Application scenarios
The first port and the third port are reserved ports of Controller type, the pre-allocation number is 0 xffffffd, the MAC address of the first port is MAC1, the MAC address of the third port is MAC3, the index of an external SDN Controller is 1, and the index of an embedded SDN Controller is 10. The port number of the first port is 0 xffffffffd (1), and the port number of the third port is 0 xffffffffd (10). The SDN device establishes a first corresponding relation between 0 xffffffd (1) and MAC1 and a third corresponding relation between 0 xffffffffd (10) and MAC3 according to the notification of an external SDN controller.
In the above application scenario, in step S14, in example 1, the external SDN controller sends and issues a first flow entry carrying 0 xffffffffd (1) and a second flow entry carrying 0 xffffffffd (10) to the SDN device. When a message received by the SDN device is matched with a first flow table entry, the SDN device obtains a port number 0 xffffffd (1) from the first flow table entry, and determines that the 0 xffffffd (1) corresponds to the MAC1, and the SDN device can send the message out through a port with an MAC address of MAC1, that is, the first port, so that the message is sent to an external SDN controller. When the message received by the SDN device is matched with the second flow entry, the SDN device obtains a port number 0 xffffffd (10) from the second flow entry, and determines that the 0 xffffffd (10) corresponds to the MAC3, and the SDN device can send the message through a port with an MAC address of MAC3, that is, a third port, so as to achieve message uplink transmission to the embedded SDN controller.
In the above application scenario, in step S14, in example 2, the external SDN controller issues the third flow entry carrying the Group identifier Group1 to the SDN device. The Group corresponding to the Group identifier Group1 includes a port number 0 xffffffffd (1) and a port number 0 xffffffffd (10). When the message received by the SDN device is matched with the third flow table entry, the SDN device obtains a Group identifier Group1 from the third flow table entry, and determines that the port number 0 xffffffffd (1) and the port number 0 xffffffffffd (10) corresponding to the Group identifier Group1, where the port number 0 xffffffffffd (1) corresponds to the first port and the port number 0 xffffffffd (10) corresponds to the third port. The SDN equipment respectively uploads the messages to an external SDN controller through a first port, and notifies a third port of uploading the messages to an embedded SDN controller.
Fig. 3 illustrates a processing device 50 with multiple OpenFlow connections according to an embodiment of the present disclosure. The multi-OpenFlow connection networking comprises an external SDN controller and SDN equipment, an embedded SDN controller is deployed on the SDN equipment, the external SDN controller and the SDN equipment establish a first OpenFlow connection, the external SDN controller and the embedded SDN controller establish a second OpenFlow connection, and the embedded SDN controller and the SDN equipment establish a third OpenFlow connection. As shown in fig. 3, the apparatus 50 is applied to the external SDN controller, and the apparatus 50 includes:
a determining module 51, configured to determine a first port corresponding to the first OpenFlow connection, a second port corresponding to the second OpenFlow connection, and a third port corresponding to the third OpenFlow connection on an SDN device.
The establishing module 52 is configured to establish a corresponding relationship between a port and a controller index, and includes: a first correspondence of a first port and a controller index of an external SDN controller, a second correspondence of a second port and a controller index of an external SDN controller, a third correspondence of a third port and a controller index of the embedded SDN controller.
A notifying module 53, configured to notify the SDN device of the first corresponding relationship and the third corresponding relationship, and notify the embedded SDN controller of the second corresponding relationship.
An issuing module 54, configured to issue a flow entry carrying a controller index to the SDN device and the embedded SDN controller, so that the SDN device or the embedded SDN controller forwards a packet matching the flow entry through a port corresponding to the controller index carried by the flow entry.
Fig. 4 illustrates a processing device 50 with multiple OpenFlow connections according to an embodiment of the present disclosure. As shown in fig. 4, in a possible implementation manner, the issuing module 54 includes:
a first issuing unit 541, configured to carry, to a flow entry issued to the SDN device, a controller index of the external SDN controller or a controller index of the embedded SDN controller.
A second issuing unit 542, configured to carry an external SDN controller index in a flow entry issued to the embedded SDN controller.
In one possible implementation, the flow entry carries one or more controller indices; the flow table entry carrying a plurality of controller indices includes: the flow table entry carries a group identification to which the plurality of controller indices belong.
In one possible implementation, the port types of the first port, the second port, and the third port include: physical ports, logical ports, and reserved ports.
In one possible implementation, the port number of the reserved port is a combination of a pre-assigned number and a controller index corresponding to the port.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein were chosen in order to best explain the principles of the embodiments, the practical application, or technical improvements to the techniques in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (10)

1. A method for processing multiple OpenFlow connections is characterized in that a multiple OpenFlow connection networking comprises an external SDN controller and an SDN device, an embedded SDN controller is deployed on the SDN device, the external SDN controller establishes a first OpenFlow connection with the SDN device, the external SDN controller and the embedded SDN controller establish a second OpenFlow connection, the embedded SDN controller and the SDN device establish a third OpenFlow connection, and the method is applied to the external SDN controller and comprises the following steps:
the external SDN controller determines a first port corresponding to the first OpenFlow connection, a second port corresponding to the second OpenFlow connection, and a third port corresponding to the third OpenFlow connection on an SDN device;
the external SDN controller establishes a corresponding relationship between a port and a controller index, and the corresponding relationship comprises the following steps: a first correspondence of a first port and a controller index of an external SDN controller, a second correspondence of a second port and a controller index of an external SDN controller, a third correspondence of a third port and a controller index of the embedded SDN controller; the third port is used for the SDN device to establish the third OpenFLow connection with the embedded SDN controller and for sending a message to the embedded SDN controller;
the external SDN controller informs the SDN device of the first corresponding relation and the third corresponding relation, and informs the embedded SDN controller of the second corresponding relation;
the external SDN controller issues a flow entry carrying a controller index to the SDN device and the embedded SDN controller, so that the SDN device or the embedded SDN controller forwards a message matched with the flow entry through a port corresponding to the controller index carried by the flow entry.
2. The method for processing multiple OpenFlow connections according to claim 1, wherein issuing, by the external SDN controller, a flow entry carrying a controller index to the SDN device and the embedded SDN controller includes:
a flow entry issued by the external SDN controller to the SDN device carries a controller index of the external SDN controller or a controller index of the embedded SDN controller;
and the flow table items issued by the external SDN controller to the embedded SDN controller carry the controller index of the external SDN controller.
3. The method of processing multiple OpenFlow connections according to claim 2, wherein the flow table entry carries one or more controller indices;
the flow table entry carrying a plurality of controller indices includes: the flow table entry carries a group identification to which the plurality of controller indices belong.
4. The method for processing multiple OpenFlow connections according to claim 1, wherein the port types of the first port, the second port, and the third port include: physical ports, logical ports, and reserved ports.
5. The method for processing multiple OpenFlow connections according to claim 4, wherein the port number of the reserved port is a combination of a pre-assigned number and a controller index corresponding to the port.
6. A multi-OpenFlow connection processing apparatus, wherein a multi-OpenFlow connection networking includes an external SDN controller and an SDN device, an embedded SDN controller is deployed on the SDN device, the external SDN controller establishes a first OpenFlow connection with the SDN device, the external SDN controller and the embedded SDN controller establish a second OpenFlow connection, the embedded SDN controller and the SDN device establish a third OpenFlow connection, the apparatus is applied to the external SDN controller, and the apparatus includes:
a determining module, configured to determine a first port corresponding to the first OpenFlow connection, a second port corresponding to the second OpenFlow connection, and a third port corresponding to the third OpenFlow connection on an SDN device;
the establishing module is used for establishing a corresponding relation between the port and the controller index, and comprises the following steps: a first correspondence of a first port and a controller index of an external SDN controller, a second correspondence of a second port and a controller index of an external SDN controller, a third correspondence of a third port and a controller index of the embedded SDN controller; the third port is used for the SDN device to establish the third OpenFLow connection with the embedded SDN controller and for sending a message to the embedded SDN controller;
a notification module, configured to notify the SDN device of the first corresponding relationship and the third corresponding relationship, and notify the embedded SDN controller of the second corresponding relationship;
an issuing module, configured to issue a flow entry carrying a controller index to the SDN device and the embedded SDN controller, so that the SDN device or the embedded SDN controller forwards a packet matching the flow entry through a port corresponding to the controller index carried by the flow entry.
7. The apparatus for processing multiple OpenFlow connections according to claim 6, wherein the issuing module includes:
a first issuing unit, configured to carry, to a flow entry issued to the SDN device, a controller index of the external SDN controller or a controller index of the embedded SDN controller;
and the second issuing unit is used for carrying the controller index of the external SDN controller by the flow table item issued to the embedded SDN controller.
8. The multi-OpenFlow connected processing device of claim 7, wherein the flow table entry carries one or more controller indices;
the flow table entry carrying a plurality of controller indices includes: the flow table entry carries a group identification to which the plurality of controller indices belong.
9. The apparatus according to claim 6, wherein the port types of the first, second and third ports comprise: physical ports, logical ports, and reserved ports.
10. The apparatus according to claim 9, wherein the port number of the reserved port is a combination of a pre-assigned number and a controller index corresponding to the port.
CN201711237954.4A 2017-11-30 2017-11-30 Method and device for processing multiple OpenFlow connections Active CN107979546B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711237954.4A CN107979546B (en) 2017-11-30 2017-11-30 Method and device for processing multiple OpenFlow connections

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711237954.4A CN107979546B (en) 2017-11-30 2017-11-30 Method and device for processing multiple OpenFlow connections

Publications (2)

Publication Number Publication Date
CN107979546A CN107979546A (en) 2018-05-01
CN107979546B true CN107979546B (en) 2020-12-25

Family

ID=62008613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711237954.4A Active CN107979546B (en) 2017-11-30 2017-11-30 Method and device for processing multiple OpenFlow connections

Country Status (1)

Country Link
CN (1) CN107979546B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809849B (en) * 2018-08-30 2022-07-29 新华三技术有限公司 Flow rate limiting method and device and controller

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015007331A1 (en) * 2013-07-19 2015-01-22 Nokia Solutions And Networks Oy Network element and method of running applications in a cloud computing system
CN105591925A (en) * 2015-12-10 2016-05-18 杭州华三通信技术有限公司 Message forwarding method and device applied to SDN
CN106375112A (en) * 2016-08-25 2017-02-01 浪潮(北京)电子信息产业有限公司 Dedicated software defined network system
CN106559254A (en) * 2015-12-29 2017-04-05 国网智能电网研究院 SDN multiple-domain networks device and implementation method based on both-end mouth switch

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210615B2 (en) * 2012-09-17 2015-12-08 Brocade Communications Systems, Inc. Method and system for elastic and resilient 3G/4G mobile packet networking for subscriber data flow using virtualized switching and forwarding
US10355969B2 (en) * 2015-12-25 2019-07-16 KN Install Solutions (N.IRE) Limited Data driven orchestrated network using a light weight distributed sdn controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015007331A1 (en) * 2013-07-19 2015-01-22 Nokia Solutions And Networks Oy Network element and method of running applications in a cloud computing system
CN105591925A (en) * 2015-12-10 2016-05-18 杭州华三通信技术有限公司 Message forwarding method and device applied to SDN
CN106559254A (en) * 2015-12-29 2017-04-05 国网智能电网研究院 SDN multiple-domain networks device and implementation method based on both-end mouth switch
CN106375112A (en) * 2016-08-25 2017-02-01 浪潮(北京)电子信息产业有限公司 Dedicated software defined network system

Also Published As

Publication number Publication date
CN107979546A (en) 2018-05-01

Similar Documents

Publication Publication Date Title
CN108243106B (en) Method for controlling network slicing, forwarding device, control device and communication system
CN107733670B (en) Forwarding strategy configuration method and device
US10063470B2 (en) Data center network system based on software-defined network and packet forwarding method, address resolution method, routing controller thereof
US7385973B1 (en) Method and apparatus for VLAN ID discovery
US20090292813A1 (en) Address Assignment in Fibre Channel Over Ethernet Environments
US10630551B2 (en) Method and apparatus for automatic networking of gateway device
CN114070723B (en) Virtual network configuration method and system of bare metal server and intelligent network card
US20150271016A1 (en) Configuration of networks with server cluster device
CN112333733B (en) Network connection establishing method and electronic equipment
CN101904150A (en) Ethernet connectivity fault management with user verification option
US20200244663A1 (en) Group zoning and access control over a network
US20220311733A1 (en) Communication device and communication system
CN106027396B (en) A kind of route control method, device and system
CN107979546B (en) Method and device for processing multiple OpenFlow connections
CN108900603A (en) A kind of server discovery methods, devices and systems
CN107231321B (en) Method, equipment and network system for detecting forwarding path
CN105763663A (en) Private network address management method, control device and network device
JP5937563B2 (en) Communication base station and control method thereof
CN107547341B (en) Access method and device of virtual extensible local area network VXLAN
WO2016074478A1 (en) Method and device for identifying service chain path, and service chain
CN108259345B (en) Port generation method and device
WO2019015268A1 (en) Network system and network configuration method thereof
CN103986692A (en) Data forwarding method and system based on wireless access point
KR101763653B1 (en) Method and apparatus for recognizing and managing network resource
CN107959603B (en) Forwarding control method and device

Legal Events

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

Effective date of registration: 20230609

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right