WO2015032026A1 - 一种链路发现方法、sdn控制器及设备 - Google Patents

一种链路发现方法、sdn控制器及设备 Download PDF

Info

Publication number
WO2015032026A1
WO2015032026A1 PCT/CN2013/082865 CN2013082865W WO2015032026A1 WO 2015032026 A1 WO2015032026 A1 WO 2015032026A1 CN 2013082865 W CN2013082865 W CN 2013082865W WO 2015032026 A1 WO2015032026 A1 WO 2015032026A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
sdn controller
link
port
sdn
Prior art date
Application number
PCT/CN2013/082865
Other languages
English (en)
French (fr)
Inventor
李刚
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to ES13893127.4T priority Critical patent/ES2641458T3/es
Priority to PCT/CN2013/082865 priority patent/WO2015032026A1/zh
Priority to EP13893127.4A priority patent/EP3029905B1/en
Priority to CN201380002759.7A priority patent/CN103782553B/zh
Publication of WO2015032026A1 publication Critical patent/WO2015032026A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a link discovery method, an SDN controller, and a device. Background technique
  • SDN Software Defined Networking
  • Hardware devices in the physical topology are no longer available.
  • the respective software controls the routing of the data packets, but receives the forwarding rules from the control plane and forwards the data packets according to these rules.
  • a network (or SDN domain) within a certain range is managed by a centralized and unified control logic unit to solve the problem of the distributed operation of a large number of forwarding devices in the network, so that the network
  • the design, deployment, operation and maintenance, and management are done at one control point, and the underlying network variability is eliminated.
  • the centralized and unified control logic unit can be an SDN controller (SDN Controller), that is, the SDN controller provides a control plane to uniformly control and manage devices in the SDN domain under its jurisdiction.
  • SDN controller can control and manage the devices in the SDN domain under its jurisdiction through the Openflow protocol.
  • the automatic discovery of the link in the SDN domain under its jurisdiction by the SDN controller is a prerequisite for the SDN controller to implement SDN network link management, network topology automatic discovery, and the like.
  • the automatic discovery process of the SDN controller in the SDN domain under its jurisdiction is mainly as follows:
  • the port library in the SDN domain that is discovered by the SDN controller that is, the port of the device included in the SDN domain) is automatically discovered.
  • the process of the connection relationship between ports In the prior art, the methods for automatically discovering links in the SDN domain of the SDN controller provided by the SDN controller include the following two methods:
  • the SDN domain governed by the SDN controller 101 includes two devices SW1 and SW2.
  • the SDN controller 101 communicates with the devices in the SDN domain under its jurisdiction through the Packet-out message, the Packet-in message, and the LLDP protocol in the Openflow protocol to complete the automatic link transmission.
  • the automatic discovery method of the SDN controller 101 for the link in the SDN domain mainly includes the following steps: Step 1: The SDN controller 101 discovers the port library in the SDN domain, including the SW1 port P1 and the port P2 of the SW2;
  • Step 2 The SDN controller 101 sends a Packet-out message to each device in the port library, where the Packet-out message is used to indicate that the device carries the packet carried in the Packet-out message through the egress port specified by the SDN controller 101.
  • the packet is sent out, and the packet-out message carries a link layer discovery protocol (LLDP), which is used to indicate the main capability, management address, device identifier, and interface of the SDN controller 101.
  • LLDP link layer discovery protocol
  • Step 3 Suppose that the Packet-out message received by SW1 indicates that SW1 forwards the LLDP packet carried in the Packet-out message through P1. After the Packet-out message received by SW1, the message header of the Packet-out message is removed. Forward LLDP packets from P 1;
  • Step 4 Assume that there is a physical link between P1 and SW2, and then SW1 forwards the LLDP packet from the PI to the SW2 through the port P2. After receiving the LLDP packet, the SW2 automatically discovers the link on the controller. In the stage, the flow table has not been generated, and SW2 does not know where to forward the LLDP packet. Therefore, SW2 encapsulates the LLDP packet into a Packet-in message, and sends it to the SDN controller 101 that governs itself, and in the Packet-in message.
  • the ingress port information that receives the LLDP packet is P2.
  • Step 5 After receiving the Packet-in message, the SDN controller 101 parses out the LLDP packet carried in the Packet-in message and sends the LLDP packet to the LLDP packet.
  • the packet-out message is used to discover the link between P1 and P2 through the information of the egress port P1 carried in the packet-out message and the information of the ingress port P2 carried in the corresponding packet-out message.
  • the SDN controller 101 communicates with devices in its own SDN domain through the LLDP protocol to complete automatic link discovery.
  • the automatic discovery method of the SDN controller 101 for the link in the SDN domain mainly includes the following steps:
  • Step 1 SW1 and SW2 respectively use the multicast address to send LLDP packets to other devices in the SDN domain and the SDN controller 101, and the LLDP packet is used to indicate the device that sends the LLDP packet. Primary capability, management address, device identification, interface identification, etc.
  • Step 2 After receiving the LLDP packet sent by the other device, the SW1 and the SW2 forward the received LLDP packet to the other device in the SDN domain and the SDN controller 101 and the SDN controller. 101 discovers the link in the SDN domain that is managed by the SDN controller 101 by using the received LLDP packet sent by each device.
  • the SDN controller can only automatically discover the links in the SDN domain under its jurisdiction, and Cross-domain links between two SDN domains that are governed by two SDN controllers cannot be automatically discovered.
  • the SDN controller in the prior art can administer network devices located at different network levels, for example: a router device controller that governs the routing device, and an optical network controller that administers the optical network device, because the routing device and the optical network device are A network device at a different network layer, and a link between the routing device and the optical network device, and the routing device and the optical network device are controlled by different SDN controllers. Therefore, in the prior art, the SDN domain is located at different levels. Cross-domain links between them are also not automatically discovered. Summary of the invention
  • the embodiments of the present invention provide a link discovery method, an SDN controller, and a device, which are used to solve the problem that the cross-SDN domain link cannot be found in the prior art.
  • the first aspect provides a link discovery method, including:
  • the first software-defined network SDN controller receives the inquiry message sent by the first device that is in the jurisdiction, where the inquiry message is used to query the port information of the port that is used to forward the identifier message received by the first device, the query message Encapsulating an identifier packet carrying the identifier of the second SDN controller; parsing the identifier and the identifier;
  • the identifier 4 When it is determined that the identifier 4 does not carry the identifier of the first SDN controller, sending, to the link that is connected to the first SDN controller, the identifier that is determined according to the query message and encapsulated with the identifier Encapsulated message
  • the encapsulated message is used by the second SDN controller to send the identifier packet to the first device according to the identifier packet encapsulated in the encapsulated message when the encapsulated message is received by the second SDN controller.
  • the chain is connected to the first SDN controller. And the sending, by the parent SDN controller of the first SDN controller, the encapsulation message.
  • the encapsulated message encapsulated with the identifier packet, which is determined according to the query message, is sent to a link that is connected to the first SDN controller, specifically
  • the method includes: forwarding, to the neighboring SDN controllers of the first SDN controller, the query message, where the adjacency SDN controller of the first SDN controller is a physical medium connected to the first SDN controller An SDN controller of the link, or an SDN controller having a communication mechanism with the first SDN controller, or an SDN controller configured for the first SDN controller; or the identifier carries the a domain identifier of the SDN domain that is controlled by the second SDN controller; and a packet that is connected to the first SDN controller, and sends a package message that is encapsulated with the identifier packet, which is determined according to the query message,
  • the method includes: forwarding, by the parsed, the domain identifier of the SDN domain that is controlled by the second SDN controller that is carried in
  • the identifier packet encapsulated in the query message is The first device is received by the ingress port, and the inquiry message further carries the port information of the ingress port.
  • the identifier packet encapsulated in the query message An identifier packet of the link information of the link corresponding to the egress port of the second device that is received by the first device by the ingress port; the first device sends the identifier message to the first SDN controller
  • the identifier packet encapsulated by the query message further carries the link of the corresponding link of the ingress port Attribute information.
  • the encapsulated message encapsulated with the identifier packet, which is determined according to the query message, is sent to a link that is connected to the first SDN controller, specifically
  • the method includes: sending, to the first device, an indication message that encapsulates an encapsulated message, where the indication message is used to instruct the device to forward the encapsulated message.
  • the identifier packet encapsulated in the query message is received by the first device by using an ingress port, and The query message further carries the port information of the ingress port; the indication message is specifically used to instruct the device to forward the encapsulation message through the ingress port; and the encapsulation is sent to the first device Before the indication message of the message is encapsulated, the method further includes: encapsulating the identifier message and the port information of the ingress port into the encapsulated message.
  • the identifier packet encapsulated in the query message is received by the first device by using an ingress port
  • the egress port of the second device corresponds to the link information of the link information of the link
  • the identifier packet encapsulated by the query message sent by the first device to the first SDN controller is further carried
  • the ingress port corresponds to the link attribute information of the link
  • the indication message is specifically used to instruct the first device to forward the encapsulation message through the ingress port
  • the encapsulation is sent to the first device
  • the method further includes: encapsulating the identifier packet carrying the link attribute information of the link corresponding to the ingress port as an encapsulation message, or carrying the link attribute information of the link corresponding to the ingress port
  • the identifier of the ⁇ text as a package message.
  • the second aspect provides a link discovery method, including:
  • the parent software-defined network SDN controller sends an indication message encapsulating the identifier packet carrying the identifier of the parent SDN controller to the first sub-SDN controller, where the indication message is used to indicate the first sub-SDN control
  • the device forwards the identification message through a designated device under the jurisdiction;
  • the query message forwarded by the second sub-SDN controller, where the query message is a device that is controlled by the second sub-SDN controller, and after receiving the identifier packet, the identifier is sent by the designated device Encapsulating is used to query the second sub-SDN controller for forwarding the identifier packet
  • the inquiry message of the port information of the port
  • the indication message is specifically used to indicate that the specified device sends the identifier packet by using a specified out port, and the identifier packet has the indication
  • the message has a corresponding relationship;
  • the query message is specifically: after the device that is controlled by the second sub-SDN controller receives the identifier packet sent by the specified device through the egress port,
  • the encapsulation message is an enquiry message for inquiring the port information of the port that forwards the identifier packet to the second sub-SDN controller that carries the port information of the ingress port, and determines, according to the identifier packet, An inter-SDN domain link exists between the specified device and the device that is controlled by the second sub-SDN controller, and the method includes: determining, according to the identifier packet, an indication message corresponding to the identifier packet; An inter-SDN domain link exists between the egress port specified in the indication message and the ingress port carried in the inquiry message.
  • the indication message is specifically used to indicate that the specified device sends the identifier packet by using a specified out port; and the specified device sends the identifier packet by using the egress port.
  • the identifier packet carries the link attribute information of the link corresponding to the egress port; the identifier encapsulated by the query message sent by the device managed by the second sub SDN controller to the second sub SDN controller In the text, the link attribute information of the link corresponding to the ingress port is also carried. According to the identifier packet, it is determined that there is a cross-SDN domain between the specified device and the device under the jurisdiction of the second sub-SDN controller.
  • the link includes: determining, according to link attribute information of the link corresponding to the egress port carried in the identifier packet, and link attribute information of the link corresponding to the ingress port, determining the egress port and the There are cross-SDN domain links between the ingress ports.
  • the parent SDN controller sends the first sub-SDN controller Before indicating the message, the method further includes: receiving, by the parent SDN controller, the first sub-SDN control The port information reported by the controller, wherein the port characterized by the port information is determined from each port of each device under the jurisdiction of the first sub-SDN controller, and does not form a chain with any of the ports.
  • the port of the road is determined as the designated egress port, and the device to which the reporting port belongs is determined as the designated device.
  • the identifier packet is an LLDP packet
  • the indication is The message is a packet-out message
  • the inquiry message is a packet-in message
  • the third aspect provides a link discovery method, including:
  • the first software-defined network SDN controller sends an indication message encapsulating the identifier packet carrying the identifier of the first SDN controller to the designated device that is in the jurisdiction, where the indication message is used to instruct the designated device to forward the Identification message;
  • the second SDN controller is an adjacency SDN controller of the first SDN controller, where the adjacency SDN controller of the first SDN controller An SDN controller that is a physical link that is in communication with the first SDN controller, or an SDN controller that has a communication mechanism with the first SDN controller, or is configured for the first SDN controller
  • the SDN controller receives the encapsulated message encapsulating the identifier packet, and the method includes: receiving the encapsulated message forwarded by the second SDN controller, where the encapsulated message is a device that is controlled by the second SDN controller, After receiving the identifier packet sent by the specified device, the identifier packet is encapsulated to be used to query the second SDN controller to forward the identifier packet.
  • the first query message for the port information of the port.
  • the indication message is specifically used to indicate that the specified device sends the identifier packet by using a specified out port, and the The identifier packet has a corresponding relationship with the indication message.
  • the encapsulated message is specifically that the device that is controlled by the second SDN controller receives the identifier packet sent by the specified device through the egress port through the ingress port.
  • the indication message is that the cross-SDN domain link exists between the egress port specified in the indication message and the ingress port carried in the encapsulation message.
  • the identifier packet is LLDP.
  • the message is a packet-out message
  • the inquiry message is a packet-in message.
  • the receiving, by the receiving device, the encapsulated message that encapsulates the identifier packet includes: receiving a second query message that is sent by the specified device and encapsulates the encapsulated message, where The second query message is used to query the port information of the port that forwards the encapsulated message, where the encapsulated message is a device that is controlled by the second SDN controller, and after receiving the identifier sent by the specified device, After the identifier packet is encapsulated into a first query message for querying, by the second SDN controller, the port information of the port for forwarding the identifier packet, the second SDN controller is configured according to the first An inquiry message, the encapsulated encapsulation message carrying the identification message.
  • the indication message is specifically used to indicate that the specified device sends the identifier packet by using a specified out port, and the The identifier packet has a corresponding relationship with the indication message; the encapsulated message is specifically that the device that is controlled by the second SDN controller receives the specified device through the ingress port through the outbound After the identifier packet sent by the port, the identifier packet is encapsulated into a port that carries the ingress port information and is used to query the second SDN controller for forwarding the port of the identifier 4 After the first query message of the information, the second SDN controller encapsulates, according to the first query message, an encapsulated message carrying the identifier packet and port information of the ingress port; according to the identifier packet Determining that there is a cross-SDN domain link between the specified device and the device that is controlled by the second sub-SDN controller, and the method includes: determining, according to the identifier packet, an indication
  • the indication message is specifically used to indicate the designated device, And sending, by the specified outbound port, the identifier packet; and the identifier packet sent by the specified device by using the egress port, carrying the link attribute information of the link corresponding to the egress port; the second SDN controller And the identifier information encapsulated by the first query message that is sent by the device to the second SDN controller, further carrying the link attribute information of the link corresponding to the ingress port; Determining that there is a cross-SDN domain link between the specified device and the device that is controlled by the second SDN controller, and the method includes: according to the link attribute information of the link corresponding to the egress port carried in the identifier packet, And the link attribute information of the link corresponding to the ingress port, determining that there is a cross-SD domain link between the egress port and the ingress port.
  • the fourth aspect provides a link discovery method, including:
  • the first device sends, to the second device, a link probe message for detecting whether a link exists between the first device and the second device;
  • the link detection response message further includes: the ingress port information that the second device receives the link detection message; determining the first A cross-domain link exists between the device and the second device, and the method includes: determining that the cross-domain link exists between the egress port of the first device that sends the link detection message and the ingress port.
  • the method further includes: sending, to the second device, a link attribute detection message for detecting a link attribute of the corresponding link of the ingress port; receiving a link attribute detection response message sent by the second device, where The link attribute detection response message carries the link attribute of the link corresponding to the ingress port.
  • the method when determining the first device After the second device has a link across the SDN domain, the method further includes: reporting, by the SDN controller that is in the first device, the information of the cross-SDN domain link.
  • an SDN controller including:
  • a receiving module configured to receive an inquiry message sent by the first device in the jurisdiction, where the query message is used to query port information of a port that is used to forward the identifier packet received by the first device, where the query message is encapsulated An identifier packet carrying other SDN controller identifiers;
  • a parsing module configured to parse the identifier packet encapsulated in the query message received by the receiving module
  • a sending module configured to send, according to the parsing result of the parsing module, that the identifier packet does not carry the identifier of the SDN controller, to send a message according to the query message to a link that is connected to the SDN controller
  • the encapsulated message encapsulated with the identifier packet, where the encapsulated message is used by the other SDN controller to receive the encapsulated message, according to the identifier packet encapsulated in the encapsulated message, Determining that there is a cross-SDN domain link between the second device that sends the identifier packet to the first device and the first device.
  • the sending module when the other SDN controller is a parent SDN controller of the SDN controller, the sending module is specifically used to be a parent of the SDN controller.
  • the SDN controller forwards the inquiry message.
  • the sending module is specifically configured to forward the query message to all neighboring SDN controllers of the SDN controller, where the SDN controller is adjacency
  • the SDN controller is an SDN controller of a physical link in communication with the SDN controller, or an SDN controller having a communication mechanism with the SDN controller, or an SDN controller configured for the SDN controller
  • the sending module is specifically configured to: when the identifier packet carries the domain identifier of the SDN domain that is controlled by the other SDN controller, according to the parsed identifier, the other SDN carried in the text
  • the domain identifier of the SDN domain managed by the controller forwards the inquiry message to the other SDN controller.
  • the sending module is configured to send, to the first device, an indication message that encapsulates an encapsulated message, where the indication message is used to indicate that the device forwards The encapsulated message.
  • the identifier packet encapsulated in the query message received by the receiving module is Received by the port, and the query message further carries the port information of the ingress port; the indication message sent by the sending module is specifically used to instruct the device to forward the encapsulation message through the ingress port; The sending module is further configured to encapsulate the identifier message and the port information of the ingress port into the encapsulated message before sending the indication message encapsulating the encapsulated message to the first device.
  • the identifier packet encapsulated in the query message received by the receiving module is an ingress port of the first device And an identifier message of the link information of the link corresponding to the egress port of the second device, and the identifier packet encapsulated by the query message sent by the first device to the first SDN controller
  • the link attribute information of the link corresponding to the ingress port is also carried;
  • the indication message sent by the sending module is specifically used to instruct the first device to forward the encapsulated message through the ingress port;
  • the sending module is further configured to encapsulate the identifier packet carrying the link attribute information of the link corresponding to the ingress port into an encapsulated message, before sending the indication message encapsulating the encapsulated message to the first device, Or, the label carrying the link attribute information of the link corresponding to the ingress port
  • the message is identified as a package message.
  • a parent SDN controller including:
  • a sending module configured to send, to the first sub-software-defined network SDN controller, an indication message encapsulating the identifier packet carrying the identifier of the parent SDN controller, where the indication message is used to indicate the first sub-SDN
  • the controller forwards the identifier packet by using a designated device under the jurisdiction;
  • a receiving module configured to receive an inquiry message that is forwarded by the second sub-SDN controller, where the inquiry message is a device that is controlled by the second sub-SDN controller, and after receiving the identifier packet, Encapsulating the identification message as an inquiry message for inquiring the second sub-SDN controller for port information of the port for forwarding the identifier;
  • a parsing module configured to parse the identifier packet encapsulated in the query message received by the receiving module
  • a determining module configured to: when determining, according to the parsing result of the parsing module, that the identifier packet carries the identifier of the parent SDN controller, determine, according to the identifier packet, that the There is a cross-SDN domain link between the designated device indicating the message and the device under the jurisdiction of the second sub-SDN controller.
  • the indication message sent by the sending module is specifically used to indicate that the specified device sends the identifier packet by using a specified out port, and the identifier packet is The message has a corresponding relationship with the indication message; the inquiry message received by the receiving module is specifically that the device that is controlled by the second sub-SDN controller receives the specified device through the ingress port and sends the information through the egress port.
  • the identifier packet is encapsulated into port information carrying the port information of the ingress port, and is used to query the second sub SDN controller for port information of the port that forwards the identifier packet.
  • the determining module is configured to determine, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet, and determine the outbound port and the query message specified in the indication message. There is a cross-SDN domain link between the ingress ports carried.
  • the indication message sent by the sending module is specifically used to indicate that the specified device sends the identifier packet by using a specified out port;
  • the identifier packet sent by the specified device through the egress port carries the link attribute information of the link corresponding to the egress port;
  • the device managed by the second sub SDN controller controls the second sub SDN
  • the identifier packet encapsulated by the query message that is sent by the device further carries the link attribute information of the link corresponding to the ingress port;
  • the determining module is specifically configured to be used according to the identifier carried in the identifier packet
  • the link attribute information of the link corresponding to the outbound port and the link attribute information of the link corresponding to the ingress port determine that there is a cross-SDN domain link between the egress port and the ingress port.
  • the receiving module is further configured to be used in the parent SDN controller.
  • an SDN controller including:
  • a sending module configured to send, to the designated device that is in the jurisdiction, an indication message that is encapsulated with the identifier packet that carries the identifier of the SDN controller, where the indication message is used to instruct the designated device to forward the identifier;
  • a receiving module configured to receive an encapsulated message encapsulating the identifier packet, where the encapsulated message is a device that is controlled by the other SDN controller, and after receiving the identifier packet sent by the specified device, the identifier is The encapsulation is determined by a first interrogation message for inquiring the other SDN controller to forward port information of the port of the identification message;
  • a parsing module configured to parse the identifier packet encapsulated in the encapsulated message received by the receiving module
  • a determining module configured to: when the parsing module determines that the identifier packet carries the identifier of the SDN controller, determine, according to the identifier packet, the receiving the indication message sent by the sending module There is a cross-SDN domain link between the designated device and the device under the jurisdiction of the other SDN controller.
  • the other SDN controller is a neighboring SDN controller of the SDN controller, where the adjacent SDN controller of the SDN controller is the SDN
  • the controller has an SDN controller of the connected physical link, or an SDN controller having a communication mechanism with the SDN controller, or an SDN controller configured for the SDN controller; Receiving the encapsulated message forwarded by the other SDN controller, where the encapsulated message is a device that is managed by the other SDN controller, and after receiving the identifier packet sent by the specified device, encapsulating the identifier packet And a first inquiry message for inquiring the other SDN controller for port information of the port that forwards the identifier.
  • the indication message sent by the sending module is specifically used to indicate that the specified device sends the identifier by using a specified out port a message, and the identifier message has a corresponding relationship with the indication message;
  • the encapsulated message received by the receiving module is specifically that the device that is controlled by the other SDN controller receives the specified device through the ingress port.
  • the identifier packet sent by the port is described, the identifier packet is encapsulated into port information that carries the ingress port information and is used to query the other SDN controller for the port that forwards the identifier packet.
  • the determining module is configured to: determine, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet; determine the outbound port specified in the indication message, and the There is a cross-SDN domain link between the ingress ports carried in the encapsulation message.
  • the receiving module is configured to receive, by the specified device, a second query message that is encapsulated with the encapsulated message, where the second query message is Port information for inquiring the port for forwarding the encapsulated message, the encapsulating message is a device that is managed by the other SDN controller, and after receiving the identifier packet sent by the specified device, encapsulating the identifier packet After the first query message is used to query the other SDN controller for the port information of the port that forwards the identifier packet, the other SDN controller encapsulates the identifier according to the first query message. The encapsulated message of the message.
  • the indication message that is sent by the sending module is specifically used to indicate that the specified device is specified by The port sends the identifier packet, and the identifier packet has a corresponding relationship with the indication message; the encapsulated message received by the receiving module is specifically received by the device under the jurisdiction of the other SDN controller through the ingress port.
  • the identifier packet is encapsulated to carry the ingress port information, and is used to query the other SDN controller to forward the identifier.
  • the other SDN controller After the first query message of the port information of the port of the packet, the other SDN controller encapsulates the encapsulated message carrying the identifier packet and the port information of the ingress port according to the first query message;
  • the determining module is configured to determine, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet, and determine that the egress port specified in the indication message is encapsulated in the second query message. There is a cross-SDN domain link between the ingress ports carried in the encapsulation message.
  • the indication message sent by the sending module is specifically used to Instructing the designated device to send the identifier packet by using the specified out port; and the identifier information sent by the specified device through the egress port carries the link attribute information of the link corresponding to the egress port; And the identifier information encapsulated by the first query message sent by the device that is controlled by the other SDN controller to the other SDN controller, and the link attribute information of the link corresponding to the ingress port;
  • the determining module is configured to determine, according to the link attribute information of the corresponding link of the egress port and the link attribute information of the corresponding link of the ingress port, the egress port and the There are cross-SDN domain links between the ingress ports.
  • an apparatus comprising:
  • a sending module configured to send, to other devices, a link probe message for detecting whether a link exists between the device and the other device;
  • a receiving module configured to receive a link probe response message sent by the other device after receiving the link probe message sent by the sending module, where the link probe response message carries the other Domain identification information of the SDN domain to which the device belongs.
  • Determining a module when the domain identifier of the SDN domain to which the device belongs is different from the domain identifier of the SDN domain to which the other device belongs, determining that there is a cross-SDN domain between the device and the other device Link.
  • the link detection response message received by the receiving module further includes the ingress port information that the other device receives the link detection message;
  • the determining module is specifically configured to determine that a cross-domain link exists between the egress port of the device that sends the link probe message and the ingress port.
  • the sending module is further configured to determine, at the determining module, an egress port of the device that sends the link detection message After the cross-domain link exists between the ingress port, the link attribute detection message for detecting the link attribute of the corresponding link of the ingress port is sent to the other device; the receiving module is further configured to After the sending, by the sending module, the link attribute detection message, the link attribute detection response message sent by the other device is received, where the link attribute detection response message carries the link of the ingress port corresponding link Road properties.
  • the sending module is further used to After the determining module determines that there is a link between the device and the other device across the SDN domain, the information about the cross-SD domain link is reported to the SDN controller that administers the device.
  • an SDN controller including:
  • a receiver configured to receive an inquiry message sent by the first device in the jurisdiction, where the query message is used to query port information of a port that is used to forward the identifier packet received by the first device, where the query message is encapsulated An identifier packet carrying other SDN controller identifiers;
  • a processor configured to parse the identifier packet encapsulated in the query message received by the receiver, and configured to: when determining, according to the parsing result of the processor, that the identifier packet does not carry the SDN control And sending, to the link that is connected to the SDN controller, a package message that is encapsulated with the identifier packet, which is determined according to the query message, where the encapsulated message is used for the other SDN control
  • the device determines, according to the identifier packet encapsulated in the encapsulated message, that there is a cross between the second device that sends the identifier packet to the first device and the first device.
  • SDN domain link In a tenth aspect, a parent SDN controller is provided, including:
  • a transmitter configured to send, to the first sub-software-defined network SDN controller, an indication message that is encapsulated with an identifier packet that carries the identifier of the parent SDN controller, where the indication message is used to indicate the first sub-SDN
  • the controller forwards the identifier packet by using a designated device under the jurisdiction;
  • a receiver configured to receive an inquiry message forwarded by the second sub-SDN controller, where the inquiry message is a device that is controlled by the second sub-SDN controller, and after receiving the identifier packet, Encapsulating the identifier message as an inquiry message for querying, by the second sub-SDN controller, port information of a port for forwarding the identifier message;
  • a parser configured to parse the identifier packet encapsulated in the query message received by the receiver, and configured to: when determining, according to the parsing result of the parser, that the identifier packet carries the parent SDN When the identifier of the controller is determined, according to the identifier packet, determining that there is an inter-SDN domain link between the designated device that receives the indication message sent by the sender and the device that is controlled by the second sub-SDN controller .
  • an SDN controller including:
  • a transmitter configured to send, to the designated device that is in the jurisdiction, an indication message that is encapsulated with the identifier packet that carries the identifier of the SDN controller, where the indication message is used to instruct the designated device to forward the identifier packet;
  • a receiver configured to receive an encapsulated message encapsulating the identifier packet, where the encapsulated message is a device that is controlled by the other SDN controller, and after receiving the identifier packet sent by the specified device, the identifier is The message encapsulation is determined by using a first query message for querying, by the other SDN controller, port information of the port that forwards the identifier message;
  • a parser configured to parse the identifier packet encapsulated in the encapsulated message received by the receiver, where the processor is configured to: when the parser determines that the identifier packet carries the identifier of the SDN controller And determining, according to the identifier packet, that there is a cross-SDN domain link between the designated device that receives the indication message sent by the sender and the device that is managed by the other SDN controller.
  • an apparatus comprising:
  • a transmitter configured to send to another device, to detect between the device and the other device Whether there is a link probe message of the link;
  • a receiver configured to receive a link probe response message sent by the other device after receiving the link probe message sent by the sender, where the link probe response message carries the other Domain identification information of the SDN domain to which the device belongs.
  • the processor is configured to determine, when the domain identifier of the SDN domain of the device belongs to the domain identifier of the SDN domain to which the other device belongs, the link between the device and the other device exists across the SDN domain.
  • the parent SDN controller sends an indication message encapsulating the identifier packet carrying the identifier of the parent SDN controller to the first sub-SDN controller, where
  • the indication message is used to indicate that the first sub-SDN controller forwards the identifier packet by using the designated device that is in the jurisdiction; the device that is controlled by the second sub-SDN controller, after receiving the identifier packet sent by the designated device, encapsulates the identifier packet into
  • the second sub-SDN controller queries the inquiry message of the port information of the port that identifies the packet, and sends the query message to the second sub-SDN controller, where the second sub-SDN controller parses that the identifier packet does not carry the second sub-SDN controller.
  • the query message is forwarded to the parent SDN controller; the parent SDN controller parses the identifier packet encapsulated in the query message; when it is determined that the identifier packet carries the identifier of the parent SDN controller, the specified device is determined according to the identifier packet.
  • the parent SDN controller detects the link between the sub-SDN controllers under its jurisdiction, and discovers the cross-SDN domain link between the SDN domains where the plurality of sub-SDN controllers under the parent SDN controller are located, and solves the problem. There is a problem in the technology that cross-SD domain links cannot be found.
  • a link discovery method an SDN controller, and a device
  • the first SDN controller sends an indication message encapsulating an identifier packet carrying the identifier of the first SDN controller to a designated device under the jurisdiction, where The indication message is used to indicate that the designated device forwards the identifier message
  • the second SDN controller receives the first query message sent by the device under the jurisdiction for inquiring the port information of the port that is used to forward the identifier packet received by the device, and parses the identifier message.
  • the SDN controller receives the encapsulated message After the identifier packet encapsulated in the encapsulated message is parsed, when the identifier of the first SDN controller is carried in the identifier packet, the device is determined to exist between the device under the jurisdiction of the second SDN controller according to the identifier packet.
  • Cross-SDN domain links The detection of the SDN controller is initiated by the SDN controller, so that the cross-SDN domain link between the SDN controllers is found, which solves the problem that the cross-SDN domain link cannot be found in the prior art.
  • the first device sends, to the second device, a link probe message for detecting whether a link exists between the first device and the second device.
  • the domain identifier of the SDN domain is different, it is determined that there is a link across the SDN domain between the SDN domain to which the first device belongs and the SDN domain to which the second device belongs.
  • the device that is in the SDN controller is initiating the detection of the device that belongs to the other SDN domain, so as to determine that there is a link between the SDN domains to which the device having the link belongs, and the cross-SDN domain chain cannot be found in the prior art. Road problem. DRAWINGS
  • FIG. 1 is a schematic diagram of an SDN controller provided by the background art of the present invention and a connection relationship between devices under its jurisdiction;
  • FIG. 2 is a flow chart of a link discovery method applied to an SDN controller side according to an embodiment of the present invention
  • FIG. 3 is a flowchart of applying a link discovery method to a parent SDN controller side according to an embodiment of the present invention
  • FIG. 4 is a flowchart of applying a link discovery method to a first SDN controller side according to an embodiment of the present invention
  • FIG. 5 is a flowchart of a link discovery method applied to a device side according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a link discovery method applied to a parent SDN controller side according to an embodiment of the present invention
  • FIG. 7 is a flowchart of a link discovery method applied to a second sub-SDN controller side according to an embodiment of the present invention.
  • FIG. 8 is a flowchart of a link discovery method applied to a parent SDN controller side according to an embodiment of the present invention.
  • FIG. 9 is a flowchart of a link discovery method applied to a second sub-SDN controller side according to an embodiment of the present invention.
  • FIG. 10 is a flowchart of a link discovery method applied to a parent SDN controller, a first sub-SDN controller, and a second sub-SDN controller side according to an embodiment of the present invention
  • FIG. 11 is a schematic diagram showing a connection relationship between a parent SDN controller and each device under its jurisdiction according to an embodiment of the present invention
  • FIG. 12 is a flowchart of a first example of a link discovery method according to an embodiment of the present disclosure
  • FIG. 13 is a schematic diagram showing a connection relationship between a parent SDN controller and each device under its jurisdiction according to an embodiment of the present invention
  • FIG. 14 is a flowchart of a second example of a link discovery method according to an embodiment of the present disclosure.
  • FIG. 15 is a flowchart of applying a link discovery method to a first SDN controller side according to an embodiment of the present invention
  • FIG. 16 is a flowchart of a link discovery method applied to a second SDN controller side according to an embodiment of the present invention.
  • FIG. 17 is a flowchart of a link discovery method applied to a second SDN controller side according to an embodiment of the present invention.
  • FIG. 18 is a flowchart of applying a link discovery method to a first SDN controller side according to an embodiment of the present invention
  • FIG. 19 is a flowchart of a link discovery method applied to a second SDN controller side according to an embodiment of the present invention
  • FIG. 20 is a flowchart of applying a link discovery method to a first SDN controller side according to an embodiment of the present disclosure
  • FIG. 21 is a flowchart of a link discovery method applied to a second SDN controller side according to an embodiment of the present invention.
  • FIG. 22 is a schematic diagram of a connection relationship between an SDN controller and each device under its jurisdiction according to an embodiment of the present invention.
  • FIG. 23 is a flowchart of a third example of a link discovery method according to an embodiment of the present disclosure.
  • FIG. 24 is a flowchart of a fourth example of a link discovery method according to an embodiment of the present disclosure.
  • FIG. 25 is a flowchart of applying a link discovery method to a first SDN controller side according to an embodiment of the present disclosure
  • FIG. 26 is a flowchart of applying a link discovery method to a second SDN controller side according to an embodiment of the present invention.
  • FIG. 27 is a flowchart of applying a link discovery method to a first SDN controller side according to an embodiment of the present invention
  • FIG. 28 is a flowchart of a link discovery method applied to a second SDN controller side according to an embodiment of the present disclosure
  • FIG. 29 is a flowchart of applying a link discovery method to a first SDN controller side according to an embodiment of the present invention.
  • FIG. 30 is a flowchart of applying a link discovery method to a second SDN controller side according to an embodiment of the present disclosure
  • FIG. 31 is a schematic diagram of a connection relationship between an SDN controller and each device under its jurisdiction according to an embodiment of the present invention.
  • FIG. 32 is a flowchart of a fifth example of a link discovery method according to an embodiment of the present disclosure.
  • FIG. 33 is a flowchart of a sixth example of a link discovery method according to an embodiment of the present disclosure.
  • Figure 34 is a flowchart of a link discovery method applied to a device side according to an embodiment of the present invention
  • Figure 35 is a schematic structural diagram of an SDN controller according to an embodiment of the present invention
  • FIG. 36 is a schematic structural diagram of a parent SDN controller according to an embodiment of the present disclosure
  • 37 is a schematic structural diagram of an SDN controller according to an embodiment of the present invention
  • FIG. 38 is a schematic structural diagram of a device according to an embodiment of the present disclosure
  • FIG. 39 is a schematic structural diagram of an SDN controller according to an embodiment of the present invention.
  • FIG. 40 is a schematic structural diagram of a parent SDN controller according to an embodiment of the present invention.
  • FIG. 41 is a schematic structural diagram of an SDN controller according to an embodiment of the present invention.
  • FIG. 42 is a schematic structural diagram of a device according to an embodiment of the present invention. detailed description
  • the embodiments of the present invention provide a link discovery method, an SDN controller, and a device.
  • the preferred embodiments of the present invention are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are only for illustration and explanation. The invention is not intended to limit the invention. And in the case of no conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.
  • the link discovery method provided by the embodiment of the present invention is applied to the SDN controller side of the non-initiator of the cross-SDN domain link discovery. As shown in FIG. 2, the method includes the following steps:
  • the first SDN controller receives the inquiry message sent by the first device that is in the jurisdiction, where the inquiry message is used to query the port information of the port that is used to forward the identifier packet received by the first device, and the encapsulation message is encapsulated and carried the second ID message identified by the SDN controller.
  • the identifier does not carry the identifier of the first SDN controller
  • send to the link that is connected to the first SDN controller, a package message that is encapsulated with the identifier packet and is encapsulated according to the query message.
  • the second SDN controller receives the encapsulated message, it is determined that there is a cross-SDN domain link between the second device that sends the identifier packet to the first device and the first device according to the identifier packet encapsulated in the encapsulated message.
  • the present embodiment can be applied to an SDN controller that is a non-initiator of cross-SDN domain link discovery.
  • the SDN controller can initiate cross-SDN domain link discovery.
  • the non-initiator can process the received data packets.
  • the same SDN controller can initiate cross-connection.
  • SDN domain link discovery can also be used as a non-initiator pair
  • the data packet sent by the SDN controller of the initiator is processed.
  • the SDN controller is a non-initiator, the received data packet is processed.
  • the link discovery method provided by the embodiment of the present invention is applied to the parent SDN controller side of the initiator of the inter-SDN domain link discovery. As shown in FIG. 3, the method includes the following steps:
  • the parent SDN controller sends, to the first sub-SDN controller, an indication message encapsulating the identifier packet carrying the identifier of the parent SDN controller, where the indication message is used to indicate that the first sub-SDN controller passes the designated device under the jurisdiction Forward the identification packet.
  • S302 Receive an inquiry message that is forwarded by the second sub-SDN controller, where the inquiry message is a device that is controlled by the second sub-SDN controller, and after receiving the identifier packet sent by the designated device, encapsulating the identifier packet into the The two-subsidiary SDN controller queries the inquiry message of the port information of the port that forwards the identification message.
  • Step 1 The first sub-SDN controller receives an indication message that is sent by the parent SDN controller and encapsulates the identifier packet, where the indication message is used to instruct the first sub-SDN controller to forward the identifier by the designated device under the jurisdiction.
  • Step 2 Forward the indication message to the designated device for forwarding the identification message according to the indication message.
  • the link discovery method provided by the embodiment of the present invention can automatically perform the cross-SDN domain link between the SDN domains corresponding to the plurality of sub-SDN controllers that are managed by the parent SND controller by using the parent SDN controller. Find.
  • the parent SDN controller sends an indication message to the first sub-SDN controller, and receives an inquiry message from the second sub-SDN controller, and the identifier message carried in the indication message and the inquiry message carries the parent ID of the SDN controller, then the first sub-SDN controller can be determined There is a link between the SDN domain of the jurisdiction and the SDN domain governed by the second sub-SDN controller.
  • the link discovery method provided by the embodiment of the present invention is applied to the first SDN controller side as the initiator of the inter-SDN domain link discovery. As shown in FIG. 4, the method includes the following steps:
  • the first SDN controller sends an indication message encapsulating the identifier packet carrying the identifier of the first SDN controller to the designated device in the jurisdiction, where the indication message is used to instruct the designated device to forward the identifier packet.
  • the encapsulating message encapsulating the identifier packet is encapsulated by the device that is controlled by the second SDN controller, and after receiving the identifier packet sent by the specified device, the encapsulation packet is encapsulated to be used for the second
  • the SDN controller queries the first inquiry message for forwarding the port information of the port identifying the message.
  • the link discovery method provided by the embodiment of the present invention can automatically discover the cross-SDN domain link between the SDN domain under its jurisdiction and the other SDN domain through the SDN controller.
  • a link discovery method is provided on the device side of the initiator of the inter-SDN domain link discovery. As shown in FIG. 5, the method includes the following steps:
  • the first device sends, to the second device, a link probe message for detecting whether a link exists between the first device and the second device.
  • S502 Receive a link probe response message sent by the second device, where the link probe response message carries the domain identifier information of the SDN domain to which the second device belongs.
  • the link discovery method initiateds discovery of a cross-SDN domain link by a device under the jurisdiction of the SDN controller.
  • the domain identifier of the SDN domain may be i or identification information of (OSPF, Open Shortest Path First), or may be ISIS (ISIS, Intermediate System)
  • the domain identification information of the Intermediate System can also be the domain identification information of the (BGP, Border Gateway Protocol).
  • the query message in the foregoing embodiment of the present invention may be a Packet-in message in the Openflow protocol
  • the indication message may be a Packet-out message in the Openflow protocol.
  • FIG. 6 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a parent SDN controller side of an initiator that is found across a SDN domain link, and specifically includes the following steps:
  • the parent SDN controller sends, to the first sub-SDN controller, an indication message that is encapsulated with the identifier packet carrying the identifier of the parent SDN controller, where the indication message is specifically used to indicate the designated device, and the identifier is sent by using the specified out port.
  • the identifier packet has a corresponding relationship with the indication message.
  • the designated device may be a device directly under the jurisdiction of the first sub-SDN controller, or may be a device directly indirectly controlled by the first sub-SDN controller, that is, the first sub-SDN controller and the designated device may not There are other SDN controllers, and there may be multiple layers of SDN controllers.
  • the identifier packet is used to identify the constructor of the identifier packet as the parent SDN controller.
  • the identifier packet carries the identifier of the parent SDN controller, so that other SDN controllers parse the identifier packet. And determining that the identifier of the identifier packet is not the user, so that the identifier packet is forwarded.
  • the identifier packet of the indication message has a corresponding relationship with the indication message, that is, the identifier of the identifier of the identifier is determined by the constructor of the identifier to be self-constructed, and Which is the indication message of the packet, so that the SDN controller can determine the indication message matching the inquiry message according to the identification message when receiving the inquiry message encapsulating the identification message, thereby determining the outgoing port and the ingress port. There is a link between them.
  • the identifier packet carries the packet sequence number of the indication message, or the identifier packet carries the identifier of the other identifier indication message, so that the identifier packet corresponds to the indication message.
  • each device that is managed by the sub-SDN controller may include multiple ports, and the parent controller may separately send an indication message to the plurality of sub-SDN controllers, indicating multiple sub-SDN controllers of the plurality of sub-SDN controllers.
  • a plurality of ports of the device are designated as the outbound port, and the identifiers encapsulated in the indication message are forwarded by each of the egress ports, and an inquiry message for the forwarded identifier message is received, because the identifier packet encapsulated in the indication message is received.
  • the text has a corresponding relationship with the indication message Therefore, when the parent SDN controller receives the plurality of inquiry messages, the indication message corresponding to the identifier 4 is determined according to the identifier that is encapsulated in each query message, so that the corresponding message can be determined. Indicates a message to determine the outbound and ingress ports of the link.
  • the encapsulation message is an inquiry message for carrying port information of the port that forwards the identification message to the second sub-SDN controller, which carries the port information of the ingress port.
  • the device managed by the second sub-SDN controller may be a device directly under the jurisdiction of the second sub-SDN controller, or may be a device indirectly governed by the second sub-SDN controller, that is, the second sub-SDN controller. There may be no other SDN controllers with the device, and there may be multiple layers of SDN controllers.
  • the indication message corresponding to the identifier packet is determined according to the identifier packet.
  • a cross-SDN domain link exists between the egress port specified in the indication message and the ingress port carried in the inquiry message.
  • the link existing between the determined port and the ingress port is the same.
  • the link in the sub-SDN controller domain; when the parent SDN controller determines that the outbound port of the link and the sub-SDN controller to which the ingress port belongs respectively are different sub-SDN controllers, then the port and the ingress port are determined.
  • the inter-SDN domain link that exists between the two is an inter-SDN domain link between the two sub-SDN controller domains.
  • the parent SDN controller pre-counts the link attribute information of the link corresponding to the port of each device in the SDN domain under its own jurisdiction, and the link attribute information of the link corresponding to the link may include the link type, the link bandwidth, and the link.
  • the parent SDN controller can find out that the egress port and the ingress port respectively correspond to the link attribute information of the corresponding link of each device according to the information of the egress port and the ingress port that form the link across the SDN domain.
  • the link attribute information of the link determines whether the link formed by the egress port and the ingress port is consistent.
  • the egress port and the ingress port cannot communicate, and the parent SDN controller cannot obtain the link. Determining the link between the egress port and the ingress port, for example, the signal type of the link transmission, the signal wavelength, etc., and for some link attributes, even if the attributes of the egress port and the ingress port are inconsistent, the egress port and The ingress port can still communicate, but the efficiency is low, for example: bandwidth attribute, the link bandwidth of the outbound port is 10G, and the link bandwidth of the ingress port is 10M, then the out port and the ingress port can communicate, but if the port and the ingress port can communicate, Establishing a link between the ingress ports will result in wasted port bandwidth.
  • the parent SDN controller can issue a warning message to inform the communicating parties of the disadvantages of communication. Further, the parent SDN controller determines the link attribute information of the link corresponding to the egress port of the link and the link attribute information of the link corresponding to the ingress port, so that the parent SDN controller manages the cross-SDN domain link under its jurisdiction. For example, the virtual network allocation may be performed according to the information of the egress port and the ingress port of each link.
  • FIG. 7 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a second sub-SDN controller side that is a non-initiator of a cross-SDN domain link discovery, and specifically includes the following steps:
  • the second sub-SDN controller receives the inquiry message sent by the device under the jurisdiction, where the inquiry message is used to query the port information of the port that is sent by the forwarding device, and the encapsulation message is encapsulated with the parent SDN control.
  • the identification message encapsulated by the device, the identifier packet encapsulated in the inquiry message is received by the device through the ingress port, and the inquiry message also carries the port information of the ingress port.
  • FIG. 8 is a schematic diagram of a link discovery method according to an embodiment of the present disclosure, which is applied to the parent SDN controller side of the initiator of the SDN domain link discovery, and specifically includes the following steps:
  • the parent SDN controller sends, to the first sub-SDN controller, an indication message encapsulating the identifier packet carrying the identifier of the parent SDN controller, where the indication message is specifically used to indicate the designated device.
  • the specified port sends an identifier packet.
  • the specified device sends the link attribute information of the link corresponding to the egress port.
  • the link attribute information of the corresponding link of the egress port may be added to the identification packet by the parent SDN controller, the first sub-SDN controller, or the designated device of the first sub-SDN relationship.
  • the two sub-SDN controllers query the inquiry message of the port information of the port that identifies the packet, and the identifier of the link corresponding to the inbound port carries the link attribute information of the link corresponding to the ingress port.
  • the identifier packet When determining that the identifier packet carries the identifier of the parent SDN controller, determining, according to the link attribute information of the link corresponding to the egress port carried in the identifier packet, and the link attribute information of the link corresponding to the ingress port, There is a cross-SDN domain link between the egress port and the ingress port.
  • the parent SDN controller obtains the link attribute information of the corresponding link of the outbound port and the link of the corresponding link of the ingress port, in addition to determining that there is a cross-SDN domain link between the port and the ingress port.
  • the path attribute information is used to determine whether the link formed by the egress port and the ingress port is consistent on the basis of determining that there is a link between the egress port and the ingress port.
  • FIG. 9 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a second sub-SDN controller side that is a non-initiator of a cross-SDN domain link discovery, as shown in FIG. Specifically, the following steps are included:
  • the second sub-SDN controller receives the inquiry message sent by the device under the jurisdiction, where the inquiry message is used to query the port information of the port of the identifier that is received by the forwarding device, and the inquiry message encapsulates the parent SDN carried
  • the identifier packet of the controller identifier where the identifier packet is an identifier packet of the link information of the link corresponding to the egress port of the parent SDN controller received by the device, and the device sends the identifier message to the second sub-SDN.
  • the identifier packet encapsulated by the query message sent by the controller also carries the link attribute information of the link corresponding to the ingress port.
  • the second sub-SDN controller receives the identifier packet received by the device through the ingress port, and carries the link information of the link corresponding to the egress port of the device that sends the identifier packet to the ingress port.
  • the link attribute information of the corresponding link of the ingress port may be added to the identification message.
  • the embodiment is applied to the first sub-SDN controller side, and specifically includes the following steps:
  • Step 1 The first sub-SDN controller receives an indication message that is sent by the parent SDN controller and encapsulates the identifier packet, where the indication message is used to instruct the first sub-SDN controller to send the identifier through the specified out port through the designated device under the jurisdiction.
  • the identifier packet has a corresponding relationship with the indication message.
  • Step 2 Forward the indication message to the designated device for forwarding the identifier packet by using the egress port according to the indication message.
  • the link discovery method is a link discovery method according to an embodiment of the present invention, which is applied to a parent SDN controller, a first sub-SDN controller, and a second sub-SDN controller side.
  • the first sub-SDN controller is configured. Initiating, and the parent SDN controller performs cross-SDN domain link discovery, and the parent SDN controller may determine whether the ingress port and the ingress port belong to the same sub-SDN controller by determining whether the determined egress port and the ingress port belong to the same sub-SDN controller. Whether the link between the egress ports is a cross-domain link, but the sub-SDN controller automatically discovers the ports that do not form a link with each port in the SDN domain under its jurisdiction, and reports the parent SDN controller. The parent SDN controller determines, according to the reported port, whether the reported port can form a link across the SDN domain. As shown in FIG. 10, the method includes the following steps:
  • the first sub-SDN controller determines, from among the ports of the devices under the jurisdiction, a port that does not form a link with any of the ports.
  • the method for determining a port that does not form a link with any one of the ports of each device that is managed by the first sub-SDN controller may be: The device separately sends an indication message, and for each device, the indication message received by the device An identifier packet that is configured by the first sub-SDN controller and has a corresponding relationship with the indication message, and the indication message is used to indicate that the device sends the identifier packet by using an egress port specified in the indication message, where the device passes The designated egress port sends the identifier packet to the ingress port of another device that has a link with the specified egress port, and the other device receives the identifier packet after the link discovery phase.
  • the device does not have a path for instructing to forward the received packet. Therefore, the another device encapsulates the identifier packet into an inquiry message, and queries the SDN controller to which the other device belongs to forward the identifier packet. Port information of the port, and the ingress port information of the identifier packet is carried in the query message, when the device and the other device belong to the same SDN controller, that is, the first sub-SDN controller, Determining, by the first sub-SDN controller, the carrying message according to the correspondence between the identifier packet encapsulated in the query message and the indication packet sent by the first sub-SDN controller
  • the ingress port has a connected link with the egress port specified in the indication message, but when the device and the other device belong to different SDN controllers, that is, the other device is not attributed to the first sub-SDN control
  • the first sub-SDN controller does not receive the inquiry message, that is, when the indication message sent by the first sub-SDN controller does not receive the inquiry message encapsulating the
  • the first sub-SDN controller reports the port information of the determined port to the parent SDN controller.
  • the parent SDN controller determines the upper port as the designated out port, and determines the device to which the upper port belongs as the designated device, and sends the identifier that carries the identifier of the parent SDN controller to the first sub-SDN controller.
  • the indication message of the message wherein the indication message is used to instruct the first sub-SDN controller to forward the identification message through the designated device under the jurisdiction.
  • the first sub-SDN controller receives the indication message that is sent by the parent SDN controller and encapsulates the identifier packet, and forwards the indication message to the designated device for forwarding the identifier packet according to the indication message.
  • the second sub-SDN controller receives the device sent by the jurisdiction, and is used to query the forwarding device.
  • the received query message of the port information of the port of the identifier message where the query message encapsulates the identifier 4 carrying the identifier of the parent SDN controller.
  • the second sub-SDN controller After receiving the identifier packet sent by the specified device, the second sub-SDN controller receives the identifier packet and sends the identifier packet as an inquiry message to the second sub-SDN controller.
  • the second sub-SDN controller parses the identifier packet.
  • the parent SDN controller receives the query message forwarded by the second sub-SDN controller, and parses the identifier packet encapsulated in the query message.
  • the embodiment is applied to the first sub-SDN controller side, and may specifically include the following steps: Step 1. Determine, from each port of the managed device, a port that does not form a link with any port of each port.
  • Step 2 The port information of the determined port is sent to the parent SDN controller, where the port information is used by the parent SDN controller to determine the reporting port as the designated out port, and the device to which the reporting port belongs is determined as the designated device.
  • Step 3 Receive an indication message that is sent by the parent SDN controller and that is configured with the identifier packet, where the indication message is used to indicate that the first sub-SDN controller sends the identifier packet by using the specified out port through the designated device under the jurisdiction, and the identifier 4 The text has a correspondence with the indication message.
  • Step 4 Forward the indication message to the designated device for forwarding the identifier packet by using the egress port according to the indication message.
  • Example 1 As shown in FIG. 11, the parent SDN controller 1101 governs the first sub-SDN controller 1102 and the second sub-SDN controller 1103, the first sub-SDN controller 1102 governs SW1 and SW2, and the second sub-SDN controller 1103 Jurisdiction SW3, there is a link between SW1 and SW2, SW2 and SW3 There is a link between them.
  • Each sub-SDN controller is responsible for discovering the links in the SDN domain under its jurisdiction
  • the parent SDN controller is responsible for discovering the links between the sub-SDN domains under its jurisdiction.
  • the parent SDN controller 1101 finds a method for the cross-domain link between the first sub-SDN controller 1102 and the second sub-SDN controller 1103. As shown in FIG. 12, the specific steps include:
  • the first sub-SDN controller 1102 determines that the port P1 of each port in the SDN domain that is in its own jurisdiction does not form a link with any port of the port, and reports the information of the P1 to the parent SDN controller 1101.
  • the parent SDN controller 1101 receives the information of the port P1 reported by the first sub-SDN controller 1102, and sends an indication message to the first sub-SDN controller 1102, where the indication message is encapsulated with a corresponding relationship with the indication message. And carrying the identifier packet identified by the parent SDN controller 1101, and the indication message is used to indicate that the SW2 managed by the first sub-SDN controller 1102 forwards the identifier packet through the egress port P1.
  • the indication message may be a Packet-out message in the OpenFlow protocol
  • the identifier packet may be an LLDP packet, where the LLDP packet carries configuration information of the parent SDN controller 1101, for example: The main capability, management address, device identifier, interface identifier, and the like of the device 1101.
  • the identifier message and the indication message may not have a corresponding relationship, because the parent SDN controller 1101 only sends an indication message, and when receiving the identifier message encapsulated in the indication message, When the message is queried, the inquiry message can match the indication message.
  • the first sub-SDN controller 1102 receives the indication message, it forwards the message to indicate SW2 0
  • the SW2 receives the indication message, and sends the identifier packet encapsulated in the indication message to the ingress port P2 of the SW3 of the link that is connected to the egress port P1 through the egress port P1.
  • the SW3 receives the identifier 4 through the ingress port P2, and encapsulates the identifier 4 into an inquiry message, where the inquiry message is used to query the second sub-SDN controller 1103 that governs the SW3 to forward the port of the identifier.
  • Port information, and the inquiry message carries information of the ingress port P2.
  • the inquiry message may be a Packet-in message in the Openflow protocol.
  • the second sub-SDN controller 1103 receives the inquiry message sent by the SW3, parses the inquiry message, determines that the identifier packet encapsulated in the inquiry message does not carry its own identifier, and forwards the inquiry message to the parent SDN controller 1101.
  • the parent SDN controller 1101 receives the query message, and parses the identifier packet, and determines that the identifier packet carries its own identifier, and determines, according to the identifier packet, an indication message corresponding to the identifier packet. .
  • the parent SDN controller 1101 determines that there is a cross-domain link between the ingress port carried in the received inquiry message and the egress port specified in the indication message.
  • Example 2 As shown in FIG. 13, the parent SDN controller 1301 governs the first sub-SDN controller 1302 and the second sub-SDN controller 1303, and the first sub-SDN controller 1302 and the second sub-SDN controller 1303 are respectively used as parents.
  • the SDN controller, the first sub-SDN controller 1302 governs the third sub-SND controller 1304 and the fourth sub-SDN controller 1305, and the second sub-SDN controller 1303 governs the fifth sub-SND controller 1306 and the sixth sub-SDN controller 1307
  • the fourth sub-SDN controller 1305 governs SW1 and SW2
  • the fifth sub-SDN controller 1306 governs SW3, there is a link between SW1 and SW2
  • Each sub-SDN controller is responsible for discovering the links in the SDN domain under its jurisdiction
  • the parent SDN controller is responsible for discovering the links between the sub-SDN domains under its jurisdiction.
  • the parent SDN controller 1301 finds a method for the cross-domain link between the first sub-SDN controller 1302 and the second sub-SDN controller 1303. As shown in FIG. 14, the specific steps include:
  • the parent SDN controller 1301 sends an indication message to the first sub-SDN controller 1302, where the indication message is encapsulated with an identifier packet carrying the identifier of the parent SDN controller 1301, and the indication message is used to indicate the first sub-SDN control.
  • SW2 governed by the device 1302 forwards the identification message through the outbound port P1.
  • the SDN domain managed by the parent SDN controller is a collection of SDN domains managed by each sub-SDN controller under the jurisdiction of the parent SDN controller. That is to say, the SDN domain managed by the first sub-SDN controller 1302 is a collection of SDN domains respectively governed by the third sub-SDN controller 1304 and the fourth sub-SDN controller 1305. 51402.
  • the first sub-SDN controller 1302 receives the indication message, and forwards the indication message to the fourth sub-SDN controller 1305.
  • the first sub-SDN controller 1302 serves as the parent SDN controller of the fourth sub-SDN controller 1305, and may also administer the SW2 under the jurisdiction of the fourth sub-SDN controller 1305, when the first sub-SDN controller 1302 receives the indication.
  • the message according to the outgoing port specified in the indication message, that is, the P1 port of the SW2, it is determined that the P1 port of the SW2 is managed by the fourth sub-SDN controller 1305, and the indication message is forwarded to the fourth sub-SDN controller 1305.
  • the first sub-SDN controller 1302 may be responsible for link discovery between the SDN domains respectively governed by the third sub-SDN controller 1304 and the fourth sub-SDN controller 1305 under its own jurisdiction.
  • SDN fourth sub-controller 1305 receives the indication message, forwards the message to indicate SW2 0
  • the SW2 receives the indication message, adds the link attribute information of the link corresponding to the port P1 to the identifier packet, and sends the identifier packet encapsulated in the indication message to the outbound port P1 through the outbound port P1.
  • the ingress port P2 of SW3 of the link is the ingress port P2 of SW3 of the link.
  • the SW3 receives the identifier packet through the ingress port P2, adds the link attribute information of the link corresponding to the inbound port P2 to the identifier packet, and encapsulates the identifier packet into an inquiry message, where the query message is used for jurisdiction.
  • the fifth sub-SDN controller 1306 of SW3 queries the port information of the port that forwards the identification message.
  • the fifth sub-SDN controller 1306 receives the inquiry message sent by the SW3, parses the inquiry message, determines that the identifier packet encapsulated in the inquiry message does not carry its own identifier, and forwards the inquiry message to its parent SDN controller. Sub SDN controller 1303.
  • the second sub-SDN controller 1303 receives the inquiry message sent by the fifth sub-SDN controller 1306, parses the inquiry message, and determines that the identifier packet encapsulated in the inquiry message does not carry its own identifier, and forwards the inquiry message to the parent. SDN controller 1301.
  • the partner SDN controller 1301 receives the query message, and parses the identifier packet, and determines that the identifier packet carries its own identifier, according to the link attribute of the link corresponding to the outbound port P1 carried in the identifier packet. Information, and link attribute information of the link corresponding to the inbound port P2, determine the port There is a cross-SDN domain link between the PI and the ingress port P2.
  • a multi-layer SDN controller may be spaced between the parent SDN controller and the SDN controller directly managing the device.
  • FIG. 15 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a first SDN controller side as a cross-SDN domain link initiator, as shown in FIG.
  • the first SDN controller sends an indication message encapsulating the identifier packet carrying the identifier of the first SDN controller to the designated device in the jurisdiction, where the indication message is used to indicate that the designated device forwards the identifier packet.
  • the identifier packet is encapsulated into a first query message for inquiring the second SDN controller with the port information of the port that forwards the identifier packet.
  • the SDN controller adjacent to the first SDN controller includes: an SDN controller of a physical link that exists in communication with the first SDN controller, or an SDN that has a communication mechanism with the first SDN controller a controller (eg, a mechanism HELLO communication mechanism for automatically constructing an adjacency relationship with the first SDN controller), or an SDN controller configured with an adjacency relationship for the first SDN controller (eg, a first SDN controller) Configure the adjacency relationship table, and configure the configured SDN controller in the adjacency relationship table as the adjacent SDN controller of the first SDN controller.
  • a controller eg, a mechanism HELLO communication mechanism for automatically constructing an adjacency relationship with the first SDN controller
  • an SDN controller configured with an adjacency relationship for the first SDN controller eg, a first SDN controller
  • the method for discovering the cross-SDN domain link may be implemented when the first SDN controller and the second SDN controller have an adjacency relationship.
  • FIG. 16 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a second SDN controller side that is a non-initiator of a cross-SDN domain link, as shown in FIG. Steps:
  • the second SDN controller receives an inquiry message sent by the jurisdiction device, where, the inquiry The message is used to query the forwarding device to receive the port information of the port for inquiring the identifier packet received by the forwarding device.
  • the query message encapsulates the identifier packet carrying the identifier of the first SDN controller.
  • S1603 When determining that the identifier does not carry the identifier of the second sub-SDN controller, forwarding the query message to all neighboring SDN controllers of the second SDN controller.
  • FIG. 17 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a second SDN controller side that is a non-initiator of a cross-SDN domain link, as shown in FIG. The following steps:
  • the second SDN controller receives the inquiry message sent by the device under the jurisdiction, where the inquiry message is used to query the port information of the port that forwards the identifier message received by the device, and the inquiry message encapsulates the first SDN carried.
  • the identifier of the identifier of the controller, the identifier packet carries the domain identifier of the SDN domain that is managed by the first SDN controller.
  • the second SDN controller may correspondingly store the domain identifier of each adjacent SDN controller and the SDN controller. The address, therefore, can directly forward the query message to the second SDN controller.
  • FIG. 18 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a first SDN controller side as an initiator of a cross-SDN domain link discovery. As shown in FIG. 18, the method includes the following steps:
  • the first SDN controller sends an indication message encapsulating the identifier of the identifier of the first SDN controller to the designated device that is in the jurisdiction, where the indication message is specifically used to indicate the designated device, and the identifier is sent by using the specified out port.
  • the identifier packet has a corresponding relationship with the indication message.
  • the device After receiving the identifier packet sent by the specified device through the egress port, the device is configured to encapsulate the identifier packet into a port that carries the ingress port information and is used to query the second SDN controller for the port that forwards the identifier packet.
  • the first inquiry message of the message is configured to encapsulate the identifier packet into a port that carries the ingress port information and is used to query the second SDN controller for the port that forwards the identifier packet.
  • the identifier message corresponding to the identifier packet is determined according to the identifier packet.
  • the cross-SDN domain link exists between the egress port specified in the indication message and the ingress port carried in the encapsulation message.
  • the method for discovering the cross-SDN domain link may be implemented when the first SDN controller and the second SDN controller have an adjacency relationship.
  • FIG. 19 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a second SDN controller side that is a non-initiator of a cross-SDN domain link discovery, as shown in FIG. Including the following steps:
  • the SDN controller receives the inquiry message sent by the device under the jurisdiction, where the inquiry message is used to query the port information of the port of the identifier that is received by the forwarding device, and the inquiry message encapsulates the first SDN controller
  • the identified identifier packet, and the identifier packet encapsulated in the query message is received by the device through the ingress port, and the query message also carries the ingress port information.
  • S1903 When it is determined that the identifier packet does not carry the identifier of the second SDN controller, forward the query message to all neighboring SDN controllers of the second SDN controller.
  • the query message may be forwarded to the first SDN controller.
  • FIG. 20 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a first SDN controller side as an initiator of a cross-SDN domain link discovery. As shown in FIG. 20, the method includes the following steps:
  • the first SDN controller sends, to the designated device that is in the jurisdiction, an indication message that is encapsulated with the identifier of the identifier of the first SDN controller, where the indication message is specifically used to indicate the designated device, and the identifier is sent by using the specified out port. Identifies the packet; and specifies the identifier packet sent by the device through the egress port. The link attribute information of the link corresponding to the egress port is carried.
  • the identifier packet is encapsulated into a first query message for inquiring the second SDN controller with the port information of the port that forwards the identifier, and the identifier packet encapsulated by the first query message is It also carries link attribute information of the link corresponding to the ingress port.
  • the link attribute information of the link corresponding to the ingress port carried in the identifier packet encapsulated by the first query message may be used by the device under the control of the second SDN controller to receive the identifier packet sent by the designated device. After that, it is added in the identification message.
  • the link attribute information of the link corresponding to the egress port carried in the identifier packet, and the link attribute information of the link corresponding to the ingress port are determined. There is a cross-SDN domain link between the port and the ingress port.
  • the method for discovering the cross-SDN domain link may be implemented when the first SDN controller and the second SDN controller have an adjacency relationship.
  • FIG. 21 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a second SDN controller side that is a non-initiator of a cross-SDN domain link discovery, as shown in FIG. Including the following steps:
  • the second SDN controller receives the inquiry message sent by the device under the jurisdiction, where the inquiry message is used to query the port information of the port of the identifier that is received by the forwarding device, and the encapsulation message encapsulates the first SDN control carried.
  • the link information of the link corresponding to the egress port carried in the identifier packet may be in the identifier packet of the first SDN controller or the designated device under the jurisdiction of the first SDN controller. Add a force to the mouth.
  • this step may forward the inquiry message to all neighboring SDN controllers of the second SDN domain. Then, when the SDN controller other than the first SDN controller receives the inquiry message, it can continue to forward the inquiry message to its own neighboring SDN controller. In this case, due to the protection of the horizontal segmentation technology, there will be no information storm.
  • Example 3 As shown in FIG. 22, the first SDN controller 2201 governs SW1 and SW2, the second SDN controller 2202 governs SW3, there is a link between SW1 and SW2, and there is a link between SW2 and SW3, the first SDN
  • the controller 2201 and the second SDN controller 2202 are adjacent SDN controllers. As shown in Figure 23, the specific steps include:
  • the first SDN controller 2201 sends an indication message to the SW2 that is in its own jurisdiction, and the indication message is encapsulated with an identifier packet carrying the identifier of the first SDN controller 2201, which is associated with the indication message.
  • the domain identifier of the SDN domain that is managed by the first SDN controller is also encapsulated, and the indication message is used to indicate that the SW2 sends the identifier packet through the designated P1 port.
  • the first SDN controller 2201 may send an indication message to all devices under its jurisdiction, and this step is an operation performed when the SW2 receives the indication that the identifier message is sent through the P1 port.
  • the indication message may be a Packet-out message in the Openflow protocol.
  • the SW2 receives the indication message, and sends the identifier packet encapsulated in the indication message to the ingress port P2 of the SW3 of the link that is connected to the egress port P1 through the egress port P1.
  • SW3 receives the identifier through the ingress port P2, and encapsulates the identifier into a query.
  • the inquiry message is used to query the second SDN controller 2202 of the jurisdiction SW3 for the port information of the port that forwards the identifier, and the inquiry message carries the information of the ingress port P2.
  • the inquiry message may be a Packet-in message in the Openflow protocol.
  • S2304 The second SDN controller 2202 receives the inquiry message sent by the SW3, parses the inquiry message, determines an identifier that is not carried in the identifier packet encapsulated in the inquiry message, and forwards the inquiry message to the first SDN controller 2201.
  • S2305 When the first SDN controller 2201 receives the query message, it is determined that the identifier packet encapsulated in the query message carries its own identifier, and the identifier corresponding to the identifier packet is determined according to the identifier packet. Indicates a message, and determines that there is an inter-SDN domain link between the egress port specified in the indication message and the ingress port carried in the inquiry message.
  • Example 4 Continue with Figure 22 as an example. The specific steps are shown in Figure 24, including:
  • the first SDN controller 2201 sends an indication message to the SW2 that is in its own jurisdiction, and the indication message is encapsulated with an identifier packet carrying the identifier of the first SDN controller 2201, and the indication message is used to indicate that the SW2 passes the designated P1 port. Send the logo 4 ⁇ .
  • the indication message may be a Packet-out message in the Openflow protocol.
  • the SW2 receives the indication message, and adds the link attribute information of the link corresponding to the port P1 to the identifier packet, and sends the identifier packet encapsulated in the indication message to the chain connected to the egress port P1 through the outbound port P1.
  • the SW3 of the road enters port P2.
  • the SW3 receives the identifier packet through the ingress port P2, adds the link attribute information of the link corresponding to the inbound port P2 to the identifier packet, and encapsulates the identifier packet into an inquiry message, where the query message is used to control the SW3.
  • the second SDN controller 2202 queries the port information of the port that forwards the identifier.
  • the inquiry message may be a Packet-in message in the Openflow protocol.
  • the second SDN controller 2202 receives the inquiry message sent by the SW3, and parses the inquiry message, and determines that the identifier packet encapsulated in the inquiry message does not carry its own identifier.
  • FIG. 25 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a first SDN controller side as an initiator of a cross-SDN domain link discovery. As shown in FIG. 25, the method includes the following steps:
  • the first SDN controller sends an indication message encapsulating the identifier packet carrying the identifier of the first SDN controller to the designated device that is in the jurisdiction, where the indication message is used to instruct the designated device to forward the identifier packet.
  • the identifier packet is sent by the device, the identifier packet is encapsulated into a first query message for querying the port information of the port for forwarding the identifier message to the second SDN controller, and the second SDN controller is configured according to the first query message.
  • the encapsulated encapsulated message carrying the identifier packet.
  • the identifier is determined according to the identifier packet, and the cross-SDN domain link exists between the designated device and the device under the control of the second SDN controller.
  • the link discovery method provided by the embodiment of the present invention can automatically discover the cross-SDN domain link between the SDN domain under its jurisdiction and the other SDN domain through the SDN controller.
  • the first SDN controller and the second SDN controller may be in any connection relationship, for example, there is no connection between the first SDN controller and the second SDN controller, or the first SDN controller is adjacent to the second SDN controller.
  • the SDN controller, or the first SDN controller and the second SDN controller are connected to the same parent SDN controller.
  • FIG. 26 is a link discovery method according to an embodiment of the present invention, which is applied to a second SDN controller side that is a non-initiator of a cross-SDN domain link, as shown in FIG. Including the following steps:
  • the second SDN controller receives the inquiry message sent by the device under the jurisdiction, where the inquiry message is used to query the port information of the port of the identifier that is received by the forwarding device, and the encapsulation message encapsulates the first SDN control carried. Identification message of the device identifier.
  • the second SDN controller determines that the identifier of the identifier does not carry its own identifier, it needs to construct an indication message, which is used to indicate that the device sends an indication message through the ingress port along the link that receives the identifier packet.
  • the encapsulated message that is, the encapsulated message, needs to be encapsulated in the encapsulated message, so that the SDN controller that receives the encapsulated message can determine whether the identified message is built by itself by identifying the identifier carried in the message.
  • FIG. 27 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a first SDN controller side as a cross-SDN domain link discovery initiator. As shown in FIG. 27, the method includes the following steps:
  • the first SDN controller sends, to the designated device that is in the jurisdiction, an indication message that is encapsulated with the identifier of the identifier of the first SDN controller, where the indication message is specifically used to indicate the designated device, and the identifier is sent by using the specified out port.
  • the identifier packet has a corresponding relationship with the indication message.
  • the encapsulation packet After receiving the identifier packet sent by the specified device through the egress port, the encapsulation packet is encapsulated into the port information of the port that carries the ingress port information and is used to query the second SDN controller for forwarding the identifier 4
  • the second SDN controller encapsulates the encapsulated message carrying the identifier information and the port information of the ingress port according to the first query message.
  • determining that the identifier packet carries the identifier of the first SDN controller determining, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet. S2705.
  • the cross-SDN domain link exists between the egress port specified in the indication message and the ingress port carried in the encapsulation message encapsulated in the second query message.
  • FIG. 28 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a second SDN controller side that is a non-initiator of a cross-SDN domain link discovery, as shown in FIG. Including the following steps:
  • the second SDN controller receives the inquiry message sent by the device under the jurisdiction, where the inquiry message is used to query the port information of the port of the identifier that is received by the forwarding device, and the encapsulation message encapsulates the first SDN control carried.
  • the identifier packet of the device identifier, and the identifier packet encapsulated in the query message is received by the device through the ingress port, and the query message also carries the ingress port information.
  • the port information of the identifier and the ingress port is encapsulated into an encapsulated message.
  • the indicator needs to be configured to indicate that the device sends the indication message along the link that receives the identifier packet through the ingress port.
  • the encapsulated packet that is, the encapsulated message, needs to encapsulate the identifier packet in the encapsulated message, so that the SDN controller that receives the encapsulated message can determine whether the identifier packet is constructed by itself by identifying the identifier carried in the packet.
  • the encapsulation message encapsulates the identifier packet and the ingress port information, and the identifier packet may be used to enable the first SDN controller to determine that the identifier of the identifier is itself, and the ingress port information may be used to enable the first SDN.
  • the controller After determining the indication message corresponding to the identifier packet by using the identifier packet, the controller can determine the ingress port corresponding to the egress port of the designated device that is managed by the first SDN controller, thereby determining the cross-SDN between the port and the ingress port. Domain link.
  • the second SDN controller may encapsulate the query message sent by the received device as an encapsulation message in the indication message, that is, the encapsulation message may be an inquiry message sent by the device under the jurisdiction of the second SDN controller, because the inquiry message is satisfied. Both the identifier packet and the ingress port information are encapsulated. Further, the device that is controlled by the second SDN controller receives the identifier packet sent by the specified device through the egress port, and the device that is controlled by the second SDN controller receives the indication message that encapsulates the encapsulation message. After the encapsulated message is forwarded through the ingress port, the designated device under the jurisdiction of the first SDN controller receives the encapsulated message from the egress port.
  • FIG. 29 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a first SDN controller side as an initiator of a cross-SDN domain link discovery. As shown in FIG. 29, the method includes the following steps:
  • the first SDN controller sends an indication message encapsulating the identifier of the identifier of the first SDN controller to the designated device of the jurisdiction, where the indication message is specifically used to indicate the designated device, and the identifier is sent by using the specified out port.
  • the tag information of the link corresponding to the egress port is carried in the identifier packet sent by the specified device.
  • the link attribute information of the corresponding port of the egress port may be added to the identifier packet by the first SDN controller or the designated device.
  • the identifier packet is sent by the device, the identifier packet is encapsulated into a first query message for querying the port information of the port for forwarding the identifier packet to the second SDN controller, and the second SDN controller is configured according to the first query message.
  • encapsulating the encapsulated message carrying the identifier packet, where the identifier packet encapsulated by the first query message further carries link attribute information of the link corresponding to the ingress port.
  • the link attribute information of the corresponding link of the ingress port may be a device that is controlled by the second SDN controller, and is added to the identifier message before the identifier is encapsulated into the second query message.
  • the port is determined according to the link attribute information of the link corresponding to the egress port and the link attribute information of the link corresponding to the ingress port.
  • FIG. 30 is a schematic diagram of a link discovery method according to an embodiment of the present invention, which is applied to a second SDN controller side that is a non-initiator of a cross-SDN domain link discovery, as shown in FIG. Specifically, the following steps are included:
  • the first SDN controller receives the inquiry message sent by the device under the jurisdiction, where the inquiry message is used to query the port information of the port of the identifier that is received by the forwarding device, and the encapsulation message encapsulates the first SDN control carried.
  • the identifier packet of the device identifier, and the identifier packet encapsulated in the query message is the identifier packet of the link information of the link corresponding to the egress port of the device that receives the packet with the inbound port.
  • the device may add the ingress port corresponding to the identifier message. Link attribute information of the link.
  • the identifier When it is determined that the identifier does not carry the identifier of the second SDN controller, the identifier is encapsulated into an encapsulated message, or the identifier packet is used as an encapsulated message.
  • the second SDN controller determines that the identifier of the identifier does not carry its own identifier, it needs to construct an indication message, which is used to indicate that the device sends an indication message through the ingress port along the link that receives the identifier packet.
  • the encapsulated message that is, the encapsulated message, needs to be encapsulated in the encapsulated message, so that the SDN controller that receives the encapsulated message can determine whether the identified message is constructed by itself or by directly identifying the identifier carried in the packet.
  • the identifier 4 is encapsulated in the indication message.
  • Example 5 As shown in FIG. 31, the first SDN controller 3101 governs SW1 and SW2, the second SDN controller 3102 governs SW3, there is a link between SW1 and SW2, and there is a link between SW2 and SW3, the first SDN
  • the controller 3101 and the second SDN controller 3102 can be in any connection relationship, for example: no connection between the first SDN controller 3101 and the second SDN controller 3102, or the first SDN controller 3101 and the second SDN controller 3102 For adjacency SDN controller, or first The SDN controller 3101 and the second SDN controller 3102 are connected to the same parent SDN controller.
  • the specific steps include:
  • the first SDN controller 3101 sends a first indication message to the SW2 that is in its own jurisdiction, and the first indication message is encapsulated with the identifier 4 that carries the identifier of the first SDN controller 3101 and has the corresponding relationship with the first indication message.
  • the first indication message is used to instruct the SW2 to send the identifier through the designated P1 port.
  • the first indication message may be a Packet-out message in the OpenFlow protocol
  • the identifier packet may be an LLDP packet
  • the LLDP packet carries configuration information of the first SDN controller 3101, for example:
  • the primary SDN controller 3101 has primary capabilities, management addresses, device identifiers, interface identifiers, and the like.
  • SW2 receives the first indication message, and sends the identifier packet encapsulated in the first indication message to the ingress port P2 of the SW3 of the link that is connected to the egress port P1 through the egress port P1.
  • the SW3 receives the identifier packet by using the ingress port P2, and encapsulates the identifier packet into a first query message, where the first query message is used to query the second SDN controller 3102 that governs the SW3 to forward the port of the identifier temple message.
  • Port information, and the first query message carries information of the ingress port P2.
  • the first query message may be a Packet-in message in the Openflow protocol.
  • the second SDN controller 3102 receives the first query message sent by the SW3, and parses the first query message, and determines that the identifier encapsulated in the first query message does not carry its own identifier.
  • the identifier message and the ingress port information are encapsulated into an encapsulation message, and the encapsulation message is encapsulated into a second indication message, and the second indication message is sent to the SW3, where the second indication message is used to instruct the SW3 to send the inbound port P2.
  • the encapsulated message encapsulated by the second indication message.
  • the second indication message may be a Packet-out message in the Openflow protocol.
  • the SW3 receives the second indication message, and sends the encapsulated message encapsulated in the second indication message to the egress port P1 of the SW2 of the link that is connected to the ingress port P2 through the ingress port P2.
  • the SW2 receives the encapsulated message through the outbound port P1, and encapsulates the encapsulated message into a second query message, where the second query message is used to query the first SDN controller 3101 that governs the SW2 for port information of the port that forwards the encapsulated message.
  • the second query message may further carry information of the outbound port P1 that receives the encapsulated message.
  • the second query message may be a Packet-in message in the Openflow protocol.
  • the first SDN controller 3101 receives the second query message, and after parsing the encapsulated message encapsulated in the second query message, and determines that the identifier packet carried in the encapsulated message encapsulated in the second query message carries its own identifier. And determining, according to the identifier packet encapsulated in the encapsulated message, the first indication message that has a corresponding relationship with the identifier packet, and determining that the cross-SDN domain exists between the egress port specified in the first indication message and the ingress port carried in the encapsulation message. link.
  • Example 6 Continue with Figure 31 as an example. The specific steps are shown in Figure 33, including:
  • the first SDN controller 3101 sends a first indication message to the SW2 that is in its own jurisdiction, where the first indication message encapsulates the identifier message carrying the identifier of the first SDN controller 3101, and the first indication message is used to indicate SW2 sends the identifier packet through the specified P1 port.
  • the S2 receives the first indication message, and adds the link attribute information of the link corresponding to the port P1 to the identifier packet, and sends the identifier packet encapsulated in the first indication message to the egress port through the outbound port P1.
  • P1 has an ingress port P2 of SW3 of the connected link.
  • the SW3 receives the identifier of the link through the inbound port P2, adds the link attribute information of the link corresponding to the inbound port P2 to the identifier packet, and encapsulates the identifier packet into the first query message, the first query The message is used to query the second SDN controller 3102 of the jurisdiction SW3 for the port information of the port that forwards the identifier.
  • the second SDN controller 3102 receives the first query message sent by the SW3, and parses the first query message, and determines that the identifier encapsulated in the first query message does not carry its own identifier.
  • the identifier packet is encapsulated into a second indication message, and the second indication message is sent to the SW3, where the second indication message is used to instruct the SW3 to send the identifier packet encapsulated by the second indication message by using the ingress port P2.
  • the SW3 receives the second indication message, and sends the identifier packet encapsulated in the second indication message to the egress port P1 of the SW2 of the link that is connected to the ingress port P2 through the ingress port P2.
  • SW2 receives the identifier through the outbound port PI, and encapsulates the identifier ⁇ text into the second query.
  • the message is used to query the first SDN controller 3101 of the jurisdiction SW2 for the port information of the port that forwards the identifier.
  • the second query message may further carry information of the egress port P1 that receives the identifier packet.
  • the first SDN controller 3101 receives the second query message, and after parsing the identifier packet encapsulated in the second query message, and determines that the identifier packet encapsulated in the second query message carries its own identifier, according to the identifier report.
  • the link attribute information of the link corresponding to the egress port carried in the text and the link attribute information of the link corresponding to the ingress port determine that there is a cross-SDN domain link between the port and the ingress port.
  • FIG. 34 is a schematic diagram of a link discovery method according to an embodiment of the present invention. As shown in FIG. 34, the method includes the following steps:
  • the first device sends, to the second device, a link probe message for detecting whether a link exists between the first device and the second device.
  • the link detection message may also carry the outbound port information of the link detection message and the domain identifier of the SDN domain to which the first device belongs, so that the second device discovers the device with the link.
  • the link probe message may be a test message in a Link Management Protocol (LMP).
  • LMP Link Management Protocol
  • S3402 Receive a link probe response message sent by the second device, where the link probe response message carries the domain identifier information of the SDN domain to which the second device belongs.
  • the link probe response message may be a TestStatusSuccess message in the LMP protocol.
  • the link attributes of the link corresponding to the egress port and the ingress port may be different, and the egress port and the ingress port can be connected to each other. After that, it is also determined that there is normal communication between the port and the ingress port. The link, therefore, requires the consistency of the outgoing port and the incoming port.
  • the link attribute detection message may be a LinkS ummar in the LMP protocol.
  • the MME sends a link attribute detection response message sent by the second device, where the link attribute detection response message carries the link attribute of the link corresponding to the ingress port.
  • the link attribute detection response message may be a LinkSummaryAck message in the LMP protocol.
  • the SDN controller has a parent SDN controller, and the link between the sub-SDN domains between the sub-SDN domains under its jurisdiction is managed by the parent SDN controller, after this step, the SDN controller The parent SDN controller reports the cross-SDN domain link.
  • the embodiment of the present invention further provides an SDN controller and a device. Since the principles of the problems solved by the SDN controller and the device are similar to the foregoing link discovery method, the implementation of the SDN controller and the device may be as described above. The implementation of the method, the repetition will not be repeated.
  • An SDN controller provided by the embodiment of the present invention includes the following module: a receiving module 3501, configured to receive an inquiry message sent by a first device under jurisdiction, where the inquiry message is used to query a forwarding station. Port information of the port of the identifier packet received by the first device, where the query message encapsulates an identifier packet carrying the identifier of another SDN controller;
  • the parsing module 3502 is configured to parse the identifier packet encapsulated in the query message received by the receiving module 3501;
  • the sending module 3503 is configured to: when determining, according to the parsing result of the parsing module 3502, that the identifier packet does not carry the identifier of the SDN controller, send the link to the SDN controller, according to the Encapsulating, by the query message, an encapsulated message encapsulating the identifier packet, where the encapsulated message is used by the other SDN controller to receive the encapsulated message according to the identifier reported in the encapsulated message And determining that there is a cross-SDN domain link between the second device that sends the identifier packet to the first device and the first device.
  • the other SDN controller is a parent SDN controller of the SDN controller
  • the sending module 3503 is specifically configured to forward the query message to a parent SDN controller of the SDN controller.
  • the sending module 3503 is specifically configured to forward the query message to all neighboring SDN controllers of the SDN controller, where the adjacent SDN controller of the SDN controller exists with the SDN controller.
  • the sending module 3503 is specifically configured to: when the identifier packet carries the domain identifier of the SDN domain that is controlled by the other SDN controller, according to the parsed identifier, the other SDN controller carried in the identifier The domain identifier of the SDN domain under the jurisdiction, and the inquiry message is forwarded to the other SDN controller.
  • the sending module 3503 is specifically configured to send, to the first device, an indication message that encapsulates an encapsulated message, where the indication message is used to instruct the device to forward the encapsulated message.
  • the identifier packet encapsulated in the query message received by the receiving module 3501 is received by the first device by using an ingress port, and the query message further carries the ingress port.
  • the port information is used by the sending module 3503 to specifically indicate that the device forwards the encapsulated message through the ingress port;
  • the sending module 3503 is further configured to encapsulate the identifier message and the port information of the ingress port into the encapsulated message before sending the indication message encapsulating the encapsulated message to the first device.
  • the identifier packet encapsulated in the query message received by the receiving module 3501 is a chain that is received by the first device through the ingress port and carries the corresponding link of the egress port of the second device.
  • the indication message sent by the sending module 3503 is specifically used to indicate that the first device forwards the encapsulated message by using the ingress port;
  • the sending module 3503 is further configured to: send, to the first device, the encapsulated message Before the indication message, the identifier packet carrying the link attribute information of the link corresponding to the ingress port is encapsulated into an encapsulation message, or the identifier packet carrying the link attribute information of the link corresponding to the ingress port is carried. As a package message.
  • a parent SDN controller provided by the embodiment of the present invention includes the following module: a sending module 3601, configured to send, to the first sub-software-defined network SDN controller, an encapsulated carrying the parent SDN controller The indication message of the identifier 4, wherein the indication message is used to instruct the first sub-SDN controller to forward the identifier and the text through a designated device under the jurisdiction;
  • the receiving module 3602 is configured to receive an inquiry message that is forwarded by the second sub-SDN controller, where the inquiry message is a device that is controlled by the second sub-SDN controller, and after receiving the identifier, the Encapsulating the identifier message as an inquiry message for inquiring, to the second sub-SDN controller, port information of a port that forwards the identifier packet;
  • the parsing module 3603 is configured to parse the identifier message encapsulated in the query message received by the receiving module 3602.
  • the determining module 3604 is configured to: when determining, according to the parsing result of the parsing module 3603, that the identifier packet carries the identifier of the parent SDN controller, determine, according to the identifier 4, the receiving the sending module 3601 There is a cross-SDN domain link between the designated device that sends the indication message and the device that is governed by the second sub-SDN controller.
  • the indication message sent by the sending module 3601 is specifically used to instruct the specified device to send the identifier packet by using a specified out port, and the identifier packet has a corresponding relationship with the indication message;
  • the query message received by the receiving module 3602 is specifically that after the device that is controlled by the second sub-SDN controller receives the identifier packet sent by the specified device through the egress port through an ingress port,
  • the identifier packet is encapsulated into an inquiry message for carrying the port information of the ingress port, and is used to query the second sub-SDN controller for port information of the port that forwards the identifier packet;
  • the determining module 3604 is configured to determine, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet, and determine the outbound port and the query specified in the indication message. There is a cross-SDN domain link between the ingress ports carried in the message.
  • the indication message sent by the sending module 3601 is specifically used to indicate that the designated device sends the identifier packet by using a specified out port; and the identifier packet sent by the specified device by using the egress port is Carrying link attribute information of the link corresponding to the egress port;
  • the identifier packet encapsulated by the query message sent by the device that is controlled by the second sub-SDN controller to the second sub-SDN controller further carries the link attribute information of the link corresponding to the ingress port;
  • the determining module 3604 is configured to determine, according to the link attribute information of the corresponding link of the egress port and the link attribute information of the link corresponding to the ingress port, the egress port. There is a cross-SD domain link with the ingress port.
  • the receiving module 3602 is further configured to: before the parent SDN controller sends the indication message to the first sub-SDN controller, receive the port information reported by the first sub-SDN controller, where the port information is characterized Port is a port that is determined from each port of each device that is governed by the first sub-SDN controller and that does not form a link with any of the ports;
  • the determining module 3604 is further configured to determine the reporting port received by the receiving module 3602 as the designated outgoing port, and determine the device to which the reporting port belongs as the designated device.
  • An SDN controller provided by the embodiment of the present invention includes the following module:
  • the sending module 3701 is configured to send, to the designated device that is in charge, an indication that the identifier packet carrying the identifier of the SDN controller is encapsulated. a message, where the indication message is used to instruct the designated device to forward the identifier;
  • the receiving module 3702 is configured to receive the encapsulated message encapsulating the identifier packet, where the encapsulated message is a device that is controlled by the other SDN controller, and after receiving the identifier packet sent by the specified device, The identifier packet is encapsulated into a first query message for querying, by the other SDN controller, port information of the port for forwarding the identifier;
  • the parsing module 3703 is configured to parse the identifier encapsulated in the encapsulated message received by the receiving module 3702.
  • a determining module 3704 configured to: when the parsing module 3703 determines that the identifier packet carries When the identifier of the SDN controller is described, determining, according to the identifier packet, that there is an inter-SDN domain chain between the designated device that receives the indication message sent by the sending module 3701 and the device that is under the jurisdiction of the other SDN controller road.
  • the other SDN controller is an adjacent SDN controller of the SDN controller, where the adjacent SDN controller of the SDN controller is an SDN controller of a physical link that is in communication with the SDN controller. Or an SDN controller having a communication mechanism with the SDN controller, or an SDN controller configured for the SDN controller;
  • the receiving module 3702 is configured to receive the encapsulated message forwarded by the other SDN controller, where the encapsulated message is a device that is controlled by the other SDN controller, and after receiving the identifier packet sent by the specified device, Encapsulating the identification message as a first query message for querying the other SDN controller for port information of the port that forwards the identifier.
  • the indication message sent by the sending module 3701 is specifically used to instruct the specified device to send the identifier packet by using a specified out port, and the identifier packet has a corresponding relationship with the indication message;
  • the encapsulating message received by the receiving module 3702 is specifically that after the device that is managed by the other SDN controller receives the identifier packet sent by the specified device through the egress port through an ingress port, the identifier is reported. Encapsulating is a first query message carrying the port information of the port for forwarding the identifier message to the other SDN controller;
  • the determining module 3704 is configured to determine, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet, and determine the outbound port that is specified in the indication message and carried in the encapsulated message. There is a cross-SD domain link between the ingress ports.
  • the receiving module 3702 is specifically configured to receive a second query message that is sent by the specified device and encapsulates the encapsulated message, where the second query message is used to query a port that forwards the encapsulated message.
  • the port information, the encapsulating message is a device that is controlled by the other SDN controller, and after receiving the identifier packet sent by the specified device, encapsulating the identifier packet to be used for querying the other SDN controller.
  • the other SDN controller After forwarding the first query message of the port information of the port of the identifier packet, the other SDN controller carries the encapsulation according to the first query message.
  • the encapsulated message of the identifier message is specifically configured to receive a second query message that is sent by the specified device and encapsulates the encapsulated message, where the second query message is used to query a port that forwards the encapsulated message.
  • the port information, the encapsulating message is a device that is controlled by the other SDN controller
  • the indication message sent by the sending module 3701 is specifically used to instruct the designated device to send the identifier packet by using a specified out port, and the identifier packet has a corresponding relationship with the indication message;
  • the encapsulating message received by the receiving module 3702 is specifically that after the device that is managed by the other SDN controller receives the identifier packet sent by the specified device through the egress port, the identifier is sent by the ingress port.
  • the packet is encapsulated into a first query message carrying the port information for inquiring the other SDN controller to forward the port of the identifier packet, and the other SDN controller
  • the encapsulated message carrying the identifier information and the port information of the ingress port;
  • the determining module 3704 is configured to determine, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet, and determine the outbound port and the second query message that are specified in the indication message. There is a cross-SDN domain link between the ingress ports carried in the encapsulated encapsulated message.
  • the indication message sent by the sending module 3701 is specifically used to instruct the designated device to send the identifier packet by using a specified out port; and the identifier device is sent by the specified device through the egress port. Carrying link attribute information of the link corresponding to the outgoing port;
  • the determining module 3704 is configured to determine, according to the link attribute information of the corresponding link of the egress port and the link attribute information of the corresponding link of the ingress port, the egress port. There is a cross-SD domain link with the ingress port.
  • An embodiment of the present invention provides a device, as shown in FIG. 38, including the following module: a sending module 3801, configured to send, to other devices, a link for detecting whether a link exists between the device and the other device. Probe message
  • the receiving module 3802 is configured to receive, by the sending, the sending module 3801 After the link detection message, the sent link detection response message, where the link detection response message carries the domain identification information of the SDN domain to which the other device belongs;
  • the determining module 3803 is configured to determine that a link between the device and the other device exists across the SDN domain when the domain identifier of the SDN domain to which the device belongs is different from the domain identifier of the SDN domain to which the other device belongs.
  • the link probe response message received by the receiving module 3802 further includes the ingress port information that the other device receives the link probe message
  • the determining module 3803 is specifically configured to determine that there is a cross-domain link between the egress port and the ingress port of the device that sends the link detection message.
  • the sending module 3801 is further configured to: after the determining module 3803 determines that the cross-domain link exists between the egress port of the device that sends the link detection message and the ingress port, to the other The device sends a link attribute detection message for detecting a link attribute of the corresponding link of the ingress port;
  • the receiving module 3802 is further configured to: after the sending, by the sending module 3801, the link attribute detection message, receive a link attribute detection response message sent by the other device, where the link attribute detection response message is Carrying the link attribute of the link corresponding to the ingress port.
  • the sending module 3801 is further configured to: after the determining module 3803 determines that a link between the device and the other device exists across the SD domain, report the report to the SDN controller that is in the device Information across SDN domain links.
  • the SDN controller shown in FIG. 35 can be used as the non-initiating end of the cross-SDN domain link discovery.
  • the parent SDN controller shown in FIG. 36 can be used as the initiator of the cross-SD domain link discovery, as shown in FIG.
  • the SDN controller shown can be used as the initiator of the cross-SDN domain link discovery.
  • the device shown in Figure 38 can be used as the initiator of the cross-SDN domain link discovery.
  • the SDN controller and the device cooperate with each other. Therefore, the SDN controller provided by the embodiment of the present invention may also constitute a cross-SDN domain link discovery system, and the system may include an SDN controller as shown in FIG.
  • the parent SDN controller shown, or the system may include an SDN controller as shown in FIG. 35 and an SDN controller as shown in FIG. 37, or the system A plurality of devices as shown in FIG. 38 may be included.
  • An SDN controller includes the following parts: a receiver 3901, configured to receive an inquiry message sent by a first device under jurisdiction, where the inquiry message is used to query a forwarding station. Port information of the port of the identifier packet received by the first device, where the query message encapsulates an identifier packet carrying the identifier of another SDN controller;
  • the processor 3902 is configured to parse the identifiers encapsulated in the query message received by the receiver 3901;
  • the transmitter 3903 is configured to: when determining, according to the parsing result of the processor 3902, that the identifier packet does not carry the identifier of the SDN controller, send the link to the SDN controller, according to the Encapsulating, by the query message, an encapsulated message encapsulating the identifier packet, where the encapsulated message is used by the other SDN controller to receive the encapsulated message according to the identifier reported in the encapsulated message And determining that there is a cross-SDN domain link between the second device that sends the identifier message to the first device and the first device.
  • the transmitter 3903 is specifically configured to forward the query message to the parent SDN controller of the SDN controller.
  • the transmitter 3903 is specifically configured to forward the query message to all neighboring SDN controllers of the SDN controller, where the adjacent SDN controller of the SDN controller exists with the SDN controller.
  • the transmitter 3903 is specifically configured to: when the identifier packet carries the domain identifier of the SDN domain that is managed by the other SDN controller, according to the parsed other SDN controller carried in the identifier packet The domain identifier of the SDN domain under the jurisdiction, and the inquiry message is forwarded to the other SDN controller. Further, the transmitter 3903 is specifically configured to send, to the first device, an indication message that encapsulates an encapsulated message, where the indication message is used to instruct the device to forward the encapsulated message.
  • the identifier packet encapsulated in the query message received by the receiver 3901 is received by the first device by using an ingress port, and the query message further carries the ingress port.
  • the indication information sent by the sender 3903 is specifically used to instruct the device to forward the encapsulated message through the ingress port;
  • the transmitter 3903 is further configured to encapsulate the identifier message and the port information of the ingress port into the encapsulation message before sending the indication message encapsulating the encapsulation message to the first device.
  • the identifier packet encapsulated in the query message received by the receiver 3901 is a chain that is received by the first device through the ingress port and carries the corresponding link of the egress port of the second device.
  • the indication message sent by the sender 3903 is specifically configured to instruct the first device to forward the encapsulated message by using the ingress port;
  • the transmitter 3903 is further configured to encapsulate the identifier packet carrying the link attribute information of the link corresponding to the ingress port into an encapsulation before sending the indication message encapsulating the encapsulation message to the first device.
  • the message, or the identifier packet carrying the link attribute information of the link corresponding to the ingress port, is used as the encapsulation message.
  • a parent SDN controller provided by the embodiment of the present invention includes the following parts: a transmitter 4001, configured to send, to the first sub-software definition network SDN controller, an encapsulated carrying the parent SDN controller The indication message of the identified identifier message, where the indication message is used to instruct the first sub-SDN controller to forward the identifier according to the designated device under the jurisdiction;
  • the receiver 4002 is configured to receive an inquiry message that is forwarded by the second sub-SDN controller, where the inquiry message is a device that is controlled by the second sub-SDN controller, and after receiving the identifier, the Encapsulating the identifier as an inquiry message for querying, by the second sub-SDN controller, port information of a port that forwards the identifier packet; a parser 4003, configured to parse the identifier message encapsulated in the query message received by the receiver 4002;
  • the processor 4004 is configured to, when determining, according to the parsing result of the parser 4003, that the identifier packet carries the identifier of the parent SDN controller, determine, according to the identifier packet, that the transmitter 4001 is sent to be sent. There is a cross-SDN domain link between the designated device of the indication message and the device under the jurisdiction of the second sub-SDN controller.
  • the indication message sent by the sender 4001 is specifically used to instruct the designated device to send the identifier packet by using a specified out port, and the identifier packet has a corresponding relationship with the indication message;
  • the query message received by the receiver 4002 is specifically that after the device that is controlled by the second sub-SDN controller receives the identifier packet sent by the specified device through the egress port through an ingress port,
  • the identifier packet is encapsulated into an inquiry message for carrying the port information of the ingress port, and is used to query the second sub-SDN controller for the port information of the port that forwards the identifier packet; the processor 4004, specifically Determining, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet; determining that the egress port specified in the indication message exists between the ingress port carried in the query message Cross-SDN domain links.
  • the indication message sent by the sender 4001 is specifically used to indicate that the designated device sends the identifier packet by using a specified out port; and the identifier packet sent by the specified device by using the egress port is Carrying link attribute information of the link corresponding to the egress port;
  • the identifier packet encapsulated by the query message sent by the device that is controlled by the second sub-SDN controller to the second sub-SDN controller further carries the link attribute information of the link corresponding to the ingress port;
  • the processor 4004 is specifically configured to determine, according to the link attribute information of the link corresponding to the egress port carried in the identifier packet, and the link attribute information of the link corresponding to the ingress port, the egress port. There is a cross-SDN domain link between the ingress port and the ingress port.
  • the receiver 4002 is further configured to: before the parent SDN controller sends the indication message to the first sub-SDN controller, receive the port information reported by the first sub-SDN controller, where
  • the port characterized by the port information is a port that is determined from each port of each device that is governed by the first sub-SDN controller and that does not form a link with any one of the ports;
  • the processor 4004 is further configured to determine an upper port received by the receiver 4002 as a designated port, and determine a device to which the reporting port belongs as a designated device.
  • An SDN controller includes the following part: a transmitter 4101, configured to send, to an designated device that is in charge, an indication that is encapsulated with an identifier packet carrying the identifier of the SDN controller. a message, where the indication message is used to instruct the specified device to forward the identifier;
  • the receiver 4102 is configured to receive the encapsulated message encapsulating the identifier packet, where the encapsulated message is a device that is controlled by the other SDN controller, and after receiving the identifier packet sent by the specified device, The identifier packet is encapsulated into a first query message for querying, by the other SDN controller, port information of the port for forwarding the identifier packet;
  • the parser 4103 is configured to parse the identifiers encapsulated in the encapsulated message received by the receiver 4102;
  • the processor 4104 is configured to: when the identifier 4103 determines that the identifier packet carries the identifier of the SDN controller, determine, according to the identifier packet, the receiving the indication message sent by the sender 4101. There is a cross-SDN domain link between the designated device and the device under the jurisdiction of the other SDN controller.
  • the other SDN controller is an adjacent SDN controller of the SDN controller, where the adjacent SDN controller of the SDN controller is an SDN controller of a physical link that is in communication with the SDN controller. Or an SDN controller having a communication mechanism with the SDN controller, or an SDN controller configured for the SDN controller;
  • the receiver 4102 is specifically configured to receive the encapsulated message forwarded by the other SDN controller, where the encapsulated message is a device that is controlled by the other SDN controller, and after receiving the identifier packet sent by the specified device, Encapsulating the identification message as a first inquiry message for inquiring the other SDN controller for port information of the port that forwards the identification message.
  • the indication message sent by the sender 4101 is specifically used to indicate the designation.
  • the device sends the identifier packet by using the specified outbound port, and the identifier packet has a corresponding relationship with the indication message;
  • the encapsulated message received by the receiver 4102 is specifically that after the device that is managed by the other SDN controller receives the identifier packet sent by the specified device through the egress port through the ingress port, the identifier is reported. Encapsulating is a first query message carrying port information for invoking the identifier of the port that forwards the identifier to the other SDN controller;
  • the processor 4104 is configured to determine, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet, and determine the outbound port that is specified in the indication message and that is carried in the encapsulated message. There is a cross-SDN domain link between the ingress ports.
  • the receiver 4102 is specifically configured to receive a second query message that is sent by the specified device and encapsulates the encapsulated message, where the second query message is used to query a port that forwards the encapsulated message.
  • the port information, the encapsulating message is a device that is controlled by the other SDN controller, and after receiving the identifier packet sent by the specified device, encapsulating the identifier packet to be used for querying the other SDN controller.
  • the other SDN controller After forwarding the first query message of the port information of the port of the identifier, the other SDN controller encapsulates the encapsulated message carrying the identifier packet according to the first query message.
  • the indication message sent by the sender 4101 is specifically used to instruct the designated device to send the identifier packet by using a specified out port, and the identifier packet has a corresponding relationship with the indication message;
  • the encapsulated message received by the receiver 4102 is specifically that after the device that is managed by the other SDN controller receives the identifier packet sent by the specified device through the egress port, the identifier is sent by the ingress port.
  • the packet is encapsulated into a first query message carrying the port information for inquiring the other SDN controller to forward the port of the identifier packet, the other SDN controller according to the a first query message, the encapsulated encapsulation message carrying the identifier message and the port information of the ingress port;
  • the processor 4104 is configured to determine, according to the identifier packet, an indication message that has a corresponding relationship with the identifier packet, and determine the outbound port and the second specified in the indication message. There is a cross-SDN domain link between the ingress ports carried in the encapsulated message encapsulated in the query message.
  • the indication message sent by the sender 4101 is specifically used to indicate that the designated device sends the identifier packet by using a specified out port; and the specified device sends the identifier packet by using the egress port. Carrying link attribute information of the link corresponding to the outgoing port;
  • the processor 4104 is configured to determine, according to the link attribute information of the link corresponding to the egress port and the link attribute information of the link corresponding to the ingress port, the egress port. There is a cross-SDN domain link between the ingress port and the ingress port.
  • An embodiment of the present invention provides a device, as shown in FIG. 42 , including the following part: a transmitter 4201, configured to send, to another device, a link for detecting whether a link exists between the device and the other device. Probe message
  • the receiver 4202 is configured to receive a link probe response message sent by the other device after receiving the link probe message sent by the transmitter 4201, where the link probe response message carries The domain identifier information of the SDN domain to which the other device belongs;
  • the processor 4203 is configured to determine that a link between the device and the other device exists across the SDN domain when the domain identifier of the SDN domain to which the device belongs is different from the domain identifier of the SDN domain.
  • the link probe response message received by the receiver 4202 further carries the ingress port information that the other device receives the link probe message
  • the processor 4203 is specifically configured to determine that a cross-domain link exists between the egress port of the device that sends the link detection message and the ingress port.
  • the transmitter 4201 is further configured to: after the processor 4203 determines that the cross-domain link exists between the egress port of the device sending the link probe message and the ingress port, to the other The device sends a link attribute detection function for detecting a link attribute of the corresponding link of the ingress port. Interest rate
  • the receiver 4202 is further configured to: after the transmitter 4201 sends the link attribute detection message, receive a link attribute detection response message sent by the other device, where the link attribute detection response message is used. Carrying the link attribute of the link corresponding to the ingress port.
  • the transmitter 4201 is further configured to: after the processor 4203 determines that there is a link between the device and the other device across the SDN domain, report the report to the SDN controller that is in the device Information across SDN domain links.
  • the SDN controller shown in FIG. 39 can be used as a non-initiating end of the cross-SDN domain link discovery.
  • the parent SDN controller shown in FIG. 40 can serve as an initiator of the cross-SD domain link discovery, as shown in FIG. 41.
  • the SDN controller shown can be used as the initiator of the cross-SDN domain link discovery.
  • the device shown in Figure 42 can be used as the initiator of the cross-SDN domain link discovery.
  • the SDN controller and the device cooperate with each other. Therefore, the SDN controller provided by the embodiment of the present invention may also constitute a cross-SDN domain link discovery system, and the system may include an SDN controller as shown in FIG. 39 and FIG. 40.
  • the parent SDN controller shown, or the system may include an SDN controller as shown in FIG. 39 and an SDN controller as shown in FIG. 41, or the system may include a plurality of devices as shown in FIG.
  • the parent SDN controller sends an indication message encapsulating the identifier packet carrying the identifier of the parent SDN controller to the first sub-SDN controller, where
  • the indication message is used to indicate that the first sub-SDN controller forwards the identifier packet by using the designated device that is in the jurisdiction; the device that is controlled by the second sub-SDN controller, after receiving the identifier packet sent by the designated device, encapsulates the identifier packet into
  • the second sub-SDN controller queries the inquiry message of the port information of the port that identifies the packet, and sends the query message to the second sub-SDN controller, where the second sub-SDN controller parses that the identifier packet does not carry the second sub-SDN controller.
  • the query message is forwarded to the parent SDN controller; the parent SDN controller parses the identifier packet encapsulated in the query message; when it is determined that the identifier packet carries the identifier of the parent SDN controller, the specified device is determined according to the identifier packet.
  • the parent SDN controller detects the link between the sub-SDN controllers under its jurisdiction, and discovers the cross-SDN domain link between the SDN domains where the plurality of sub-SDN controllers under the parent SDN controller are located, and solves the problem. There is a problem in the technology that cross-SD domain links cannot be found.
  • a link discovery method an SDN controller, and a device
  • the first SDN controller sends an indication message encapsulating an identifier packet carrying the identifier of the first SDN controller to a designated device under the jurisdiction, where The indication message is used to indicate that the designated device forwards the identifier message
  • the second SDN controller receives the first query message sent by the device under the jurisdiction for inquiring the port information of the port that is used to forward the identifier packet received by the device, and parses the identifier message.
  • the SDN controller parses the identifier packet encapsulated in the encapsulated message, and when determining that the identifier packet carries the identifier of the first SDN controller, determines the designated device and the second SDN according to the identifier packet.
  • the first device sends, to the second device, a link probe message for detecting whether a link exists between the first device and the second device.
  • the domain identifier of the SDN domain is different, it is determined that there is a link across the SDN domain between the SDN domain to which the first device belongs and the SDN domain to which the second device belongs.
  • the device that is in the SDN controller is initiating the detection of the device that belongs to the other SDN domain, so as to determine that there is a link between the SDN domains to which the device having the link belongs, and the cross-SDN domain chain cannot be found in the prior art. Road problem.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may employ an entirely hardware embodiment, an entirely software embodiment, Or in the form of an embodiment of the software and hardware aspects. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

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

