CN107786441B - Communication method, OpenFlow switch and communication system - Google Patents

Communication method, OpenFlow switch and communication system Download PDF

Info

Publication number
CN107786441B
CN107786441B CN201610769603.7A CN201610769603A CN107786441B CN 107786441 B CN107786441 B CN 107786441B CN 201610769603 A CN201610769603 A CN 201610769603A CN 107786441 B CN107786441 B CN 107786441B
Authority
CN
China
Prior art keywords
message
openflow switch
address
port
sdn controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610769603.7A
Other languages
Chinese (zh)
Other versions
CN107786441A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201610769603.7A priority Critical patent/CN107786441B/en
Publication of CN107786441A publication Critical patent/CN107786441A/en
Application granted granted Critical
Publication of CN107786441B publication Critical patent/CN107786441B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation

Landscapes

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

Abstract

The embodiment of the invention provides a communication method, an OpenFlow switch and a communication system, relates to the field of communication, and can establish an in-band communication channel between an SDN controller and the OpenFlow switch on the premise that the SDN controller does not need to issue a configuration strategy to the OpenFlow switch, wherein the method comprises the following steps: the OpenFlow switch receives a first message; when the IP address of a receiver of the first message is determined to be the IP address of the in-band communication interface of the OpenFlow switch, analyzing the first message; and when the IP address of the sender of the first message or the IP address of the receiver of the first message is determined to be the IP address of the SDN controller, forwarding the first message in a flooding mode. The invention is used for OpenFlow switch communication.

Description