Abstract

本发明实施例提供的一种链路发现方法、SDN控制器及设备,第一软件定义网络SDN控制器接收管辖的第一设备发送的询问消息,其中,该询问消息用于询问转发第一设备接收到的标识报文的端口的端口信息,该询问消息中封装有携带了第二SDN控制器标识的标识报文;解析标识报文;当确定标识报文未携带第一SDN控制器的标识时,向与第一SDN控制器连通的链路,发送根据询问消息确定的、封装有标识报文的封装消息。解决了现有技术中无法实现发送跨SDN域链路的问题。本发明涉及通信技术领域。

Description

一种链路发现方法、 SDN控制器及设备 技术领域
本发明涉及通信技术领域, 特别涉及一种链路发现方法、 SDN控制器及 设备。 背景技术
软件定义网络 ( SDN, Software Defined Networking )是一种新型网络架 构, 它使网络的控制平面与实际的物理拓朴结构互相分离, 为控制平面提供 可编程接口, 物理拓朴中的硬件设备不再由各自的软件控制数据包的路由, 而是接收来自控制平面的转发规则, 并根据这些规则对数据包进行转发。 这 样, 在一定范围内的网络 (或称 SDN域), 由集中统一的控制逻辑单元来对该范 围内的网络实施管理, 解决了网络中大量的转发设备各自分散独立运行管理 的问题, 使得网络的设计、 部署、 运维、 管理在一个控制点完成, 并消除了 底层网络差异性。 而集中统一的控制逻辑单元可以为 SDN控制器 ( SDN Controller ), 也就是说由 SDN控制器提供控制平面, 对自身管辖的 SDN域中的 设备进行统一控制和管理。 SDN控制器可以通过 Openflow协议对自身管辖的 SDN域中的设备进行控制和管理。
进一步地, SDN控制器对自身管辖的 SDN域中的链路的自动发现的, 是 SDN控制器实现 SDN网络链路管理、 网络拓朴自动发现等的前提。 SDN控制 器对自身管辖的 SDN域中的链路自动发现的过程主要为: 基于 SDN控制器发 现的自身管辖的 SDN域中的端口库(即 SDN域中包含的设备的端口), 自动发 现各端口之间的连接关系的过程。 现有技术中, 提供的 SDN控制器对自身管 辖的 SDN域中的链路自动发现的方法主要包括如下两种:
第一种, 如图 1所示, SDN控制器 101管辖的 SDN域中包括两个设备 SW1 和 SW2。 SDN控制器 101通过 Openflow协议中的 Packet-out消息、 Packet-in消息 以及 LLDP协议与自身管辖的 SDN域中的设备进行通信, 以完成链路自动发 现。 SDN控制器 101对 SDN域中的链路的自动发现方法主要包括如下步骤: 步骤 1: SDN控制器 101发现 SDN域中的端口库, 包括 SW1端口 P1以及 SW2 的端口 P2;
步骤 2: SDN控制器 101分别向端口库中的各设备发送 Packet-out消息, 该 Packet-out消息用于指示设备通过 SDN控制器 101指定的出端口将该 Packet-out 消息中携带的报文发送出去, 该 Packet-out消息中携带有链路层发现协议 ( LLDP, Link Layer Discovery Protocol ) 4艮文, 该 LLDP艮文用于指示 SDN控 制器 101的主要能力、 管理地址、 设备标识、 接口标识等信息;
步骤 3: 假设 SW1接收到的 Packet-out消息指示 SW1通过 P1将 Packet-out消 息中携带的 LLDP报文转发出去, SW1接收到的 Packet-out消息之后, 去掉该 Packet-out消息的消息头, 将 LLDP报文从 P 1转发出去;
步骤 4: 假设 P1和 SW2的端口 P2之间存在物理链路, 那么, SW1将 LLDP 报文从 PI通过端口 P2转发给 SW2 , SW2接收到该 LLDP报文之后, 由于在控制 器链路自动发现阶段,尚未生成流表, SW2不知道该往哪里转发该 LLDP报文, 因此 SW2将该 LLDP报文封装成 Packet-in消息, 发送给管辖自己的 SDN控制器 101 , 并在该 Packet-in消息中携带接收到 LLDP报文的入端口信息即 P2;
步骤 5、 SDN控制器 101接收到该 Packet-in消息之后, 解析出该 Packet-in消 息中携带的 LLDP报文为自己所发, 以及自己发送该 LLDP报文时用于携带该 LLDP报文的 Packet-out消息, 从而通过 Packet-out消息中携带的出端口 P1的信 息以及对应的 Packet-out消息中携带的入端口 P2的信息, 发现了 P1和 P2之间的 链路。
第二种, 如图 1所示, SDN控制器 101通过 LLDP协议与自身管辖的 SDN域 中的设备进行通信, 以完成链路自动发现。 SDN控制器 101对 SDN域中的链路 的自动发现方法主要包括如下步骤:
步骤 1 : SW1和 SW2分别使用组播地址, 向 SDN控制器 101管辖的 SDN域 中的其他设备以及 SDN控制器 101发送 LLDP报文, 该 LLDP报文用于指示发送 该 LLDP报文的设备的主要能力、 管理地址、 设备标识、 接口标识等信息; 步骤 2、 SW1和 SW2在分别接收到其他设备发送的 LLDP报文之后, 又将 该接收的 LLDP报文转发给 SDN控制器 101管辖的 SDN域中的其他设备以及 SDN控制器 101 , SDN控制器 101通过接收到的各个设备发送的 LLDP报文发现 SDN控制器 101管辖的 SDN域中的链路。
进一步地, 现有技术提供的上述两种 SDN控制器对自身管辖的 SDN域中 的链路自动发现的方法中, SDN控制器只能针对自身管辖的 SDN域中的链路 进行自动发现, 而对于两个 SDN控制器分别管辖的两个 SDN域之间的跨域链 路无法进行自动发现。
进一步地, 现有技术中的 SDN控制器可以管辖位于不同网络层次的网络 设备, 例如: 管辖路由设备的路由器设备控制器, 和管辖光网络设备的光网 络控制器, 由于路由设备和光网络设备为位于不同网络层的网络设备, 而有 的路由设备和光网络设备之间存在链路, 又由于路由设备和光网络设备由不 同的 SDN控制器控制, 因此, 现有技术中, 位于不同层次的 SDN域之间的跨 域链路也无法自动发现。 发明内容
本发明实施例提供了一种链路发现方法、 SDN控制器及设备, 用以解决 现有技术中无法发现跨 SDN域链路的问题。
第一方面, 提供一种链路发现方法, 包括:
第一软件定义网络 SDN控制器接收管辖的第一设备发送的询问消息, 其 中, 所述询问消息用于询问转发所述第一设备接收到的标识报文的端口的端 口信息, 所述询问消息中封装有携带了第二 SDN控制器标识的标识报文; 解析所述标识 ·^艮文;
当确定所述标识 4艮文未携带所述第一 SDN控制器的标识时, 向与所述第 一 SDN控制器连通的链路, 发送根据所述询问消息确定的、 封装有所述标识 报文的封装消息; 其中, 所述封装消息用于所述第二 SDN控制器接收到所述封装消息时, 根据所述封装消息中封装的所述标识报文, 确定向所述第一设备发送所述标 识报文的第二设备与所述第一设备之间存在跨 S丽域链路。
结合第一方面, 在第一种可能的实现方式中, 在所述第二 SDN控制器为 所述第一 SDN控制器的父 SDN控制器时, 向与所述第一 SDN控制器连通的 链路, 发送根据所述询问消息确定的、 封装有所述标识报文的封装消息, 具 体包括: 向所述第一 SDN控制器的父 SDN控制器转发所述询问消息。
结合第一方面, 在第二种可能的实现方式中, 向与所述第一 SDN控制器 连通的链路, 发送根据所述询问消息确定的、 封装有所述标识报文的封装消 息, 具体包括: 向所述第一 SDN控制器的所有邻接 SDN控制器, 转发所述 询问消息,其中,所述第一 SDN控制器的邻接 SDN控制器为与所述第一 SDN 控制器存在连通的物理链路的 SDN控制器, 或者, 与所述第一 SDN控制器 存在通信机制的 SDN控制器, 或者, 为所述第一 SDN控制器配置的 SDN控 制器; 或者所述标识 文中携带有所述第二 SDN控制器所管辖的 SDN域的 域标识; 向与所述第一 SDN控制器连通的链路, 发送才艮据所述询问消息确定 的、 封装有所述标识报文的封装消息, 具体包括: 根据解析出的所述标识报 文中携带的所述第二 SDN控制器所管辖的 SDN域的域标识,向所述第二 SDN 控制器转发所述询问消息。
结合第一方面的第一种可能的实现方式, 或者结合第一方面的第二种可 能的实现方式, 在第三种可能的实现方式中, 所述询问消息中封装的所述标 识报文为所述第一设备通过入端口接收到的, 且所述询问消息中还携带有所 述入端口的端口信息。
结合第一方面的第一种可能的实现方式,或者结合第一方面的第二种可能 的实现方式, 在第四种可能的实现方式中, 所述询问消息中封装的所述标识 报文, 为所述第一设备通过入端口接收到的、 携带有所述第二设备的出端口 对应链路的链路信息的标识报文; 所述第一设备向所述第一 SDN控制器发送 的所述询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路 属性信息。
结合第一方面, 在第五种可能的实现方式中, 向与所述第一 SDN控制器 连通的链路, 发送根据所述询问消息确定的、 封装有所述标识报文的封装消 息, 具体包括: 向所述第一设备发送封装有封装消息的指示消息, 其中, 所 述指示消息用于指示所述设备转发所述封装消息。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所 述询问消息中封装的所述标识报文, 为所述第一设备通过入端口接收到的, 且所述询问消息中还携带有所述入端口的端口信息; 所述指示消息具体用于 指示所述设备通过所述入端口转发所述封装消息; 在向所述第一设备发送封 装有所述封装消息的指示消息之前, 还包括: 将所述标识报文和所述入端口 的端口信息封装为所述封装消息。
结合第一方面的第五种可能的实现方式, 在第七种可能的实现方式中, 所 述询问消息中封装的所述标识报文为所述第一设备通过入端口接收到的、 携 带有所述第二设备的出端口对应链路的链路信息的标识报文; 所述第一设备 向所述第一 SDN控制器发送的所述询问消息所封装的标识报文中, 还携带有 所述入端口对应链路的链路属性信息; 所述指示消息具体用于指示所述第一 设备通过所述入端口转发所述封装消息; 在向所述第一设备发送封装有所述 封装消息的指示消息之前, 还包括: 将携带有所述入端口对应链路的链路属 性信息的标识报文封装为封装消息, 或者, 将携带有所述入端口对应链路的 链路属性信息的标识 · ^文作为封装消息。
第二方面, 提供一种链路发现方法, 包括:
父软件定义网络 SDN控制器向第一子 SDN控制器发送封装有携带了所 述父 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指示 所述第一子 SDN控制器通过管辖的指定设备转发所述标识报文;
接收第二子 SDN控制器转发的询问消息, 其中, 所述询问消息为所述第 二子 SDN控制器管辖的设备, 接收到所述指定设备发送所述标识报文之后, 将所述标识报文封装为用于向所述第二子 SDN控制器询问转发所述标识报文 的端口的端口信息的询问消息;
解析所述询问消息中封装的标识报文;
当确定所述标识" ^文携带有所述父 SDN控制器的标识时, 根据所述标识 报文,确定所述指定设备与所述第二子 SDN控制器管辖的设备之间存在跨 SDN 域链路。
结合第二方面, 在第一种可能的实现方式中, 所述指示消息具体用于指 示所述指定设备, 通过指定出端口发送所述标识报文, 且所述标识报文有与 所述指示消息具有对应关系; 所述询问消息具体为所述第二子 SDN控制器管 辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报 文之后, 将所述标识报文封装为携带有所述入端口的端口信息的、 用于向所 述第二子 SDN控制器询问转发所述标识报文的端口的端口信息的询问消息; 根据所述标识报文, 确定所述指定设备与所述第二子 SDN控制器管辖的设备 之间存在跨 SDN域链路, 具体包括: 根据所述标识报文, 确定与所述标识报 文具有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述 询问消息中携带的所述入端口之间存在跨 SDN域链路。
结合第二方面, 在第二种可能的实现方式中, 所述指示消息具体用于指 示所述指定设备通过指定出端口发送所述标识报文; 且所述指定设备通过所 述出端口发送的标识报文中, 携带有所述出端口对应链路的链路属性信息; 所述第二子 SDN控制器管辖的设备向所述第二子 SDN控制器发送的所述询 问消息所封装的标识" ^文中, 还携带有所述入端口对应链路的链路属性信息; 根据所述标识报文, 确定所述指定设备与所述第二子 SDN控制器管辖的设备 之间存在跨 SDN域链路, 具体包括: 根据所述标识报文中携带的所述出端口 对应链路的链路属性信息, 以及所述入端口对应链路的链路属性信息, 确定 所述出端口与所述入端口之间存在跨 SDN域链路。
结合第二方面的第一种可能的实现方式, 或者结合第二方面的第二种可 能的实现方式, 在第三种可能的实现方式中, 在父 SDN控制器向第一子 SDN 控制器发送指示消息之前, 还包括: 父 SDN控制器接收所述第一子 SDN控 制器上报的端口信息, 其中, 所述端口信息表征的端口为从所述第一子 SDN 控制器管辖的各设备的各端口中确定的、 未与所述各端口中的任一端口构成 链路的端口; 将上报端口确定为指定出端口, 并将所述上报端口所属的设备 确定为指定设备。
结合第二方面的第一种可能的实现方式, 或者结合第二方面的第二种可 能的实现方式, 在第四种可能的实现方式中, 所述标识报文为 LLDP报文, 所述指示消息为 packet-out消息, 所述询问消息为 packet-in消息。
第三方面, 提供一种链路发现方法, 包括:
第一软件定义网络 SDN控制器向管辖的指定设备发送封装有携带了所述 第一 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指示 所述指定设备转发所述标识报文;
接收封装有所述标识报文的封装消息, 其中, 所述封装消息为根据第二 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报文之后, 将所述 标识报文封装为用于向所述第二 SDN控制器询问转发所述标识报文的端口的 端口信息的第一询问消息确定的;
解析所述封装消息中封装的标识报文;
当确定所述标识> ^文中携带有所述第一 SDN控制器的标识时, 根据所述 标识报文, 确定所述指定设备与所述第二 SDN控制器管辖的设备之间存在跨 SDN域链路。
结合第三方面, 在第一种可能的实现方式中, 所述第二 SDN控制器为所 述第一 SDN控制器的邻接 SDN控制器, 其中, 所述第一 SDN控制器的邻接 SDN控制器为与所述第一 SDN控制器存在连通的物理链路的 SDN控制器, 或者, 与所述第一 SDN控制器存在通信机制的 SDN控制器, 或者, 为所述 第一 SDN控制器配置的 SDN控制器; 接收封装有所述标识报文的封装消息, 具体包括: 接收所述第二 SDN控制器转发的封装消息, 其中, 所述封装消息 为所述第二 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报文之 后, 将所述标识报文封装为用于向所述第二 SDN控制器询问转发所述标识报 文的端口的端口信息的第一询问消息。
结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述指示消息具体用于指示所述指定设备, 通过指定出端口发送所述标识报 文, 且所述标识报文与所述指示消息具有对应关系; 所述封装消息具体为所 述第二 SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出端 口发送的所述标识报文之后, 将所述标识报文封装为携带有所述入端口信息 的、 用于向所述第二 SDN控制器询问转发所述标识报文的端口的端口信息的 第一询问消息; 根据所述标识报文, 确定所述指定设备与所述第二子 SDN控 制器管辖的设备之间存在跨 SDN域链路, 具体包括: 根据所述标识报文, 硝 定与所述标识报文具有对应关系的指示消息; 确定所述指示消息中指定的所 述出端口与所述封装消息中携带的所述入端口之间存在跨 SDN域链路。
结合第三方面、 结合第三方面的第一种可能的实现方式、 或者结合第三 方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述标识报文 为 LLDP才艮文, 所述指示消息为 packet-out消息, 所述询问消息为 packet-in 消息。
结合第三方面, 在第四种可能的实现方式中, 接收封装有所述标识报文 的封装消息, 具体包括: 接收所述指定设备发送的封装有所述封装消息的第 二询问消息, 其中, 所述第二询问消息用于询问转发所述封装消息的端口的 端口信息, 所述封装消息为所述第二 SDN控制器管辖的设备, 接收到所述指 定设备发送的标识 · ^文之后, 再将所述标识报文封装为用于向所述第二 SDN 控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后, 所述 第二 SDN控制器根据所述第一询问消息, 封装的携带有所述标识报文的封装 消息。
结合第三方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所述指示消息具体用于指示所述指定设备, 通过指定出端口发送所述标识报 文, 且所述标识报文有与所述指示消息具有对应关系; 所述封装消息具体为 所述第二 SDN控制器管辖的设备通过入端口接收到所述指定设备通过所述出 端口发送的所述标识报文之后, 再将所述标识报文封装为携带有所述入端口 信息的、 用于向所述第二 SDN控制器询问转发所述标识 4艮文的端口的端口信 息的第一询问消息之后, 所述第二 SDN控制器根据所述第一询问消息, 封装 的携带有所述标识报文和所述入端口的端口信息的封装消息; 根据所述标识 报文, 确定所述指定设备与所述第二子 SDN 控制器管辖的设备之间存在跨 SDN域链路, 具体包括: 根据所述标识报文, 确定与所述标识报文具有对应 关系的指示消息; 确定所述指示消息中指定的所述出端口与所述第二询问消 息中封装的所述封装消息中携带的所述入端口之间存在跨 SDN域链路。
结合第三方面的第一种可能的实现方式、 或者结合第三方面的第四种可 能的实现方式, 在第六种可能的实现方式中, 所述指示消息具体用于指示所 述指定设备, 通过指定出端口发送所述标识报文; 且所述指定设备通过所述 出端口发送的标识报文中, 携带有所述出端口对应链路的链路属性信息; 所 述第二 SDN控制器管辖的设备向所述第二 SDN控制器发送的所述第一询问 消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性信息; 根据所述标识报文, 确定所述指定设备与所述第二 SDN控制器管辖的设备之 间存在跨 SDN域链路, 具体包括: 根据所述标识报文中携带的所述出端口对 应链路的链路属性信息, 以及所述入端口对应链路的链路属性信息, 确定所 述出端口与所述入端口之间存在跨 SD 域链路。
第四方面, 提供一种链路发现方法, 包括:
第一设备向第二设备发送用于探测所述第一设备和所述第二设备之间是 否存在链路的链路探测消息;
接收所述第二设备发送的链路探测回应消息, 其中, 所述链路探测回应 消息中携带有所述第二设备所属 SDN域的域标识信息;
当所述第一设备所属 SDN域的域标识, 与所述第二设备所属 SDN域的 域标识不同时,确定所述第一设备与所述第二设备之间存在跨 SDN域的链路。
结合第四方面, 在第一种可能的实现方式中, 所述链路探测回应消息中 还携带有所述第二设备接收所述链路探测消息的入端口信息; 确定所述第一 设备与所述第二设备之间存在跨 SDN域的链路, 具体包括: 确定所述第一设 备发送所述链路探测消息的出端口与所述入端口之间存在跨域链路。
结合第四方面的第一种可能的实现方式, 在第二种可能的实现方式中, 确定所述第一设备发送所述链路探测消息的出端口与所述入端口之间存在跨 域链路之后, 还包括: 向所述第二设备发送用于探测所述入端口对应链路的 链路属性的链路属性探测消息; 接收所述第二设备发送的链路属性探测回应 消息, 其中, 所述链路属性探测回应消息中携带有所述入端口对应链路的链 路属性。
结合第四方面、 结合第四方面的第一种可能的实现方式、 或者结合第四 方面的第二种可能的实现方式, 在第三种可能的实现方式中, 当确定所述第 一设备与所述第二设备之间存在跨 SDN域的链路之后, 还包括: 向管辖所述 第一设备的 SDN控制器上报所述跨 SDN域链路的信息。
第五方面, 提供一种 SDN控制器, 包括:
接收模块, 用于接收管辖的第一设备发送的询问消息, 其中, 所述询问 消息用于询问转发所述第一设备接收到的标识报文的端口的端口信息, 所述 询问消息中封装有携带了其他 SDN控制器标识的标识报文;
解析模块, 用于解析所述接收模块接收的询问消息中封装的所述标识报 文;
发送模块, 用于当根据所述解析模块的解析结果, 确定所述标识报文未 携带所述 SDN控制器的标识时, 向与所述 SDN控制器连通的链路, 发送根 据所述询问消息确定的、 封装有所述标识报文的封装消息; 其中, 所述封装 消息用于所述其他 SDN控制器接收到所述封装消息时, 根据所述封装消息中 封装的所述标识报文, 确定向所述第一设备发送所述标识报文的第二设备与 所述第一设备之间存在跨 SDN域链路。
结合第五方面, 在第一种可能的实现方式中, 在所述其他 SDN控制器为 所述 SDN控制器的父 SDN控制器时, 所述发送模块具体用于向所述 SDN控 制器的父 SDN控制器转发所述询问消息。 结合第五方面, 在第二种可能的实现方式中, 所述发送模块具体用于向 所述 SDN控制器的所有邻接 SDN控制器, 转发所述询问消息, 其中, 所述 SDN控制器的邻接 SDN控制器为与所述 SDN控制器存在连通的物理链路的 SDN控制器, 或者, 与所述 SDN控制器存在通信机制的 SDN控制器, 或者, 为所述 SDN控制器配置的 SDN控制器; 或者, 所述发送模块具体用于当所 述标识报文中携带有所述其他 SDN控制器所管辖的 SDN域的域标识, 根据 解析出的所述标识 · ^文中携带的所述其他 SDN控制器所管辖的 SDN域的域 标识, 向所述其他 SDN控制器转发所述询问消息。
结合第五方面, 在第三种可能的实现方式中, 所述发送模块具体用于向 所述第一设备发送封装有封装消息的指示消息, 其中, 所述指示消息用于指 示所述设备转发所述封装消息。
结合第五方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述接收模块接收的所述询问消息中封装的所述标识报文, 为所述第一设备 通过入端口接收到的, 且所述询问消息中还携带有所述入端口的端口信息; 所述发送模块发送的所述指示消息具体用于指示所述设备通过所述入端口转 发所述封装消息; 所述发送模块, 还用于在向所述第一设备发送封装有所述 封装消息的指示消息之前, 将所述标识报文和所述入端口的端口信息封装为 所述封装消息。
结合第五方面的第三种可能的实现方式, 在第五种可能的实现方式中, 所述接收模块接收的所述询问消息中封装的所述标识报文为所述第一设备通 过入端口接收到的、 携带有所述第二设备的出端口对应链路的链路信息的标 识报文; 所述第一设备向所述第一 SDN控制器发送的所述询问消息所封装的 标识报文中, 还携带有所述入端口对应链路的链路属性信息; 所述发送模块 发送的所述指示消息具体用于指示所述第一设备通过所述入端口转发所述封 装消息; 所述发送模块, 还用于在向所述第一设备发送封装有所述封装消息 的指示消息之前, 将携带有所述入端口对应链路的链路属性信息的标识报文 封装为封装消息, 或者, 将携带有所述入端口对应链路的链路属性信息的标 识报文作为封装消息。
第六方面, 提供一种父 SDN控制器, 包括:
发送模块, 用于向第一子软件定义网络 SDN控制器发送封装有携带了所 述父 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指示 所述第一子 SDN控制器通过管辖的指定设备转发所述标识报文;
接收模块, 用于接收第二子 SDN控制器转发的询问消息, 其中, 所述询 问消息为所述第二子 SDN控制器管辖的设备, 接收到所述指定设备发送所述 标识报文之后, 将所述标识报文封装为用于向所述第二子 SDN控制器询问转 发所述标识 ·^艮文的端口的端口信息的询问消息;
解析模块, 用于解析所述接收模块接收的所述询问消息中封装的标识报 文;
确定模块, 用于当根据所述解析模块的解析结果, 确定所述标识报文携 带有所述父 SDN控制器的标识时, 根据所述标识报文, 确定接收所述发送模 块发送的所述指示消息的所述指定设备与所述第二子 SDN控制器管辖的设备 之间存在跨 SDN域链路。
结合第六方面, 在第一种可能的实现方式中, 所述发送模块发送的所述 指示消息具体用于指示所述指定设备, 通过指定出端口发送所述标识报文, 且所述标识报文有与所述指示消息具有对应关系; 所述接收模块接收的所述 询问消息具体为所述第二子 SDN控制器管辖的设备通过入端口接收到所述指 定设备通过所述出端口发送的所述标识报文之后, 将所述标识报文封装为携 带有所述入端口的端口信息的、 用于向所述第二子 SDN控制器询问转发所述 标识报文的端口的端口信息的询问消息; 所述确定模块, 具体用于根据所述 标识报文, 确定与所述标识报文具有对应关系的指示消息; 确定所述指示消 息中指定的所述出端口与所述询问消息中携带的所述入端口之间存在跨 SDN 域链路。
结合第六方面, 在第二种可能的实现方式中, 所述发送模块发送的所述 指示消息具体用于指示所述指定设备通过指定出端口发送所述标识报文; 且 所述指定设备通过所述出端口发送的标识报文中, 携带有所述出端口对应链 路的链路属性信息; 所述第二子 SDN控制器管辖的设备向所述第二子 SDN 控制器发送的所述询问消息所封装的标识报文中, 还携带有所述入端口对应 链路的链路属性信息; 所述确定模块, 具体用于根据所述标识报文中携带的 所述出端口对应链路的链路属性信息, 以及所述入端口对应链路的链路属性 信息, 确定所述出端口与所述入端口之间存在跨 SDN域链路。
结合第六方面的第一种可能的实现方式、 或者结合第六方面的第二种可 能的实现方式,在第三种可能的实现方式中,所述接收模块,还用于在父 SDN 控制器向第一子 SDN控制器发送指示消息之前, 接收所述第一子 SDN控制 器上报的端口信息, 其中, 所述端口信息表征的端口为从所述第一子 SDN控 制器管辖的各设备的各端口中确定的、 未与所述各端口中的任一端口构成链 路的端口; 所述确定模块, 还用于将所述接收模块接收的上报端口确定为指 定出端口, 并将所述上报端口所属的设备确定为指定设备。
第七方面, 提供一种 SDN控制器, 包括:
发送模块, 用于向管辖的指定设备发送封装有携带了所述 SDN控制器标 识的标识报文的指示消息, 其中, 所述指示消息用于指示所述指定设备转发 所述标识 文;
接收模块, 用于接收封装有所述标识报文的封装消息, 其中, 所述封装 消息为根据其他 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报 文之后, 将所述标识 ·艮文封装为用于向所述其他 SDN控制器询问转发所述标 识^¾文的端口的端口信息的第一询问消息确定的;
解析模块, 用于解析所述接收模块接收的所述封装消息中封装的标识报 文;
确定模块, 用于当所述解析模块确定所述标识报文中携带有所述 SDN控 制器的标识时, 根据所述标识报文, 确定接收所述发送模块发送的所述指示 消息的所述指定设备与所述其他 SDN控制器管辖的设备之间存在跨 SDN域 链路。 结合第七方面, 在第一种可能的实现方式中, 所述其他 SDN控制器为所 述 SDN控制器的邻接 SDN控制器, 其中, 所述 SDN控制器的邻接 SDN控 制器为与所述 SDN控制器存在连通的物理链路的 SDN控制器, 或者, 与所 述 SDN控制器存在通信机制的 SDN控制器, 或者, 为所述 SDN控制器配置 的 SDN控制器; 所述接收模块, 具体用于接收所述其他 SDN控制器转发的 封装消息, 其中, 所述封装消息为所述其他 SDN控制器管辖的设备, 接收到 所述指定设备发送的标识报文之后, 将所述标识报文封装为用于向所述其他 SDN控制器询问转发所述标识 ^文的端口的端口信息的第一询问消息。
结合第七方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述发送模块发送的所述指示消息具体用于指示所述指定设备, 通过指定出 端口发送所述标识报文, 且所述标识报文与所述指示消息具有对应关系; 所 述接收模块接收的所述封装消息具体为所述其他 SDN控制器管辖的设备通过 入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后, 将所 述标识报文封装为携带有所述入端口信息的、 用于向所述其他 SDN控制器询 问转发所述标识报文的端口的端口信息的第一询问消息; 所述确定模块, 具 体用于根据所述标识报文, 确定与所述标识报文具有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述封装消息中携带的所述入端口 之间存在跨 SDN域链路。
结合第七方面, 在第三种可能的实现方式中, 所述接收模块, 具体用于 接收所述指定设备发送的封装有所述封装消息的第二询问消息, 其中, 所述 第二询问消息用于询问转发所述封装消息的端口的端口信息, 所述封装消息 为所述其他 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报文之 后, 再将所述标识报文封装为用于向所述其他 SDN控制器询问转发所述标识 报文的端口的端口信息的第一询问消息之后, 所述其他 SDN控制器根据所述 第一询问消息, 封装的携带有所述标识报文的封装消息。
结合第七方面的第三种可能的实现方式, 在第四种可能的实现方式中, 所述发送模块发送的所述指示消息具体用于指示所述指定设备, 通过指定出 端口发送所述标识报文, 且所述标识报文有与所述指示消息具有对应关系; 所述接收模块接收的所述封装消息具体为所述其他 SDN控制器管辖的设备通 过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之后, 再 将所述标识报文封装为携带有所述入端口信息的、 用于向所述其他 SDN控制 器询问转发所述标识报文的端口的端口信息的第一询问消息之后, 所述其他 SDN控制器根据所述第一询问消息, 封装的携带有所述标识报文和所述入端 口的端口信息的封装消息; 所述确定模块, 具体用于根据所述标识报文, 确 定与所述标识报文具有对应关系的指示消息; 确定所述指示消息中指定的所 述出端口与所述第二询问消息中封装的所述封装消息中携带的所述入端口之 间存在跨 SDN域链路。
结合第七方面的第一种可能的实现方式、 或者结合第七方面的第三种可 能的实现方式, 在第五种可能的实现方式中, 所述发送模块发送的所述指示 消息具体用于指示所述指定设备, 通过指定出端口发送所述标识报文; 且所 述指定设备通过所述出端口发送的标识 4艮文中, 携带有所述出端口对应链路 的链路属性信息; 所述其他 SDN控制器管辖的设备向所述其他 SDN控制器 发送的所述第一询问消息所封装的标识 ·^艮文中, 还携带有所述入端口对应链 路的链路属性信息; 所述确定模块, 具体用于根据所述标识报文中携带的所 述出端口对应链路的链路属性信息, 以及所述入端口对应链路的链路属性信 息, 确定所述出端口与所述入端口之间存在跨 SDN域链路。
第八方面, 提供一种设备, 包括:
发送模块, 用于向其他设备发送用于探测所述设备和所述其他设备之间 是否存在链路的链路探测消息;
接收模块, 用于接收所述其他设备在接收到所述发送模块发送的所述链 路探测消息之后, 发送的链路探测回应消息, 其中, 所述链路探测回应消息 中携带有所述其他设备所属 SDN域的域标识信息;
确定模块, 用于当所述设备所属 SDN域的域标识, 与所述其他设备所属 SDN域的域标识不同时,确定所述设备与所述其他设备之间存在跨 SDN域的 链路。
结合第八方面, 在第一种可能的实现方式中, 所述接收模块接收的所述链 路探测回应消息中还携带有所述其他设备接收所述链路探测消息的入端口信 息; 所述确定模块, 具体用于确定所述设备发送所述链路探测消息的出端口 与所述入端口之间存在跨域链路。
结合第八方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述发送模块, 还用于在所述确定模块确定所述设备发送所述链路探测消息 的出端口与所述入端口之间存在跨域链路之后, 向所述其他设备发送用于探 测所述入端口对应链路的链路属性的链路属性探测消息; 所述接收模块, 还 用于在所述发送模块发送所述链路属性探测消息之后, 接收所述其他设备发 送的链路属性探测回应消息, 其中, 所述链路属性探测回应消息中携带有所 述入端口对应链路的链路属性。
结合第八方面、 结合第八方面的第一种可能的实现方式、 或者结合第八 方面的第二种可能的实现方式, 在笫三种可能的实现方式中, 所述发送模块, 还用于当所述确定模块确定所述设备与所述其他设备之间存在跨 SDN域的链 路之后, 向管辖所述设备的 SDN控制器上报所述跨 SD 域链路的信息。
第九方面, 提供一种 SDN控制器, 包括:
接收器, 用于接收管辖的第一设备发送的询问消息, 其中, 所述询问消 息用于询问转发所述第一设备接收到的标识报文的端口的端口信息, 所述询 问消息中封装有携带了其他 SDN控制器标识的标识报文;
处理器, 用于解析所述接收器接收的询问消息中封装的所述标识报文; 发送器, 用于当根据所述处理器的解析结果, 确定所述标识报文未携带 所述 SDN控制器的标识时, 向与所述 SDN控制器连通的链路, 发送根据所 述询问消息确定的、 封装有所述标识报文的封装消息; 其中, 所述封装消息 用于所述其他 SDN控制器接收到所述封装消息时, 根据所述封装消息中封装 的所述标识报文, 确定向所述第一设备发送所述标识报文的第二设备与所述 第一设备之间存在跨 SDN域链路。 第十方面, 提供一种父 SDN控制器, 包括:
发送器, 用于向第一子软件定义网絡 SDN控制器发送封装有携带了所述 父 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指示所 述第一子 SDN控制器通过管辖的指定设备转发所述标识报文;
接收器, 用于接收第二子 SDN控制器转发的询问消息, 其中, 所述询问 消息为所述第二子 SDN控制器管辖的设备, 接收到所述指定设备发送所述标 识报文之后, 将所述标识报文封装为用于向所述第二子 SDN控制器询问转发 所述标识艮文的端口的端口信息的询问消息;
解析器, 用于解析所述接收器接收的所述询问消息中封装的标识报文; 处理器, 用于当根据所述解析器的解析结果, 确定所述标识报文携带有 所述父 SDN控制器的标识时, 根据所述标识报文, 确定接收所述发送器发送 的所述指示消息的所述指定设备与所述第二子 SDN控制器管辖的设备之间存 在跨 SDN域链路。
第十一方面, 提供一种 SDN控制器, 包括:
发送器, 用于向管辖的指定设备发送封装有携带了所述 SDN控制器标识 的标识报文的指示消息, 其中, 所述指示消息用于指示所述指定设备转发所 述标识报文;
接收器, 用于接收封装有所述标识报文的封装消息, 其中, 所述封装消 息为根据其他 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报文 之后, 将所述标识报文封装为用于向所述其他 SDN控制器询问转发所述标识 报文的端口的端口信息的第一询问消息确定的;
解析器, 用于解析所述接收器接收的所述封装消息中封装的标识报文; 处理器, 用于当所述解析器确定所述标识报文中携带有所述 SDN控制器 的标识时, 根据所述标识报文, 确定接收所述发送器发送的所述指示消息的 所述指定设备与所述其他 SDN控制器管辖的设备之间存在跨 SDN域链路。
第十二方面, 提供一种设备, 包括:
发送器, 用于向其他设备发送用于探测所述设备和所述其他设备之间是 否存在链路的链路探测消息;
接收器, 用于接收所述其他设备在接收到所述发送器发送的所述链路探 测消息之后, 发送的链路探测回应消息, 其中, 所述链路探测回应消息中携 带有所述其他设备所属 SDN域的域标识信息;
处理器,用于当所述设备所属 SDN域的域标识,与所述其他设备所属 SDN 域的域标识不同时,确定所述设备与所述其他设备之间存在跨 SDN域的链路。
本发明实施例的有益效果包括:
本发明实施例提供的一种链路发现方法、 SDN控制器及设备, 父 SDN控 制器向第一子 SDN控制器发送封装有携带了父 SDN控制器标识的标识报文 的指示消息, 其中, 指示消息用于指示第一子 SDN控制器通过管辖的指定设 备转发标识报文; 第二子 SDN控制器管辖的设备, 接收到指定设备发送标识 报文之后, 将标识报文封装为用于向第二子 SDN控制器询问转发标识报文的 端口的端口信息的询问消息, 并发送给第二子 SDN控制器, 第二子 SDN控 制器解析出标识报文未携带第二子 SDN控制器的标识时, 将询问消息转发给 父 SDN控制器; 父 SDN控制器解析询问消息中封装的标识报文; 当确定标 识报文携带有父 SDN控制器的标识时, 根据标识报文, 确定指定设备与第二 子 SDN控制器管辖的设备之间存在跨 SDN域链路。 通过父 SDN控制器对自 身管辖的子 SDN控制器之间的链路进行探测, 来发现父 SDN控制器管辖的 多个子 SDN控制器所在的 SDN域之间的跨 SDN域链路, 解决了现有技术中 无法发现跨 SD 域链路的问题。
本发明实施例提供的一种链路发现方法、 SDN控制器及设备, 第一 SDN 控制器向管辖的指定设备发送封装有携带了第一 SDN控制器标识的标识报文 的指示消息, 其中, 指示消息用于指示指定设备转发标识报文; 第二 SDN控 制器接收管辖的设备发送的、 用于询问转发该设备接收到的标识报文的端口 的端口信息的第一询问消息,解析标识报文,当确定标识报文未携带第二 SDN 控制器的标识时, 向与第二 SDN控制器连通的链路, 发送根据第一询问消息 确定的、 封装有标识报文的封装消息; 第一 SDN控制器接收到该封装消息之 后, 解析该封装消息中封装的标识报文, 当确定标识报文中携带有第一 SDN 控制器的标识时, 根据标识报文, 确定指定设备与第二 SDN控制器管辖的设 备之间存在跨 SDN域链路。通过 SDN控制器发起对其他 SDN控制器的探测, 从而发现 SDN控制器之间的跨 SDN域链路, 解决了现有技术中无法发现跨 SDN域链路的问题。
本发明实施例提供的一种链路发现方法、 SDN控制器及设备, 第一设备 向第二设备发送用于探测第一设备和所述第二设备之间是否存在链路的链路 探测消息; 接收第二设备发送的链路探测回应消息, 其中, 链路探测回应消 息中携带有第二设备所属 SDN域的域标识信息; 当第一设备所属 SDN域的 域标识, 与第二设备所属 SDN域的域标识不同时, 确定第一设备所属 SDN 域与第二设备所属 SDN域之间存在跨 SDN域的链路。 通过 SDN控制器管辖 的设备, 发起对归属于其他 SDN域的设备进行探测, 从而确定存在链路的设 备分别归属的 SDN域之间存在链路, 解决了现有技术中无法发现跨 SDN域 链路的问题。 附图说明
图 1为本发明背景技术提供的 SDN控制器及其管辖的各设备连接关系示 意图;
图 2为本发明实施例提供的一种链路发现方法应用于 SDN控制器侧的流 程图;
图 3为本发明实施例提供一种链路发现方法应用于父 SDN控制器侧的流 程图;
图 4为本发明实施例提供的一种链路发现方法应用于第一 SDN控制器侧 的流程图;
图 5为本发明实施例提供的一种链路发现方法应用于设备侧的流程图; 图 6为本发明实施例提供的一种链路发现方法应用于父 SDN控制器侧的 流程图;
图 7为本发明实施例提供的一种链路发现方法应用于第二子 SDN控制器 侧的流程图;
图 8为本发明实施例提供的一种链路发现方法应用于父 SDN控制器侧的 流程图;
图 9为本发明实施例提供的一种链路发现方法应用于第二子 SDN控制器 侧的流程图;
图 10为本发明实施例提供的一种链路发现方法应用于父 SDN控制器、 第 一子 SDN控制器、 以及第二子 SDN控制器侧的流程图;
图 11为本发明实施例提供的父 SDN控制器与其管辖的各设备连接关系示 意图;
图 12为本发明实施例提供的本发明实施例提供的一种链路发现方法的例 一的流程图;
图 13为本发明实施例提供的父 SDN控制器与其管辖的各设备连接关系示 意图;
图 14为本发明实施例提供的本发明实施例提供的一种链路发现方法的例 二的流程图;
图 15为本发明实施例提供的一种链路发现方法应用于第一 SDN控制器侧 的流程图;
图 16为本发明实施例提供的一种链路发现方法应用于第二 SDN控制器侧 的流程图;
图 17为本发明实施例提供的一种链路发现方法应用于第二 SDN控制器侧 的流程图;
图 18为本发明实施例提供的一种链路发现方法应用于第一 SDN控制器侧 的流程图;
图 19为本发明实施例提供的一种链路发现方法应用于第二 SDN控制器侧 的流程图; 图 20为本发明实施例提供的一种链路发现方法应用于第一 SDN控制器侧 的流程图;
图 21为本发明实施例提供的一种链路发现方法应用于第二 SDN控制器侧 的流程图;
图 22为本发明实施例提供的 SDN控制器与其管辖的各设备连接关系示意 图;
图 23为本发明实施例提供的一种链路发现方法的例三流程图;
图 24为本发明实施例提供的一种链路发现方法的例四流程图;
图 25为本发明实施例提供的一种链路发现方法应用于第一 SDN控制器侧 的流程图;
图 26为本发明实施例提供的一种链路发现方法应用于第二 SDN控制器侧 的流程图;
图 27为本发明实施例提供的一种链路发现方法应用于第一 SDN控制器侧 的流程图;
图 28为本发明实施例提供的一种链路发现方法应用于第二 SDN控制器侧 的流程图;
图 29为本发明实施例提供的一种链路发现方法应用于第一 SDN控制器侧 的流程图;
图 30为本发明实施例提供的一种链路发现方法应用于第二 SDN控制器侧 的流程图;
图 31为本发明实施例提供的 SDN控制器与其管辖的各设备连接关系示意 图;
图 32为本发明实施例提供的一种链路发现方法的例五流程图;
图 33为本发明实施例提供的一种链路发现方法的例六流程图;
图 34为本发明实施例提供的一种链路发现方法应用于设备侧的流程图; 图 35为本发明实施例提供的一种 SDN控制器的结构示意图;
图 36为本发明实施例提供的一种父 SDN控制器的结构示意图; 图 37为本发明实施例提供的一种 SDN控制器的结构示意图; 图 38为本发明实施例提供的一种设备的结构示意图;
图 39为本发明实施例提供的一种 SDN控制器的结构示意图;
图 40为本发明实施例提供的一种父 SDN控制器的结构示意图;
图 41为本发明实施例提供的一种 SDN控制器的结构示意图;
图 42为本发明实施例提供的一种设备的结构示意图。 具体实施方式
本发明实施例提供了一种链路发现方法、 SDN控制器及设备, 以下结合 说明书附图对本发明的优选实施例进行说明, 应当理解, 此处所描述的优选 实施例仅用于说明和解释本发明, 并不用于限定本发明。 并且在不冲突的情 况下, 本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域链路发现 的非发起方的 SDN控制器侧, 如图 2所示, 具体包括以下步骤:
5201、 第一 SDN控制器接收管辖的第一设备发送的询问消息, 其中, 询 问消息用于询问转发第一设备接收到的标识报文的端口的端口信息, 询问消 息中封装有携带了第二 SDN控制器标识的标识报文。
5202、 解析 S201中的标识报文。
5203、 当确定标识 文未携带第一 SDN控制器的标识时, 向与第一 SDN 控制器连通的链路, 发送根据询问消息确定的、 封装有标识报文的封装消息; 其中, 封装消息用于第二 SDN控制器接收到封装消息时, 根据封装消息 中封装的所述标识报文, 确定向第一设备发送标识报文的第二设备与第一设 备之间存在跨 SDN域链路。
进一步地, 本实施例可以应用于作为跨 SDN 域链路发现的非发起方的 SDN控制器。 SDN控制器可以发起跨 SDN域链路发现, 也可以在其他 SDN 控制器发起跨 SDN域链路发现时,作为非发起方对接收到的数据包进行处理, 同一个 SDN控制器既可以发起跨 SDN域链路发现, 又可以作为非发起方对 作为发起方的 SDN控制器发送的数据包进行处理, 本实施例为 SDN控制器 作为非发起方时, 对接收到的数据包进行处理的流程。
本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域链路发现 的发起方的父 SDN控制器侧, 如图 3所示, 具体包括以下步骤:
S301、 父 SDN控制器向第一子 SDN控制器发送封装有携带了父 SDN控 制器标识的标识报文的指示消息, 其中, 该指示消息用于指示第一子 SDN控 制器通过管辖的指定设备转发该标识报文。
S302、 接收第二子 SDN控制器转发的询问消息, 其中, 该询问消息为第 二子 SDN控制器管辖的设备, 接收到指定设备发送标识报文之后, 将标识报 文封装为用于向第二子 SDN控制器询问转发标识报文的端口的端口信息的询 问消息。
S303、 解析该询问消息中封装的标识报文。
S304、 当确定所述标识 文携带有父 SDN控制器的标识时, 根据标识才艮 文, 确定指定设备与第二子 SDN控制器管辖的设备之间存在跨 SDN域链路。
进一步地, 作为第一子 SDN控制器, 当父 SDN控制器发起跨 SDN域链 路发现时, 具体包括以下步骤:
步骤 1、第一子 SDN控制器接收父 SDN控制器发送的封装有标识报文的 指示消息, 该指示消息用于指示第一子 SDN控制器通过管辖的指定设备转发 所述标识 ^文。
步骤 2、将指示消息转发给用于根据该指示消息, 将标识报文转发的指定 设备。
进一步地, 本发明实施例提供的一种链路发现方法, 可以通过父 SDN控 制器对该父 SND控制器管辖的多个子 SDN控制器分别对应的 SDN域之间的 跨 SDN域链路进行自动发现。
进一步地, 当父 SDN控制器向第一子 SDN控制器发送了指示消息, 而 从第二子 SDN控制器接收到询问消息, 并且该指示消息和询问消息中携带的 标识报文中携带有父 SDN控制器的标识, 那么可以确定第一子 SDN控制器 管辖的 SDN域和第二子 SDN控制器管辖的 SDN域之间存在链路。
本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域链路发现 的发起方的第一 SDN控制器侧, 如图 4所示, 具体包括以下步骤:
5401、 第一 SDN控制器向管辖的指定设备发送封装有携带了第一 SDN 控制器标识的标识报文的指示消息, 其中, 该指示消息用于指示指定设备转 发该标识艮文。
5402、 接收封装有标识报文的封装消息, 其中, 该封装消息为根据第二 SDN控制器管辖的设备, 接收到指定设备发送的标识报文之后, 将标识报文 封装为用于向第二 SDN控制器询问转发标识报文的端口的端口信息的第一询 问消息确定的。
S403、 解析封装消息中封装的标识报文;
S404、 当确定标识报文中携带有第一 SDN控制器的标识时, 根据标识报 文, 确定指定设备与第二 SDN控制器管辖的设备之间存在跨 SDN域链路。
进一步地, 本发明实施例提供的一种链路发现方法, 可以通过 SDN控制 器对自身管辖的 SDN域,与其他 SDN域之间的跨 SDN域链路进行自动发现。
本发明实施例提供的一种链路发现方法 , 应用于作为跨 SDN域链路发现 的发起方的设备侧, 如图 5所示, 具体包括以下步骤:
S501、 第一设备向第二设备发送用于探测第一设备和第二设备之间是否 存在链路的链路探测消息。
5502、 接收第二设备发送的链路探测回应消息, 其中, 链路探测回应消 息中携带有笫二设备所属 SDN域的域标识信息。
5503、 当第一设备所属 SDN域的域标识, 与第二设备所属 SDN域的域 标识不同时, 确定所述第一设备与所述第二设备之间存在跨 SDN域的链路。
进一步地, 本发明实施例提供的一种链路发现方法, 由 SDN控制器管辖 的设备发起跨 SDN域链路的发现。
进一步地, 上述步骤 S502 中, SDN 域的域标识可以为 (OSPF, Open Shortest Path First )的 i或标识信息, 或者可以为 ISIS ( ISIS, Intermediate System to Intermediate System ) 的域标识信息, 也可以为 (BGP, Border Gateway Protocol ) 的域标识信息。
进一步地, 本发明上述实施例中询问消息可以为 Openflow 协议中的 Packet-in消息, 指示消息可以为 Openflow协议中的 Packet-out消息。
图 6为本发明实施例提供的一种链路发现方法, 应用于跨 SDN域链路发 现的的发起方的父 SDN控制器侧, 具体包括如下步骤:
S601、 父 SDN控制器向第一子 SDN控制器发送封装有携带了父 SDN控 制器标识的标识报文的指示消息, 其中, 该指示消息具体用于指示指定设备, 通过指定出端口发送标识报文, 且标识报文有与该指示消息具有对应关系。
本步骤中, 指定设备可以为第一子 SDN控制器直接管辖的设备, 也可以 为第一子 SDN控制器间接管辖的设备, 也就是说, 第一子 SDN控制器和指 定设备之间可能不存在其他 SDN控制器, 也可能存在多层 SDN控制器。
进一步地, 标识报文用于标识该标识报文的构建者为父 SDN控制器, 具 体实施时, 可以使标识报文携带父 SDN控制器的标识, 使得其他 SDN控制 器解析该标识报文时, 能够确定该标识报文的构建者不是自己, 从而将该标 识报文进行转发。 并且, 指示消息封装的标识报文与该指示消息具有对应关 系, 也就是说, 标识报文的构建者在识别出该标识报文为自己构建的同时, 也要能够确定自身发送的封装该标识报文的指示消息是哪个, 以便 SDN控制 器在接收到封装了该标识报文的询问消息时, 能够根据标识报文确定出于该 询问消息匹配的指示消息, 从而确定出出端口与入端口之间存在链路。 具体 实施时, 可以使标识报文中携带指示消息的包序列号, 或者使标识报文携带 其他标识指示消息的标识, 使得标识报文与指示消息对应。
进一步地, 每个子 SDN控制器管辖的设备中, 可以包括多个端口, 父控 制器可以向多个子 SDN控制器分别发送指示消息, 指示多个子 SDN控制器 中每个子 SDN控制器管辖的多个设备的多个端口作为指定出端口, 通过每个 出端口对指示消息中封装的标识 ·^艮文进行转发, 并且接收针对该转发的标识 报文的询问消息, 由于指示消息中封装的标识报文与该指示消息具有对应关 系, 因此, 当父 SDN控制器接收到多个询问消息时, 可以根据每个询问消息 中封装的标识 文, 确定与该标识 4艮文对应的指示消息, 也就能够确定该询 问消息对应的指示消息, 从而确定存在链路的出端口和入端口。
5602、 接收第二子 SDN控制器转发的询问消息, 其中, 该询问消息具体 为第二子 SDN控制器管辖的设备通过入端口接收到指定设备通过出端口发送 的标识报文之后, 将标识报文封装为携带有入端口的端口信息的、 用于向第 二子 SDN控制器询问转发标识报文的端口的端口信息的询问消息。
本步骤中, 第二子 SDN控制器管辖的设备可以为第二子 SDN控制器直 接管辖的设备, 也可以为第二子 SDN控制器间接管辖的设备, 也就是说, 第 二子 SDN控制器和该设备之间可能不存在其他 SDN控制器, 也可能存在多 层 SDN控制器。
5603、 解析该询问消息中封装的标识报文。
5604、 当确定所述标识报文携带有父 SDN控制器的标识时, 根据标识报 文, 确定与标识报文具有对应关系的指示消息。
S605、 确定指示消息中指定的出端口与询问消息中携带的入端口之间存 在跨 SDN域链路。
进一步地, 当父 SDN控制器确定的存在链路的出端口与入端口分别归属 的子 SDN控制器为同一个子 SDN控制器, 那么, 该确定出端口与入端口之 间存在的链路为该子 SDN控制器域内的链路; 当父 SDN控制器确定的存在 链路的出端口与入端口分别归属的子 SDN控制器为不同的子 SDN控制器, 那么, 该确定出端口与入端口之间存在的跨 SDN域链路为上述两个子 SDN 控制器域之间的跨 SDN域链路。
进一步地, 父 SDN控制器预先统计有自身管辖的 SDN域中, 各设备的 端口对应链路的链路属性信息, 端口对应链路的链路属性信息可以包括链路 类型、 链路带宽、 链路传输的信号类型以及信号波长、 链路通道数量等。 父 SDN控制器可以根据形成跨 SDN域链路的出端口和入端口的信息,从上述各 设备的端口对应链路的链路属性信息中, 查找到该出端口和入端口分别对应 的链路的链路属性信息, 从而确定该出端口和入端口构成的链路是否具有一 致性。 当出端口对应链路的链路属性信息和入端口对应链路的链路属性信息 中, 存在某些链路属性不一致时, 出端口和入端口无法进行通信, 父 SDN控 制器也就无法得到确定的该出端口和入端口之间的链路, 例如, 链路传输的 信号类型、 信号波长等, 而针对有些链路属性, 即使出端口和入端口的该属 性即使不一致, 该出端口和入端口依然可以通信, 只是效率较低, 例如: 带 宽属性, 出端口的链路带宽为 10G, 而入端口的链路带宽为 10M, 那么出端 口和入端口能够通信, 但如果在出端口和入端口之间建立链路, 将造成出端 口带宽的浪费, 这种情况下, 父 SDN控制器可以发出警告信息, 告知通信双 方如果进行通信存在的坏处。 进一步地, 父 SDN控制器确定构成链路的出端 口对应链路的链路属性信息和入端口对应链路的链路属性信息, 便于父 SDN 控制器对自身管辖的跨 SDN域链路进行管理, 例如, 后续可以根据各链路的 出端口和入端口的信息进行虚拟网络分配等。
与图 6相应的, 图 7为本发明实施例提供的一种链路发现方法, 应用于 作为跨 SDN域链路发现的非发起方的第二子 SDN控制器侧, 具体包括如下 步骤:
S701、 第二子 SDN控制器接收管辖的设备发送的询问消息, 其中, 询问 消息用于询问转发设备接收到的标识 4艮文的端口的端口信息, 该询问消息中 封装有携带了父 SDN控制器标识的标识报文, 询问消息中封装的标识报文为 设备通过入端口接收到的, 且询问消息中还携带有入端口的端口信息。
S702、 解析 S701中的标识 ·艮文;
S703、 当确定标识报文未携带第二子 SDN 控制器的标识时, 向第二子 SDN控制器的父 SDN控制器转发该询问消息。
图 8为本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域链 路发现的发起方父 SDN控制器侧, 具体包括如下步骤:
S801、 父 SDN控制器向第一子 SDN控制器发送封装有携带了父 SDN控 制器标识的标识报文的指示消息, 其中, 该指示消息具体用于指示指定设备 通过指定出端口发送标识报文; 且指定设备通过出端口发送的标识报文中, 携带有出端口对应链路的链路属性信息。
进一步地, 本步骤中, 出端口对应链路的链路属性信息可以由父 SDN控 制器、 第一子 SDN控制器、 或者第一子 SDN关系的指定设备在标识报文中 添力口。
5802、 接收第二子 SDN控制器转发的询问消息, 其中, 该询问消息为第 二子 SDN控制器管辖的设备, 接收到指定设备发送标识报文之后, 将标识报 文封装为用于向第二子 SDN控制器询问转发标识报文的端口的端口信息的询 问消息, 且询问消息所封装的标识 ·^艮文中, 还携带有入端口对应链路的链路 属性信息。
5803、 解析该询问消息中封装的标识报文。
5804、 当确定所述标识报文携带有父 SDN控制器的标识时, 根据标识报 文中携带的出端口对应链路的链路属性信息, 以及入端口对应链路的链路属 性信息, 确定出端口与入端口之间存在跨 SDN域链路。
进一步地, 本步骤中, 父 SDN控制器除了确定出端口与入端口之间存在 跨 SDN域链路之外, 还获得了出端口对应链路的链路属性信息和入端口对应 链路的链路属性信息, 从而在确定了该出端口和入端口之间存在链路的基础 上, 进一步确定该出端口和入端口构成的链路是否具有一致性。
与图 8相应的, 图 9为本发明实施例提供的一种链路发现方法, 应用于 作为跨 SDN域链路发现的非发起方的第二子 SDN控制器侧, 如图 9所示, 具体包括以下步驟:
S901、 第二子 SDN控制器接收管辖的设备发送的询问消息, 其中, 该询 问消息用于询问转发设备接收到的标识 4艮文的端口的端口信息, 该询问消息 中封装有携带了父 SDN控制器标识的标识报文, 其中, 该标识报文为设备通 过入端口接收到的、 携带有父 SDN控制器的出端口对应链路的链路信息的标 识报文, 设备向第二子 SDN控制器发送的询问消息所封装的标识报文中, 还 携带有入端口对应链路的链路属性信息。 进一步地, 本步骤中, 第二子 SDN控制器接收管辖的设备通过入端口接 收到的标识报文, 携带有向入端口发送标识报文的设备的出端口对应链路的 链路信息, 在向第二子 SDN控制器发送询问消息之前, 可以将入端口对应链 路的链路属性信息添加到标识报文中。
S902、 解析 S901中的标识艮文;
S903、 当确定标识 4艮文未携带第二子 SDN控制器的标识时, 向父 SDN 控制器转发询问消息。
进一步地, 本实施例中, 与图 6和图 7相应的, 或者与图 8和图 9相应 的, 本实施例应用于第一子 SDN控制器侧, 具体包括如下步骤:
步骤 1、第一子 SDN控制器接收父 SDN控制器发送的封装有标识报文的 指示消息, 该指示消息用于指示第一子 SDN控制器通过管辖的指定设备通过 指定出端口发送该标识报文, 且该标识报文有与指示消息具有对应关系。
步骤 2、将指示消息转发给用于根据该指示消息, 通过出端口将标识报文 转发的指定设备。
图 10为本发明实施例提供的一种链路发现方法, 应用于父 SDN控制器、 第一子 SDN控制器、 第二子 SDN控制器侧, 本实施例中, 由第一子 SDN控 制器发起, 并父 SDN控制器执行对跨 SDN域链路发现, 父 SDN控制器可以 不需要通过判断确定的存在链路的出端口与入端口是否归属同一子 SDN控制 器, 来确定该入端口与该出端口之间的链路是否为跨域链路, 而是通过各子 SDN控制器自动发现与自身管辖的 SDN域内的各端口均未构成链路的端口, 并上报父 SDN控制器, 由父 SDN控制器根据上报的端口, 确定上报的端口 是否能够构成跨 SDN域的链路, 如图 10所示, 具体包括如下步骤:
S1001、 第一子 SDN控制器从管辖的各设备的各端口中, 确定未与各端 口中的任一端口构成链路的端口。
本步骤中, 第一子 SDN控制器管辖的各设备的各端口中未与该各端口中 的任一端口构成链路的端口的确定方法可以为: 第一子 SDN控制器向自身管 辖的各设备分别发送指示消息, 针对每个设备, 该设备接收到的指示消息中 封装有第一子 SDN控制器构建的、 与该指示消息具有对应关系的标识报文, 且该指示消息用于指示该设备通过该指示消息中指定的出端口发送该标识报 文, 该设备通过该指定的出端口, 将该标识报文发送给与该指定的出端口具 有连通的链路的另一个设备的入端口, 该另一个设备接收到该标识报文之后, 由于在链路发现阶段, 设备中不存在用于指示转发接收到的报文的路径, 因 此, 该另一个设备将该标识报文封装成询问消息, 向该另一个设备所归属的 SDN控制器询问转发该标识报文的端口的端口信息, 并且将接收到该标识报 文的入端口信息携带于该询问消息中, 当该设备和该另一个设备归属于同一 个 SDN控制器即上述第一子 SDN控制器时, 该第一子 SDN控制器根据询问 消息中封装的标识报文与自身发送的指示报文的对应关系, 确定该询问消息 中携带的入端口与该指示消息中指定的出端口之间具有连通的链路, 但是当 该设备和该另一个设备归属于不同的 SDN控制器时, 即该另一个设备不归属 于第一子 SDN控制器时, 该第一子 SDN控制器不会接收到询问消息, 也就 是说当第一子 SDN控制器发送的指示消息没有接收到封装有与该指示消息对 应的标识 ^文的询问消息时, 则该第一子 SDN控制器可以确定该指示消息中 指定的出端口为空端口, 或者为与该第一子 SDN控制器管辖的 SDN域之外 的 SDN域具有链路的端口, 可以将该出端口上报给该第一子 SDN控制器的 父 SDN控制器。
51002、第一子 SDN控制器向父 SDN控制器上报确定的端口的端口信息。
51003、 父 SDN控制器将上^ ^端口确定为指定出端口, 并将上 ^端口所 属的设备确定为指定设备, 向第一子 SDN控制器发送封装有携带了父 SDN 控制器标识的标识 4艮文的指示消息, 其中, 指示消息用于指示第一子 SDN控 制器通过管辖的指定设备转发标识报文。
51004、 第一子 SDN控制器接收到父 SDN控制器发送的封装有标识报文 的指示消息, 将指示消息转发给用于根据指示消息, 将标识报文转发的指定 设备。
51005、 第二子 SDN控制器接收管辖的设备发送的、 用于询问转发设备 接收到的标识报文的端口的端口信息的询问消息, 其中, 询问消息中封装有 携带了父 SDN控制器标识的标识 4艮文。
本步骤中 , 第二子 SDN控制器接收管辖的设备接收到上述指定设备发送 的标识报文之后, 将标识报文封装为询问消息发送给第二子 SDN控制器。
51006、 第二子 SDN控制器解析上述标识报文。
51007、 当确定标识 文未携带第二子 SDN控制器的标识时, 将询问消 息转发给父 SDN控制器。
51008、 父 SDN控制器接收到第二子 SDN控制器转发的询问消息, 解析 询问消息中封装的标识报文。
S 1009、 当确定标识艮文携带有父 SDN控制器的标识时, 根据标识" ^文, 确定第一子 SDN控制器管辖的指定设备与第二子 SDN控制器管辖的设备之 间存在跨 SDN域链路。
本实施例应用于第一子 SDN控制器侧, 可以具体包括如下步骤: 步骤 1、从管辖的各设备的各端口中, 确定未与各端口中的任一端口构成 链路的端口。
步骤 2、 向父 SDN控制器上艮确定的端口的端口信息, 其中, 上 的端 口信息用于父 SDN控制器将上报端口确定为指定出端口, 并将上报端口所属 的设备确定为指定设备。
步骤 3、 接收父 SDN控制器发送的封装有标识报文的指示消息, 该指示 消息用于指示第一子 SDN控制器通过管辖的指定设备通过指定出端口发送该 标识报文, 且该标识4艮文有与指示消息具有对应关系。
步骤 4、将指示消息转发给用于根据该指示消息, 通过出端口将标识报文 转发的指定设备。
下面举例说明:
例 1: 如图 11所示, 父 SDN控制器 1101管辖第一子 SDN控制器 1102 和第二子 SDN控制器 1103 , 第一子 SDN控制器 1102管辖 SW1和 SW2, 第 二子 SDN控制器 1103管辖 SW3 , SW1和 SW2之间存在链路, SW2和 SW3 之间存在链路。 各个子 SDN控制器负责发现自身所管辖的 SDN域中的链路, 父 SDN控制器负责发现自身管辖的子 SDN域之间的链路。 本例为父 SDN控 制器 1101发现第一子 SDN控制器 1102和第二子 SDN控制器 1103之间的跨 域链路的方法, 如图 12所示, 具体步骤包括:
51201、 第一子 SDN控制器 1102确定自身管辖的 SDN域中的各端口中, 与各端口的任一端口均未构成链路的端口 P1 , 并将 P1的信息上报父 SDN控 制器 1101。
51202、 父 SDN控制器 1101接收到第一子 SDN控制器 1102上报的端口 P1的信息, 向第一子 SDN控制器 1102发送指示消息, 该指示消息中封装有 与该指示消息具有对应关系的、 且携带了父 SDN控制器 1101标识的标识报 文, 且该指示消息用于指示第一子 SDN控制器 1102所管辖的 SW2通过出端 口 P1转发标识报文。
进一步地, 本步骤中, 指示消息可以为 Openflow协议中的 Packet-out消 息, 标识报文可以为 LLDP报文, 该 LLDP报文中携带有父 SDN控制器 1101 的配置信息, 例如: 父 SDN控制器 1101的主要能力、 管理地址、 设备标识、 接口标识等信息。
进一步地, 当只存在一个指定出端口时, 标识报文与指示消息可以不具 有对应关系, 因为父 SDN控制器 1101 只发送了一个指示消息, 当接收到封 装有指示消息中的标识报文的询问消息时, 该询问消息可以与该指示消息匹 配。
51203、 第一子 SDN控制器 1102接收到指示消息, 将该指示消息转发给 SW20
51204、 SW2接收到指示消息, 将指示消息中封装的标识报文通过出端口 P1发送给与出端口 P1具有连通的链路的 SW3的入端口 P2。
51205、 SW3通过入端口 P2接收到标识 4艮文, 将标识 4艮文封装成询问消 息, 该询问消息用于向管辖 SW3的第二子 SDN控制器 1103询问转发该标识 ^^文的端口的端口信息, 且该询问消息中携带有入端口 P2的信息。 本步骤中, 询问消息可以为 Openflow协议中的 Packet-in消息。
51206、 第二子 SDN控制器 1103接收到 SW3发送的询问消息, 解析该 询问消息, 确定询问消息中封装的标识报文中未携带自身的标识, 将该询问 消息转发给父 SDN控制器 1101。
51207、父 SDN控制器 1101接收到该询问消息,并解析其中的标识报文, 确定该标识报文中携带自身的标识, 根据该标识报文, 确定与该标识报文具 有对应关系的指示消息。
51208、 父 SDN控制器 1101确定接收到的询问消息中携带的入端口与指 示消息中指定的出端口之间存在跨域链路。
例 2: 如图 13所示, 父 SDN控制器 1301管辖第一子 SDN控制器 1302 和第二子 SDN控制器 1303 , 第一子 SDN控制器 1302和第二子 SDN控制器 1303又分别作为父 SDN控制器, 第一子 SDN控制器 1302管辖第三子 SND 控制器 1304和第四子 SDN控制器 1305 , 第二子 SDN控制器 1303管辖第五 子 SND控制器 1306和第六子 SDN控制器 1307,第四子 SDN控制器 1305管 辖 SW1和 SW2, 第五子 SDN控制器 1306管辖 SW3 , SW1和 SW2之间存在 链路, SW2和 SW3之间存在链路。 各个子 SDN控制器负责发现自身所管辖 的 SDN域中的链路, 父 SDN控制器负责发现自身管辖的子 SDN域之间的链 路。 本例为父 SDN控制器 1301发现第一子 SDN控制器 1302和第二子 SDN 控制器 1303之间的跨域链路的方法, 如图 14所示, 具体步骤包括:
S1401、 父 SDN控制器 1301向第一子 SDN控制器 1302发送指示消息, 该指示消息中封装有携带了父 SDN控制器 1301标识的标识报文, 且该指示 消息用于指示第一子 SDN控制器 1302所管辖的 SW2通过出端口 P1转发标 识艮文。
本步骤中 , 父 SDN控制器管辖的 SDN域为该父 SDN控制器管辖的各子 SDN控制器管辖的各 SDN域的合集。 也就是说, 第一子 SDN控制器 1302管 辖的 SDN域为第三子 SDN控制器 1304和第四子 SDN控制器 1305分别管辖 的 SDN域的合集。 51402、 第一子 SDN控制器 1302接收到指示消息, 将该指示消息转发给 第四子 SDN控制器 1305。
本步骤中, 第一子 SDN控制器 1302作为第四子 SDN控制器 1305的父 SDN控制器,也可以管辖第四子 SDN控制器 1305管辖的 SW2,当第一子 SDN 控制器 1302接收到指示消息时, 根据指示消息中指定的出端口, 即 SW2的 P1端口, 则确定出 SW2的 P1端口由第四子 SDN控制器 1305管辖, 将该指 示消息转发给第四子 SDN控制器 1305。
进一步地, 第一子 SDN控制器 1302可以负责自身管辖的第三子 SDN控 制器 1304和第四子 SDN控制器 1305分别管辖的 SDN域之间的链路发现。
51403、 第四子 SDN控制器 1305接收到指示消息, 将该指示消息转发给 SW20
51404、 SW2接收到指示消息, 将出端口 P1对应链路的链路属性信息添 加到标识报文中, 并将指示消息中封装的标识报文通过出端口 P1发送给与出 端口 P1具有连通的链路的 SW3的入端口 P2。
51405、 SW3通过入端口 P2接收到标识报文, 将入端口 P2对应链路的 链路属性信息添加到该标识报文中, 并将标识报文封装成询问消息, 该询问 消息用于向管辖 SW3的第五子 SDN控制器 1306询问转发该标识报文的端口 的端口信息。
51406、 第五子 SDN控制器 1306接收到 SW3发送的询问消息, 解析该 询问消息, 确定询问消息中封装的标识报文未携带自身的标识, 将该询问消 息转发给其父 SDN控制器第二子 SDN控制器 1303。
51407、 第二子 SDN控制器 1303接收到第五子 SDN控制器 1306发送的 询问消息, 解析该询问消息, 确定询问消息中封装的标识报文未携带自身的 标识, 将该询问消息转发给父 SDN控制器 1301。
51408、父 SDN控制器 1301接收到该询问消息,并解析其中的标识报文, 确定该标识报文携带有自身的标识, 根据该标识报文中携带的出端口 P1对应 链路的链路属性信息, 以及入端口 P2对应链路的链路属性信息, 确定出端口 PI与入端口 P2之间存在跨 SDN域链路。
进一步地, 父 SDN控制器和直接管理设备的 SDN控制器之间可以间隔 多层 SDN控制器。
图 15为本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域 链路发起方的第一 SDN控制器侧, 如图 15所示, 具体包括如下步骤:
51501、 第一 SDN控制器向管辖的指定设备发送封装有携带了第一 SDN 控制器标识的标识报文的指示消息, 其中, 指示消息用于指示指定设备转发 标识报文。
51502、 接收第二 SDN控制器转发的封装消息, 其中, 第二 SDN控制器 为第一 SDN控制器的邻接 SDN控制器, 封装消息为第二 SDN控制器管辖的 设备, 接收到指定设备发送的标识报文之后, 将标识报文封装为用于向第二 SDN控制器询问转发标识报文的端口的端口信息的第一询问消息。
进一步地, 本步骤中, 与第一 SDN控制器邻接的 SDN控制器包括: 与 第一 SDN控制器存在连通的物理链路的 SDN控制器, 或者, 与第一 SDN控 制器存在通信机制的 SDN控制器 (例如, 存在用于与第一 SDN控制器自动 构建邻接关系的机制 HELLO通信机制), 或者, 为第一 SDN控制器配置了邻 接关系的 SDN控制器 (例如, 为第一 SDN控制器配置邻接关系表, 将邻接 关系表中的配置的 SDN控制器作为第一 SDN控制器的邻接 SDN控制器)。
51503、 解析封装消息中封装的标识报文;
51504、 当确定标识 文中携带有第一 SDN控制器的标识时, 根据标识 报文, 确定指定设备与第二 SDN控制器管辖的设备之间存在跨 SDN域链路。
本实施例中, 可以在第一 SDN控制器与第二 SDN控制器具有邻接关系 时, 实施该跨 SDN域链路的发现方法。
与图 15相应的, 图 16为本发明实施例提供的一种链路发现方法, 应用 于作为跨 SDN域链路非发起方的第二 SDN控制器侧, 如图 16所示, 具体包 括如下步骤:
S1601、 第二 SDN控制器接收管辖的设备发送的询问消息, 其中, 询问 消息用于询问转发设备接收到用于询问转发设备接收到的标识报文的端口的 端口信息, 询问消息中封装有携带了第一 SDN控制器标识的标识报文。
S 1602、 解析 S 1601中的标识艮文。
S1603、当确定标识 4艮文未携带第二子 SDN控制器的标识时,向第二 SDN 控制器的所有邻接 SDN控制器, 转发该询问消息。
与图 15相应的, 图 17为本发明实施例提供的一种链路发现方法, 应用 于作为跨 SDN域链路发现非发起方的第二 SDN控制器侧, 如图 17所示, 具 体包括如下步骤:
51701、 第二 SDN控制器接收管辖的设备发送的询问消息, 其中, 该询 问消息用于询问转发该设备接收到的标识报文的端口的端口信息, 该询问消 息中封装有携带了第一 SDN控制器标识的标识报文, 标识报文中携带有第一 SDN控制器所管辖的 SDN域的域标识。
51702、 解析 S1701中的标识才艮文。
51703、 当确定标识报文未携带第二子 SDN控制器的标识时, 根据解析 出的标识报文中携带的第一 SDN控制器所管辖的 SDN域的域标识, 将询问 消息转发给第一 SDN控制器。
本步骤中 , 当标识报文中封装了第一 SDN控制器管辖的 SDN域的域标 识时, 由于第二 SDN控制器可以预先对应存储自身的各邻接 SDN控制器的 域标识与该 SDN控制器的地址,因此,可以直接将该询问报文转发给第二 SDN 控制器。
图 18为本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域 链路发现的发起方的第一 SDN控制器侧, 如图 18所示, 具体包括如下步骤:
51801、 第一 SDN控制器向管辖的指定设备发送封装有携带了第一 SDN 控制器标识的标识 · ^文的指示消息, 其中, 指示消息具体用于指示指定设备, 通过指定出端口发送标识报文, 且标识报文有与指示消息具有对应关系。
51802、 接收第二 SDN控制器转发的封装消息, 其中, 第二 SDN控制器 为第一 SDN控制器的邻接 SDN控制器, 封装消息具体为第二 SDN控制器管 辖的设备通过入端口接收到指定设备通过出端口发送的标识报文之后, 将标 识报文封装为携带有入端口信息的、 用于向第二 SDN控制器询问转发标识报 文的端口的端口信息的第一询问消息。
51803、 解析封装消息中封装的标识报文。
51804、 当确定标识报文中携带有第一 SDN控制器的标识时, 根据标识 报文, 确定与标识报文具有对应关系的指示消息。
S 1805、 确定指示消息中指定的出端口与封装消息中携带的入端口之间存 在跨 SDN域链路。
本实施例中, 可以在第一 SDN控制器与第二 SDN控制器具有邻接关系 时, 实施该跨 SDN域链路的发现方法。
与图 18相应的, 图 19为本发明实施例提供的一种链路发现方法, 应用 于作为跨 SDN域链路发现的非发起方的第二 SDN控制器侧, 如图 19所示, 具体包括如下步骤:
S1901 , 笫二 SDN控制器接收管辖的设备发送的询问消息, 其中, 询问 消息用于询问转发设备接收到的标识 4艮文的端口的端口信息, 询问消息中封 装有携带了第一 SDN控制器标识的标识报文, 且询问消息中封装的标识报文 为设备通过入端口接收到的, 且询问消息中还携带有入端口信息。
S 1902、 解析 S 1901中的标识 4艮文。
S1903、 当确定标识报文未携带第二 SDN控制器的标识时, 向第二 SDN 控制器的所有邻接 SDN控制器, 转发该询问消息。
本步骤中, 当标识报文中携带了第一 SDN控制器的所管辖的域的域标识 时, 可以向第一 SDN控制器转发该询问消息。
图 20为本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域 链路发现的发起方的第一 SDN控制器侧, 如图 20所示, 具体包括如下步骤:
S2001、 第一 SDN控制器向管辖的指定设备发送封装有携带了第一 SDN 控制器标识的标识 4艮文的指示消息, 其中, 指示消息具体用于指示指定设备, 通过指定出端口发送所述标识报文; 且指定设备通过出端口发送的标识报文 中, 携带有出端口对应链路的链路属性信息。
52002、 接收第二 SDN控制器转发的封装消息, 其中, 第二 SDN控制器 为第一 SDN控制器的邻接 SDN控制器, 封装消息为第二 SDN控制器管辖的 设备, 接收到指定设备发送的标识报文之后, 将标识报文封装为用于向第二 SDN控制器询问转发标识 4艮文的端口的端口信息的第一询问消息, 且该第一 询问消息所封装的标识报文中, 还携带有入端口对应链路的链路属性信息。
进一步地, 本步骤中, 第一询问消息所封装的标识报文中携带的入端口 对应链路的链路属性信息, 可以为第二 SDN控制器管辖的设备接收到指定设 备发送的标识报文之后, 在该标识报文中添加的。
52003、 解析封装消息中封装的标识报文;
52004、 当确定标识艮文中携带有第一 SDN控制器的标识时, 根据标识 报文中携带的出端口对应链路的链路属性信息, 以及入端口对应链路的链路 属性信息, 确定出端口与入端口之间存在跨 SDN域链路。
本实施例中, 可以在第一 SDN控制器与第二 SDN控制器具有邻接关系 时, 实施该跨 SDN域链路的发现方法。
与图 20相应的, 图 21为本发明实施例提供的一种链路发现方法, 应用 于作为跨 SDN域链路发现的非发起方的第二 SDN控制器侧, 如图 21所示, 具体包括如下步驟:
S2101、 第二 SDN控制器接收管辖的设备发送的询问消息, 其中, 该询 问消息用于询问转发设备接收到的标识 · ^文的端口的端口信息, 询问消息中 封装有携带了第一 SDN控制器标识的标识报文; 该标识报文为第二 SDN控 制器管辖的设备通过入端口接收到的、 携带有向入端口发送标识报文的设备 的出端口对应链路的链路信息、 以及第一 SDN控制器所在 SDN域的域标识 的标识 文; 且第二 SDN控制器管辖的设备向第二 SDN控制器发送的询问 消息所封装的标识 4艮文中, 还携带有入端口对应链路的链路属性信息。
进一步地, 本步骤中, 标识报文中携带的出端口对应链路的链路信息, 可以为第一 SDN控制器或者第一 SDN控制器管辖的指定设备在标识报文中 添力口的。
52102、 解析 S2101中的标识报文。
52103. 当确定标识报文未携带第二 SDN控制器的标识时, 根据解析出 的标识报文中携带的第一 SDN控制器所管辖的 SDN域的域标识,向第一 SDN 控制器转发询问消息。
进一步地, 如果步骤 S2103中没有携带第一 SDN控制器所属 SDN域的 域标识, 本步骤可以向第二 SDN域的所有邻接 SDN控制器转发该询问消息。 那么当除第一 SDN控制器之外的其他 SDN控制器接收到该询问消息时, 可 以继续将该询问消息转发给自身的邻接 SDN控制器。 在这种情况下, 由于水 平分割技术的保障, 不会引起信息风暴。
下面举例说明:
例 3:如图 22所示,第一 SDN控制器 2201管辖 SW1和 SW2,第二 SDN 控制器 2202管辖 SW3 , SW1和 SW2之间存在链路, SW2和 SW3之间存在 链路, 第一 SDN控制器 2201和第二 SDN控制器 2202为邻接 SDN控制器。 如图 23所示, 具体步骤包括:
52301 , 第一 SDN控制器 2201向自身管辖的 SW2发送指示消息, 该指 示消息中封装有与该指示消息具有对应关系的、携带有第一 SDN控制器 2201 标识的标识报文, 该标识报文中还封装了第一 SDN控制器管辖的 SDN域的 域标识, 且该指示消息用于指示 SW2通过指定的 P1端口发送该标识报文。
进一步地, 本步骤中, 第一 SDN控制器 2201可以向自身管辖的所有设 备均发送指示消息, 本步骤为 SW2接收到指示通过 P1端口发送标识报文指 示消息时执行的操作。
进一步地, 本步骤中, 指示消息可以为 Openflow协议中的 Packet-out消 息。
52302、 SW2接收到指示消息, 将指示消息中封装的标识报文通过出端口 P1发送给与出端口 P1具有连通的链路的 SW3的入端口 P2。
52303. SW3通过入端口 P2接收到标识 文, 将标识 4艮文封装成询问消 息, 该询问消息用于向管辖 SW3的第二 SDN控制器 2202询问转发该标识 4艮 文的端口的端口信息, 且该询问消息中携带有入端口 P2的信息。
进一步地,本步骤中,询问消息可以为 Openflow协议中的 Packet-in消息。 S2304, 第二 SDN控制器 2202接收到 SW3发送的询问消息, 解析该询 问消息, 确定询问消息中封装的标识报文中未携带的标识, 将该询问消息转 发给第一 SDN控制器 2201。
S2305、 当第一 SDN控制器 2201接收到该询问消息时, 解析出该询问消 息中封装的标识报文中携带有自身的标识, 则根据该标识报文, 确定与该标 识报文具有对应关系的指示消息, 并确定该指示消息中指定的出端口与询问 消息中携带的入端口之间存在跨 SDN域链路。
例 4: 继续以图 22为例, 具体步骤如图 24所示, 包括:
S2401、 第一 SDN控制器 2201向自身管辖的 SW2发送指示消息, 该指 示消息中封装有携带第一 SDN控制器 2201 的标识的标识报文, 且该指示消 息用于指示 SW2通过指定的 P1端口发送该标识 4艮文。
进一步地, 本步骤中, 指示消息可以为 Openflow协议中的 Packet-out消 息。
52402、 SW2接收到指示消息, 将出端口 P1对应链路的链路属性信息添 加到标识报文中, 将指示消息中封装的标识报文通过出端口 P1发送给与出端 口 P1具有连通的链路的 SW3的入端口 P2。
52403、 SW3通过入端口 P2接收到标识报文, 将入端口 P2对应链路的 链路属性信息添加到该标识报文中, 将标识报文封装成询问消息, 该询问消 息用于向管辖 SW3的第二 SDN控制器 2202询问转发该标识 文的端口的端 口信息。
本步骤中 , 询问消息可以为 Openflow协议中的 Packet-in消息。
52404、 第二 SDN控制器 2202接收到 SW3发送的询问消息, 解析该询 问消息, 确定询问消息中封装的标识报文中未携带自身的标识。
52405、 将该询问消息转发给第一 SDN控制器 2201的所有邻接 SDN控 制器。
S2406、 当第一 SDN控制器 2201接收到该询问消息时, 解析出该询问消 息中封装的标识报文中携带有自身的标识, 则根据该标识报文携带的出端口 对应链路的链路属性信息, 以及入端口对应链路的链路属性信息, 确定出端 口与入端口之间存在跨 SDN域链路。
图 25为本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域 链路发现的发起方的第一 SDN控制器侧, 如图 25所示, 具体包括如下步骤:
52501、 第一 SDN控制器向管辖的指定设备发送封装有携带了第一 SDN 控制器标识的标识报文的指示消息, 其中, 指示消息用于指示指定设备转发 该标识艮文。
52502、 接收指定设备发送的封装有封装消息的第二询问消息, 其中, 第 二询问消息用于询问转发封装消息的端口的端口信息, 封装消息为第二 SDN 控制器管辖的设备, 接收到指定设备发送的标识报文之后, 再将标识报文封 装为用于向笫二 SDN控制器询问转发标识艮文的端口的端口信息的第一询问 消息之后, 第二 SDN控制器根据第一询问消息, 封装的携带有标识报文的封 装消息。
52503、 解析封装消息中封装的标识报文。
52504、 当确定标识艮文中携带有第一 SDN控制器的标识时, 根据标识 报文, 确定指定设备与第二 SDN控制器管辖的设备之间存在跨 SDN域链路。
进一步地, 本发明实施例提供的一种链路发现方法, 可以通过 SDN控制 器对自身管辖的 SDN域,与其他 SDN域之间的跨 SDN域链路进行自动发现。 且第一 SDN控制器第二 SDN控制器可以为任何连接关系, 例如: 第一 SDN 控制器与第二 SDN控制器之间无连接、 或者第一 SDN控制器与第二 SDN控 制器为邻接的 SDN控制器、 或者第一 SDN控制器与第二 SDN控制器与同一 个父 SDN控制器连接等。
与图 25相应的, 图 26为本发明实施例提供的一种链路发现方法, 应用 于作为跨 SDN域链路非发起方的第二 SDN控制器侧, 如图 26所示, 具体包 括如下步骤:
52601、 第二 SDN控制器接收管辖的设备发送的询问消息, 其中, 该询 问消息用于询问转发设备接收到的标识 · ^文的端口的端口信息, 询问消息中 封装有携带了第一 SDN控制器标识的标识报文。
52602、 解析上述标识 文。
52603、 当确定标识报文未携带第二 SDN控制器的标识时, 向设备发送 封装有封装消息的指示消息, 其中, 指示消息用于指示设备转发该封装消息。
进一步地, 本步骤中, 当第二 SDN控制器确定标识 4艮文中未携带自身的 标识时, 需要构建指示消息, 用于指示设备通过入端口沿接收到标识报文的 链路发送指示消息中封装的消息, 即封装消息, 封装消息中需要封装标识报 文, 以便于接收到封装消息的 SDN控制器能够通过标识报文中携带的标识确 定该标识报文是否是自己构建的。
图 27为本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域 链路发现发起方的第一 SDN控制器侧, 如图 27所示, 具体包括如下步驟:
52701、 第一 SDN控制器向管辖的指定设备发送封装有携带了第一 SDN 控制器标识的标识 4艮文的指示消息, 其中, 指示消息具体用于指示指定设备, 通过指定出端口发送标识报文, 且标识报文有与指示消息具有对应关系。
52702、 接收指定设备发送的封装有封装消息的第二询问消息, 其中, 第 二询问消息用于询问转发封装消息的端口的端口信息, 封装消息具体为第二 SDN控制器管辖的设备通过入端口接收到指定设备通过所述出端口发送的标 识报文之后, 再将标识报文封装为携带有入端口信息的、 用于向第二 SDN控 制器询问转发标识 4艮文的端口的端口信息的第一询问消息之后, 第二 SDN控 制器根据第一询问消息, 封装的携带有标识报文和入端口的端口信息的封装 消息。
52703、 解析封装消息中封装的标识报文。
52704、 当确定标识报文中携带有第一 SDN控制器的标识时, 根据标识 报文, 确定与标识报文具有对应关系的指示消息。 S2705、 确定指示消息中指定的出端口与第二询问消息中封装的封装消息 中携带的入端口之间存在跨 SDN域链路。
与图 27相应的, 图 28为本发明实施例提供的一种链路发现方法, 应用 于作为跨 SDN域链路发现的非发起方的第二 SDN控制器侧, 如图 28所示, 具体包括如下步驟:
52801、 第二 SDN控制器接收管辖的设备发送的询问消息, 其中, 该询 问消息用于询问转发设备接收到的标识 · ^文的端口的端口信息, 询问消息中 封装有携带了第一 SDN控制器标识的标识报文, 且询问消息中封装的标识报 文, 为设备通过入端口接收到的, 且询问消息中还携带有入端口信息。
52802、 解析标识艮文。
52803、 当确定标识艮文未携带第二 SDN控制器的标识时, 将标识艮文 和入端口的端口信息封装为封装消息。
进一步地, 本步骤中, 当第二 SDN控制器确定标识> ^文中未携带自身的 标识时, 需要构建指示消息, 用于指示设备通过入端口沿接收到标识报文的 链路发送指示消息中封装的报文, 即封装消息, 封装消息中需要封装标识报 文, 以便于接收到封装消息的 SDN控制器能够通过标识报文中携带的标识确 定该标识报文是否是自己构建的。
52804、 向设备发送封装有封装消息的指示消息, 其中, 指示消息具体用 于指示设备通过入端口转发封装消息。
进一步地, 封装消息中封装了标识报文和入端口信息, 标识报文可以用 于使第一 SDN控制器确定出标识 4艮文的构建者为自己, 入端口信息可以用于 使第一 SDN控制器通过标识报文确定与该标识报文对应的指示消息后, 能够 确定与第一 SDN控制器管辖的指定设备的出端口对应的入端口, 从而确定出 端口和入端口之间的跨 SDN域链路。 例如, 第二 SDN控制器可以将接收的 设备发送的询问消息作为封装消息, 封装在指示消息中, 即上述封装消息可 以为第二 SDN控制器管辖的设备发送的询问消息, 因为该询问消息满足既封 装有标识报文, 又封装有入端口信息。 进一步地, 由于第二 SDN控制器管辖的设备通过入端口接收到指定设备 通过所述出端口发送的标识报文, 因此, 第二 SDN控制器管辖的设备接收到 封装有封装消息的指示消息, 并将封装消息通过入端口转发出去之后, 第一 SDN控制器管辖的指定设备会从出端口接收到该封装消息。
图 29为本发明实施例提供的一种链路发现方法, 应用于作为跨 SDN域 链路发现的发起方的第一 SDN控制器侧, 如图 29所示, 具体包括如下步骤:
52901、 第一 SDN控制器向管辖的指定设备发送封装有携带了第一 SDN 控制器标识的标识 4艮文的指示消息, 其中, 指示消息具体用于指示指定设备, 通过指定出端口发送标识报文; 且指定设备通过出端口发送的标识报文中, 携带有出端口对应链路的链路属性信息。
进一步地, 本步骤中可以由第一 SDN控制器, 或者指定设备将出端口对 应链路的链路属性信息添加到标识报文中。
52902、 接收指定设备发送的封装有封装消息的第二询问消息, 其中, 第 二询问消息用于询问转发封装消息的端口的端口信息, 封装消息为第二 SDN 控制器管辖的设备, 接收到指定设备发送的标识报文之后, 再将标识报文封 装为用于向第二 SDN控制器询问转发标识报文的端口的端口信息的第一询问 消息之后, 第二 SDN控制器根据第一询问消息, 封装的携带有标识报文的封 装消息, 第一询问消息所封装的标识报文中, 还携带有入端口对应链路的链 路属性信息。
进一步地, 入端口对应链路的链路属性信息可以为第二 SDN控制器管辖 的设备, 在将标识 4艮文封装为第二询问消息之前, 在该标识报文中添加的。
52903、 解析封装消息中封装的标识报文。
52904、 当确定标识 文中携带有第一 SDN控制器的标识时, 根据标识 报文中携带的出端口对应链路的链路属性信息, 以及入端口对应链路的链路 属性信息, 确定出端口与入端口之间存在跨 SDN域链路。
与图 29相应的, 图 30为本发明实施例提供的一种链路发现方法, 应用 于作为跨 SDN域链路发现的非发起方的第二 SDN控制器侧, 如图 30所示, 具体包括如下步驟:
53001、 第二 SDN控制器接收管辖的设备发送的询问消息, 其中, 该询 问消息用于询问转发设备接收到的标识 · ^文的端口的端口信息, 询问消息中 封装有携带了第一 SDN控制器标识的标识报文, 且询问消息中封装的标识报 文为设备通过入端口接收到的、 携带有向入端口发送标识报文的设备的出端 口对应链路的链路信息的标识报文,第二 SDN控制器管辖的设备向第二 SDN 控制器发送的询问消息所封装的标识> ^文中, 还携带有入端口对应链路的链 路属性信息。
进一步地, 第二 SDN控制器管辖的设备在将接收到的封装有出端口对应 链路的链路属性信息之后, 将标识报文封装为询问消息之前, 可以在标识报 文中添加入端口对应链路的链路属性信息。
53002、 解析标识报文。
53003、 当确定标识 文未携带第二 SDN控制器的标识时, 将标识艮文 封装为封装消息, 或者, 将标识报文作为封装消息。
进一步地, 本步骤中, 当第二 SDN控制器确定标识 4艮文中未携带自身的 标识时, 需要构建指示消息, 用于指示设备通过入端口沿接收到标识报文的 链路发送指示消息中封装的消息, 即封装消息, 封装消息中需要封装标识报 文, 以便于接收到封装消息的 SDN控制器能够通过标识报文中携带的标识确 定该标识报文是否是自己构建的, 或者直接将标识 4艮文封装于指示消息中。
53004、 向设备发送封装有封装消息的指示消息, 其中, 指示消息用于指 示设备通过入端口转发封装消息。
下面举例说明:
例 5:如图 31所示,第一 SDN控制器 3101管辖 SW1和 SW2,第二 SDN 控制器 3102管辖 SW3 , SW1和 SW2之间存在链路, SW2和 SW3之间存在 链路, 第一 SDN控制器 3101和第二 SDN控制器 3102可以为任何连接关系, 例如: 第一 SDN控制器 3101和第二 SDN控制器 3102之间无连接、 或者第 一 SDN控制器 3101和第二 SDN控制器 3102为邻接 SDN控制器、 或者第一 SDN控制器 3101和第二 SDN控制器 3102与同一个父 SDN控制器连接。 如 图 32所示, 具体步骤包括:
S3201. 第一 SDN控制器 3101向自身管辖的 SW2发送第一指示消息, 该第一指示消息中封装有与该第一指示消息具有对应关系的、 携带有第一 SDN控制器 3101标识的标识 4艮文, 且该第一指示消息用于指示 SW2通过指 定的 P1端口发送该标识 文。
进一步地,本步骤中,第一指示消息可以为 Openflow协议中的 Packet-out 消息, 标识报文可以为 LLDP报文, 该 LLDP报文中携带有第一 SDN控制器 3101的配置信息, 例如: 第一 SDN控制器 3101的主要能力、 管理地址、 设 备标识、 接口标识等信息。
S3202、 SW2接收到第一指示消息, 将第一指示消息中封装的标识报文通 过出端口 P1发送给与出端口 P1具有连通的链路的 SW3的入端口 P2。
53203、 SW3通过入端口 P2接收到标识报文, 将标识报文封装成第一询 问消息, 该第一询问消息用于向管辖 SW3的第二 SDN控制器 3102询问转发 该标识寺艮文的端口的端口信息,且该第一询问消息中携带有入端口 P2的信息。
本步骤中 , 第一询问消息可以为 Openflow协议中的 Packet-in消息。
53204、 第二 SDN控制器 3102接收到 SW3发送的第一询问消息, 解析 该第一询问消息, 确定第一询问消息中封装的标识 4艮文未携带自身的标识。
S3205、 将标识报文和入端口信息封装成封装消息, 并将封装消息封装为 第二指示消息, 向 SW3发送该第二指示消息, 该第二指示消息用于指示 SW3 通过入端口 P2发送该第二指示消息封装的封装消息。
本步骤中, 第二指示消息可以为 Openflow协议中的 Packet-out消息。
53206、 SW3接收到第二指示消息, 将第二指示消息中封装的封装消息通 过入端口 P2发送给与入端口 P2具有连通的链路的 SW2的出端口 Pl。
53207、 SW2通过出端口 P1接收到封装消息, 将封装消息封装成第二询 问消息, 该第二询问消息用于向管辖 SW2的第一 SDN控制器 3101询问转发 该封装消息的端口的端口信息。 本步骤中, 该第二询问消息中还可以携带接收到封装消息的出端口 P1的 信息。
本步骤中, 第二询问消息可以为 Openflow协议中的 Packet-in消息。 S3208, 第一 SDN控制器 3101接收到第二询问消息, 解析第二询问消息 中封装的封装消息之后, 并确定第二询问消息中封装的封装消息中携带的标 识报文中携带有自身的标识, 根据封装消息中封装的标识报文, 确定与标识 报文具有对应关系的第一指示消息, 并确定第一指示消息中指定的出端口与 封装消息中携带的入端口之间存在跨 SDN域链路。
例 6: 继续以图 31为例, 具体步骤如图 33所示, 包括:
S3301、 第一 SDN控制器 3101向自身管辖的 SW2发送第一指示消息, 该第一指示消息中封装了携带有第一 SDN控制器 3101标识的标识艮文, 且 该第一指示消息用于指示 SW2通过指定的 P1端口发送该标识报文。
S3302、 SW2接收到第一指示消息, 将出端口 P1对应链路的链路属性信 息添加到标识报文中, 并将笫一指示消息中封装的标识报文通过出端口 P1发 送给与出端口 P1具有连通的链路的 SW3的入端口 P2。
53303、 SW3通过入端口 P2接收到标识 ^艮文, 将入端口 P2对应链路的 链路属性信息添加到该标识报文中, 并将标识报文封装成第一询问消息, 该 第一询问消息用于向管辖 SW3的第二 SDN控制器 3102询问转发该标识 ·^文 的端口的端口信息。
53304、 第二 SDN控制器 3102接收到 SW3发送的第一询问消息, 解析 该第一询问消息, 确定第一询问消息中封装的标识 4艮文未携带自身的标识。
53305、 将标识报文封装为第二指示消息, 向 SW3发送该第二指示消息, 该第二指示消息用于指示 SW3通过入端口 P2发送该第二指示消息封装的标 识报文。
53306、 SW3接收到第二指示消息, 将第二指示消息中封装的标识报文通 过入端口 P2发送给与入端口 P2具有连通的链路的 SW2的出端口 Pl。
53307、 SW2通过出端口 PI接收到标识 文, 将标识 · ^文封装成第二询 问消息, 该第二询问消息用于向管辖 SW2的第一 SDN控制器 3101询问转发 该标识 文的端口的端口信息。
本步骤中, 该第二询问消息中还可以携带接收到标识报文的出端口 P1的 信息。
S3308、 第一 SDN控制器 3101接收到第二询问消息, 解析第二询问消息 中封装的标识报文之后, 并确定第二询问消息中封装的标识报文中携带有自 身的标识, 根据标识报文中携带的出端口对应链路的链路属性信息, 以及入 端口对应链路的链路属性信息,确定出端口与入端口之间存在跨 SDN域链路。
图 34为本发明实施例提供的一种链路发现方法, 如图 34所示, 具体包 括如下步骤:
S3401、 第一设备向第二设备发送用于探测第一设备和第二设备之间是否 存在链路的链路探测消息。
本步骤中, 链路探测消息中也可以携带设备发送该链路探测消息的出端 口信息, 以及该第一设备所属 SDN域的域标识, 以便第二设备发现与自身存 在链路的设备。
进一步地, 本步骤中, 链路探测消息可以为链路管理协议 (LMP, Link Management Protocol ) 中的 test消息。
S3402、 接收第二设备发送的链路探测回应消息, 其中, 链路探测回应消 息中携带有第二设备所属 SDN域的域标识信息。
进一步地, 本步骤中, 当探测成功时, 链路探测回应消息可以为 LMP协 议中的 TestStatusSuccess消息。
S3403、 当第一设备所属 SDN域的域标识, 与第二设备所属 SDN域的域 标识不同时, 向第二设备发送用于探测入端口对应链路的链路属性的链路属 性探测消息。
进一步地, 本步骤中, 由于第一设备和第二设备所属的 SDN域不同, 因 此, 出端口和入端口对应链路的链路属性可能不同, 在探测到出端口和入端 口之间能够连通之后 , 还要确定出端口和入端口之间存在能够进行正常通信 的链路, 因此需要出端口和入端口的进行一致性^^正。
进一步地 , 本步骤中, 链路属性探测消息可以为 LMP 协议中的 LinkS ummar 才艮文。
53404、 接收第二设备发送的链路属性探测回应消息, 其中, 链路属性探 测回应消息中携带有入端口对应链路的链路属性。
进一步地, 如果一致性验证成功, 则链路属性探测回应消息可以为 LMP 协议中的 LinkSummaryAck 艮文 ,
53405、 向管辖第一设备的 SDN控制器上报跨 SDN域链路。
进一步地, 如果 SDN控制器存在父 SDN控制器, 并且由该父 SDN控制 器对其管辖的各子 SDN域之间的跨 SDN域的链路进行管理, 则在本步骤之 后, SDN控制器向父 SDN控制器上报该跨 SDN域链路。
基于同一发明构思, 本发明实施例还提供了 SDN控制器、 设备, 由于这 些 SDN控制器和设备所解决问题的原理与前述链路发现方法相似, 因此该 SDN控制器和设备的实施可以参见前述方法的实施, 重复之处不再赘述。
本发明实施例提供的一种 SDN控制器, 如图 35所示, 包括如下模块: 接收模块 3501, 用于接收管辖的第一设备发送的询问消息, 其中, 所述 询问消息用于询问转发所述第一设备接收到的标识报文的端口的端口信息, 所述询问消息中封装有携带了其他 SDN控制器标识的标识报文;
解析模块 3502,用于解析所述接收模块 3501接收的询问消息中封装的所 述标识报文;
发送模块 3503, 用于当根据所述解析模块 3502的解析结果, 确定所述标 识报文未携带所述 SDN控制器的标识时, 向与所述 SDN控制器连通的链路, 发送根据所述询问消息确定的、 封装有所述标识报文的封装消息; 其中, 所 述封装消息用于所述其他 SDN控制器接收到所述封装消息时, 根据所述封装 消息中封装的所述标识报文, 确定向所述第一设备发送所述标识报文的第二 设备与所述第一设备之间存在跨 SDN域链路。
进一步地, 在所述其他 SDN控制器为所述 SDN控制器的父 SDN控制器 时, 所述发送模块 3503具体用于向所述 SDN控制器的父 SDN控制器转发所 述询问消息。
进一步地, 所述发送模块 3503具体用于向所述 SDN控制器的所有邻接 SDN控制器, 转发所述询问消息, 其中, 所述 SDN控制器的邻接 SDN控制 器为与所述 SDN控制器存在连通的物理链路的 SDN控制器, 或者, 与所述 SDN控制器存在通信机制的 SDN控制器, 或者, 为所述 SDN控制器配置的 SDN控制器; 或者
所述发送模块 3503具体用于当所述标识报文中携带有所述其他 SDN控 制器所管辖的 SDN域的域标识, 根据解析出的所述标识 4艮文中携带的所述其 他 SDN控制器所管辖的 SDN域的域标识, 向所述其他 SDN控制器转发所述 询问消息。
进一步地, 所述发送模块 3503具体用于向所述第一设备发送封装有封装 消息的指示消息, 其中, 所述指示消息用于指示所述设备转发所述封装消息。
进一步地, 所述接收模块 3501接收的所述询问消息中封装的所述标识报 文, 为所述第一设备通过入端口接收到的, 且所述询问消息中还携带有所述 入端口的端口信息; 所述发送模块 3503发送的所述指示消息具体用于指示所 述设备通过所述入端口转发所述封装消息;
所述发送模块 3503 , 还用于在向所述第一设备发送封装有所述封装消息 的指示消息之前, 将所述标识报文和所述入端口的端口信息封装为所述封装 消息。
进一步地, 所述接收模块 3501接收的所述询问消息中封装的所述标识报 文为所述第一设备通过入端口接收到的、 携带有所述第二设备的出端口对应 链路的链路信息的标识报文; 所述第一设备向所述第一 SDN控制器发送的所 述询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性 信息; 所述发送模块 3503发送的所述指示消息具体用于指示所述第一设备通 过所述入端口转发所述封装消息;
所述发送模块 3503 , 还用于在向所述第一设备发送封装有所述封装消息 的指示消息之前, 将携带有所述入端口对应链路的链路属性信息的标识报文 封装为封装消息, 或者, 将携带有所述入端口对应链路的链路属性信息的标 识报文作为封装消息。
本发明实施例提供的一种父 SDN控制器, 如图 36所示, 包括如下模块: 发送模块 3601 ,用于向第一子软件定义网络 SDN控制器发送封装有携带 了所述父 SDN控制器标识的标识 4艮文的指示消息, 其中, 所述指示消息用于 指示所述第一子 SDN控制器通过管辖的指定设备转发所述标识 · ^文;
接收模块 3602, 用于接收第二子 SDN控制器转发的询问消息, 其中, 所 述询问消息为所述第二子 SDN控制器管辖的设备, 接收到所述指定设备发送 所述标识报文之后, 将所述标识报文封装为用于向所述第二子 SDN控制器询 问转发所述标识报文的端口的端口信息的询问消息;
解析模块 3603 ,用于解析所述接收模块 3602接收的所述询问消息中封装 的标识艮文;
确定模块 3604, 用于当根据所述解析模块 3603的解析结果, 确定所述标 识报文携带有所述父 SDN控制器的标识时, 根据所述标识 4艮文, 确定接收所 述发送模块 3601发送的所述指示消息的所述指定设备与所述第二子 SDN控 制器管辖的设备之间存在跨 SDN域链路。
进一步地, 所述发送模块 3601发送的所述指示消息具体用于指示所述指 定设备, 通过指定出端口发送所述标识报文, 且所述标识报文有与所述指示 消息具有对应关系;
所述接收模块 3602接收的所述询问消息具体为所述第二子 SDN控制器 管辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识 报文之后, 将所述标识报文封装为携带有所述入端口的端口信息的、 用于向 所述第二子 SDN控制器询问转发所述标识报文的端口的端口信息的询问消 息;
所述确定模块 3604, 具体用于根据所述标识报文, 确定与所述标识报文 具有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述询 问消息中携带的所述入端口之间存在跨 SDN域链路。
进一步地, 所述发送模块 3601发送的所述指示消息具体用于指示所述指 定设备通过指定出端口发送所述标识报文; 且所述指定设备通过所述出端口 发送的标识报文中, 携带有所述出端口对应链路的链路属性信息;
所述第二子 SDN控制器管辖的设备向所述第二子 SDN控制器发送的所 述询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性 信息;
所述确定模块 3604 , 具体用于根据所述标识报文中携带的所述出端口对 应链路的链路属性信息, 以及所述入端口对应链路的链路属性信息, 确定所 述出端口与所述入端口之间存在跨 SD 域链路。
进一步地, 所述接收模块 3602, 还用于在父 SDN控制器向第一子 SDN 控制器发送指示消息之前, 接收所述第一子 SDN控制器上报的端口信息, 其 中, 所述端口信息表征的端口为从所述第一子 SDN控制器管辖的各设备的各 端口中确定的、 未与所述各端口中的任一端口构成链路的端口;
所述确定模块 3604,还用于将所述接收模块 3602接收的上报端口确定为 指定出端口, 并将所述上报端口所属的设备确定为指定设备。
本发明实施例提供的一种 SDN控制器, 如图 37所示, 包括如下模块: 发送模块 3701 ,用于向管辖的指定设备发送封装有携带了所述 SDN控制 器标识的标识报文的指示消息, 其中, 所述指示消息用于指示所述指定设备 转发所述标识 4艮文;
接收模块 3702, 用于接收封装有所述标识报文的封装消息, 其中, 所述 封装消息为根据其他 SDN控制器管辖的设备, 接收到所述指定设备发送的标 识报文之后, 将所述标识报文封装为用于向所述其他 SDN控制器询问转发所 述标识 文的端口的端口信息的第一询问消息确定的;
解析模块 3703 ,用于解析所述接收模块 3702接收的所述封装消息中封装 的标识 文;
确定模块 3704,用于当所述解析模块 3703确定所述标识报文中携带有所 述 SDN控制器的标识时, 根据所述标识报文, 确定接收所述发送模块 3701 发送的所述指示消息的所述指定设备与所述其他 SDN控制器管辖的设备之间 存在跨 SDN域链路。
进一步地,所述其他 SDN控制器为所述 SDN控制器的邻接 SDN控制器, 其中, 所述 SDN控制器的邻接 SDN控制器为与所述 SDN控制器存在连通的 物理链路的 SDN控制器, 或者, 与所述 SDN控制器存在通信机制的 SDN控 制器, 或者, 为所述 SDN控制器配置的 SDN控制器;
所述接收模块 3702,具体用于接收所述其他 SDN控制器转发的封装消息, 其中, 所述封装消息为所述其他 SDN控制器管辖的设备, 接收到所述指定设 备发送的标识报文之后, 将所述标识报文封装为用于向所述其他 SDN控制器 询问转发所述标识 4艮文的端口的端口信息的第一询问消息。
进一步地, 所述发送模块 3701发送的所述指示消息具体用于指示所述指 定设备, 通过指定出端口发送所述标识报文, 且所述标识报文与所述指示消 息具有对应关系;
所述接收模块 3702接收的所述封装消息具体为所述其他 SDN控制器管 辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报 文之后, 将所述标识报文封装为携带有所述入端口信息的、 用于向所述其他 SDN控制器询问转发所述标识艮文的端口的端口信息的第一询问消息;
所述确定模块 3704, 具体用于根据所述标识报文, 确定与所述标识报文 具有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述封 装消息中携带的所述入端口之间存在跨 SD 域链路。
进一步地, 所述接收模块 3702, 具体用于接收所述指定设备发送的封装 有所述封装消息的第二询问消息, 其中, 所述第二询问消息用于询问转发所 述封装消息的端口的端口信息, 所述封装消息为所述其他 SDN控制器管辖的 设备, 接收到所述指定设备发送的标识报文之后, 再将所述标识报文封装为 用于向所述其他 SDN控制器询问转发所述标识报文的端口的端口信息的第一 询问消息之后, 所述其他 SDN控制器根据所述第一询问消息, 封装的携带有 所述标识报文的封装消息。
进一步地, 所述发送模块 3701发送的所述指示消息具体用于指示所述指 定设备, 通过指定出端口发送所述标识报文, 且所述标识报文有与所述指示 消息具有对应关系;
所述接收模块 3702接收的所述封装消息具体为所述其他 SDN控制器管 辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报 文之后, 再将所述标识报文封装为携带有所述入端口信息的、 用于向所述其 他 SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之 后, 所述其他 SDN控制器才艮据所述第一询问消息, 封装的携带有所述标识艮 文和所述入端口的端口信息的封装消息;
所述确定模块 3704, 具体用于根据所述标识报文, 确定与所述标识报文 具有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述第 二询问消息中封装的所述封装消息中携带的所述入端口之间存在跨 SDN域链 路。
进一步地, 所述发送模块 3701发送的所述指示消息具体用于指示所述指 定设备, 通过指定出端口发送所述标识报文; 且所述指定设备通过所述出端 口发送的标识报文中, 携带有所述出端口对应链路的链路属性信息;
所述其他 SDN控制器管辖的设备向所述其他 SDN控制器发送的所述第 一询问消息所封装的标识报文中 , 还携带有所述入端口对应链路的链路属性 信息;
所述确定模块 3704 , 具体用于根据所述标识报文中携带的所述出端口对 应链路的链路属性信息, 以及所述入端口对应链路的链路属性信息, 确定所 述出端口与所述入端口之间存在跨 SD 域链路。
本发明实施例提供了一种设备, 如图 38所示, 包括如下模块: 发送模块 3801 , 用于向其他设备发送用于探测所述设备和所述其他设备 之间是否存在链路的链路探测消息;
接收模块 3802,用于接收所述其他设备在接收到所述发送模块 3801发送 的所述链路探测消息之后, 发送的链路探测回应消息, 其中, 所述链路探测 回应消息中携带有所述其他设备所属 SDN域的域标识信息;
确定模块 3803, 用于当所述设备所属 SDN域的域标识, 与所述其他设备 所属 SDN域的域标识不同时,确定所述设备与所述其他设备之间存在跨 SDN 域的链路。
进一步地 , 所述接收模块 3802接收的所述链路探测回应消息中还携带有 所述其他设备接收所述链路探测消息的入端口信息;
所述确定模块 3803 , 具体用于确定所述设备发送所述链路探测消息的出 端口与所述入端口之间存在跨域链路。
进一步地, 所述发送模块 3801 , 还用于在所述确定模块 3803确定所述设 备发送所述链路探测消息的出端口与所述入端口之间存在跨域链路之后, 向 所述其他设备发送用于探测所述入端口对应链路的链路属性的链路属性探测 消息;
所述接收模块 3802,还用于在所述发送模块 3801发送所述链路属性探测 消息之后, 接收所述其他设备发送的链路属性探测回应消息, 其中, 所述链 路属性探测回应消息中携带有所述入端口对应链路的链路属性。
进一步地 , 所述发送模块 3801 , 还用于当所述确定模块 3803确定所述设 备与所述其他设备之间存在跨 SD 域的链路之后, 向管辖所述设备的 SDN 控制器上报所述跨 SDN域链路的信息。
进一步地, 如图 35所示的 SDN控制器可以作为跨 SDN域链路发现的非 发起端,如图 36所示的父 SDN控制器可以作为跨 SD 域链路发现的发起端, 如图 37所示的 SDN控制器可以作为跨 SDN域链路发现的发起端, 如图 38 所示的设备可以作为跨 SDN域链路发现的发起端, 由于在跨 SDN域链路的 发现过程中, 需要多个 SDN控制器以及设备相互合作, 因此, 本发明实施例 提供的 SDN控制器还可以构成跨 SDN域链路发现系统, 该系统可以包括如 图 35所示的 SDN控制器和如图 36所示的父 SDN控制器, 或者该系统可以 包括如图 35所示的 SDN控制器和如图 37所示的 SDN控制器, 或者该系统 可以包括多个如图 38所示的设备。
上述各单元的功能可对应于图 2至图 10、 图 12、 图 14至图 21、 图 23至 图 30、 图 32至图 34所示流程中的相应处理步骤, 在此不再赘述。
本发明实施例提供的一种 SDN控制器, 如图 39所示, 包括如下部分: 接收器 3901 , 用于接收管辖的第一设备发送的询问消息, 其中, 所述询 问消息用于询问转发所述第一设备接收到的标识报文的端口的端口信息, 所 述询问消息中封装有携带了其他 SDN控制器标识的标识报文;
处理器 3902,用于解析所述接收器 3901接收的询问消息中封装的所述标 识艮文;
发送器 3903 , 用于当根据所述处理器 3902的解析结果, 确定所述标识报 文未携带所述 SDN控制器的标识时, 向与所述 SDN控制器连通的链路, 发 送根据所述询问消息确定的、 封装有所述标识报文的封装消息; 其中, 所述 封装消息用于所述其他 SDN控制器接收到所述封装消息时, 根据所述封装消 息中封装的所述标识报文, 确定向所述笫一设备发送所述标识报文的第二设 备与所述第一设备之间存在跨 SDN域链路。
进一步地, 在所述其他 SDN控制器为所述 SDN控制器的父 SDN控制器 时, 所述发送器 3903具体用于向所述 SDN控制器的父 SDN控制器转发所述 询问消息。
进一步地,所述发送器 3903具体用于向所述 SDN控制器的所有邻接 SDN 控制器, 转发所述询问消息, 其中, 所述 SDN控制器的邻接 SDN控制器为 与所述 SDN控制器存在连通的物理链路的 SDN控制器, 或者, 与所述 SDN 控制器存在通信机制的 SDN控制器, 或者, 为所述 SDN控制器配置的 SDN 控制器; 或者
所述发送器 3903具体用于当所述标识报文中携带有所述其他 SDN控制 器所管辖的 SDN域的域标识, 根据解析出的所述标识报文中携带的所述其他 SDN控制器所管辖的 SDN域的域标识, 向所述其他 SDN控制器转发所述询 问消息。 进一步地, 所述发送器 3903具体用于向所述第一设备发送封装有封装消 息的指示消息, 其中, 所述指示消息用于指示所述设备转发所述封装消息。
进一步地,所述接收器 3901接收的所述询问消息中封装的所述标识报文, 为所述第一设备通过入端口接收到的, 且所述询问消息中还携带有所述入端 口的端口信息; 所述发送器 3903发送的所述指示消息具体用于指示所述设备 通过所述入端口转发所述封装消息;
所述发送器 3903, 还用于在向所述第一设备发送封装有所述封装消息的 指示消息之前, 将所述标识报文和所述入端口的端口信息封装为所述封装消 息。
进一步地 , 所述接收器 3901接收的所述询问消息中封装的所述标识报文 为所述第一设备通过入端口接收到的、 携带有所述第二设备的出端口对应链 路的链路信息的标识报文; 所述第一设备向所述第一 SDN控制器发送的所述 询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性信 息; 所述发送器 3903发送的所述指示消息具体用于指示所述第一设备通过所 述入端口转发所述封装消息;
所述发送器 3903, 还用于在向所述第一设备发送封装有所述封装消息的 指示消息之前, 将携带有所述入端口对应链路的链路属性信息的标识报文封 装为封装消息, 或者, 将携带有所述入端口对应链路的链路属性信息的标识 报文作为封装消息。
本发明实施例提供的一种父 SDN控制器, 如图 40所示, 包括如下部分: 发送器 4001 ,用于向第一子软件定义网絡 SDN控制器发送封装有携带了 所述父 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指 示所述第一子 SDN控制器通过管辖的指定设备转发所述标识 ·^艮文;
接收器 4002, 用于接收第二子 SDN控制器转发的询问消息, 其中, 所述 询问消息为所述第二子 SDN控制器管辖的设备, 接收到所述指定设备发送所 述标识 文之后, 将所述标识 文封装为用于向所述第二子 SDN控制器询问 转发所述标识报文的端口的端口信息的询问消息; 解析器 4003 ,用于解析所述接收器 4002接收的所述询问消息中封装的标 识艮文;
处理器 4004, 用于当根据所述解析器 4003的解析结果, 确定所述标识报 文携带有所述父 SDN控制器的标识时, 根据所述标识报文, 确定接收所述发 送器 4001发送的所述指示消息的所述指定设备与所述第二子 SDN控制器管 辖的设备之间存在跨 SDN域链路。
进一步地, 所述发送器 4001发送的所述指示消息具体用于指示所述指定 设备, 通过指定出端口发送所述标识报文, 且所述标识报文有与所述指示消 息具有对应关系;
所述接收器 4002接收的所述询问消息具体为所述第二子 SDN控制器管 辖的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报 文之后, 将所述标识报文封装为携带有所述入端口的端口信息的、 用于向所 述第二子 SDN控制器询问转发所述标识报文的端口的端口信息的询问消息; 所述处理器 4004, 具体用于根据所述标识报文, 确定与所述标识报文具 有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述询问 消息中携带的所述入端口之间存在跨 SDN域链路。
进一步地, 所述发送器 4001发送的所述指示消息具体用于指示所述指定 设备通过指定出端口发送所述标识报文; 且所述指定设备通过所述出端口发 送的标识报文中 , 携带有所述出端口对应链路的链路属性信息;
所述第二子 SDN控制器管辖的设备向所述第二子 SDN控制器发送的所 述询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性 信息;
所述处理器 4004, 具体用于根据所述标识报文中携带的所述出端口对应 链路的链路属性信息, 以及所述入端口对应链路的链路属性信息 , 确定所述 出端口与所述入端口之间存在跨 SDN域链路。
进一步地, 所述接收器 4002, 还用于在父 SDN控制器向第一子 SDN控 制器发送指示消息之前,接收所述第一子 SDN控制器上报的端口信息,其中, 所述端口信息表征的端口为从所述第一子 SDN控制器管辖的各设备的各端口 中确定的、 未与所述各端口中的任一端口构成链路的端口;
所述处理器 4004,还用于将所述接收器 4002接收的上 ^艮端口确定为指定 出端口, 并将所述上报端口所属的设备确定为指定设备。
本发明实施例提供的一种 SDN控制器, 如图 41所示, 包括如下部分: 发送器 4101 ,用于向管辖的指定设备发送封装有携带了所述 SDN控制器 标识的标识报文的指示消息, 其中, 所述指示消息用于指示所述指定设备转 发所述标识 文;
接收器 4102, 用于接收封装有所述标识报文的封装消息, 其中, 所述封 装消息为根据其他 SDN控制器管辖的设备, 接收到所述指定设备发送的标识 报文之后, 将所述标识报文封装为用于向所述其他 SDN控制器询问转发所述 标识报文的端口的端口信息的第一询问消息确定的;
解析器 4103 ,用于解析所述接收器 4102接收的所述封装消息中封装的标 识艮文;
处理器 4104, 用于当所述解析器 4103 确定所述标识报文中携带有所述 SDN控制器的标识时, 根据所述标识报文, 确定接收所述发送器 4101发送的 所述指示消息的所述指定设备与所述其他 SDN控制器管辖的设备之间存在跨 SDN域链路。
进一步地,所述其他 SDN控制器为所述 SDN控制器的邻接 SDN控制器, 其中, 所述 SDN控制器的邻接 SDN控制器为与所述 SDN控制器存在连通的 物理链路的 SDN控制器, 或者, 与所述 SDN控制器存在通信机制的 SDN控 制器, 或者, 为所述 SDN控制器配置的 SDN控制器;
所述接收器 4102, 具体用于接收所述其他 SDN控制器转发的封装消息, 其中, 所述封装消息为所述其他 SDN控制器管辖的设备, 接收到所述指定设 备发送的标识报文之后, 将所述标识报文封装为用于向所述其他 SDN控制器 询问转发所述标识艮文的端口的端口信息的第一询问消息。
进一步地, 所述发送器 4101发送的所述指示消息具体用于指示所述指定 设备, 通过指定出端口发送所述标识报文, 且所述标识报文与所述指示消息 具有对应关系;
所述接收器 4102接收的所述封装消息具体为所述其他 SDN控制器管辖 的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文 之后,将所述标识报文封装为携带有所述入端口信息的、用于向所述其他 SDN 控制器询问转发所述标识 ^文的端口的端口信息的第一询问消息;
所述处理器 4104, 具体用于根据所述标识报文, 确定与所述标识报文具 有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述封装 消息中携带的所述入端口之间存在跨 SDN域链路。
进一步地, 所述接收器 4102, 具体用于接收所述指定设备发送的封装有 所述封装消息的第二询问消息, 其中, 所述第二询问消息用于询问转发所述 封装消息的端口的端口信息 , 所述封装消息为所述其他 SDN控制器管辖的设 备, 接收到所述指定设备发送的标识报文之后, 再将所述标识报文封装为用 于向所述其他 SDN控制器询问转发所述标识 ·艮文的端口的端口信息的第一询 问消息之后, 所述其他 SDN控制器根据所述第一询问消息, 封装的携带有所 述标识报文的封装消息。
进一步地, 所述发送器 4101发送的所述指示消息具体用于指示所述指定 设备, 通过指定出端口发送所述标识报文, 且所述标识报文有与所述指示消 息具有对应关系;
所述接收器 4102接收的所述封装消息具体为所述其他 SDN控制器管辖 的设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文 之后, 再将所述标识报文封装为携带有所述入端口信息的、 用于向所述其他 SDN控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后, 所述其他 SDN控制器根据所述第一询问消息, 封装的携带有所述标识报文和 所述入端口的端口信息的封装消息;
所述处理器 4104, 具体用于根据所述标识报文, 确定与所述标识报文具 有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述第二 询问消息中封装的所述封装消息中携带的所述入端口之间存在跨 SDN 域链 路。
进一步地, 所述发送器 4101发送的所述指示消息具体用于指示所述指定 设备, 通过指定出端口发送所述标识报文; 且所述指定设备通过所述出端口 发送的标识报文中, 携带有所述出端口对应链路的链路属性信息;
所述其他 SDN控制器管辖的设备向所述其他 SDN控制器发送的所述第 一询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性 信息;
所述处理器 4104 , 具体用于根据所述标识报文中携带的所述出端口对应 链路的链路属性信息, 以及所述入端口对应链路的链路属性信息, 确定所述 出端口与所述入端口之间存在跨 SDN域链路。
本发明实施例提供了一种设备, 如图 42所示, 包括如下部分: 发送器 4201 , 用于向其他设备发送用于探测所述设备和所述其他设备之 间是否存在链路的链路探测消息;
接收器 4202,用于接收所述其他设备在接收到所述发送器 4201发送的所 述链路探测消息之后, 发送的链路探测回应消息, 其中, 所述链路探测回应 消息中携带有所述其他设备所属 SDN域的域标识信息;
处理器 4203, 用于当所述设备所属 SDN域的域标识, 与所述其他设备所 属 SDN域的域标识不同时, 确定所述设备与所述其他设备之间存在跨 SDN 域的链路。
进一步地, 所述接收器 4202接收的所述链路探测回应消息中还携带有所 述其他设备接收所述链路探测消息的入端口信息;
所述处理器 4203, 具体用于确定所述设备发送所述链路探测消息的出端 口与所述入端口之间存在跨域链路。
进一步地, 所述发送器 4201 , 还用于在所述处理器 4203确定所述设备发 送所述链路探测消息的出端口与所述入端口之间存在跨域链路之后 , 向所述 其他设备发送用于探测所述入端口对应链路的链路属性的链路属性探测消 息;
所述接收器 4202,还用于在所述发送器 4201发送所述链路属性探测消息 之后, 接收所述其他设备发送的链路属性探测回应消息, 其中, 所述链路属 性探测回应消息中携带有所述入端口对应链路的链路属性。
进一步地, 所述发送器 4201, 还用于当所述处理器 4203确定所述设备与 所述其他设备之间存在跨 SDN域的链路之后, 向管辖所述设备的 SDN控制 器上报所述跨 SDN域链路的信息。
进一步地, 如图 39所示的 SDN控制器可以作为跨 SDN域链路发现的非 发起端,如图 40所示的父 SDN控制器可以作为跨 SD 域链路发现的发起端, 如图 41所示的 SDN控制器可以作为跨 SDN域链路发现的发起端, 如图 42 所示的设备可以作为跨 SDN域链路发现的发起端, 由于在跨 SDN域链路的 发现过程中, 需要多个 SDN控制器以及设备相互合作, 因此, 本发明实施例 提供的 SDN控制器还可以构成跨 SDN域链路发现系统, 该系统可以包括如 图 39所示的 SDN控制器和如图 40所示的父 SDN控制器, 或者该系统可以 包括如图 39所示的 SDN控制器和如图 41所示的 SDN控制器, 或者该系统 可以包括多个如图 42所示的设备。
上述各单元的功能可对应于图 2至图 10、 图 12、 图 14至图 21、 图 23至 图 30、 图 32至图 34所示流程中的相应处理步骤, 在此不再赘述。
本发明实施例提供的一种链路发现方法、 SDN控制器及设备, 父 SDN控 制器向第一子 SDN控制器发送封装有携带了父 SDN控制器标识的标识报文 的指示消息, 其中, 指示消息用于指示第一子 SDN控制器通过管辖的指定设 备转发标识报文; 第二子 SDN控制器管辖的设备, 接收到指定设备发送标识 报文之后, 将标识报文封装为用于向第二子 SDN控制器询问转发标识报文的 端口的端口信息的询问消息, 并发送给第二子 SDN控制器, 第二子 SDN控 制器解析出标识报文未携带第二子 SDN控制器的标识时, 将询问消息转发给 父 SDN控制器; 父 SDN控制器解析询问消息中封装的标识报文; 当确定标 识报文携带有父 SDN控制器的标识时, 根据标识报文, 确定指定设备与第二 子 SDN控制器管辖的设备之间存在跨 SDN域链路。 通过父 SDN控制器对自 身管辖的子 SDN控制器之间的链路进行探测, 来发现父 SDN控制器管辖的 多个子 SDN控制器所在的 SDN域之间的跨 SDN域链路, 解决了现有技术中 无法发现跨 SD 域链路的问题。
本发明实施例提供的一种链路发现方法、 SDN控制器及设备, 第一 SDN 控制器向管辖的指定设备发送封装有携带了第一 SDN控制器标识的标识报文 的指示消息, 其中, 指示消息用于指示指定设备转发标识报文; 第二 SDN控 制器接收管辖的设备发送的、 用于询问转发该设备接收到的标识报文的端口 的端口信息的第一询问消息,解析标识报文,当确定标识报文未携带第二 SDN 控制器的标识时, 向与第二 SDN控制器连通的链路, 发送根据第一询问消息 确定的、 封装有标识报文的封装消息; 第一 SDN控制器接收到该封装消息之 后, 解析该封装消息中封装的标识报文, 当确定标识报文中携带有第一 SDN 控制器的标识时, 根据标识报文, 确定指定设备与第二 SDN控制器管辖的设 备之间存在跨 SDN域链路。通过 SDN控制器发起对其他 SDN控制器的探测, 从而发现 SDN控制器之间的跨 SDN域链路, 解决了现有技术中无法发现跨 SDN域链路的问题。
本发明实施例提供的一种链路发现方法、 SDN控制器及设备, 第一设备 向第二设备发送用于探测第一设备和所述第二设备之间是否存在链路的链路 探测消息; 接收第二设备发送的链路探测回应消息, 其中, 链路探测回应消 息中携带有第二设备所属 SDN域的域标识信息; 当第一设备所属 SDN域的 域标识, 与笫二设备所属 SDN域的域标识不同时, 确定第一设备所属 SDN 域与第二设备所属 SDN域之间存在跨 SDN域的链路。 通过 SDN控制器管辖 的设备, 发起对归属于其他 SDN域的设备进行探测, 从而确定存在链路的设 备分别归属的 SDN域之间存在链路, 解决了现有技术中无法发现跨 SDN域 链路的问题。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或 计算机程序产品。 因此, 本发明可采用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实施例的形式。 而且, 本发明可采用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘 存储器、 CD-ROM、 光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序产 品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程图 和 /或方框图中的每一流程和 /或方框、 以及流程图和 /或方框图中的流程 和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器, 使得通 过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流 程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的 装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器 中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个流程或 多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的 处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图 一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的步 骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了 基本创造性概念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权 利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然, 本领域的技术人员可以对本发明实施例进行各种改动和变型而不 脱离本发明实施例的精神和范围。 这样, 倘若本发明实施例的这些修改和变 型属于本发明权利要求及其等同技术的范围之内, 则本发明也意图包含这些 改动和变型在内。

Claims

权 利 要 求
1、 一种链路发现方法, 其特征在于, 包括:
第一软件定义网络 SDN控制器接收管辖的第一设备发送的询问消息, 其 中, 所述询问消息用于询问转发所述第一设备接收到的标识报文的端口的端 口信息, 所述询问消息中封装有携带了第二 SDN控制器标识的标识报文; 解析所述标识 4艮文;
当确定所述标识 4艮文未携带所述第一 SDN控制器的标识时, 向与所述第 一 SDN控制器连通的链路, 发送根据所述询问消息确定的、 封装有所述标识 报文的封装消息;
其中, 所述封装消息用于所述第二 SDN控制器接收到所述封装消息时, 根据所述封装消息中封装的所述标识报文, 确定向所述第一设备发送所述标 识报文的第二设备与所述第一设备之间存在跨 SDN域链路。
2、 如权利要求 1所述的方法, 其特征在于, 在所述第二 SDN控制器为 所述第一 SDN控制器的父 SDN控制器时, 向与所述第一 SDN控制器连通的 链路, 发送根据所述询问消息确定的、 封装有所述标识报文的封装消息, 具 体包括:
向所述第一 SDN控制器的父 SDN控制器转发所述询问消息。
3、 如权利要求 1所述的方法, 其特征在于, 向与所述第一 SDN控制器 连通的链路, 发送根据所述询问消息确定的、 封装有所述标识报文的封装消 息, 具体包括:
向所述第一 SDN控制器的所有邻接 SDN控制器, 转发所述询问消息, 其中, 所述第一 SDN控制器的邻接 SDN控制器为与所述第一 SDN控制器存 在连通的物理链路的 SDN控制器, 或者, 与所述第一 SDN控制器存在通信 机制的 SDN控制器, 或者, 为所述第一 SDN控制器配置的 SDN控制器; 或 者 所述标识报文中携带有所述第二 SDN控制器所管辖的 SDN域的域标识; 向与所述第一 SDN控制器连通的链路, 发送根据所述询问消息确定的、 封装有所述标识报文的封装消息, 具体包括:
根据解析出的所述标识^ ¾文中携带的所述第二 SDN控制器所管辖的 SDN 域的域标识, 向所述第二 SDN控制器转发所述询问消息。
4、 如权利要求 2或 3所述的方法, 其特征在于, 所述询问消息中封装的 所述标识报文为所述第一设备通过入端口接收到的, 且所述询问消息中还携 带有所述入端口的端口信息。
5、 如权利要求 2或 3所述的方法, 其特征在于, 所述询问消息中封装的 所述标识报文, 为所述第一设备通过入端口接收到的、 携带有所述第二设备 的出端口对应链路的链路信息的标识艮文;
所述第一设备向所述第一 SDN控制器发送的所述询问消息所封装的标识 报文中, 还携带有所述入端口对应链路的链路属性信息。
6、 如权利要求 1所述的方法, 其特征在于, 向与所述第一 SDN控制器 连通的链路, 发送根据所述询问消息确定的、 封装有所述标识报文的封装消 息, 具体包括:
向所述第一设备发送封装有封装消息的指示消息, 其中, 所述指示消息 用于指示所述设备转发所述封装消息。
7、 如权利要求 6所述的方法, 其特征在于, 所述询问消息中封装的所述 标识报文, 为所述第一设备通过入端口接收到的, 且所述询问消息中还携带 有所述入端口的端口信息; 所述指示消息具体用于指示所述设备通过所述入 端口转发所述封装消息;
在向所述第一设备发送封装有所述封装消息的指示消息之前, 还包括: 将所述标识 文和所述入端口的端口信息封装为所述封装消息。
8、 如权利要求 6所述的方法, 其特征在于, 所述询问消息中封装的所述 标识报文为所述第一设备通过入端口接收到的、 携带有所述第二设备的出端 口对应链路的链路信息的标识报文; 所述第一设备向所述第一 SDN控制器发 送的所述询问消息所封装的标识 ^艮文中, 还携带有所述入端口对应链路的链 路属性信息; 所述指示消息具体用于指示所述第一设备通过所述入端口转发 所述封装消息;
在向所述第一设备发送封装有所述封装消息的指示消息之前, 还包括: 将携带有所述入端口对应链路的链路属性信息的标识报文封装为封装消 息, 或者, 将携带有所述入端口对应链路的链路属性信息的标识报文作为封 装消息。
9、 一种链路发现方法, 其特征在于, 包括:
父软件定义网络 SDN控制器向第一子 SDN控制器发送封装有携带了所 述父 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指示 所述第一子 SDN控制器通过管辖的指定设备转发所述标识报文;
接收第二子 SDN控制器转发的询问消息, 其中, 所述询问消息为所述第 二子 SDN控制器管辖的设备, 接收到所述指定设备发送所述标识报文之后, 将所述标识报文封装为用于向所述第二子 SDN控制器询问转发所述标识报文 的端口的端口信息的询问消息;
解析所述询问消息中封装的标识报文;
当确定所述标识 · ^文携带有所述父 SDN控制器的标识时, 根据所述标识 报文, 确定所述指定设备与所述第二子 SDN 控制器管辖的设备之间存在跨 SDN域链路。
10、 如权利要求 9所述的方法, 其特征在于, 所述指示消息具体用于指 示所述指定设备, 通过指定出端口发送所述标识报文, 且所述标识报文有与 所述指示消息具有对应关系;
所述询问消息具体为所述第二子 SDN控制器管辖的设备通过入端口接收 到所述指定设备通过所述出端口发送的所述标识报文之后, 将所述标识报文 封装为携带有所述入端口的端口信息的、 用于向所述第二子 SDN控制器询问 转发所述标识报文的端口的端口信息的询问消息;
根据所述标识报文, 确定所述指定设备与所述第二子 SDN控制器管辖的 设备之间存在跨 SDN域链路, 具体包括:
才艮据所述标识 ·^艮文, 确定与所述标识 "¾文具有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述询问消息中携带的所述入 端口之间存在跨 SDN域链路。
11、 如权利要求 9 所述的方法, 其特征在于, 所述指示消息具体用于指 示所述指定设备通过指定出端口发送所述标识报文; 且所述指定设备通过所 述出端口发送的标识报文中, 携带有所述出端口对应链路的链路属性信息; 所述第二子 SDN控制器管辖的设备向所述第二子 SDN控制器发送的所 述询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性 信息;
根据所述标识报文, 确定所述指定设备与所述第二子 SDN控制器管辖的 设备之间存在跨 SDN域链路, 具体包括:
根据所述标识报文中携带的所述出端口对应链路的链路属性信息, 以及 所述入端口对应链路的链路属性信息, 确定所述出端口与所述入端口之间存 在跨 SDN域链路。
12、 如权利要求 10或 11所述的方法, 其特征在于, 在父 SDN控制器向 第一子 SDN控制器发送指示消息之前, 还包括:
父 SDN控制器接收所述第一子 SDN控制器上 的端口信息, 其中, 所 述端口信息表征的端口为从所述第一子 SDN控制器管辖的各设备的各端口中 确定的、 未与所述各端口中的任一端口构成链路的端口;
将上报端口确定为指定出端口, 并将所述上报端口所属的设备确定为指 定设备。
13、 如权利要求 10或 11所述的方法, 其特征在于, 所述标识报文为链 路层发现协议 LLDP报文, 所述指示消息为数据包-出 packet-out消息, 所述 询问消息为数据包-入 packet-in消息。
14、 一种链路发现方法, 其特征在于, 包括:
第一软件定义网络 SDN控制器向管辖的指定设备发送封装有携带了所述 第一 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指示 所述指定设备转发所述标识报文;
接收封装有所述标识报文的封装消息, 其中, 所述封装消息为根据第二 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报文之后, 将所述 标识报文封装为用于向所述第二 SDN控制器询问转发所述标识报文的端口的 端口信息的第一询问消息确定的;
解析所述封装消息中封装的标识报文;
当确定所述标识 4艮文中携带有所述第一 SDN控制器的标识时, 根据所述 标识报文, 确定所述指定设备与所述第二 SDN控制器管辖的设备之间存在跨 SDN域链路。
15、 如权利要求 14所述的方法, 其特征在于, 所述第二 SDN控制器为 所述第一 SDN控制器的邻接 SDN控制器, 其中, 所述第一 SDN控制器的邻 接 SDN控制器为与所述第一 SDN控制器存在连通的物理链路的 SDN控制器, 或者, 与所述第一 SDN控制器存在通信机制的 SDN控制器, 或者, 为所述 第一 SDN控制器配置的 SDN控制器;
接收封装有所述标识报文的封装消息, 具体包括:
接收所述第二 SDN控制器转发的封装消息, 其中, 所述封装消息为所述 第二 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报文之后, 将 所述标识报文封装为用于向所述第二 SDN控制器询问转发所述标识报文的端 口的端口信息的第一询问消息。
16、 如权利要求 15所述的方法, 其特征在于, 所述指示消息具体用于指 示所述指定设备, 通过指定出端口发送所述标识报文, 且所述标识报文与所 述指示消息具有对应关系;
所述封装消息具体为所述第二 SDN控制器管辖的设备通过入端口接收到 所述指定设备通过所述出端口发送的所述标识报文之后, 将所述标识报文封 装为携带有所述入端口信息的、 用于向所述第二 SDN控制器询问转发所述标 识艮文的端口的端口信息的第一询问消息; 根据所述标识报文, 确定所述指定设备与所述第二子 SDN控制器管辖的 设备之间存在跨 SDN域链路, 具体包括:
才艮据所述标识" ^文, 确定与所述标识 ·^艮文具有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述封装消息中携带的所述入 端口之间存在跨 SDN域链路。
17、 如权利要求 14-16任一项所述的方法, 其特征在于, 所述标识报文为 链路层发现协议 LLDP报文, 所述指示消息为数据包-出 packet-out消息, 所 述询问消息为数据包-入 packet-in消息。
18、 如权利要求 14所述的方法, 其特征在于, 接收封装有所述标识报文 的封装消息, 具体包括:
接收所述指定设备发送的封装有所述封装消息的第二询问消息, 其中, 所述第二询问消息用于询问转发所述封装消息的端口的端口信息, 所述封装 消息为所述第二 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报 文之后, 再将所述标识报文封装为用于向所述第二 SDN控制器询问转发所述 标识 的端口的端口信息的第一询问消息之后, 所述第二 SDN控制器根据 所述第一询问消息, 封装的携带有所述标识报文的封装消息。
19、 如权利要求 18所述的方法, 其特征在于, 所述指示消息具体用于指 示所述指定设备, 通过指定出端口发送所述标识报文, 且所述标识报文有与 所述指示消息具有对应关系;
所述封装消息具体为所述第二 SDN控制器管辖的设备通过入端口接收到 所述指定设备通过所述出端口发送的所述标识报文之后, 再将所述标识报文 封装为携带有所述入端口信息的、 用于向所述第二 SDN控制器询问转发所述 标识 的端口的端口信息的第一询问消息之后, 所述第二 SDN控制器根据 所述第一询问消息, 封装的携带有所述标识 4艮文和所述入端口的端口信息的 封装消息;
根据所述标识报文, 确定所述指定设备与所述第二子 SDN控制器管辖的 设备之间存在跨 SDN域链路, 具体包括: 才艮据所述标识^^文, 确定与所述标识 ^文具有对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述第二询问消息中封装的所 述封装消息中携带的所述入端口之间存在跨 SDN域链路。
20、 如权利要求 15或 18所述的方法, 其特征在于, 所述指示消息具体 用于指示所述指定设备, 通过指定出端口发送所述标识报文; 且所述指定设 备通过所述出端口发送的标识报文中, 携带有所述出端口对应链路的链路属 性信息;
所述第二 SDN控制器管辖的设备向所述第二 SDN控制器发送的所述第 一询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性 信息;
根据所述标识报文, 确定所述指定设备与所述第二 SDN控制器管辖的设 备之间存在跨 SDN域链路, 具体包括:
根据所述标识报文中携带的所述出端口对应链路的链路属性信息, 以及 所述入端口对应链路的链路属性信息, 确定所述出端口与所述入端口之间存 在跨 SDN域链路。
21、 一种链路发现方法, 其特征在于, 包括:
第一设备向第二设备发送用于探测所述第一设备和所述第二设备之间是 否存在链路的链路探测消息;
接收所述第二设备发送的链路探测回应消息, 其中, 所述链路探测回应 消息中携带有所述第二设备所属 SDN域的域标识信息;
当所述笫一设备所属 SDN域的域标识, 与所述第二设备所属 SDN域的 域标识不同时,确定所述第一设备与所述第二设备之间存在跨 SDN域的链路。
22、 如权利要求 21所述的方法, 其特征在于, 所述链路探测回应消息中 还携带有所述第二设备接收所述链路探测消息的入端口信息;
确定所述第一设备与所述第二设备之间存在跨 SDN域的链路,具体包括: 确定所述第一设备发送所述链路探测消息的出端口与所述入端口之间存 在跨域链路。
23、 如权利要求 22所述的方法, 其特征在于, 确定所述第一设备发送所 述链路探测消息的出端口与所述入端口之间存在跨域链路之后 , 还包括: 向所述第二设备发送用于探测所述入端口对应链路的链路属性的链路属 性探测消息;
接收所述第二设备发送的链路属性探测回应消息, 其中, 所述链路属性 探测回应消息中携带有所述入端口对应链路的链路属性。
24、 如权利要求 21-23任一项所述的方法, 其特征在于, 当确定所述第一 设备与所述第二设备之间存在跨 SDN域的链路之后, 还包括:
向管辖所述第一设备的 SDN控制器上报所述跨 SD 域链路的信息。
25、 一种 SDN控制器, 其特征在于, 包括:
接收模块, 用于接收管辖的第一设备发送的询问消息, 其中, 所述询问 消息用于询问转发所述第一设备接收到的标识报文的端口的端口信息, 所述 询问消息中封装有携带了其他 SDN控制器标识的标识报文;
解析模块, 用于解析所述接收模块接收的询问消息中封装的所述标识报 文;
发送模块, 用于当根据所述解析模块的解析结果, 确定所述标识报文未 携带所述 SDN控制器的标识时, 向与所述 SDN控制器连通的链路, 发送根 据所述询问消息确定的、 封装有所述标识报文的封装消息; 其中, 所述封装 消息用于所述其他 SDN控制器接收到所述封装消息时, 根据所述封装消息中 封装的所述标识报文, 确定向所述第一设备发送所述标识报文的第二设备与 所述第一设备之间存在跨 SDN域链路。
26、 如权利要求 25所述的 SDN控制器, 其特征在于, 在所述其他 SDN 控制器为所述 SDN控制器的父 SDN控制器时, 所述发送模块具体用于向所 述 SDN控制器的父 SDN控制器转发所述询问消息。
27、 如权利要求 25所述的 SDN控制器, 其特征在于, 所述发送模块具 体用于向所述 SDN控制器的所有邻接 SDN控制器, 转发所述询问消息, 其 中, 所述 SDN控制器的邻接 SDN控制器为与所述 SDN控制器存在连通的物 理链路的 SDN控制器, 或者, 与所述 SDN控制器存在通信机制的 SDN控制 器, 或者, 为所述 SDN控制器配置的 SDN控制器; 或者
所述发送模块具体用于当所述标识报文中携带有所述其他 SDN控制器所 管辖的 SDN域的域标识,根据解析出的所述标识报文中携带的所述其他 SDN 控制器所管辖的 SDN域的域标识, 向所述其他 SDN控制器转发所述询问消 息。
28、 如权利要求 25所述的 SDN控制器, 其特征在于, 所述发送模块具 体用于向所述第一设备发送封装有封装消息的指示消息, 其中, 所述指示消 息用于指示所述设备转发所述封装消息。
29、 如权利要求 28所述的 SDN控制器, 其特征在于, 所述接收模块接 收的所述询问消息中封装的所述标识报文, 为所述第一设备通过入端口接收 到的, 且所述询问消息中还携带有所述入端口的端口信息; 所述发送模块发 送的所述指示消息具体用于指示所述设备通过所述入端口转发所述封装消 息;
所述发送模块, 还用于在向所述第一设备发送封装有所述封装消息的指 示消息之前, 将所述标识报文和所述入端口的端口信息封装为所述封装消息。
30、 如权利要求 28所述的 SDN控制器, 其特征在于, 所述接收模块接 收的所述询问消息中封装的所述标识报文为所述第一设备通过入端口接收到 的、 携带有所述第二设备的出端口对应链路的链路信息的标识报文; 所述第 一设备向所述第一 SDN控制器发送的所述询问消息所封装的标识报文中, 还 携带有所述入端口对应链路的链路属性信息; 所述发送模块发送的所述指示 消息具体用于指示所述第一设备通过所述入端口转发所述封装消息;
所述发送模块, 还用于在向所述第一设备发送封装有所述封装消息的指 示消息之前, 将携带有所述入端口对应链路的链路属性信息的标识报文封装 为封装消息, 或者, 将携带有所述入端口对应链路的链路属性信息的标识报 文作为封装消息。
31、 一种父 SDN控制器, 其特征在于, 包括: 发送模块, 用于向第一子软件定义网络 SDN控制器发送封装有携带了所 述父 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指示 所述第一子 SDN控制器通过管辖的指定设备转发所述标识报文;
接收模块, 用于接收第二子 SDN控制器转发的询问消息, 其中, 所述询 问消息为所述第二子 SDN控制器管辖的设备, 接收到所述指定设备发送所述 标识报文之后, 将所述标识报文封装为用于向所述第二子 SDN控制器询问转 发所述标识 ·艮文的端口的端口信息的询问消息;
解析模块, 用于解析所述接收模块接收的所述询问消息中封装的标识报 文;
确定模块, 用于当根据所述解析模块的解析结果, 确定所述标识报文携 带有所述父 SDN控制器的标识时, 根据所述标识报文, 确定接收所述发送模 块发送的所述指示消息的所述指定设备与所述第二子 SDN控制器管辖的设备 之间存在跨 SDN域链路。
32、 如权利要求 31所述的父 SDN控制器, 其特征在于, 所述发送模块 发送的所述指示消息具体用于指示所述指定设备, 通过指定出端口发送所述 标识报文, 且所述标识报文有与所述指示消息具有对应关系;
所述接收模块接收的所述询问消息具体为所述第二子 SDN控制器管辖的 设备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之 后, 将所述标识报文封装为携带有所述入端口的端口信息的、 用于向所述第 二子 SDN控制器询问转发所述标识 · ^文的端口的端口信息的询问消息; 所述确定模块, 具体用于根据所述标识报文, 确定与所述标识报文具有 对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述询问消 息中携带的所述入端口之间存在跨 SD 域链路。
33、 如权利要求 31所述的父 SDN控制器, 其特征在于, 所述发送模块 发送的所述指示消息具体用于指示所述指定设备通过指定出端口发送所述标 识报文; 且所述指定设备通过所述出端口发送的标识报文中, 携带有所述出 端口对应链路的链路属性信息; 所述第二子 SDN控制器管辖的设备向所述第二子 SDN控制器发送的所 述询问消息所封装的标识报文中 , 还携带有所述入端口对应链路的链路属性 信息;
所述确定模块, 具体用于根据所述标识报文中携带的所述出端口对应链 路的链路属性信息, 以及所述入端口对应链路的链路属性信息, 确定所述出 端口与所述入端口之间存在跨 SDN域链路。
34、 如权利要求 32和 33所述的父 SDN控制器, 其特征在于, 所述接收 模块, 还用于在父 SDN控制器向第一子 SDN控制器发送指示消息之前, 接 收所述第一子 SDN控制器上报的端口信息, 其中, 所述端口信息表征的端口 为从所述第一子 SDN控制器管辖的各设备的各端口中确定的、 未与所述各端 口中的任一端口构成链路的端口;
所述确定模块, 还用于将所述接收模块接收的上报端口确定为指定出端 口, 并将所述上报端口所属的设备确定为指定设备。
35、 一种 SDN控制器, 其特征在于, 包括:
发送模块, 用于向管辖的指定设备发送封装有携带了所述 SDN控制器标 识的标识报文的指示消息, 其中, 所述指示消息用于指示所述指定设备转发 所述标识 文;
接收模块, 用于接收封装有所述标识报文的封装消息, 其中, 所述封装 消息为根据其他 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报 文之后, 将所述标识 ·艮文封装为用于向所述其他 SDN控制器询问转发所述标 识^¾文的端口的端口信息的第一询问消息确定的;
解析模块, 用于解析所述接收模块接收的所述封装消息中封装的标识报 文;
确定模块, 用于当所述解析模块确定所述标识报文中携带有所述 SDN控 制器的标识时, 根据所述标识报文, 确定接收所述发送模块发送的所述指示 消息的所述指定设备与所述其他 SDN控制器管辖的设备之间存在跨 SDN域 链路。
36、 如权利要求 35所述的 SDN控制器, 其特征在于, 所述其他 SDN控 制器为所述 SDN控制器的邻接 SDN控制器, 其中, 所述 SDN控制器的邻接 SDN控制器为与所述 SDN控制器存在连通的物理链路的 SDN控制器,或者, 与所述 SDN控制器存在通信机制的 SDN控制器, 或者, 为所述 SDN控制器 配置的 SDN控制器;
所述接收模块, 具体用于接收所述其他 SDN控制器转发的封装消息, 其 中, 所述封装消息为所述其他 SDN控制器管辖的设备, 接收到所述指定设备 发送的标识报文之后, 将所述标识报文封装为用于向所述其他 SDN控制器询 问转发所述标识报文的端口的端口信息的第一询问消息。
37、 如权利要求 36所述的 SDN控制器, 其特征在于, 所述发送模块发 送的所述指示消息具体用于指示所述指定设备, 通过指定出端口发送所述标 识报文, 且所述标识报文与所述指示消息具有对应关系;
所述接收模块接收的所述封装消息具体为所述其他 SDN控制器管辖的设 备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之 后, 将所述标识报文封装为携带有所述入端口信息的、 用于向所述其他 SDN 控制器询问转发所述标识 ·^艮文的端口的端口信息的第一询问消息;
所述确定模块, 具体用于根据所述标识报文, 确定与所述标识报文具有 对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述封装消 息中携带的所述入端口之间存在跨 SD 域链路。
38、 如权利要求 35所述的 SDN控制器, 其特征在于, 所述接收模块, 具体用于接收所述指定设备发送的封装有所述封装消息的第二询问消息, 其 中, 所述第二询问消息用于询问转发所述封装消息的端口的端口信息, 所述 封装消息为所述其他 SDN控制器管辖的设备, 接收到所述指定设备发送的标 识报文之后, 再将所述标识报文封装为用于向所述其他 SDN控制器询问转发 所述标识 ^文的端口的端口信息的第一询问消息之后, 所述其他 SDN控制器 根据所述第一询问消息, 封装的携带有所述标识 4艮文的封装消息。
39、 如权利要求 38所述的 SDN控制器, 其特征在于, 所述发送模块发 送的所述指示消息具体用于指示所述指定设备, 通过指定出端口发送所述标 识报文, 且所述标识报文有与所述指示消息具有对应关系;
所述接收模块接收的所述封装消息具体为所述其他 SDN控制器管辖的设 备通过入端口接收到所述指定设备通过所述出端口发送的所述标识报文之 后,再将所述标识报文封装为携带有所述入端口信息的、用于向所述其他 SDN 控制器询问转发所述标识报文的端口的端口信息的第一询问消息之后, 所述 其他 SDN控制器根据所述第一询问消息, 封装的携带有所述标识报文和所述 入端口的端口信息的封装消息;
所述确定模块, 具体用于根据所述标识报文, 确定与所述标识报文具有 对应关系的指示消息; 确定所述指示消息中指定的所述出端口与所述第二询 问消息中封装的所述封装消息中携带的所述入端口之间存在跨 SDN域链路。
40、 如权利要求 36或 38所述的 SDN控制器, 其特征在于, 所述发送模 块发送的所述指示消息具体用于指示所述指定设备, 通过指定出端口发送所 述标识报文; 且所述指定设备通过所述出端口发送的标识报文中, 携带有所 述出端口对应链路的链路属性信息;
所述其他 SDN控制器管辖的设备向所述其他 SDN控制器发送的所述第 一询问消息所封装的标识报文中, 还携带有所述入端口对应链路的链路属性 信息;
所述确定模块, 具体用于根据所述标识报文中携带的所述出端口对应链 路的链路属性信息, 以及所述入端口对应链路的链路属性信息, 确定所述出 端口与所述入端口之间存在跨 SDN域链路。
41、 一种设备, 其特征在于, 包括:
发送模块, 用于向其他设备发送用于探测所述设备和所述其他设备之间 是否存在链路的链路探测消息;
接收模块, 用于接收所述其他设备在接收到所述发送模块发送的所述链 路探测消息之后, 发送的链路探测回应消息, 其中, 所述链路探测回应消息 中携带有所述其他设备所属 SDN域的域标识信息; 确定模块, 用于当所述设备所属 SDN域的域标识, 与所述其他设备所属 SDN域的域标识不同时,确定所述设备与所述其他设备之间存在跨 SDN域的 链路。
42、 如权利要求 41所述的设备, 其特征在于, 所述接收模块接收的所述 链路探测回应消息中还携带有所述其他设备接收所述链路探测消息的入端口 信息;
所述确定模块, 具体用于确定所述设备发送所述链路探测消息的出端口 与所述入端口之间存在跨域链路。
43、 如权利要求 42所述的设备, 其特征在于, 所述发送模块, 还用于在 所述确定模块确定所述设备发送所述链路探测消息的出端口与所述入端口之 间存在跨域链路之后, 向所述其他设备发送用于探测所述入端口对应链路的 链路属性的链路属性探测消息;
所述接收模块, 还用于在所述发送模块发送所述链路属性探测消息之后, 接收所述其他设备发送的链路属性探测回应消息, 其中, 所述链路属性探测 回应消息中携带有所述入端口对应链路的链路属性。
44、 如权利要求 41-43任一项所述的设备, 其特征在于, 所述发送模块, 还用于当所述确定模块确定所述设备与所述其他设备之间存在跨 SDN域的链 路之后, 向管辖所述设备的 SDN控制器上报所述跨 SD 域链路的信息。
45、 一种 SDN控制器, 其特征在于, 包括:
接收器, 用于接收管辖的第一设备发送的询问消息, 其中, 所述询问消 息用于询问转发所述笫一设备接收到的标识报文的端口的端口信息, 所述询 问消息中封装有携带了其他 SDN控制器标识的标识报文;
处理器, 用于解析所述接收器接收的询问消息中封装的所述标识报文; 发送器, 用于当根据所述处理器的解析结果, 确定所述标识报文未携带 所述 SDN控制器的标识时, 向与所述 SDN控制器连通的链路, 发送根据所 述询问消息确定的、 封装有所述标识报文的封装消息; 其中, 所述封装消息 用于所述其他 SDN控制器接收到所述封装消息时, 根据所述封装消息中封装 的所述标识报文, 确定向所述第一设备发送所述标识报文的第二设备与所述 第一设备之间存在跨 SDN域链路。
46、 一种父 SDN控制器, 其特征在于, 包括:
发送器, 用于向第一子软件定义网络 SDN控制器发送封装有携带了所述 父 SDN控制器标识的标识报文的指示消息, 其中, 所述指示消息用于指示所 述第一子 SDN控制器通过管辖的指定设备转发所述标识报文;
接收器, 用于接收第二子 SDN控制器转发的询问消息, 其中, 所述询问 消息为所述第二子 SDN控制器管辖的设备, 接收到所述指定设备发送所述标 识报文之后, 将所述标识报文封装为用于向所述第二子 SDN控制器询问转发 所述标识 文的端口的端口信息的询问消息;
解析器, 用于解析所述接收器接收的所述询问消息中封装的标识报文; 处理器, 用于当根据所述解析器的解析结果, 确定所述标识报文携带有 所述父 SDN控制器的标识时, 根据所述标识报文, 确定接收所述发送器发送 的所述指示消息的所述指定设备与所述第二子 SDN控制器管辖的设备之间存 在跨 SDN域链路。
47、 一种 SDN控制器, 其特征在于, 包括:
发送器, 用于向管辖的指定设备发送封装有携带了所述 SDN控制器标识 的标识报文的指示消息, 其中, 所述指示消息用于指示所述指定设备转发所 述标识报文;
接收器, 用于接收封装有所述标识报文的封装消息, 其中, 所述封装消 息为根据其他 SDN控制器管辖的设备, 接收到所述指定设备发送的标识报文 之后, 将所述标识报文封装为用于向所述其他 SDN控制器询问转发所述标识 报文的端口的端口信息的第一询问消息确定的;
解析器, 用于解析所述接收器接收的所述封装消息中封装的标识报文; 处理器, 用于当所述解析器确定所述标识报文中携带有所述 SDN控制器 的标识时, 根据所述标识报文, 确定接收所述发送器发送的所述指示消息的 所述指定设备与所述其他 SDN控制器管辖的设备之间存在跨 SDN域链路。
48、 一种设备, 其特征在于, 包括:
发送器, 用于向其他设备发送用于探测所述设备和所述其他设备之间是 否存在链路的链路探测消息;
接收器, 用于接收所述其他设备在接收到所述发送器发送的所述链路探 测消息之后, 发送的链路探测回应消息, 其中, 所述链路探测回应消息中携 带有所述其他设备所属 SDN域的域标识信息;
处理器,用于当所述设备所属 SDN域的域标识 ,与所述其他设备所属 SDN 域的域标识不同时,确定所述设备与所述其他设备之间存在跨 SDN域的链路。
PCT/CN2013/082865 2013-09-03 2013-09-03 一种链路发现方法、sdn控制器及设备 WO2015032026A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
ES13893127.4T ES2641458T3 (es) 2013-09-03 2013-09-03 Método de descubrimiento de enlace y un controlador SDN
PCT/CN2013/082865 WO2015032026A1 (zh) 2013-09-03 2013-09-03 一种链路发现方法、sdn控制器及设备
EP13893127.4A EP3029905B1 (en) 2013-09-03 2013-09-03 Link discovery method and sdn controller
CN201380002759.7A CN103782553B (zh) 2013-09-03 2013-09-03 一种链路发现方法、sdn控制器及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/082865 WO2015032026A1 (zh) 2013-09-03 2013-09-03 一种链路发现方法、sdn控制器及设备