Communication method, OpenFlow switch and communication system
Technical Field
The present invention relates to the field of communications, and in particular, to a communication method, an OpenFlow switch, and a communication system.
Background
Software Defined Networking (SDN) is a new Network innovation architecture that has appeared in recent years. The SDN can effectively simplify the complexity of network equipment in data communication, improve the updating and evolution speed of network services and efficiently meet the requirements of users on application service innovation through separation of a control plane and a data plane, centralization of the control plane and standardization of a data platform service flow. The OpenFlow protocol is one of core technologies of an SDN, separates a control plane of a network device including an SDN controller from a data plane including an OpenFlow switch, and implements control and management functions of a whole network by the SDN controller and service data forwarding by the OpenFlow switch. Therefore, the flexible control of the network flow is realized, and a good platform is provided for the innovation of the core network and the application.
The SDN controller and the OpenFlow switch communicate through an OpenFlow protocol, a specific communication mode usually selects an in-band communication mode to carry control communication, wherein the establishment of the in-band communication channel between the SDN controller and the OpenFlow switch depends on the establishment of a service channel between the OpenFlow switches, and the establishment of the service channel between the OpenFlow switches depends on the SDN controller to issue a forwarding strategy to the OpenFlow switch through controlling the communication channel.
In actual use, before issuing a forwarding policy to an OpenFlow switch, an SDN controller needs to establish a Virtual local area Network (Virtual local area Network, abbreviated as VLAN) for in-band communication configuration between the SDN controller and the OpenFlow switch, and configure corresponding two-layer and three-layer data forwarding functions in the OpenFlow switch. When an in-band communication channel is established, the SDN controller issues a forwarding strategy to the OpenFlow switch through the VLAN, and the OpenFlow switch identifies data streams corresponding to the forwarding strategy in the VLAN and forwards the data streams according to two-layer and three-layer data forwarding rules configured in the OpenFlow switch. Although the above-mentioned scheme can establish the in-band communication channel between the SDN controller and the OpenFlow switch, a VLAN for in-band communication configuration needs to be established, and the OpenFlow switch needs to support a corresponding two-layer or three-layer data forwarding function, so that the above-mentioned scheme increases resources consumed by network maintenance, and increases the complexity of the OpenFlow switch, thereby increasing the cost for establishing the in-band communication channel between the SDN controller and the OpenFlow switch.
Disclosure of Invention
The application provides a communication method, an OpenFlow switch and a communication system, which can establish an in-band communication channel between an SDN controller and the OpenFlow switch on the premise that the SDN controller does not need to issue a configuration strategy to the OpenFlow switch.
In a first aspect, an embodiment of the present invention provides a communication method, including: the OpenFlow switch receives a first message; when the IP address of a receiver of the first message is determined to be the IP address of the in-band communication interface of the OpenFlow switch, analyzing the first message; and when the IP address of the sender of the first message or the IP address of the receiver of the first message is determined to be the IP address of the SDN controller, forwarding the first message in a flooding mode.
In a second aspect, an embodiment of the present invention provides an OpenFlow switch, including: the receiving module is used for receiving the first message; the sending module is used for analyzing the first message when the IP address of the receiver of the first message is determined to be the in-band communication interface IP address of the OpenFlow switch; and when the IP address of the sender of the first message or the IP address of the receiver of the first message is determined to be the IP address of the SDN controller, forwarding the first message in a flooding mode.
In a third aspect, an embodiment of the present invention provides a communication system, including the OpenFlow switch and the SDN controller provided in the embodiment of the present invention in the second aspect.
The communication method, the OpenFlow switch and the communication system provided by the embodiment of the invention are used for the OpenFlow switch, and the specific information carried by the first message is acquired by receiving the first message and analyzing the first message when the first message is determined to be the message of which the receiver is the OpenFlow switch; when the first message is determined to be a message with a receiver being an SDN controller, namely a message reported to the SDN controller by other OpenFlow switches, forwarding the first message in a flooding manner, so that the SDN controller can be ensured to correctly receive messages reported to the SDN controller by other OpenFlow switches; when the first message is determined to be possibly a message broadcasted by the SDN controller, the first message is forwarded in a flooding manner, so that other OpenFlow switches can be ensured to correctly receive the message broadcasted by the SDN controller. Therefore, the communication method provided by the embodiment of the invention can establish the in-band communication channel between the SDN controller and the OpenFlow switch on the premise that the SDN controller does not need to issue the configuration strategy to the OpenFlow switch, thereby reducing the resources consumed by network maintenance, reducing the complexity of the OpenFlow switch, and further reducing the cost for establishing the in-band communication channel between the SDN controller and the OpenFlow switch.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained based on these drawings without creative efforts.
Fig. 1 is a schematic flow chart of a communication method according to an embodiment of the present invention;
fig. 2 is a schematic flow chart of a communication method according to another embodiment of the present invention;
FIG. 3 is a schematic block diagram of a network architecture according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of an OpenFlow switch according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of an OpenFlow switch according to another embodiment of the present invention;
fig. 6 is a schematic structural diagram of a communication system according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
For the convenience of clearly describing the technical solutions of the embodiments of the present invention, in the embodiments of the present invention, the words "first", "second", and the like are used for distinguishing the same items or similar items with basically the same functions and actions, and those skilled in the art can understand that the words "first", "second", and the like are not limited in number or execution order. The first message, the second message, and the third message mentioned in the embodiments of the present invention may be messages with the same type and format, and the word patterns "first" and "second" are only used to indicate that the time when the corresponding message is received is different.
In the field of data communication, in order to separate a control plane from a Network device, a Software Defined Network (SDN) architecture is often adopted, and in the architecture, an SDN controller can implement control and management functions of the entire Network, and an OpenFlow switch can implement service data forwarding. The SDN controller and the OpenFlow switch communicate through an OpenFlow protocol, and a specific communication mode generally selects an in-band communication mode to carry control communication.
Because an in-band communication channel needs to be established between the SDN controller and the OpenFlow switch before data communication is performed between the SDN controller and the OpenFlow switch, and a VLAN for in-band communication configuration needs to be established between the SDN controller and the OpenFlow switch to issue a forwarding policy to the OpenFlow switch to establish the in-band communication channel, and the OpenFlow switch needs to support corresponding two-layer and three-layer data forwarding functions, resources consumed by network maintenance are increased, and complexity of the OpenFlow switch is improved.
In order to enable an in-band communication channel to be established between an SDN controller and an OpenFlow switch on the premise that the SDN controller does not need to issue a configuration policy to the OpenFlow switch, as shown in fig. 1, an embodiment of the present invention provides a communication method, including:
101. the OpenFlow switch receives the first message.
Specifically, the first message may be received by the OpenFlow switch from the SDN controller, or the first message may be received by the OpenFlow switch from another OpenFlow switch, where it should be noted that a communication mode of the OpenFlow switch and the SDN controller is configured to be an in-band communication mode, and both the OpenFlow switch and the SDN controller belong to a VLAN for in-band communication.
It should be noted that, in the process of configuring a VLAN for an OpenFlow switch and an SDN controller in advance, a port for in-band communication on the OpenFlow switch is added to the VLAN, then an in-band communication interface is configured on the OpenFlow switch and is bound to the VLAN, and an in-band communication interface IP address is configured for the in-band communication interface at the same time.
102. And when the IP address of the receiver of the first message is determined to be the IP address of the in-band communication interface of the OpenFlow switch, analyzing the first message.
Specifically, an in-band communication interface IP address for in-band communication may be configured on the OpenFlow switch, where the in-band communication interface IP address is an IP address of the OpenFlow switch during in-band communication. The OpenFlow switch may also obtain an in-band communication interface IP address of the OpenFlow switch for in-band communication from another device or system.
The OpenFlow switch can obtain a receiver IP address of the first message according to the received first message, and when the receiver IP address of the first message is the in-band communication interface IP address of the OpenFlow switch, it is determined that the first message is a message whose receiver is the OpenFlow switch, so that the first message is analyzed to obtain specific information carried by the first message. Specifically, the first message is a message sent by an SDN controller or another OpenFlow switch to the OpenFlow switch, and the message may be an interconnection Protocol (Internet Protocol, IP) message between networks whose destination IP Address is an in-band communication interface IP Address of the OpenFlow switch, or an Address Resolution Protocol (ARP) message whose recipient IP Address is an in-band communication interface IP Address of the OpenFlow switch.
103. And when the IP address of the sender of the first message or the IP address of the receiver of the first message is determined to be the IP address of the SDN controller, forwarding the first message in a flooding mode.
Specifically, an IP address of the SDN controller may be configured on the OpenFlow switch, or the OpenFlow switch may obtain the IP address of the SDN controller from another device or system, and it should be noted that one or more SDN controllers may perform in-band communication with the OpenFlow switch, and therefore the IP address of the SDN controller may also include multiple IP addresses.
Specifically, the first packet may be an IP packet whose source IP address or destination IP address is an IP address of an SDN controller, or may be an IP address of a sender or an IP address of a receiver, which is an ARP packet of an SDN controller.
When the IP address of the sender of the first packet or the IP address of the receiver of the first packet is determined to be the IP address of the SDN controller, it is determined that the receiver of the first packet is the SDN controller, or the first packet may be broadcast information sent by the SDN controller, so that the first packet is forwarded in a flooding manner in order to ensure that the SDN controller or another OpenFlow switch can correctly receive the first packet. It should be noted that when it is determined that the IP address of the sender of the first packet is the IP address of the SDN controller, it is also required to satisfy that the IP address of the receiver of the first packet is not the OpenFlow switch, the first packet is forwarded in a flooding manner.
Specifically, forwarding the first packet in the flooding manner may be sending the first packet in a broadcast manner for the OpenFlow switch.
For example, when the OpenFlow switch receives the first message from the p0 port, it may be set that the OpenFlow switch does not forward the first message from the p0 port when forwarding the first message in a flooding manner.
In the communication method provided by the embodiment of the present invention, a first message is received by an OpenFlow switch, and when it is determined that the first message is a message whose receiver is the OpenFlow switch, the first message is analyzed to obtain specific information carried by the first message; when the first message is determined to be a message with a receiver being an SDN controller, namely a message reported to the SDN controller by other OpenFlow switches, forwarding the first message in a flooding manner, so that the SDN controller can be ensured to correctly receive messages reported to the SDN controller by other OpenFlow switches; when the first message is determined to be possibly a message broadcasted by the SDN controller, the first message is forwarded in a flooding manner, so that other OpenFlow switches can be ensured to correctly receive the message broadcasted by the SDN controller. Therefore, the communication method provided by the embodiment of the invention can establish the in-band communication channel between the SDN controller and the OpenFlow switch on the premise that the SDN controller does not need to issue the configuration strategy to the OpenFlow switch, thereby reducing the resources consumed by network maintenance, reducing the complexity of the OpenFlow switch, and further reducing the cost for establishing the in-band communication channel between the SDN controller and the OpenFlow switch.
Specifically, as shown in fig. 2, an embodiment of the present invention provides a communication method including:
201. the OpenFlow switch receives the first message.
Specifically, refer to step 101 in the above embodiment, which is not described herein again.
It should be noted that before the OpenFlow switch receives the first message, a virtual local area network VLAN for in-band communication may be configured on the OpenFlow switch, and all communication ports of the OpenFlow switch for in-band communication are added to the VLAN, the VLAN is configured as an in-band communication interface of the OpenFlow switch, an IP address of the in-band communication interface is set, and an IP address of an SDN controller communicating with the OpenFlow switch is configured.
It should be noted that the first packet may be a control communication packet sent by another OpenFlow switch as described in step 211.
202. And when the IP address of the sender of the first message or the IP address of the receiver of the first message is determined to be the IP address of the SDN controller, forwarding the first message in a flooding mode.
Specifically, refer to step 103 in the above embodiments, which is not described herein again.
203. When the IP address of a receiver of the first message is determined to be the in-band communication interface IP address of the OpenFlow switch and the IP address of a sender of the first message is determined to be the IP address of the SDN controller, a first port of the OpenFlow switch for receiving the first message is obtained;
step 102 in the above embodiment may be referred to when determining that the IP address of the receiver of the first packet is an in-band communication interface IP address of the OpenFlow switch, which is not described herein again.
The OpenFlow switch can obtain a sender IP address of the first message by analyzing the first message, compare the sender IP address of the first message with an IP address of an SDN controller configured on the OpenFlow switch, and determine that the sender IP address of the first message is the IP address of the SDN controller when the sender IP address of the first message is the IP address of the SDN controller.
Specifically, the first port is a port through which the OpenFlow switch receives the first message, where the first port is a port used for in-band communication on the OpenFlow switch.
204. Receiving a second message;
205. when the IP address of a receiver of the second message is determined to be the IP address of the SDN controller, forwarding the second message through the first port;
specifically, the IP address of the receiver of the second packet may be obtained by analyzing the second packet, and the IP address of the receiver of the first packet is compared with the IP address of the SDN controller configured on the OpenFlow switch, and when the IP addresses of the receiver of the second packet are the same, the IP address of the SDN controller is determined.
When the IP address of the receiver of the second packet is determined to be the IP address of the SDN controller according to the above contents, it may be determined that the second packet is a packet reported to the SDN controller by another OpenFlow switch, and a port on the OpenFlow switch for performing in-band communication with the SDN controller is a first port, so that the second packet is forwarded through the first port, thereby avoiding a consequence of packet leakage caused by forwarding a packet reported to the SDN controller by another OpenFlow switch to another OpenFlow switch.
Illustratively, when the first OpenFlow switch 311 receives the first packet through the port P1-1, the IP address of the receiver of the first packet is the in-band communication interface IP address 128.255.1.1 of the first OpenFlow switch 311, so the port P1-1 is the first port. When the first OpenFlow switch 311 receives the second packet through the port P1-2 and the IP address of the receiver of the second packet is the IP address 128.255.1.254 of the SDN controller 301, the first OpenFlow switch 311 forwards the second packet through the port P1-1, so that the SDN controller 301 can correctly receive the second packet, and the second packet is prevented from being leaked to the third OpenFlow switch 313 due to the fact that the first OpenFlow switch 311 forwards the second packet from the port P1-3.
206. And when the IP address of the sender of the second message is determined to be the IP address of the SDN controller, forwarding the second message through other ports for in-band communication on the OpenFlow switch except the first port.
Specifically, the IP address of the sender of the second packet may be obtained by analyzing the second packet, and the IP address of the sender of the first packet is compared with the IP address of the SDN controller configured on the OpenFlow switch, and when the IP address of the sender of the second packet is the IP address of the SDN controller, it is determined that the IP address of the sender of the second packet is the IP address of the SDN controller.
When the IP address of the sender of the second packet is determined to be the IP address of the SDN controller through the above contents, it may be determined that the second packet may be a packet broadcasted by the SDN controller, and the port on the OpenFlow switch used for in-band communication with the SDN controller is the first port, so that the second packet is forwarded through other ports on the OpenFlow switch used for in-band communication except the first port, thereby avoiding waste of port resources caused by forwarding the second packet through the first port.
Illustratively, when the first OpenFlow switch 311 receives the first packet through the port P1-1, the IP address of the receiver of the first packet is the in-band communication interface IP address 128.255.1.1 of the first OpenFlow switch 311, so the port P1-1 is the first port. When the first OpenFlow switch 311 receives the second packet through the port P1-2 and the sender IP address of the second packet is the IP address 128.255.1.254 of the SDN controller 301, the first OpenFlow switch 311 forwards the second packet through the ports P1-2 and P1-3, so that the second OpenFlow switch 312 and the third OpenFlow switch 313 can correctly receive the second packet, and the waste of port resources caused by the fact that the first OpenFlow switch 311 forwards the second packet from the port P1-1 is avoided.
207. Periodically sending an automatic discovery message through a first port, wherein the automatic discovery message comprises an in-band communication interface IP address of an OpenFlow switch;
specifically, the OpenFlow switch may periodically send an auto discovery packet through the first port according to a preset period threshold, where a packet type of the auto discovery packet is an auto discovery packet, and the OpenFlow switch or the SDN controller that receives the auto discovery packet may determine whether the packet is an auto discovery packet according to the packet type of the received packet.
The auto discovery message includes an in-band communication interface IP address of the OpenFlow switch, and preferably, the auto discovery message may further include an MAC address of the OpenFlow switch, and the OpenFlow switch adjacent to the OpenFlow switch may determine, according to the in-band communication interface IP address of the OpenFlow switch carried in the auto discovery message, the OpenFlow switch that sends the auto discovery message.
For example, in the network architecture shown in fig. 3, when the first OpenFlow switch 311 receives the auto discovery message sent by the second OpenFlow switch 312 from the port P2-1 through the port P1-2, the format of the auto discovery message may be as shown in the following table:
Figure GDA0002368470810000081
the IP address of the receiver is the IP address of the SDN controller 301, the MAC address of the receiver is the MAC address of the SDN controller 301, and the message type 0x0102 indicates that the message is an auto discovery message.
208. Receiving an automatic discovery message sent by a neighbor OpenFlow switch, forwarding the automatic discovery message through a first port, and acquiring an in-band communication interface IP address of the neighbor OpenFlow switch and a third port of the OpenFlow switch for receiving the automatic discovery message according to the automatic discovery message;
specifically, the neighbor OpenFlow switch may be an OpenFlow switch directly connected to the OpenFlow switch, or may be an OpenFlow switch connected to the OpenFlow switch through another OpenFlow switch.
Specifically, the message may be determined to be an auto discovery message according to the type of the received message, and the neighbor OpenFlow switch may be determined according to an in-band communication interface IP address of the neighbor OpenFlow switch that sends the auto discovery message in the auto discovery message, and preferably, the neighbor OpenFlow switch may also be determined according to an in-band communication interface IP address of the neighbor OpenFlow switch that sends the auto discovery message in the auto discovery message and an MAC address of the neighbor OpenFlow switch that sends the auto discovery message. And determining a third port of the OpenFlow switch for receiving the auto discovery message. Thereby determining a third port that the OpenFlow switch uses for in-band communication with a neighbor OpenFlow switch.
Specifically, the auto discovery packet is forwarded through the first port, so that other OpenFlow switches or SDN controllers between the OpenFlow switch and the SDN controller can receive the auto discovery packet, and thus, an OpenFlow switch capable of performing in-band communication from a corresponding port is determined according to the auto discovery packet.
209. Receiving a third message;
210. and when the IP address of the sender of the third message is determined to be the IP address of the SDN controller and the IP address of the receiver of the third message is determined to be the IP address of the in-band communication interface of the neighbor OpenFlow switch, forwarding the third message through the third port.
The step 102 in the embodiment may be referred to, and is not described herein again, where the third port is a communication port where the OpenFlow switch receives an auto discovery packet sent by a neighboring OpenFlow switch, and it is determined that an IP address of a sender of the third packet is an IP address of the SDN controller.
When the IP address of the sender of the third packet is the IP address of the SDN controller and the IP address of the receiver of the third packet is the in-band communication interface IP address of the neighbor OpenFlow switch determined in step 208, it indicates that the third packet is the SDN controller and the receiver is the neighbor OpenFlow switch, and the OpenFlow switch can perform in-band communication with the neighbor OpenFlow switch through the third port, so that the third packet is forwarded through the third port, and packet leakage caused by the OpenFlow switch forwarding the third packet through other ports is avoided.
Illustratively, as shown in fig. 3, the first OpenFlow switch 311 receives the auto discovery message sent by the second OpenFlow switch 312 from the port P1-2, the first OpenFlow switch 311 forwards the auto discovery message from the port P1-1, the first OpenFlow switch 311 obtains the sender IP address 128.255.1.2, that is, the IP address of the second OpenFlow switch 312, from the auto discovery message, and determines the port P1-2 that receives the auto discovery message.
When the first OpenFlow switch 311 receives the third packet, and the IP address of the receiver of the third packet is 128.255.1.2, that is, the second OpenFlow switch 312, and the IP address of the sender of the third packet is 128.255.1.254, that is, the IP address of the SDN controller 301, it is determined that the third packet is a packet whose sender is the SDN controller 301 and whose receiver is the second OpenFlow switch 312, and since the first OpenFlow switch 311 determined by the auto discovery packet can perform in-band communication with the second OpenFlow switch 312 through the port P1-2, the first OpenFlow switch 311 forwards the third packet through the port P1-2.
211. Acquiring a control communication message;
specifically, the control communication packet may be a packet generated by the OpenFlow switch itself. The control communication packet carries a receiver IP address of the control communication packet and a receiver MAC address of the control communication packet.
212. And when the second port of the OpenFlow switch can be determined according to the IP address of the receiver of the control communication message and the MAC address of the receiver of the control communication message, sending the control communication message from the second port.
Specifically, a control plane forwarding table may be queried according to a receiver IP address of the control communication packet and a receiver MAC address of the control communication packet to obtain a corresponding sending port, where the control plane forwarding table may be configured on an OpenFlow switch in advance, or may be acquired from another device or system by the OpenFlow switch.
And when the query is successful, the port obtained from the query result, namely the second port of the OpenFlow switch, sends the control communication message, so that message leakage and port resource waste caused by sending the control communication message from the wrong port are reduced.
213. And when the corresponding port cannot be determined according to the IP address of the receiver of the control communication message and the MAC address of the receiver of the control communication message, sending the control communication message from all ports for in-band communication on the OpenFlow switch.
Specifically, when the query fails, that is, when the corresponding port cannot be determined according to the IP address of the receiver of the control communication packet and the MAC address of the receiver of the control communication packet, the control communication packet is sent from all ports used for in-band communication on the OpenFlow switch, so that the failure of sending the control communication packet is avoided.
It should be noted that, in the above embodiment, step 201 and step 203 may be defined as steps of an initial probing phase, and step 204 and step 213 may be defined as steps of an auto discovery phase, where the initial probing phase and the auto discovery phase are two phases in an in-band communication channel establishment process between an SDN controller and an OpenFlow switch, where the initial probing phase may be an initial forwarding rule autonomously set by the OpenFlow switch before a specific packet forwarding rule is not established, so that on the premise of ensuring basic communication requirements of the OpenFlow switch and the SDN controller, information of a network architecture where the OpenFlow switch is located is collected so as to improve a packet forwarding rule for implementation in the auto discovery phase; when the OpenFlow switch collects network architecture information meeting certain requirements through an initial detection stage, a forwarding rule can be correctly established according to the network architecture information, so that the possibility of message leakage is reduced on the premise of correctly forwarding a control communication message, wherein the network architecture information can include a connection relationship between the OpenFlow switch and an SDN controller, and can also include connection relationships between the OpenFlow switch and other adjacent OpenFlow switches.
In the communication method provided by the embodiment of the invention, the first message is received through the OpenFlow switch, when the first message is determined to be a message with a receiver being an SDN controller, that is, a message reported to the SDN controller by other OpenFlow switches, the first message is forwarded in a flooding manner, when the first message is determined to be the OpenFlow switch and the sender being the SDN controller, the first port of the OpenFlow switch for receiving the first message is obtained, so that when the second message with the receiver being the SDN controller is received, the second message is forwarded from the first port, and message leakage in the process of forwarding the second message is avoided on the premise that the SDN controller can correctly receive the second message; and meanwhile, when the second message is determined to be the SDN controller, the second message is forwarded from other ports used for in-band communication on the OpenFlow switch outside the first port, so that waste of port resources is avoided. The method comprises the steps of periodically sending an automatic discovery message through a first port, determining a neighbor OpenFlow switch of a sender of the automatic discovery message and a third port receiving the automatic discovery message when the automatic discovery message is received, and then forwarding the third message through the third port when the message of which the sender is an SDN controller and the receiver is a neighbor OpenFlow switch is received, so that message leakage in the process of forwarding the third message is avoided. In the process of sending the control communication message, the second port is determined according to the receiver of the control communication message, and the control communication message is sent from the second port, so that message leakage in the process of sending the control communication message is avoided, and when the port cannot be determined according to the receiver of the control communication message, the control communication message is sent from all ports used for in-band communication on the OpenFlow switch, and the failure of sending the control communication message is avoided. Therefore, the communication method provided by the embodiment of the invention can establish the in-band communication channel between the SDN controller and the OpenFlow switch on the premise that the SDN controller does not need to issue the configuration strategy to the OpenFlow switch, thereby reducing the resources consumed by network maintenance, reducing the complexity of the OpenFlow switch, and further reducing the cost for establishing the in-band communication channel between the SDN controller and the OpenFlow switch.
As shown in fig. 4, an embodiment of the present invention provides an OpenFlow switch 401, including:
a receiving module 411, configured to receive a first packet;
specifically, the first message may be received by the OpenFlow switch from the SDN controller, or the first message may be received by the OpenFlow switch from another OpenFlow switch, where it should be noted that a communication mode of the OpenFlow switch and the SDN controller is configured to be an in-band communication mode, and both the OpenFlow switch and the SDN controller belong to a VLAN for in-band communication.
When the OpenFlow switch needs to communicate through the in-band communication interface when the OpenFlow switch performs in-band communication with the SDN controller or other OpenFlow switches, the in-band communication interface IP address configured for the in-band communication interface can indicate the OpenFlow switch when the OpenFlow switch performs in-band communication with the SDN controller or other OpenFlow switches.
The sending module 412 is configured to, when it is determined that the IP address of the receiver of the first message is the in-band communication interface IP address of the OpenFlow switch, parse the first message;
and when the IP address of the sender of the first message or the IP address of the receiver of the first message is determined to be the IP address of the SDN controller, forwarding the first message in a flooding mode.
Specifically, an in-band communication interface IP address for in-band communication may be configured on the OpenFlow switch, where the in-band communication interface IP address is an IP address of the OpenFlow switch during in-band communication. The OpenFlow switch may also obtain an in-band communication interface IP address of the OpenFlow switch for in-band communication from another device or system.
The OpenFlow switch can obtain a receiver IP address of the first message according to the received first message, and when the receiver IP address of the first message is the in-band communication interface IP address of the OpenFlow switch, it is determined that the first message is a message whose receiver is the OpenFlow switch, so that the first message is analyzed to obtain specific information carried by the first message. Specifically, the first message is a message sent by an SDN controller or another OpenFlow switch to the OpenFlow switch, and the message may be an interconnection Protocol (Internet Protocol, IP) message between networks whose destination IP Address is an in-band communication interface IP Address of the OpenFlow switch, or an Address Resolution Protocol (ARP) message whose recipient IP Address is an in-band communication interface IP Address of the OpenFlow switch.
Specifically, an IP address of the SDN controller may be configured on the OpenFlow switch, or the OpenFlow switch may obtain the IP address of the SDN controller from another device or system, and it should be noted that one or more SDN controllers may perform in-band communication with the OpenFlow switch, and therefore the IP address of the SDN controller may also include multiple IP addresses.
Specifically, the first packet may be an IP packet whose source IP address or destination IP address is an IP address of an SDN controller, or may be an IP address of a sender or an IP address of a receiver, which is an ARP packet of an SDN controller.
When the IP address of the sender of the first packet or the IP address of the receiver of the first packet is determined to be the IP address of the SDN controller, it is determined that the receiver of the first packet is the SDN controller, or the first packet may be broadcast information sent by the SDN controller, so that the first packet is forwarded in a flooding manner in order to ensure that the SDN controller or another OpenFlow switch can correctly receive the first packet.
Specifically, forwarding the first packet in the flooding manner may be sending the first packet in a broadcast manner for the OpenFlow switch.
For example, when the OpenFlow switch receives the first message from the p0 port, it may be set that the OpenFlow switch does not forward the first message from the p0 port when forwarding the first message in a flooding manner.
In the OpenFlow switch provided by the embodiment of the present invention, a first message is received by the OpenFlow switch, and when it is determined that the first message is a message of which a receiving party is the OpenFlow switch, the first message is analyzed to obtain specific information carried by the first message; when the first message is determined to be a message with a receiver being an SDN controller, namely a message reported to the SDN controller by other OpenFlow switches, forwarding the first message in a flooding manner, so that the SDN controller can be ensured to correctly receive messages reported to the SDN controller by other OpenFlow switches; when the first message is determined to be possibly a message broadcasted by the SDN controller, the first message is forwarded in a flooding manner, so that other OpenFlow switches can be ensured to correctly receive the message broadcasted by the SDN controller. Therefore, the communication method provided by the embodiment of the invention can establish the in-band communication channel between the SDN controller and the OpenFlow switch on the premise that the SDN controller does not need to issue the configuration strategy to the OpenFlow switch, thereby reducing the resources consumed by network maintenance, reducing the complexity of the OpenFlow switch, and further reducing the cost for establishing the in-band communication channel between the SDN controller and the OpenFlow switch.
Specifically, the sending module 412 is specifically configured to obtain a first port of the OpenFlow switch for receiving the first packet when it is determined that the IP address of the sender of the first packet is the IP address of the SDN controller;
the receiving module 411 is further configured to receive a second message;
the sending module 412 is further configured to forward the second packet through the first port when it is determined that the IP address of the receiver of the second packet is the IP address of the SDN controller.
The OpenFlow switch can obtain a sender IP address of the first message by analyzing the first message, compare the sender IP address of the first message with an IP address of an SDN controller configured on the OpenFlow switch, and determine that the sender IP address of the first message is the IP address of the SDN controller when the sender IP address of the first message is the IP address of the SDN controller.
Specifically, the first port is a port through which the OpenFlow switch receives the first message, where the first port is a port used for in-band communication on the OpenFlow switch.
Specifically, the IP address of the receiver of the second packet may be obtained by analyzing the second packet, and the IP address of the receiver of the first packet is compared with the IP address of the SDN controller configured on the OpenFlow switch, and when the IP addresses of the receiver of the second packet are the same, the IP address of the SDN controller is determined.
When the IP address of the receiver of the second packet is determined to be the IP address of the SDN controller according to the above contents, it may be determined that the second packet is a packet reported to the SDN controller by another OpenFlow switch, and a port on the OpenFlow switch for performing in-band communication with the SDN controller is a first port, so that the second packet is forwarded through the first port, thereby avoiding a consequence of packet leakage caused by forwarding a packet reported to the SDN controller by another OpenFlow switch to another OpenFlow switch.
Illustratively, when the first OpenFlow switch 311 receives the first packet through the port P1-1, the IP address of the receiver of the first packet is the in-band communication interface IP address 128.255.1.1 of the first OpenFlow switch 311, so the port P1-1 is the first port. When the first OpenFlow switch 311 receives the second packet through the port P1-2 and the IP address of the receiver of the second packet is the IP address 128.255.1.254 of the SDN controller 301, the first OpenFlow switch 311 forwards the second packet through the port P1-1, so that the SDN controller 301 can correctly receive the second packet, and the second packet is prevented from being leaked to the third OpenFlow switch 313 due to the fact that the first OpenFlow switch 311 forwards the second packet from the port P1-3.
Specifically, the sending module 412 is further configured to:
and when the IP address of the sender of the second message is determined to be the IP address of the SDN controller, forwarding the second message through other ports for in-band communication on the OpenFlow switch except the first port.
Specifically, the IP address of the sender of the second packet may be obtained by analyzing the second packet, and the IP address of the sender of the first packet is compared with the IP address of the SDN controller configured on the OpenFlow switch, and when the IP address of the sender of the second packet is the IP address of the SDN controller, it is determined that the IP address of the sender of the second packet is the IP address of the SDN controller.
When the IP address of the sender of the second packet is determined to be the IP address of the SDN controller through the above contents, it may be determined that the second packet may be a packet broadcasted by the SDN controller, and the port on the OpenFlow switch used for in-band communication with the SDN controller is the first port, so that the second packet is forwarded through other ports on the OpenFlow switch used for in-band communication except the first port, thereby avoiding waste of port resources caused by forwarding the second packet through the first port.
Illustratively, when the first OpenFlow switch 311 receives the first packet through the port P1-1, the IP address of the receiver of the first packet is the in-band communication interface IP address 128.255.1.1 of the first OpenFlow switch 311, so the port P1-1 is the first port. When the first OpenFlow switch 311 receives the second packet through the port P1-2 and the sender IP address of the second packet is the IP address 128.255.1.254 of the SDN controller 301, the first OpenFlow switch 311 forwards the second packet through the ports P1-2 and P1-3, so that the second OpenFlow switch 312 and the third OpenFlow switch 313 can correctly receive the second packet, and the waste of port resources caused by the fact that the first OpenFlow switch 311 forwards the second packet from the port P1-1 is avoided.
Specifically, the sending module 412 is further configured to:
periodically sending an automatic discovery message through a first port, wherein the automatic discovery message comprises an in-band communication interface IP address of an OpenFlow switch;
the receiving module 411 is further configured to:
receiving an auto discovery message sent by a neighbor OpenFlow switch, forwarding the auto discovery message through a first port, acquiring an in-band communication interface IP address of the neighbor OpenFlow switch according to the auto discovery message, and receiving a third message;
the sending module 412 is further configured to:
and when the IP address of the sender of the third message is determined to be the IP address of the SDN controller, forwarding the third message through a third port, wherein the third port is a communication port through which the OpenFlow switch receives the auto discovery message sent by the neighbor OpenFlow switch.
Specifically, the OpenFlow switch may periodically send an auto discovery packet through the first port according to a preset period threshold, where a packet type of the auto discovery packet is an auto discovery packet, and the OpenFlow switch or the SDN controller that receives the auto discovery packet may determine whether the packet is an auto discovery packet according to the packet type of the received packet.
The auto discovery message includes an in-band communication interface IP address of the OpenFlow switch, and preferably, the auto discovery message may further include an MAC address of the OpenFlow switch, and the OpenFlow switch adjacent to the OpenFlow switch may determine, according to the in-band communication interface IP address of the OpenFlow switch carried in the auto discovery message, the OpenFlow switch that sends the auto discovery message.
Illustratively, as shown in fig. 3, when the first OpenFlow switch 311 receives the auto discovery message sent by the second OpenFlow switch 312 from the port P2-1 through the port P1-2, the format of the auto discovery message may be as shown in the following table:
Figure GDA0002368470810000161
the IP address of the receiver is the IP address of the SDN controller 301, the MAC address of the receiver is the MAC address of the SDN controller 301, and the message type 0x0102 indicates that the message is an auto discovery message.
Specifically, the neighbor OpenFlow switch may be an OpenFlow switch directly connected to the OpenFlow switch, or may be an OpenFlow switch connected to the OpenFlow switch through another OpenFlow switch.
Specifically, the message may be determined to be an auto discovery message according to the type of the received message, and the neighbor OpenFlow switch may be determined according to an in-band communication interface IP address of the neighbor OpenFlow switch that sends the auto discovery message in the auto discovery message, and preferably, the neighbor OpenFlow switch may also be determined according to an in-band communication interface IP address of the neighbor OpenFlow switch that sends the auto discovery message in the auto discovery message and an MAC address of the neighbor OpenFlow switch that sends the auto discovery message. And determining a third port of the OpenFlow switch for receiving the auto discovery message. Thereby determining a third port that the OpenFlow switch uses for in-band communication with a neighbor OpenFlow switch.
Specifically, the auto discovery packet is forwarded through the first port, so that other OpenFlow switches or SDN controllers between the OpenFlow switch and the SDN controller can receive the auto discovery packet, and thus, an OpenFlow switch capable of performing in-band communication from a corresponding port is determined according to the auto discovery packet.
Step 102 in the above embodiment may be referred to for determining that the IP address of the sender of the third packet is the IP address of the SDN controller, which is not described herein again.
When the IP address of the sender of the third packet is the IP address of the SDN controller and the IP address of the receiver of the third packet is the in-band communication interface IP address of the neighbor OpenFlow switch determined in step 208, it indicates that the third packet is the SDN controller and the receiver is the neighbor OpenFlow switch, and the OpenFlow switch can perform in-band communication with the neighbor OpenFlow switch through the third port, so that the third packet is forwarded through the third port, and packet leakage caused by the OpenFlow switch forwarding the third packet through other ports is avoided.
Illustratively, as shown in fig. 3, the first OpenFlow switch 311 receives the auto discovery message sent by the second OpenFlow switch 312 from the port P1-2, the first OpenFlow switch 311 forwards the auto discovery message from the port P1-1, the first OpenFlow switch 311 obtains the sender IP address 128.255.1.2, that is, the IP address of the second OpenFlow switch 312, from the auto discovery message, and determines the port P1-2 that receives the auto discovery message.
When the first OpenFlow switch 311 receives the third packet, and the IP address of the receiver of the third packet is 128.255.1.2, that is, the second OpenFlow switch 312, and the IP address of the sender of the third packet is 128.255.1.254, that is, the IP address of the SDN controller 301, it is determined that the third packet is a packet whose sender is the SDN controller 301 and whose receiver is the second OpenFlow switch 312, and since the first OpenFlow switch 311 determined by the auto discovery packet can perform in-band communication with the second OpenFlow switch 312 through the port P1-2, the first OpenFlow switch 311 forwards the third packet through the port P1-2.
Specifically, the sending module 412 may be further configured to obtain the control communication packet, and send the control communication packet from the second port when the second port of the OpenFlow switch can be determined according to the IP address of the receiver of the control communication packet and the MAC address of the receiver of the control communication packet.
Specifically, the control communication packet may be a packet generated by the OpenFlow switch itself. The control communication packet carries a receiver IP address of the control communication packet and a receiver MAC address of the control communication packet.
And when the corresponding port cannot be determined according to the IP address of the receiver of the control communication message and the MAC address of the receiver of the control communication message, sending the control communication message from all ports for in-band communication on the OpenFlow switch.
Specifically, a control plane forwarding table may be queried according to a receiver IP address of the control communication packet and a receiver MAC address of the control communication packet to obtain a corresponding sending port, where the control plane forwarding table may be configured on an OpenFlow switch in advance, or may be acquired from another device or system by the OpenFlow switch.
And when the query is successful, the port obtained from the query result, namely the second port of the OpenFlow switch, sends the control communication message, so that message leakage and port resource waste caused by sending the control communication message from the wrong port are reduced.
Specifically, when the query fails, that is, when the corresponding port cannot be determined according to the IP address of the receiver of the control communication packet and the MAC address of the receiver of the control communication packet, the control communication packet is sent from all ports used for in-band communication on the OpenFlow switch, so that the failure of sending the control communication packet is avoided.
Specifically, as shown in fig. 5, the OpenFlow switch 401 further includes an initialization module 413, where the initialization module 413 is configured to configure a virtual local area network VLAN used for in-band communication on the OpenFlow switch, add all communication ports used for in-band communication of the OpenFlow switch to the VLAN, configure the VLAN as an in-band communication interface of the OpenFlow switch, set an IP address of the in-band communication interface, and configure an IP address of an SDN controller in communication with the OpenFlow switch.
In the OpenFlow switch provided by the embodiment of the present invention, a first packet is received by an OpenFlow switch, and when it is determined that the first packet is a packet whose receiver is an SDN controller, that is, a packet reported to the SDN controller by another OpenFlow switch, the first packet is forwarded in a flooding manner, and when it is determined that the first packet is an OpenFlow switch and whose sender is an SDN controller, a first port of the OpenFlow switch that receives the first packet is obtained, so that when a second packet whose receiver is an SDN controller is received, the second packet is forwarded from the first port, and on the premise that the SDN controller can correctly receive the second packet, packet leakage in a process of forwarding the second packet is avoided; and meanwhile, when the second message is determined to be the SDN controller, the second message is forwarded from other ports used for in-band communication on the OpenFlow switch outside the first port, so that waste of port resources is avoided. The method comprises the steps of periodically sending an automatic discovery message through a first port, determining a neighbor OpenFlow switch of a sender of the automatic discovery message and a third port receiving the automatic discovery message when the automatic discovery message is received, and then forwarding the third message through the third port when the message of which the sender is an SDN controller and the receiver is a neighbor OpenFlow switch is received, so that message leakage in the process of forwarding the third message is avoided. In the process of sending the control communication message, the second port is determined according to the receiver of the control communication message, and the control communication message is sent from the second port, so that message leakage in the process of sending the control communication message is avoided, and when the port cannot be determined according to the receiver of the control communication message, the control communication message is sent from all ports used for in-band communication on the OpenFlow switch, and the failure of sending the control communication message is avoided. Therefore, the communication method provided by the embodiment of the invention can establish the in-band communication channel between the SDN controller and the OpenFlow switch on the premise that the SDN controller does not need to issue the configuration strategy to the OpenFlow switch, thereby reducing the resources consumed by network maintenance, reducing the complexity of the OpenFlow switch, and further reducing the cost for establishing the in-band communication channel between the SDN controller and the OpenFlow switch.
As shown in fig. 6, an embodiment of the present invention provides a communication system 501, which includes an OpenFlow switch 512 and an SDN controller 511 provided in the above embodiments.
The communication system provided by the embodiment of the invention comprises an OpenFlow switch and an SDN controller, wherein the OpenFlow switch is used for receiving a first message, and when the first message is determined to be a message of which a receiving party is the OpenFlow switch, the first message is analyzed to obtain specific information carried by the first message; when the first message is determined to be a message with a receiver being an SDN controller, namely a message reported to the SDN controller by other OpenFlow switches, forwarding the first message in a flooding manner, so that the SDN controller can be ensured to correctly receive messages reported to the SDN controller by other OpenFlow switches; when the first message is determined to be possibly a message broadcasted by the SDN controller, the first message is forwarded in a flooding manner, so that other OpenFlow switches can be ensured to correctly receive the message broadcasted by the SDN controller. Therefore, the communication method provided by the embodiment of the invention can establish the in-band communication channel between the SDN controller and the OpenFlow switch on the premise that the SDN controller does not need to issue the configuration strategy to the OpenFlow switch, thereby reducing the resources consumed by network maintenance, reducing the complexity of the OpenFlow switch, and further reducing the cost for establishing the in-band communication channel between the SDN controller and the OpenFlow switch.
From the above description of the embodiments, it is clear to those skilled in the art that the present invention can be implemented by hardware, firmware, or a combination thereof. When implemented in software, the functions described above may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. Taking this as an example but not limiting: the computer-readable medium may include Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Compact Disc Read Only Memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of instructions or data structures and which can be accessed by a computer. Furthermore, the method is simple. Any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of computer-readable medium.
From the above description of the embodiments, it will be apparent to those skilled in the art that when the present invention is implemented in software, instructions or codes for performing the above-described method may be stored in or transmitted through a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. Taking this as an example but not limiting: computer-readable media can include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), optical disks, magnetic disks, or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (11)

1. A method of communication, comprising:
configuring a Virtual Local Area Network (VLAN) for in-band communication on an OpenFlow switch, and adding all communication ports for in-band communication of the OpenFlow switch into the VLAN;
configuring the VLAN as an in-band communication interface of the OpenFlow switch, and setting an IP address of the in-band communication interface;
configuring an IP address of an SDN controller in communication with the OpenFlow switch;
the OpenFlow switch receives a first message;
when the IP address of a receiver of the first message is determined to be the IP address of the in-band communication interface of the OpenFlow switch, analyzing the first message;
and when determining that the IP address of the sender of the first message or the IP address of the receiver of the first message is the IP address of a Software Defined Network (SDN) controller, forwarding the first message through the in-band communication interface in a flooding manner.
2. The communication method according to claim 1, wherein the parsing the first packet comprises:
when the IP address of the sender of the first message is determined to be the IP address of the SDN controller, acquiring a first port of the OpenFlow switch for receiving the first message;
the communication method further comprises:
receiving a second message;
and when the OpenFlow switch determines that the IP address of the receiver of the second message is the IP address of the SDN controller, forwarding the second message through the first port.
3. The communication method according to claim 2, further comprising:
and when the IP address of the sender of the second message is determined to be the IP address of the SDN controller, forwarding the second message through other ports for in-band communication on the OpenFlow switch except the first port.
4. A communication method according to claim 2 or 3, characterized in that the communication method further comprises:
the OpenFlow switch periodically sends an automatic discovery message through the first port, wherein the automatic discovery message comprises an in-band communication interface IP address of the OpenFlow switch;
the OpenFlow switch receives an automatic discovery message sent by a neighbor OpenFlow switch, forwards the automatic discovery message through the first port, and acquires an in-band communication interface IP address of the neighbor OpenFlow switch according to the automatic discovery message.
5. The communication method according to claim 4, further comprising:
receiving a third message;
and when determining that the IP address of the sender of the third message is the IP address of the SDN controller, forwarding the third message through a third port, wherein the third port is a communication port through which the OpenFlow switch receives an auto discovery message sent by a neighbor OpenFlow switch.
6. An OpenFlow switch, comprising:
an initialization module, configured to configure a virtual local area network VLAN for in-band communication on the OpenFlow switch, and add all communication ports of the OpenFlow switch for in-band communication to the VLAN; configuring the VLAN as an in-band communication interface of the OpenFlow switch, and setting an IP address of the in-band communication interface; configuring an IP address of an SDN controller in communication with the OpenFlow switch;
the receiving module is used for receiving the first message;
a sending module, configured to analyze the first packet when it is determined that an IP address of a receiver of the first packet is an in-band communication interface IP address of the OpenFlow switch;
and when determining that the IP address of the sender of the first message or the IP address of the receiver of the first message is the IP address of a Software Defined Network (SDN) controller, forwarding the first message through the in-band communication interface in a flooding manner.
7. The OpenFlow switch of claim 6, wherein the sending module is specifically configured to:
when the IP address of the sender of the first message is determined to be the IP address of the SDN controller, acquiring a first port of the OpenFlow switch for receiving the first message;
the receiving module is further configured to:
receiving a second message;
the sending module is further configured to:
and when the IP address of the receiver of the second message is determined to be the IP address of the SDN controller, forwarding the second message through the first port.
8. The OpenFlow switch of claim 7, wherein the sending module is further configured to:
and when the IP address of the sender of the second message is determined to be the IP address of the SDN controller, forwarding the second message through other ports for in-band communication on the OpenFlow switch except the first port.
9. The OpenFlow switch of claim 7 or 8, wherein the sending module is further configured to:
periodically sending an auto discovery message through the first port, wherein the auto discovery message comprises an in-band communication interface IP address of the OpenFlow switch;
the receiving module is further configured to:
and receiving an automatic discovery message sent by a neighbor OpenFlow switch, forwarding the automatic discovery message through the first port, and acquiring an in-band communication interface IP address of the neighbor OpenFlow switch according to the automatic discovery message.
10. The OpenFlow switch of claim 9, wherein the receiving module is further configured to:
receiving a third message;
the sending module is further configured to:
and when determining that the IP address of the sender of the third message is the IP address of the SDN controller, forwarding the third message through a third port, wherein the third port is a communication port through which the OpenFlow switch receives an auto discovery message sent by a neighbor OpenFlow switch.
11. A communication system comprising the OpenFlow switch of any of claims 6-10 and an SDN controller.
CN201610769603.7A 2016-08-30 2016-08-30 Communication method, OpenFlow switch and communication system Active CN107786441B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610769603.7A CN107786441B (en) 2016-08-30 2016-08-30 Communication method, OpenFlow switch and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610769603.7A CN107786441B (en) 2016-08-30 2016-08-30 Communication method, OpenFlow switch and communication system