Publications (1)

Publication Number Publication Date
WO2015032026A1 true WO2015032026A1 (zh) 2015-03-12

Family

ID=50573009

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/082865 WO2015032026A1 (zh) 2013-09-03 2013-09-03 一种链路发现方法、sdn控制器及设备

Country Status (4)

Country Link
EP (1) EP3029905B1 (zh)
CN (1) CN103782553B (zh)
ES (1) ES2641458T3 (zh)
WO (1) WO2015032026A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114430390A (zh) * 2017-12-29 2022-05-03 华为技术有限公司 一种用于获取跨域链路的方法及装置
CN114938345A (zh) * 2022-06-07 2022-08-23 中国联合网络通信集团有限公司 一种链路发现方法、装置及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337853A (zh) 2014-06-11 2016-02-17 杭州华三通信技术有限公司 一种软件定义网络中的实例建立方法和装置
CN104104614B (zh) * 2014-06-13 2018-05-01 中国科学院计算技术研究所 命名数据网络中的软件定义网络控制器系统及其方法
CN105262686B (zh) * 2014-07-18 2020-04-24 中兴通讯股份有限公司 一种网络连通性验证方法和装置
CN104283791B (zh) * 2014-10-09 2018-04-06 新华三技术有限公司 一种sdn网络中的三层拓扑确定方法和设备
CN104333475A (zh) * 2014-11-25 2015-02-04 上海斐讯数据通信技术有限公司 一种基于sdn的网络拓扑发现方法及系统
CN105812269B (zh) * 2014-12-31 2019-04-23 华为技术有限公司 Sdn中创建端口组的方法、sdn控制器及网络系统
CN104980302B (zh) * 2015-05-12 2018-06-19 上海斐讯数据通信技术有限公司 一种在sdn框架下基于stp消除冗余链路的方法
CN105530128B (zh) * 2015-12-11 2018-12-11 中国联合网络通信集团有限公司 一种报文传递的方法及装置
CN106936706B (zh) * 2015-12-29 2019-12-10 中国电信股份有限公司 路由建立方法和系统及子域控制器、主控制器
US10237176B2 (en) * 2016-06-30 2019-03-19 Juniper Networks, Inc. Auto discovery and auto scaling of services in software-defined network environment
CN107078962B (zh) * 2016-09-13 2021-02-23 深圳前海达闼云端智能科技有限公司 Sdn中数据处理方法、装置、系统、电子设备和计算机存储介质
CN108123874B (zh) * 2016-11-30 2021-03-23 中国电信股份有限公司 报文的处理方法、系统和跨域sdn控制器
CN106850053B (zh) * 2017-01-17 2019-03-12 烽火通信科技股份有限公司 一种基于混合网络的集中式光通道自动发现的方法和系统
US10797959B2 (en) * 2017-08-11 2020-10-06 Quanta Computer Inc. LLDP based rack management controller
CN110071874B (zh) * 2018-01-24 2021-11-30 上海层峰网络科技有限公司 一种跨域sdn网络中实现拓扑发现链接的方法和系统
CN110266530B (zh) * 2019-06-14 2022-05-27 浪潮思科网络科技有限公司 一种基于Opendaylight框架的链路发现方法及装置
CN111163003A (zh) * 2019-12-24 2020-05-15 中国电子科技集团公司第三十研究所 一种无线多控制域sdn网络的拓扑发现方法
CN112887412B (zh) * 2021-02-01 2023-01-17 国网安徽省电力有限公司淮南供电公司 基于sdn与边缘计算技术的分布式网络控制系统及控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1747432A (zh) * 2004-09-09 2006-03-15 华为技术有限公司 一种链路类型的发现方法
CN102130793A (zh) * 2010-11-29 2011-07-20 华为技术有限公司 一种接入网中的环路处理方法、装置和系统
CN103051565A (zh) * 2013-01-04 2013-04-17 中兴通讯股份有限公司 一种等级软件定义网络控制器的架构系统及实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120711B2 (en) * 2002-12-19 2006-10-10 Intel Corporation System and method for communicating over intra-hierarchy and inter-hierarchy links
CN101562568B (zh) * 2009-05-26 2011-05-11 中国科学院计算技术研究所 覆盖网备用路径生成方法和装置
CN103236941B (zh) * 2013-04-03 2015-09-30 华为技术有限公司 一种链路发现方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1747432A (zh) * 2004-09-09 2006-03-15 华为技术有限公司 一种链路类型的发现方法
CN102130793A (zh) * 2010-11-29 2011-07-20 华为技术有限公司 一种接入网中的环路处理方法、装置和系统
CN103051565A (zh) * 2013-01-04 2013-04-17 中兴通讯股份有限公司 一种等级软件定义网络控制器的架构系统及实现方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114430390A (zh) * 2017-12-29 2022-05-03 华为技术有限公司 一种用于获取跨域链路的方法及装置
US11516110B2 (en) 2017-12-29 2022-11-29 Huawei Technologies Co., Ltd. Method and apparatus for obtaining cross-domain link
CN114938345A (zh) * 2022-06-07 2022-08-23 中国联合网络通信集团有限公司 一种链路发现方法、装置及存储介质
CN114938345B (zh) * 2022-06-07 2023-09-29 中国联合网络通信集团有限公司 一种链路发现方法、装置及存储介质