Publications (2)

Publication Number Publication Date
CN107786441A CN107786441A (en) 2018-03-09
CN107786441B true CN107786441B (en) 2020-09-11

Family

ID=61440922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610769603.7A Active CN107786441B (en) 2016-08-30 2016-08-30 Communication method, OpenFlow switch and communication system

Country Status (1)

Country Link
CN (1) CN107786441B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144540A (en) * 2018-07-27 2019-01-04 同济大学 A kind of distributed software defined network update method
CN110098967B (en) * 2019-05-14 2022-08-12 浙江国利网安科技有限公司 Communication method, device, equipment and medium
CN113765857B (en) * 2020-06-04 2022-10-25 华为技术有限公司 Message forwarding method, device, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763207A (en) * 2014-01-29 2014-04-30 杭州华三通信技术有限公司 In-band control connection establishment method and device in SDN
CN104580025A (en) * 2013-10-18 2015-04-29 华为技术有限公司 Method for establishing in-band connection in open flow network and switch
CN104579968A (en) * 2013-10-26 2015-04-29 华为技术有限公司 Method of SDN (Software Defined Network) exchanges to obtain precise flow table items, SDN exchange, controller and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580025A (en) * 2013-10-18 2015-04-29 华为技术有限公司 Method for establishing in-band connection in open flow network and switch
CN104579968A (en) * 2013-10-26 2015-04-29 华为技术有限公司 Method of SDN (Software Defined Network) exchanges to obtain precise flow table items, SDN exchange, controller and system
CN103763207A (en) * 2014-01-29 2014-04-30 杭州华三通信技术有限公司 In-band control connection establishment method and device in SDN

Also Published As

Publication number Publication date
CN107786441A (en) 2018-03-09

Similar Documents

Publication Publication Date Title
EP2951953B1 (en) Method of managing zigbee network in the internet of things
US7380025B1 (en) Method and apparatus providing role-based configuration of a port of a network element
EP2708001B1 (en) Label switched routing to connect low power network domains
EP1971086A1 (en) Network system and data transfer device
CN108964940B (en) Message sending method and device and storage medium
US20100290391A1 (en) Apparatus and method for accessing multiple wireless networks
CN102202104A (en) Managing distributed address pools within network devices
CN112654049B (en) Method, system, node and medium for configuring a wireless communication coverage extension system
CN107786441B (en) Communication method, OpenFlow switch and communication system
EP2911346B1 (en) Method and network device for establishing virtual cluster
WO2021135419A1 (en) Method and apparatus for updating routing information, computer device, and storage medium
CN100391156C (en) Communication system and terminal
US11929851B2 (en) Gateway selection method, device, and system
WO2016192618A1 (en) Method, apparatus and system for collecting access control list
CN105721189A (en) Network port configuration method and device for network equipment
CN114430390B (en) Method and device for acquiring cross-domain link
CN101971522A (en) Method for providing internet gateway service using plurality of universal plug and play internet gateway devices and apparatus therefor
CN109302504B (en) Method for establishing control signaling channel in PTN, PTN network element and storage medium
CN109921989B (en) BGP logical topology generation method and equipment
CN108259292B (en) Method and device for establishing tunnel
CN116389345A (en) Method and device for transmitting segmented routing strategy and network transmission system
JP6932118B2 (en) Packet processing method and equipment
CN110011820B (en) Method and device for connecting systems and computer storage medium
CN108243080B (en) Intelligent method and device for optical network unit
CN110945847B (en) Method, device and system for rapidly recovering service in path switching process

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