Also Published As

Publication number Publication date
EP3029905B1 (en) 2017-08-09
CN103782553A (zh) 2014-05-07
CN103782553B (zh) 2017-07-14
EP3029905A1 (en) 2016-06-08
EP3029905A4 (en) 2016-07-20
ES2641458T3 (es) 2017-11-10

Similar Documents

Publication Publication Date Title
WO2015032026A1 (zh) 一种链路发现方法、sdn控制器及设备
US9461928B2 (en) LACP negotiation processing method, relay node, and system
WO2019184752A1 (zh) 网络设备的管理方法、装置及系统
US20130329601A1 (en) Defining Data Flow Paths in Software-Defined Networks with Application-Layer Traffic Optimization
US20150200827A1 (en) Network performance diagnostics system
CN110545194B (zh) 网络拓扑的生成方法及装置
WO2015021595A1 (zh) 业务通道配置方法和光线路终端以及无源光网络
WO2015180154A1 (zh) 网络控制方法和装置
CN105723654A (zh) Clos类网络中的优化多播路由
WO2018219300A1 (zh) Sdn中的报文交互方法及装置
CN104092684A (zh) 一种OpenFlow协议支持VPN的方法及设备
WO2012119372A1 (zh) 一种报文处理方法、设备和系统
US10084656B2 (en) TRILL network establishing method, node, and system
WO2018000859A1 (zh) 拓扑确定方法、消息响应方法、控制器以及交换机
EP3295623B1 (en) Transport software defined networking (sdn) zero configuration adjacency via packet snooping
CN105637806A (zh) 网络拓扑确定方法和装置、集中式网络状态信息存储设备
CN104168129B (zh) 软件定义网络的网络元件
WO2015070763A1 (zh) X2接口的自建立方法及装置
WO2023208116A1 (zh) 一种管控方法、装置、通信设备和计算机存储介质
CN103108347A (zh) 有线网络和无线网络的关联告警方法及装置
CN105530119B (zh) 用于多层网络抽象的控制器到控制器接口
CN104320322A (zh) 一种报文控制方法和设备
CN104767720A (zh) 一种软件定义网络中OpenFlow消息跟踪和过滤的方法
CN109347734A (zh) 一种报文发送方法、装置、网络设备和计算机可读介质
KR20160072718A (ko) 소프트웨어 정의 네트워크에서 인접 네트워크 장비 발견 시스템 및 방법

Legal Events

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

Ref document number: 13893127

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2013893127

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013893127

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE