WO2018049545A1 - Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品 - Google Patents

Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品 Download PDF

Info

Publication number
WO2018049545A1
WO2018049545A1 PCT/CN2016/098780 CN2016098780W WO2018049545A1 WO 2018049545 A1 WO2018049545 A1 WO 2018049545A1 CN 2016098780 W CN2016098780 W CN 2016098780W WO 2018049545 A1 WO2018049545 A1 WO 2018049545A1
Authority
WO
WIPO (PCT)
Prior art keywords
link
directly connected
message
identifier
connected device
Prior art date
Application number
PCT/CN2016/098780
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 CN201680002938.4A priority Critical patent/CN107078962B/zh
Priority to PCT/CN2016/098780 priority patent/WO2018049545A1/zh
Publication of WO2018049545A1 publication Critical patent/WO2018049545A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/036Updating the topology between route computation elements, e.g. between OpenFlow controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a data processing method, apparatus, system, electronic device, and computer program product in a software defined network SDN.
  • the Software Defined Network uses the OpenFlow protocol to achieve flexible traffic control through the separation of the control plane and the forwarding plane.
  • SDN all network devices (such as OpenFlow switches) in the network are managed by an SDN Controller (controller) with centralized management functions.
  • the SDN controller can sense the network topology through the Link Layer Discovery Protocol (LLDP) protocol, and implement traffic scheduling based on the network topology.
  • LLDP Link Layer Discovery Protocol
  • the existing method for sensing the network topology is: after the SDN controller learns the device information of each network device (such as an OpenFlow switch), the SDN controller sends a packet-out message of the encapsulated LLDP packet to each network device. After the network device reassembles the LLDP packet, it sends it to the neighboring network device. After receiving the LLDP packet, the neighboring network device matches the flow table entry delivered by the controller in advance, and encapsulates the LLDP packet into a packet.
  • each network device such as an OpenFlow switch
  • the -in message is sent to the SDN controller; the SDN controller receives and processes the Packet-in message encapsulated with the LLDP packet sent by the neighboring network device, determines the connection relationship between the two network devices, and then perceives Network topology.
  • the existing method for sensing the network topology is applicable to a scenario in which only one SDN controller is in the network.
  • a single SDN controller cannot satisfy SDN control or The requirements of traffic scheduling require multiple distributed deployments of SDN controllers to cooperatively control network devices on the entire network.
  • the inventors of the present invention have found that the disadvantage of the prior art is that when there are multiple SDN controllers in the SDN, each SDN controller cannot process when receiving messages sent by other SDN controllers. Or in connection When receiving a message sent by another SDN controller, it treats the message sent by itself as an error, and the SDN controller cannot operate effectively.
  • the embodiment of the invention provides a data processing method, device, system, electronic device and computer program product in SDN, which are used to solve the problem that when there are multiple SDN controllers in the SDN, each SDN controller cannot detect the network device that is not controlled by itself. The problem of the connection relationship of these network devices cannot be confirmed.
  • an embodiment of the present invention provides a data processing method in an SDN, which is applied to an SDN controller, where the method includes:
  • an embodiment of the present invention provides a data processing apparatus in an SDN, where the apparatus includes:
  • a receiving module configured to receive a link detection message sent by the directly connected device
  • a processing module configured to: when the receiving module receives the link detection message sent by the directly connected device, generate a link detection message that carries the identifier of the directly connected device;
  • a sending module configured to send the generated link probe message to the directly connected device.
  • an embodiment of the present invention provides a data processing system in an SDN, where the system includes a plurality of data processing devices in the SDN.
  • an embodiment of the present invention provides an electronic device, including: a memory, one or more processors; and one or more modules, the one or more modules being Stored in the memory and configured to be executed by the one or more processors, the one or more modules including instructions for performing the various steps of any of the above methods.
  • embodiments of the present invention provide a computer program product for use in conjunction with an electronic device, the computer program product comprising a computer readable storage medium and embedded therein
  • a computer program mechanism comprising instructions for performing the various steps of any of the above methods.
  • each SDN controller can respond to a link probe message when receiving the link probe message.
  • the SDN controller that initiates the link probe message can receive the link probe message, and can then perform correct processing based on the link probe message, so that each SDN controller can operate effectively.
  • FIG. 1 is a schematic diagram of a method for sensing a network topology of an SDN controller in the prior art
  • FIG. 2 shows a network architecture of an SDN in various embodiments of the present invention
  • FIG. 3 is a schematic flowchart diagram of a data processing method in an SDN according to Embodiment 1 of the present invention.
  • FIG. 4 is a schematic flowchart diagram of a data processing method in an SDN according to Embodiment 2 of the present invention.
  • FIG. 5 is a schematic structural diagram of a data processing apparatus in a third SDN according to an embodiment of the present invention.
  • each SDN controller cannot process when receiving messages sent by other SDN controllers, or when receiving messages sent by other SDN controllers.
  • the message sent as its own is handled incorrectly, resulting in the SDN controller not operating effectively.
  • the present invention provides a data processing method in an SDN, so that when there are multiple SDN controllers in the SDN, one SDN controller only needs to connect to the network directly connected thereto.
  • the device sends a probe message and waits for the network device to feed back the probe message carrying the identifier of the other network device, so as to implement the perception of the network device that is not directly connected to the network device.
  • FIG. 2 shows a network architecture of an SDN according to various embodiments of the present invention.
  • the SDN includes at least a first SDN controller and a second SDN controller, and each SDN controller is directly connected to a network device controlled by each.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • FIG. 3 is a schematic flowchart of a data processing method in an SDN according to Embodiment 1 of the present invention. As shown in FIG. 3, the data processing method in the SDN includes:
  • Step 101 When the first SDN controller needs to initiate link detection, send a link detection message to its directly connected device.
  • Step 102 When the second SDN controller receives the link probe message sent by the directly connected device, generate a link probe message that carries the identifier of the directly connected device.
  • Step 103 The second SDN controller sends the generated link probe message to the directly connected device.
  • Step 104 When the first SDN controller receives the link detection message that is sent by the directly connected device and carries the identifier of the network device, determine the network device connected to the directly connected device.
  • the first SDN controller sends a link probe message to one of the network devices directly connected thereto.
  • the network device connected to the first SDN controller is referred to as a first network device
  • the first network device is directly controlled by the first SDN controller, which may be an OpenFlow switch or other network device in the SDN network.
  • the link detection message may be a Packet_out message encapsulating LLDP packets, or other types of messages encapsulated according to other protocols.
  • the first network device can decapsulate the link detection message to obtain the detection message, and forward the detection message according to the preset flow table rule, for example, can forward to all network devices adjacent thereto. If another network device is connected to the first network device, the network device can receive the probe packet forwarded by the first network device.
  • a network device that is connected to the first network device and is directly connected to the second SDN controller is called a second network.
  • the network device is directly controlled by the second SDN controller, which may be an OpenFlow switch or other network device in the SDN network.
  • the second network device After receiving the probe packet, the second network device encapsulates the probe packet into a link detection message and sends the packet to the second SDN controller.
  • the probe packet is an LLDP packet
  • the link probe message is Packet_in.
  • the second network device sends the Packet_in message to the second SDN controller after the LLDP packet is encapsulated according to the OpenFlow protocol.
  • the second SDN controller After receiving the link probe message sent by the second network device directly connected thereto, the second SDN controller generates a link probe message carrying the identifier of the second network device.
  • the specific step may include decapsulating the Packet_in message received from the second network device to obtain an LLDP packet, and generating a new LLDP packet including the second network device identifier according to the LLDP packet.
  • the identifiers of the network devices in the SDN are unique and are used to identify the network device, which may be the MAC address or device number of the network device.
  • step 103 the newly generated LLDP packet is sent to the second network device, that is, the network device directly connected to the second SDN controller receives the link probe message, and sends the generated response message to which network. device.
  • the second network device can decapsulate the link detection message to obtain the detection message, and forward the detection message according to the preset flow table rule, for example, can forward to all network devices adjacent thereto. Because there is a first network device connected to the second network device in the network, the first network device can receive the link detection message returned by the second network device.
  • the first network device After receiving the probe message, the first network device encapsulates the probe message into a link detection message and sends the message to the first SDN controller, so that the first SDN controller can complete the corresponding detection process.
  • the probe packet is an LLDP packet
  • the link probe message is a Packet_in message
  • the first network device sends the Packet_in message to the first SDN controller after the LLDP packet is encapsulated according to the OpenFlow protocol.
  • the first SDN controller receives a link probe message that is sent by the first network device and includes the second network device identifier. Specific steps may include receiving from the first network device The packet_in message is decapsulated to obtain an LLDP packet, and the identifier of the second network device is obtained from the LLDP packet.
  • the first SDN controller receives the probe packet carrying the identifier of the second network device by using the first network device, the first SDN device can determine, according to the acquiring process of the foregoing probe packet, the second network device and the first A network device has a connection relationship. And, because one SDN controller can send a response message based on the received message, so that other SDN controllers can determine the connection relationship between the network devices based on the response message, even if the first SDN controller is not directly connected to the second network device The first SDN controller is also capable of confirming the connection relationship between the first network device and the second network device based on the response of the second SDN controller to the link probe message.
  • each SDN controller can respond to a link probe message when receiving the link probe message.
  • the SDN controller that initiates the link probe message can receive the link probe message, and can then perform correct processing based on the link probe message, so that each SDN controller can operate effectively.
  • step 101 is specifically: when a link probe needs to be initiated, sending a link probe message carrying the request identifier to the directly connected device;
  • Step 102 is specifically: when receiving the link probe message carrying the request identifier sent by the directly connected device, generating a link probe message carrying the response identifier and the identifier of the directly connected device;
  • Step 104 is specifically: determining, when receiving the link detection message that is sent by the direct connection device and carrying the response identifier and the network device identifier, the network device connected to the directly connected device.
  • the request identifier and the response identifier are added in the link detection process, that is, the first SDN controller that initially initiates the link probe carries the request identifier in the sent link probe message, and the request identifier may be in the A certain field preset in the probe packet encapsulated by the link probe message is used to identify that the current link probe message is initiated by the first SDN controller that needs to detect the network device.
  • the link probe message to which the request identifier is added is forwarded by the first network device and the second network device, and uploaded to the second SDN controller.
  • the second SDN controller When the second SDN controller receives the link probe message sent by the second network device, it determines If the request identifier is carried in the link detection message, it is determined that the link detection message needs to be responded to when the received link detection message carries the request identifier. A link probe message carrying the corresponding identifier and the second network device identifier is generated. The response identifier here corresponds to the request identifier, and is used to identify that the current link probe message is responded by the current SDN controller based on the received link probe message, instead of being initiated by the current SDN controller. The link probe message to which the response identifier is added is forwarded by the second network device and the first network device, and is transmitted back to the first SDN controller.
  • the first SDN controller When the first SDN controller receives the link detection message sent by the first network device, it determines whether the response identifier is carried in the first SDN controller, and only determines that the received link detection message carries the response identifier, and then determines that the The link probe message determines a network device connected to the directly connected device.
  • the SDN controller can respond according to the request identifier in the received link probe message, and determine according to the response identifier in the received link probe message.
  • the connection relationship of the network device is no longer responded to the link probe message containing the response identifier, so that the transmission and reception of the link probe message in the network is more orderly.
  • step 101 is specifically: when a link probe is required to be sent, a link probe message carrying a transmission time is sent to the directly connected device, where the sending moment is an identifier of a time when the link probe message is sent;
  • Step 102 is specifically: when receiving the link detection message that is sent by the directly connected device and carrying the sending time, generating a link detection message carrying the sending time and the identifier of the directly connected device, where the sending time is the receiving The identifier of the time at which the link probe message is sent;
  • Step 104 is specifically: when receiving the link detection message that is sent by the direct connection device and carries the transmission time and the network device identifier, determine the network device connected to the directly connected device, and according to the link detection message received The time between the moment and the transmission time carried by the link detection message calculates the delay between the directly connected device and the network device connected thereto.
  • a transmission time is added in the link detection process, that is, the first SDN controller that originally initiates the link detection carries the transmission of the link detection message in the transmitted link detection message.
  • the sending moment may be added in a certain field preset in the probe packet encapsulated by the link probe message, and used to identify the generation time of the current link probe message, because the link probe message is sent immediately after the link probe message is generated.
  • the transmission time is actually the generation time of the link probe message, but it can be approximated as the transmission time of the link probe message.
  • the link probe message with the added time is forwarded by the first network device and the second network device, and uploaded to the second SDN controller.
  • the second SDN controller After receiving the link probe message including the transmission time, the second SDN controller adds the foregoing transmission time when generating a new link probe message.
  • the link probe message with the added time is forwarded by the second network device and the first network device, and is transmitted back to the first SDN controller.
  • the time of detecting the message and the sending time carried by the link detecting message calculate a time difference between the first SDN controller initially initiating the link probe message and the link probe message sent to the second SDN controller and fed back. Since the delay between the network device and the SDN controller to which it belongs is negligible, the delay between the first network device and the second network device can be approximated by calculating the aforementioned time difference.
  • the SDN controller can further base the link.
  • the transmission time in the probe message calculates the delay between the network devices in which the connection relationship exists.
  • the step 101 is specifically: when the link detection needs to be initiated, the link detection message carrying the sequence number is sent to the directly connected device, and the sending time of the link detection message carrying the sequence number is saved.
  • the serial number is an identifier of the event sent by the link detection message;
  • Step 102 is specifically: when receiving the link probe message carrying the sequence number sent by the directly connected device, generating a link probe message carrying the sequence number and the identifier of the directly connected device, where the sequence number is received The identifier of the sending event of the link probe message;
  • Step 104 is specifically: when receiving the network device carrying the serial number sent by the directly connected device Determining, by the network device connected to the directly connected device, the network device connected to the directly connected device, and calculating the time according to the time when the link detection message is received and the sending time of the link detection message carrying the sequence number The delay between the directly connected device and the network device connected to it.
  • a sequence number is added in the link detection process, and the sequence number may be added in a certain field preset in the probe packet encapsulated by the link probe message to identify the current link probe message.
  • Send an event the serial number of each probe event is unique. It can be understood that when the first SDN controller sends multiple link probe messages in succession, each link probe message carries its own unique sequence number. After each transmission of the link probe message, the first SDN controller records the current sequence number and the transmission moment of the current link probe message corresponding to the sequence number. The link probe message with the added sequence number is forwarded by the first network device and the second network device, and uploaded to the second SDN controller.
  • the second SDN controller After receiving the link probe message including the sequence number, the second SDN controller adds the foregoing sequence number to the new link probe message.
  • the link probe message with the added sequence number is forwarded by the second network device and the first network device, and is transmitted back to the first SDN controller.
  • the first SDN controller after receiving the link probe message that is sent by the first network device and carrying the identifier of the second network device, determines that the first network device is connected to the second network device, and may be based on the received link.
  • the sequence number in the probe message is searched for the transmission time of the link probe message corresponding to the sequence number stored before, and the first time is calculated according to the time when the link probe message is received and the time of sending the initial link message corresponding to the sequence number.
  • the SDN controller initially initiates a link probe message and a time difference that the link probe message is sent to the second SDN controller and fed back. Since the delay between the network device and the SDN controller to which it belongs is negligible, the delay between the first network device and the second network device can be approximated by calculating the aforementioned time difference.
  • the delay between the network devices in which the connection relationship exists may be further calculated according to the sending time and the receiving time of the link probe message having the same sequence number.
  • step 102 is specifically: when detecting the link detection sent by the directly connected device a message, and determining that the initiator of the link probe message is not the current SDN controller, generating a link probe message carrying the identifier of the directly connected device;
  • Step 104 is specifically: when receiving the link probe message that is sent by the directly connected device and carrying the identifier of the network device, and determining that the initiator of the link probe message is not the current SDN controller, determining the device directly connected to the device Connected network devices controlled by non-current SDN controllers.
  • the link probe message may be directly transmitted back to the SDN controller by other network devices directly connected to the SDN controller, according to the foregoing
  • the SDN can obtain the connection relationship of the network devices in the loop. Therefore, the SDN can no longer respond after receiving the link probe message sent by itself. Therefore, in the embodiment, when the second SDN controller receives the link probe message, it is determined that the link probe message needs to be responded only when it is determined that the sender of the link probe message is another SDN controller. Generating a link probe message, forwarding it to the first SDN controller via the second network device and the first network device.
  • the first SDN controller receives the link probe message sent by the first network device, it is determined that the link probe needs to be detected only when the sender of the link probe message is determined to be another SDN controller.
  • the message determines the network device connected to the directly connected device, and when the foregoing connection relationship is recorded, the difference recording may be performed, that is, the second network device pointed by the identifier of the network device in the current link detection message passes through the first network device.
  • the first SDN controller is connected, but it is not directly connected to the first SDN controller. After the difference is recorded, the first SDN controller will be able to know that although it cannot directly control the second network device, it can implement the traffic forwarding by restricting the first network device to the second network device. Control of the SDN network.
  • two schemes for determining the initiator of the link probe message are further provided:
  • the step 101 is specifically: when the link probe needs to be sent, the link detection message carrying the identifier of the directly connected device is sent to the directly connected device;
  • the received link probe message includes the network device identifier, and the network device identifier indicates that the network device is a non-directly connected device, determining that the initiator of the link probe message is inappropriate Front SDN controller.
  • the first SDN controller adds the identifier of the network device pointed by the link probe message, that is, the identifier of the first network device, to the link probe message when transmitting the initial link probe message.
  • the identifier may be obtained by the first SDN controller interacting with the connected network device before initiating the link probe.
  • the first SDN controller determines that a link probe message is to be sent to a network device, that is, when it is desired to detect a network device connected to the network device, the network pointed to by the link probe message may be added to the link probe message.
  • the identity of the device The link probe message sent by the first SDN controller to the first network device carrying the identifier of the first network device is forwarded by the first network device and the second network device, and uploaded to the second SDN controller.
  • the second SDN controller receives the identifier of the network device.
  • the link detection message may first determine whether the network device pointed by the network device identifier is a network device directly connected to and controlled by the second SDN controller.
  • the second SDN controller determines that the initiator of the received link probe message is not the current second SDN controller, and generates a link probe message to respond.
  • the first SDN controller can also determine, according to the identifier of the second network device that is carried in the link detection message that is received by the second SDN controller, that the second network device is not related to the current first SDN control. Directly connected to and controlled by the device, determining that the originator of the received link probe message is not the current first SDN controller, and determining the second network device controlled by the non-current first SDN controller connected to the first network device .
  • the SDN controller that receives the link probe message can determine the sender of the link probe message by adding the identifier of the directly connected device pointed to when each link probe message is sent in each link probe message. Whether it is for itself.
  • Step 101 is specifically: when a link probe needs to be sent, the link detection message carrying the identifier of the current SDN controller is sent to the directly connected device;
  • the received link probe message includes an SDN controller identifier, and the SDN controller is not the current SDN controller, determining that the initiator of the link probe message is not the current SDN controller, the SDN controller identifier The identifier of the initiator of the received link probe message;
  • the step of generating a link detection message carrying the identifier of the directly connected device in the step 102 includes: generating a link detection message that carries the identifier of the current SDN controller and the identifier of the directly connected device.
  • the first SDN controller adds the sender of the link probe message, that is, the identifier of the first SDN controller, to the link probe message when transmitting the initial link probe message.
  • the identifiers of the SDN controllers in the SDN are unique and are used to identify each SDN controller, which may be the MAC address or device number of the SDN controller.
  • the link probe message sent by the first SDN controller to the first network device carrying the identifier of the first SDN controller is forwarded by the first network device and the second network device, and uploaded to the second SDN controller.
  • the second SDN controller may determine that the initiator of the received link probe message is not the current second SDN controller, thereby generating a link probe message.
  • the identifier of the current SDN controller that is, the identifier of the second SDN controller, needs to be added to the link probe message generated by the link probe message.
  • the first SDN controller can also determine that the initiator is not the current first SDN controller according to the received link detection message that carries the identifier of the second SDN controller, and further determines that the first SDN controller is connected to the first network device. A second network device that is not controlled by the current first SDN controller.
  • the SDN controller that receives the link detection message is added to the link detection message to enable the SDN controller that receives the link detection message to determine whether the sender of the link detection message is itself.
  • the step of determining the source of the link probe message is added in the process of responding to the link probe message and determining the connection relationship of the network device according to the link probe message, only the initiator of the link probe message is other SDN.
  • the controller responds to the link probe message and records the connection relationship when recording.
  • each SDN controller can perform finer-grained recording of the connection relationship of the network devices in the SDN.
  • this also provides a specific judgment link detection The source of the program.
  • the method further includes: when the link delay between the direct connection device and the network device connected to the direct connection device needs to be tested, connecting to the directly connected device
  • the network device sends a link test message; for at least one of the network devices, if the network device does not receive the message in response to the link test message within a preset duration after the link test message is sent, The traffic between the directly connected device and the network device connected thereto.
  • the first SDN controller determining the connection relationship between the first network device and the second network device, in some embodiments, it is further tested whether the connection between the first network device and the second network device is normal.
  • the first SDN controller sends a link test message to the first network device, which is similar to the link probe message in step 101.
  • the link test message may be a Packet_out message encapsulating the LLDP message.
  • the first SDN controller starts a timer while transmitting a link test message to the first network device. It should be noted that, because the first SDN controller has learned the connection relationship between the first network device and other network devices, in addition to the foregoing second network device, there are other network devices, such as the third network device and the fourth network device. When the network device of the first network device has a connection relationship, the connection relationship between the first network device and the second network device, the first network device and the third network device, and the first network device and the fourth network device may be established. Timer.
  • the forwarding process of the link test message between the network device and the SDN controller is similar to the forwarding process of the foregoing link detection message, that is, after receiving the link test message, each SDN controller generates a message carrying the network device identifier to respond. After receiving the message carrying the identifier of the network device by the first network device, the first SDN controller may determine that the connection between the first network device and the network device pointed by the identifier is unobstructed. The first SDN controller determines whether the message that each other network device responds to the link test message is received before the time counted by each timer exceeds the preset time threshold, and if it is received within the preset time period, the network device is confirmed.
  • connection is normal, the corresponding timer is disabled; if the message fed back by a certain network device is not received within the preset duration, it is determined that the first network device and the network device are not currently connected properly, and the first network device needs to be adjusted. Network equipment Business data traffic between.
  • the specific adjustment manner may be that the first SDN controller sends a flow table to the first network device, and the rule of the flow table is configured to restrict the first network device from forwarding service data traffic to the network device that is not normally connected. It should be noted that, in the sent flow table, only the first network device is restricted from forwarding traffic data traffic to the second network device, and the forwarding link detection message is not restricted, that is, the first SDN controller sends the information to the first network device. The link probe message can still be forwarded to other network devices connected to the first network device. After the network is restored to normal, the first SDN controller can determine that a network device resumes the normal connection according to the responded link detection message, and then re-send the flow table to restore the first network device to forward the service data traffic to the network device.
  • Each link test message may carry a sequence number or a transmission time similar to the foregoing, and the link test message is similar to the link probe information.
  • Forwarding between the first SDN controller, the first network device, the second network device, and the second SDN controller, and the second network device receives the link test message carrying the sequence number or the sending time, and generates a response in response to the
  • the received sequence number and the sending time need to be added into the generated new message, so that when the generated new message is fed back to the first SDN controller, the first SDN controller can be based on the serial number or
  • the sending moment determines whether the current message corresponds to which link test message was sent in order to close the corresponding timer.
  • the connection relationship may be detected, and the forwarding of the service data traffic may be adjusted according to the actual situation of the network.
  • the first SDN controller may have the function of the second SDN controller at the same time, that is, the link detection message and the link test message sent by other SDN controllers are corresponding, and the second SDN controller is similar. That is, the first SDN controller and the second SDN controller may be two SDN controllers having the same function in the SDN.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • An LLDP packet is a packet in the common protocol format of the SDN.
  • the information about the local device can be encapsulated into a TLV (Type/Length/Value, Type/Length/Value) format, and then composed of multiple TLVs.
  • An LLDPDU (Link Layer Discovery Protocol Data Unit) is encapsulated in the data portion of the LLDP packet for transmission.
  • a TLV with a type value of 9-126 in the LLDP protocol can be extended by customization.
  • a TLV with a Type value of 100 is customized, and is named Dlldp.
  • the format is as follows:
  • TLV Type 100 Length Value
  • the Value part is specifically:
  • the Dlldp Type is a type of Dlldp data, which occupies 1 byte, and the specific value may be Request or Reply corresponding to the request identifier or response identifier in the foregoing embodiment; Seq is a serial number, 4 bytes, corresponding to the serial number in the foregoing embodiment.
  • Dpid is the identifier of the network device, which occupies 14 bytes, corresponding to the identifier of the network device in the above embodiment, and the unique Dpid value corresponding to each network device;
  • Timeval is a timestamp, which occupies 4 bytes, corresponding to the above embodiment. Timestamp.
  • FIG. 4 is a schematic flowchart of a data processing method in an SDN according to Embodiment 4 of the present invention. As shown in FIG. 4, the data processing method in the SDN includes:
  • the controller A (the controller A, corresponding to the first SDN controller in the foregoing embodiment) generates an LLDP packet, where the LLDP protocol packet includes the customized Dlldp data, where the Dlldp Type is a Request, indicating that the The probe packet belongs to the request packet; Seq is the sequence number of the current probe, which is 1; Dpid is the identifier dpid_A of the Swtich A device, and Switch A (switch A, corresponding to the first network device in the foregoing embodiment) is Controller A is directly connected to and controlled by the network device.
  • Controller A can obtain its device ID by interacting with Switch A in advance, that is, dpid_A; Timeval is the timestamp of the time when the LLDP packet is generated by Controller A, which is recorded as timevall.
  • the timestamp of the LLDP packet is encapsulated and sent. Therefore, the timestamp can be approximately the time when the controller A sends the encapsulated LLDP packet.
  • Controller A encapsulates the LLDP packet into a Packet_out message and sends it to Switch A.
  • the packet can be specified as the egress port of Switch A.
  • the network device ID is the Dpid in which LLDP is to be sent to which network device.
  • Step 402 After receiving the Packet_out message, Switch A decapsulates the packet to obtain an LLDP packet. Switch A forwards the LLDP packet according to the pre-stored flow table rule. The common flow table rule can be decapsulated and forwarded to all network devices adjacent to Switch A when receiving the Packet_out message encapsulated with LLDP packets. .
  • Switch B On Switch SDN, Switch B (switch B, corresponding to the second network device in the above embodiment) is directly connected to Switch A. Therefore, Switch A forwards the decapsulated LLDP packets to Switch B.
  • Step 403 After receiving the LLDP packet, Switch B forwards the packet according to the preset flow table rule.
  • a commonly used flow table rule may be to forward the package to the controller to which it belongs when receiving the LLDP packet sent by the neighboring network device. Therefore, Switch B encapsulates the LLDP data packet into a Packet_in data packet according to the OpenFlow protocol and sends it to the Controller B (controller B, which corresponds to the second SDN controller in the foregoing embodiment).
  • Step 404 After receiving the Packet_in message, the controller B decapsulates the LLDP packet, and further parses the data according to the rule protocol to obtain the Dlldp data. The controller B determines that the packet is a request packet sent by another controller according to the Dlldp Type, and needs to feed back a response packet with a Dlldp Type of Reply.
  • the controller B Based on the received LLDP packet, the controller B reconstructs the LLDP packet and includes the new Dlldp data, and the Dlldp Type is Reply, indicating that the LLDP packet is a response packet; Seq is the serial number of the current probe, and The request packet is the same as 1; Dpid is the identifier of the Swtich B device, dpid_B, where Switch B is a network device directly connected to and controlled by Controller B. Controller B can obtain its device ID by interacting with Switch B in advance.
  • dpid_B because the request packet is sent from Switch B to the controller B, so the response to the LLDP packet should be the ID of the switch B, that is, the dpid_B; the timeval is still timevall, that is, the controller L generates the original LLDP request.
  • the timestamp of the time of the message is also carried in the response message.
  • Controller B rebuilds LLDP packets, you can also root first. According to the identifier of Switch A carried in the received LLDP packet, it is determined whether there is a direct connection between Switch A and Controller B. Because Controller B knows all the information about the network device directly connected to it, Switch A and Controller B A direct connection does not require a response to the received LLDP packet. The LLDP packet is re-established only when it is determined that there is no direct connection between Switch A and Controller B.
  • the controller B encapsulates the newly-created LLDP packet into a Packet_out message and sends it to Switch B. You can specify the outgoing port of the packet on Switch B. It is to be noted that the network device receives the request packet from the network device, and the identifier of the network device is carried in the Dpid of the newly constructed LLDP packet, and the newly constructed LLDP packet is sent back to the network device.
  • the controller B can determine the connection relationship between Switch B and Switch A according to the LLDP packet received by Switch B.
  • Step 405 After receiving the Packet_out message, Switch B decapsulates the packet to obtain a newly constructed LLDP packet. Switch B forwards the newly constructed LLDP packet according to the pre-stored flow table rule.
  • the common flow table rule is to decapsulate and forward the packet to the Switch B when it receives the Packet_out message encapsulated with the LLDP packet.
  • the network device is forwarded to Switch A.
  • the newly-deployed LLDP packet obtained by the decapsulation is forwarded to Switch A.
  • Step 406 After receiving the newly constructed LLDP packet, Switch A forwards the packet according to the preset flow table rule.
  • a commonly used flow table rule may be to forward the package to the controller to which it belongs when receiving the LLDP packet sent by the neighboring network device. Therefore, Switch A encapsulates the newly constructed LLDP packet into a Packet_in message according to the OpenFlow protocol and sends it to Controller A directly connected to itself.
  • Step 407 After receiving the Packet_in message, the controller A decapsulates the newly constructed LLDP packet.
  • the controller A receives the packet carrying the Dpid_B of the Switch B, and the connection between the Switch A and the Switch B is determined. relationship.
  • the information about Switch B is stored in Controller A.
  • the packet According to the Dlldp Type in the newly constructed LLDP packet, the packet can be determined to be the packet that the other controller responds to.
  • the connection relationship between the network devices is established based on the packet, and the packet does not need to be re-reconstructed according to the packet. Build another message.
  • Step 408 After determining the connection relationship between Switch A and Switch B, the controller A identifies the time of the Packet_in message that encapsulates the newly constructed LLDP packet as the timestamp timeval2, according to the newly constructed LLDP packet.
  • the timestamp of the packet is sent by the timevall and the time of the timeval2.
  • the time delay between the controller A and the switch B and the controller B is calculated by the timeval2-timeval1.
  • the delay between the controller A and the switch A and the controller B and the switch B The delay between the two is negligible, so the end-to-end delay between Switch A and Switch B can be approximated by timeval2-timeval1.
  • step 408 in addition to the foregoing method for calculating the delay, the generation time of the request message with the sequence number 1 may be locally searched by the controller A according to the sequence number Seq carried in the newly constructed LLDP packet, and received according to the reception.
  • the end-to-end delay between Switch A and Switch B is obtained by calculating the time of the new construction packet with the sequence number 1 and the packet generation time.
  • Step 409 After the connection between Switch A and Switch B is determined, the link between Switch A and Switch B can be monitored.
  • the monitoring packet is sent to Switch A as required or periodically.
  • the monitoring packet is similar to the request packet in step 401, and includes the customized Dlldp data.
  • the Dlldp Type is Request, indicating that the detected probe packet belongs to the monitoring packet; Seq is the sequence number of the current monitoring packet, which is 2; Dpid is the identifier of the Swtich A device dpid_A, and the Timeval is generated by the controller A.
  • the timestamp of the time of the text is recorded as timeval3. Because the LLDP packet is encapsulated and sent, the timestamp can be used to identify the time when the controller A sends the encapsulated LLDP packet.
  • the controller encapsulates the LLDP packet into a Packet_out message and sends it to Switch A.
  • the device can specify the outgoing port of Switch A. Note that the network that the controller A wants to send LLDP packets to.
  • Network device, the Dpid in LLDP is the identifier of which network device.
  • Step 411 - Step 415 is the same as Step 401 - Step 406 above.
  • the controller A can receive the response from the controller B that is forwarded by the Switch A and the Switch B.
  • the Dlldp Type is Reply
  • the Seq is 2
  • the Dpid is dpid_B
  • the timestamp is timeval3.
  • Step 410 After the monitoring packet is sent by the controller A, the timer is started to start the timer for the connection between the Switch A and the Switch B, and the packet is received in the step 415. Indicates the packet of the Dpid_B on Switch B.
  • Controller A can send a flow table to Switch A.
  • the traffic of Switch A is forwarded to Switch B and forwarded to other switches. If the timer is received before the timer expires, the link between Switch A and Switch B is normal. The timer is disabled and the traffic is not adjusted.
  • Switch A may also be connected to other switches, and these switches are not directly connected to Controller A.
  • Switch A may also establish switches such as Switch C and Switch D respectively.
  • the connection between Switch C and Switch D is directly connected to Controller B.
  • the corresponding timers are respectively started in the connection relationship between Switch A and Switch C, and Switch A and Switch D. If the packets sent by Switch A are received, the timers of Switch A and Switch C are closed. If the switch contains the ID of Switch D. If the packet is received, the timer corresponding to the connection between Switch A and Switch D is disabled. If the timer corresponding to the connection relationship expires, it is determined that the connection relationship may be faulty.
  • the controller B can detect the connection between the Switch A and the Switch B by using the help of the controller B. And calculate the delay between Switch A and Switch B. On the basis of the connection between Switch A and Switch B, the link status can be monitored. If the link is faulty, Switch A can forward traffic to Switch B.
  • Embodiment 3 is a diagrammatic representation of Embodiment 3
  • FIG. 5 is a schematic structural diagram of a data processing apparatus in a third SDN according to an embodiment of the present invention. As shown in the figure, the apparatus 500 includes:
  • the receiving module 501 is configured to receive a link detection message sent by the directly connected device.
  • the processing module 502 is configured to: when the receiving module 501 receives the link detection message sent by the directly connected device, generate a link detection message that carries the identifier of the directly connected device;
  • the sending module 503 is configured to send the generated link probe message to the directly connected device.
  • the sending module 503 is further configured to: when the link detection needs to be initiated, send a link detection message to the directly connected device;
  • the processing module 502 is further configured to: when the receiving module 501 receives the link detection message that is sent by the directly connected device and carries the identifier of the network device, determine the network device that is connected to the directly connected device.
  • the processing module 502 is specifically configured to: when the receiving module 501 receives the link detection message carrying the request identifier sent by the directly connected device, generate a link carrying the response identifier and the identifier of the directly connected device. Probe message
  • the sending module 503 is specifically configured to: when the link detection needs to be initiated, send a link detection message carrying the request identifier to the directly connected device;
  • the processing module 502 is further configured to: when the receiving module 501 receives the link detection message that carries the response identifier and the network device identifier sent by the directly connected device, determine the network device connected to the directly connected device. .
  • the processing module 502 is specifically configured to: when the receiving module 501 receives the direct connection And generating, by the device, a link detection message carrying the transmission time and the identifier of the directly connected device, where the sending time is the sending time of the received link detection message.
  • the sending module 503 is specifically configured to: when a link probe is required to be sent, send a link probe message carrying a sending time to the directly connected device, where the sending time is an identifier of a sending time of the link detecting message;
  • the processing module 502 is further configured to: when the receiving module 501 receives the link detection message that is sent by the directly connected device and carries the sending time and the network device identifier, determine the network device connected to the directly connected device. And calculating a delay between the directly connected device and the network device connected thereto according to the time when the link detection message is received and the sending time carried by the link detection message.
  • the processing module 502 is configured to: when the receiving module 501 receives the link detection message carrying the serial number sent by the directly connected device, generate the serial number and the identifier of the directly connected device. a link detection message, where the sequence number is an identifier of a transmission event of the received link probe message;
  • the sending module 503 is specifically configured to: when a link probe needs to be initiated, send a link probe message carrying a sequence number to the directly connected device, and save a sending moment of the link probe message carrying the sequence number, the sequence Number is the identifier of the event sent by the link probe message;
  • the processing module 502 is further configured to: when receiving the link detection message of the network device identifier carrying the serial number sent by the direct connection device, determine the network device connected to the directly connected device, and according to the received The time between the link detection message and the transmission time of the link detection message carrying the sequence number calculates a delay between the directly connected device and the network device connected thereto.
  • the processing module 502 is specifically configured to: when the receiving module 501 receives the link detection message sent by the direct connection device, and determines that the initiator of the link detection message is not the current SDN controller, generate and carry a link detection message of the identifier of the directly connected device;
  • the receiving module 501 receives the link probe message that is sent by the directly connected device and carries the identifier of the network device, and determines that the initiator of the link probe message is not the current SDN controller. At the time, the network device controlled by the non-current SDN controller connected to the directly connected device is determined.
  • the received link probe message includes the network device identifier, and the network device identifier indicates that the network device is a non-directly connected device, determining that the initiator of the link probe message is not the current SDN controller;
  • the sending module 503 is specifically configured to: when the link probe needs to be sent, send a link detection message that carries the identifier of the directly connected device to the directly connected device;
  • the SDN controller is not the current SDN controller, determining that the initiator of the link probe message is not the current SDN controller, the SDN controller is identified as receiving The identity of the originator of the link probe message to which it is sent;
  • the processing module 502 generates a link detection message that carries the identifier of the directly connected device, and the method includes: the processing module 502 generates a link detection message that carries the identifier of the current SDN controller and the identifier of the directly connected device;
  • the sending module 503 is specifically configured to: when the link probe needs to be sent, send a link probe message carrying the identifier of the current SDN controller to the directly connected device.
  • the sending module 503 is further configured to: after the processing module 502 determines the network device connected to the direct connection device, between the direct connection device and the network device connected to the direct connection device When the link delay is tested, the link test device sends a link test message to the connected network device;
  • the processing module 502 is further configured to: for the at least one network device, if the receiving module 501 does not receive the network device response to the link test message within a preset duration after sending the link test message The message adjusts the traffic between the directly connected device and the network device connected thereto.
  • Embodiment 4 is a diagrammatic representation of Embodiment 4:
  • the data processing system in the SDN is also provided in the embodiment of the present invention. Since the principle of solving the problem by these devices is similar to the data processing method and device in the SDN, the system is similar. For the implementation of the method, the implementation of the method and the device can be referred to, and the repetition will not be repeated.
  • the SDN of this embodiment has a plurality of SDN controllers.
  • Each of the SDN controllers has the apparatus described in the third embodiment above.
  • Embodiment 5 is a diagrammatic representation of Embodiment 5:
  • the data processing electronic device in the SDN is also provided in the embodiment of the present invention. Since the principle is similar to the data processing method in the SDN, the implementation of the method may refer to the implementation of the method, and the repeated description is not repeated.
  • the electronic device includes: a memory, one or more processors; and one or more modules, the one or more modules being stored in the memory and configured to be configured by the one or more processors Executing, the one or more modules include instructions for performing the various steps of any of the above methods.
  • the embodiment of the present invention further provides a data processing computer program product in an SDN for use in combination with an electronic device. Since the principle is similar to the data processing method in the SDN, the implementation may refer to the implementation of the method, and the repetition is not Let me repeat.
  • the computer program product comprises a computer readable storage medium and a computer program mechanism embodied therein, the computer program mechanism comprising instructions for performing the various steps of any of the foregoing methods.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can 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 present invention has been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (system), and computer program products according to embodiments of the invention. It should be understood that the flow chart can be implemented by computer program instructions And/or a combination of the processes and/or blocks in the block diagrams, and the flowcharts and/or blocks in the flowcharts. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device. Means for implementing the functions specified in one or more of the flow or in a block or blocks of the flow chart.
  • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了软件定义网络SDN中数据处理方法、装置、系统、电子设备和计算机程序产品,应用于SDN控制器,所述方法包括:当接收到直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息;向所述直连设备发送生成的所述链路探测消息。当SDN中存在多个SDN控制器时,本发明使各SDN控制器能够在接收到链路探测消息时,响应一个链路探测消息。这样使得发起链路探测消息的SDN控制器能够接收到链路探测消息,进而能够基于链路探测消息进行正确处理,使各SDN控制器能够有效运行。

Description

SDN中数据处理方法、装置、系统、电子设备和计算机程序产品 技术领域
本发明涉及通信技术领域,尤其涉及软件定义网络SDN中数据处理方法、装置、系统、电子设备和计算机程序产品。
背景技术
软件定义网络(Software Defined Network,,SDN)利用OpenFlow协议,通过控制层面与转发层面的分离实现流量灵活控制。在SDN中,由具有集中管理功能的SDN Controller(控制器)管理网内所有的网络设备(如OpenFlow交换机)。SDN控制器通过链路层发现协议(Link Layer Discovery Protocol,LLDP)协议可以感知网络拓扑,进而基于网络拓扑实现流量调度。
如图1所示,现有的感知网络拓扑的方法为,SDN控制器获知各网络设备(如OpenFlow交换机)的设备信息后,向各网络设备发送封装了的LLDP报文的Packet-out消息;各网络设备重新组装LLDP报文后,将其发送给相邻的网络设备;相邻的网络设备接收到LLDP报文后,匹配控制器预先下发的流表条目,将LLDP报文封装成Packet-in消息上送给SDN控制器;SDN控制器接收到相邻的网络设备上送的封装了LLDP报文的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控制器能够有效运行。
附图说明
下面将参照附图描述本发明的具体实施例,其中:
图1示出了现有技术中SDN控制器感知网络拓扑方法的示意图;
图2示出了本发明各实施例中SDN的网络架构;
图3示出了本发明实施例一SDN中数据处理方法的流程示意图;
图4示出了本发明实施例二SDN中数据处理方法的流程示意图;
图5示出了本发明实施例三SDN中数据处理装置的结构示意图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
发明人在发明过程中注意到:当SDN中存在多个SDN控制器时,各SDN控制器在接收到其他SDN控制器发送的消息时无法处理,或者在接收到其他SDN控制器发送的消息时将其当做自身发送的消息进行错误的处理,导致各SDN控制器不能有效运行。
针对上述不足,本发明提供了一种SDN中数据处理方法,以使当SDN中存在多个SDN控制器时,一个SDN控制器只需要向与其直接相连的网络 设备发送探测消息,并等待该网络设备反馈携带有其他网络设备的标识的探测消息,即可实现对未与其直接相连的网络设备的感知。
为了便于本发明的实施,下面以实例进行说明。图2示出了本发明各实施例中SDN的网络架构,所述SDN至少包括第一SDN控制器和第二SDN控制器,各SDN控制器与各自控制的网络设备直接相连。
实施例一:
图3示出了本发明实施例一中SDN中数据处理方法流程示意图,如图3所示,所述SDN中数据处理方法包括:
步骤101,当第一SDN控制器需要发起链路探测时,向其直连设备发送链路探测消息;
步骤102,当第二SDN控制器接收到其直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息;
步骤103,第二SDN控制器向直连设备发送生成的所述链路探测消息;
步骤104,当第一SDN控制器接收到其直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备。
在步骤101中,第一SDN控制器向与其直接相连的其中一个网络设备发送链路探测消息,为便于描述,将该与第一SDN控制器相连的网络设备称为第一网络设备,所述第一网络设备受第一SDN控制器的直接控制,其可以是OpenFlow交换机或者SDN网络中的其他网络设备。所述链路探测消息可以是封装了LLDP报文的Packet_out消息,也可以是根据其他协议封装的其他类型的消息。
在步骤101之后,第一网络设备能够解封装链路探测消息得到探测报文,并按照预设的流表规则转发所述探测报文,例如可向与其相邻的全部网络设备进行转发。此时若网络中存在另一个网络设备与第一网络设备相连,则该网络设备能够接收到第一网络设备转发的探测报文。为便于描述,将与第一网络设备相连,并且同时与第二SDN控制器直接相连的网络设备称为第二网 络设备,所述第二网络设备受第二SDN控制器直接控制,其可以是OpenFlow交换机或者SDN网络中的其他网络设备。
第二网络设备接收到所述探测报文后将其封装为链路探测消息并发送至第二SDN控制器,具体的,所述探测报文为LLDP报文,所述链路探测消息为Packet_in消息,第二网络设备根据OpenFlow协议将LLDP报文封装后得到Packet_in消息发送至第二SDN控制器。
在步骤102中,第二SDN控制器接收与其直接相连的第二网络设备发送的链路探测消息后,生成携带所述第二网络设备标识的链路探测消息。具体步骤可包括将从第二网络设备接收的Packet_in消息解封装得到LLDP报文,并根据该LLDP报文生成包含第二网络设备标识的新LLDP报文。SDN中各网络设备的标识均是唯一的,用于标识网络设备,其可以为网络设备的MAC地址或设备号等。
在步骤103中,将新生成的LLDP报文发送至第二网络设备,即第二SDN控制器由哪个与其直连的网络设备接收到链路探测消息,就将生成的响应消息发送给哪个网络设备。
在步骤103之后,第二网络设备能够解封装链路探测消息得到探测报文,并按照预设的流表规则转发所述探测报文,例如可向与其相邻的全部网络设备进行转发。因为网络中存在与第二网络设备连接的第一网络设备,所以该第一网络设备能够接收到第二网络设备回传的链路探测消息。
第一网络设备接收到所述探测报文后将其封装为链路探测消息并发送至第一SDN控制器,以使第一SDN控制器能够完成相应的探测过程。具体的,所述探测报文为LLDP报文,所述链路探测消息为Packet_in消息,第一网络设备根据OpenFlow协议将LLDP报文封装后得到Packet_in消息发送至第一SDN控制器。
在步骤104中,第一SDN控制器接收第一网络设备发送的包含了第二网络设备标识的链路探测消息。具体步骤可包括将从第一网络设备接收的 Packet_in消息解封装得到LLDP报文,由该LLDP报文中获取第二网络设备的标识。
因为第一SDN控制器通过第一网络设备接收了携带第二网络设备的标识的探测报文,因此第一SDN设备能够基于上述探测报文的获取过程确定所述第二网络设备与所述第一网络设备具有连接关系。并且,因为一个SDN控制器能够基于接收到的消息发送响应消息,以使其他SDN控制器能够基于响应消息确定网络设备间的连接关系,所以即便第一SDN控制器未与第二网络设备直接相连,第一SDN控制器也能够基于第二SDN控制器对链路探测消息的响应确认第一网络设备与第二网络设备的连接关系。
本方案中,当SDN中存在多个SDN控制器时,各SDN控制器能够在接收到链路探测消息时,响应一个链路探测消息。这样使得发起链路探测消息的SDN控制器能够接收到链路探测消息,进而能够基于链路探测消息进行正确处理,使各SDN控制器能够有效运行。
在一些实施例中,步骤101具体为:当需要发起链路探测时,向直连设备发送携带请求标识的链路探测消息;
步骤102具体为:当接收到直连设备发送的携带请求标识的链路探测消息时,生成携带响应标识和所述直连设备的标识的链路探测消息;
步骤104具体为:当接收到所述直连设备发送的携带响应标识和网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备。
在这些实施例中,在链路探测过程中添加了请求标识和响应标识,即最初发起链路探测的第一SDN控制器在发送的链路探测消息中携带请求标识,所述请求标识可以在链路探测消息封装的探测报文中预设的某一字段添加,用于标识当前的链路探测消息是由需要探测网络设备的第一SDN控制器主动发起的。添加了请求标识的链路探测消息经第一网络设备和第二网络设备的转发,上传至第二SDN控制器。
当第二SDN控制器接收到第二网络设备发送的链路探测消息时,判断其 中是否携带了请求标识,只有在判断接收到的链路探测消息中携带请求标识时,才确定需要响应所述链路探测消息。在生成携带相应标识和第二网络设备标识的链路探测消息。此处的响应标识与请求标识相对应,用于标识当前的链路探测消息是由当前SDN控制器基于接收到的链路探测消息响应的,而非当前SDN控制器主动发起的。添加了响应标识的链路探测消息经第二网络设备和第一网络设备的转发,回传至第一SDN控制器。
当第一SDN控制器接收到第一网络设备发送的链路探测消息时,判断其中是否携带了响应标识,只有在判断接收到的链路探测消息中携带响应标识时,才确定需要根据所述链路探测消息确定与所述直连设备相连的网络设备。
这样,通过在链路探测方案中增加请求标识和响应标识,使SDN控制器能够根据接收到的链路探测消息中的请求标识进行响应,以及根据接收到的链路探测消息中的响应标识确定网络设备的连接关系,而不再对包含了响应标识的链路探测消息进行响应,使网络中的链路探测消息的发送和接收更加有序。
在一些实施例中,步骤101具体为:当需要发送链路探测时,向直连设备发送携带发送时刻的链路探测消息,所述发送时刻为该链路探测消息发送时间的标识;
步骤102具体为:当接收到直连设备发送的携带发送时刻的链路探测消息时,生成携带所述发送时刻和所述直连设备的标识的链路探测消息,所述发送时刻为该接收到的链路探测消息的发送时间的标识;
步骤104具体为:当接收到所述直连设备发送的携带发送时刻和网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,并根据接收到该链路探测消息的时刻和该链路探测消息携带的发送时刻计算所述直连设备和与其相连的网络设备间的时延。
在这些实施例中,在链路探测过程中添加了发送时刻,即最初发起链路探测的第一SDN控制器在发送的链路探测消息中携带该链路探测消息的发送 时刻,所述发送时刻可以在链路探测消息封装的探测报文中预设的某一字段添加,用于标识当前链路探测消息的生成时间,因为生成链路探测消息后会立即发送,因此该发送时刻实际为链路探测消息的生成时间,但可以将其近似认定为链路探测消息的发送时刻。添加了发送时刻的链路探测消息经第一网络设备和第二网络设备的转发,上传至第二SDN控制器。
第二SDN控制器接收到包含发送时刻的链路探测消息后,在生成新的链路探测消息时,在其中加入前述发送时刻。添加了发送时刻的链路探测消息经第二网络设备和第一网络设备的转发,回传至第一SDN控制器。
第一SDN控制器在接收到的第一网络设备发送的携带第二网络设备标识的链路探测消息,确定与所述第一网络设备与第二网络设备相连之后,可根据接收到该链路探测消息的时刻和该链路探测消息携带的发送时刻计算第一SDN控制器最初发起链路探测消息和该链路探测消息发送至第二SDN控制器并反馈回来的时间差。由于网络设备与其所属的SDN控制器间的时延可以忽略,因此通过计算前述时间差可近似得到第一网络设备与所述第二网络设备间的时延。
这样,通过在链路探测方案中增加发送时刻,使SDN控制器在发送链路探测消息并接收到响应的链路探测消息后,除确定网络设备间的连接关系外,还能够进一步基于链路探测消息中的的发送时刻计算存在连接关系的网络设备间的时延。
在一些实施例中,步骤101具体为:当需要发起链路探测时,向直连设备发送携带序列号的链路探测消息,并保存携带所述序列号的链路探测消息的发送时刻,所述序列号为该次链路探测消息发送事件的标识;
步骤102具体为:当接收到直连设备发送的携带序列号的链路探测消息时,生成携带所述序列号和所述直连设备的标识的链路探测消息,所述序列号为接收到的链路探测消息的发送事件的标识;
步骤104具体为:当接收到所述直连设备发送的携带序列号的网络设备 标识的链路探测消息时,确定与所述直连设备相连的网络设备,并根据接收到该链路探测消息的时刻和所述携带所述序列号的链路探测消息的发送时刻计算所述直连设备和与其相连的网络设备间的时延。
在这些实施例中,在链路探测过程中添加了序列号,所述序列号可以在链路探测消息封装的探测报文中预设的某一字段添加,用于标识当前链路探测消息的发送事件,每次探测事件的序列号是唯一的。可以理解的,当第一SDN控制器先后发送多次链路探测消息时,各链路探测消息均携带各自特有的序列号。在每次发送链路探测消息后,都在第一SDN控制器记录当次序列号和该序列号对应的当次链路探测消息的发送时刻。添加了序列号的链路探测消息经第一网络设备和第二网络设备的转发,上传至第二SDN控制器。
第二SDN控制器接收到包含序列号的链路探测消息后,在生成新的链路探测消息时,在其中加入前述序列号。添加了序列号的链路探测消息经第二网络设备和第一网络设备的转发,回传至第一SDN控制器。
第一SDN控制器在接收到的第一网络设备发送的携带第二网络设备标识的链路探测消息,确定与所述第一网络设备与第二网络设备相连之后,可根据接收到的链路探测消息中的序列号查找之前存储的该序列号对应的链路探测消息的发送时刻,进而根据接收到该链路探测消息的时刻与该序列号对应的最初链路消息的发送时刻计算第一SDN控制器最初发起链路探测消息和该链路探测消息发送至第二SDN控制器并反馈回来的时间差。由于网络设备与其所属的SDN控制器间的时延可以忽略,因此通过计算前述时间差可近似得到第一网络设备与所述第二网络设备间的时延。
这样,通过在链路探测方案中增加序列号标识各次链路探测事件,使SDN控制器在发送链路探测消息并接收到响应的链路探测消息后,除确定网络设备间的连接关系外,还能够进一步根据具有同一序列号的链路探测消息的发送时刻和接收时刻计算存在连接关系的网络设备间的时延。
在一些实施例中,步骤102具体为:当接收到直连设备发送的链路探测 消息,并且判断所述链路探测消息的发起方非当前SDN控制器时,生成携带所述直连设备的标识的链路探测消息;
步骤104具体为:当接收到所述直连设备发送的携带网络设备标识的链路探测消息,并且判断所述链路探测消息的发起方非当前SDN控制器时,确定与所述直连设备相连的非当前SDN控制器控制的网络设备。
因为某一SDN控制器向与其连接的网络设备发送链路探测消息后,该链路探测消息可能会由其他与该SDN控制器直连的网络设备直接回传至该SDN控制器,根据上述单向环路流程,该SDN已经可以获取环路中的网络设备的连接关系,因此SDN在接收到自身发送的链路探测消息后可以不再进行响应。所以在这些实施例中,当第二SDN控制器接收到链路探测消息时,只有判断该链路探测消息的发送方为另一SDN控制器时,才确定需要响应所述链路探测消息,生成链路探测消息,将其经第二网络设备和第一网络设备的转发,回传至第一SDN控制器。
同样的,当第一SDN控制器接收到第一网络设备发送的链路探测消息时,只有判断该链路探测消息的发送方为另一SDN控制器时,才确定需要根据所述链路探测消息确定与所述直连设备相连的网络设备,并且在记录前述连接关系时,可进行区别记录,即当前链路探测消息中网络设备的标识指向的第二网络设备虽然通过第一网络设备与第一SDN控制器相连,但其并未与第一SDN控制器直接相连。区别记录了这样的连接关系后,第一SDN控制器将能够知晓虽然其不能够对第二网络设备进行直接控制,但可以通过限制第一网络设备向第二网络设备进行业务流量转发而实现对SDN网络的控制。
在一些实施例中,进一步提供两种判断链路探测消息发起方的方案:
方案一:步骤101具体为:当需要发送链路探测时,向直连设备发送携带所述直连设备的标识的链路探测消息;
以及,当接收的链路探测消息包括网络设备标识,并且所述网络设备标识所指示的网络设备为非直连设备时,判断所述链路探测消息的发起方非当 前SDN控制器。
在方案一中,第一SDN控制器在发送最初的链路探测消息时在链路探测消息中添加所述链路探测消息指向的网络设备的标识,即第一网络设备的标识。该标识可以是第一SDN控制器在发起链路探测之前与相连网络设备交互获得的。当第一SDN控制器确定要向某一网络设备发送链路探测消息时,即希望探测与该网络设备相连的网络设备时,可在链路探测消息中添加所述链路探测消息指向的网络设备的标识。第一SDN控制器向第一网络设备发送的携带了第一网络设备标识的链路探测消息经第一网络设备和第二网络设备的转发,上传至第二SDN控制器。
因为第二SDN控制器能够感知所有与其直接相连的网络设备,并能够根据现有技术获知与其直接相连的各网络设备间的拓扑结构,因此第二SDN控制器在接收到包含某一网络设备标识的链路探测消息时,可以首先确定所述网络设备标识指向的网络设备是否是与第二SDN控制器直接相连并受其控制的网络设备。第二SDN控制器在判断第一网络设备时非直连设备时,确定接收到的链路探测消息的发起方不是当前的第二SDN控制器,进而生成链路探测消息进行响应。
同理,第一SDN控制器也能够根据其接收到的第二SDN控制器反馈的链路探测消息中携带的第二网络设备的标识判断所述第二网络设备未与当前的第一SDN控制器直接相连并受其控制,确定接收到的链路探测消息的发起方不是当前的第一SDN控制器,进而确定与第一网络设备相连的非当前第一SDN控制器控制的第二网络设备。
在方案一中,通过在各链路探测消息中添加各链路探测消息发送时指向的直连设备的标识,使接收到该链路探测消息的SDN控制器能够确定链路探测消息的发送方是否为自身。
方案二:步骤101具体为:当需要发送链路探测时,向直连设备发送携带当前SDN控制器标识的链路探测消息;
以及,当接收的链路探测消息包括SDN控制器标识,并且所述SDN控制器非当前SDN控制器时,判断所述链路探测消息的发起方非当前SDN控制器,所述SDN控制器标识为接收到的链路探测消息的发起方的标识;
步骤102中所述生成携带所述直连设备的标识的链路探测消息,具体包括:生成携带当前SDN控制器标识和所述直连设备的标识的链路探测消息。
在方案二中,第一SDN控制器在发送最初的链路探测消息时在链路探测消息中添加该链路探测消息的发送方,即第一SDN控制器的标识。SDN中各SDN控制器的标识均是唯一的,用于标识各SDN控制器,其可以为SDN控制器的MAC地址或设备号等。第一SDN控制器向第一网络设备发送的携带了第一SDN控制器标识的链路探测消息经第一网络设备和第二网络设备的转发,上传至第二SDN控制器。
第二SDN控制器在接收到携带了第一SDN控制器标识的链路探测消息后,可确定接收到的链路探测消息的发起方不是当前的第二SDN控制器,进而生成链路探测消息进行响应,其生成的链路探测消息中需要添加当前SDN控制器的标识,即第二SDN控制器的标识。
同理,第一SDN控制器也能够根据其接收到的携带了第二SDN控制器标识的链路探测消息确定其发起方不是当前的第一SDN控制器,进而确定与第一网络设备相连的非当前第一SDN控制器控制的第二网络设备。
在方案二中,通过在各链路探测消息中添加发送各链路探测消息的SDN控制器的标识,使接收到该链路探测消息的SDN控制器能够确定链路探测消息的发送方是否为自身。
这样,通过在链路探测消息响应的过程中,以及在根据链路探测消息确定网络设备连接关系的过程中加入判断链路探测消息来源的步骤,仅在链路探测消息的发起方为其他SDN控制器时,才对链路探测消息进行响应,以及记录时区别记录连接关系。这样,能够使各SDN控制器对SDN中网络设备的连接关系进行更细粒度的记录。此外这样还提供了具体的判断链路探测消 息来源的方案。
在一些实施例中,在步骤104后还包括:当需要对直连设备和与所述直连设备相连的网络设备之间的链路时延进行测试时,通过所述直连设备向所连接的网络设备发送链路测试消息;针对其中至少一个网络设备,若在发送所述链路测试消息后的预设时长内没有接收到该网络设备响应于该链路测试消息的消息,则调整所述直连设备和所述与其相连的网络设备之间的流量。
在第一SDN控制器确定了第一网络设备和第二网络设备间的连接关系的基础上,在一些实施例中,进一步测试第一网络设备和第二网络设备间连接是否正常。
第一SDN控制器向第一网络设备发送链路测试消息,类似步骤101中的链路探测消息,所述链路测试消息可以为封装了LLDP报文的Packet_out消息。在向所述第一网络设备发送链路测试消息的同时,第一SDN控制器启动定时器。需要说明的是,因为第一SDN控制器已经获知了第一网络设备与其他网络设备的连接关系,当除上述第二网络设备外,还有第三网络设备、第四网络设备等其他与与第一网络设备存在连接关系的网络设备时,可为第一网络设备与第二网络设备、第一网络设备与第三网络设备和第一网络设备与第四网络设备等各组连接关系建立各自的定时器。
链路测试消息在网络设备和SDN控制器间的转发流程与前述的链路探测消息的转发流程相似,即各SDN控制器在接收到链路测试消息后会生成携带网络设备标识的消息进行响应,第一SDN控制器由第一网络设备接收到携带了网络设备标识的消息后,则可确定第一网络设备与该标识指向的网络设备间的连接通畅。第一SDN控制器判断在各定时器所计时间超过预设时间阈值之前是否接收到了各个其他网络设备响应于链路测试消息反馈的消息,若在预设时长内接收到了,则确认网络设备间连接正常,关闭相应的定时器;若在预设时长内没有接收到某个网络设备反馈的消息,则判断第一网络设备与该网络设备当前已经无法正常连接,需要调整第一网络设备与该网络设备之 间的业务数据流量。
具体的调整方式可以为,第一SDN控制器向所述第一网络设备下发流表,流表的规则设置为限制所述第一网络设备向不正常连接的网络设备转发业务数据流量。需要说明的是,下发的流表中仅限制第一网络设备向第二网络设备转发业务数据流量,而不限制其转发链路探测消息,即第一SDN控制器发送至第一网络设备的链路探测消息仍然能够被转发至与所述第一网络设备相连的其他各网络设备。当网络恢复正常后,第一SDN控制器能够根据响应的链路探测消息确定某个网络设备恢复正常连接时,则重新下发流表,恢复第一网络设备向该网络设备转发业务数据流量。
在进行链路监测时,可能会先后发送多个链路测试消息,在各链路测试消息中可携带类似前述的序列号或者发送时刻,链路测试消息以与前述链路探测信息类似的流程在第一SDN控制器、第一网络设备、第二网络设备和第二SDN控制器间转发,并且第二网络设备接收到携带了序列号或者发送时刻的链路测试消息,在生成响应于该链路测试消息的消息时,需要将收到的序列号和发送时刻添加进生成的新消息中,以便生成的新消息反馈至第一SDN控制器时,第一SDN控制器能够根据序列号或者发送时刻确定当前的消息是对应哪一次发送的链路测试消息的,以便关闭相应的定时器。
这样,在确定了与直连网络设备相连的网络设备后,还可以对其连接关系进行探测,进而根据网络实际情况相应的调整业务数据流量的转发。
需要说明的是,上述第一SDN控制器可同时具有第二SDN控制器的功能,即对其他SDN控制器发送的链路探测消息和链路测试消息进行相应,第二SDN控制器同理,即所述第一SDN控制器和第二SDN控制器可为SDN中两个具有相同功能的SDN控制器。
实施例二:
LLDP报文是SDN中常用协议格式的报文,可以将本端设备的相关信息封装为TLV(Type/Length/Value,类型/长度/值)格式,之后由多个TLV组成 一个LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协议数据单元)封装在LLDP报文的数据部分进行传送。LLDP协议中type值为9-126的TLV可通过自定义进行扩展。
本实施例中自定义Type值为100的TLV,并命名为Dlldp,其格式如下:
TLV Type=100 Length Value
其中Value部分具体为:
Dlldp Type Seq Dpid Timeval
其中:
Dlldp Type为Dlldp数据的类型,占用1字节,其具体值可以为Request或者Reply对应上述实施例中的请求标识或响应标识;Seq为序列号,4字节,对应上述实施例中的序列号;Dpid为网络设备的标识,占用14字节,对应上述实施例中的网络设备的标识,各网络设备均对应的唯一的Dpid值;Timeval为时间戳,占用4字节,对应上述实施例中的时间戳。
本实施例与上述实施例一相似或重复之处可参照上述实施例的描述。图4示出了本发明实施例四中SDN中数据处理方法流程示意图,如图4所示,所述SDN中数据处理方法包括:
步骤401,Controller A(控制器A,对应上述实施例中的第一SDN控制器)生成LLDP报文,LLDP协议报文中包含了自定义的Dlldp数据,其中Dlldp Type为Request,表明发起的该探测报文属于请求报文;Seq为当前探测的序列号,本次为1;Dpid为Swtich A设备的标识dpid_A,其中Switch A(交换机A,对应上述实施例中的第一网络设备)是与Controller A直接相连,并受其控制的网络设备,Controller A可通过事先与Switch A的交互获取其设备标识,即dpid_A;Timeval为Controller A生成该LLDP报文的时刻的时间戳,记为timevall,因为生成该LLDP报文后即进行封装并发送,因此该时间戳可以近似表示Controller A发送封装后的LLDP报文的时间。除将Seq和timevall携带在报文中外,还可在Controller A本地记录其对应关系。Controller  A将所述LLDP报文封装成Packet_out消息发送给Switch A,并可以指定该报文在Switch A的出端口。需要注意的是Controller A欲将LLDP报文发送至哪个网络设备,则LLDP中的Dpid就为哪个网络设备的标识。
步骤402,Switch A接收到Packet_out消息后对其进行解封装,得到LLDP报文。Switch A根据预存的流表规则转发所述LLDP报文,常用的流表规则可以是在接收到封装有LLDP报文的Packet_out消息时将其解封装并转发至所有与Switch A相邻的网络设备。SDN中存在Switch B(交换机B,对应上述实施例中的第二网络设备)与Switch A直接相连,因此Switch A将解封装得到的LLDP报文转发至Switch B。
步骤403,Switch B接收到LLDP报文后,根据预设的流表规则进行转发。常用的流表规则可以是在接收到相邻网络设备发送的LLDP报文时将其封装转发至自身所属的控制器。因此Switch B将LLDP数据包按OpenFlow协议封装成Packet_in数据包发送给与自身直接相连的Controller B(控制器B,对应上述实施例中的第二SDN控制器)。
步骤404,Controller B收到Packet_in消息后,解封装得到LLDP报文,进一步按照规则协议解析,获取Dlldp数据。Controller B根据Dlldp Type为Request确定该报文是另一控制器发出的请求报文,需要反馈Dlldp Type为Reply的响应报文。基于接收到的LLDP报文,Controller B重新构建LLDP报文,并且在其中包括新的Dlldp数据,其Dlldp Type为Reply,表明该LLDP报文为响应报文;Seq为当前探测的序列号,与请求报文相同,为1;Dpid为Swtich B设备的标识dpid_B,其中Switch B是与Controller B直接相连,并受其控制的网络设备,Controller B可通过事先与Switch B的交互获取其设备标识,即dpid_B,因前述请求报文是由Switch B发送至Controller B的,因此在响应该LLDP报文时携带的也应当是Switch B的标识即dpid_B;Timeval仍为timevall,即将Controller A生成原LLDP请求报文的时刻的时间戳同样携带在响应报文中反馈。在Controller B重新构建LLDP报文之前还可以先根 据接收到的LLDP报文中携带的Switch A的标识判断所述Switch A与Controller B间是否存在直接连接关系,因Controller B知晓所有与其直接相连的网络设备的信息,因此若Switch A与Controller B直接相连则无需对接收到的LLDP报文进行回应,只有在判断Switch A与Controller B不存在直接连接关系时,才重新构建LLDP报文进行响应。
Controller B将所述新构建的LLDP报文封装成Packet_out消息发送给Switch B,并可以指定该报文在Switch B的出端口。需要注意的是Controller B由哪个网络设备接收请求报文,就将哪个网络设备的标识携带于新构建的LLDP报文的Dpid中,并将该新构建的LLDP报文发送回该网络设备。
此外在步骤404中Controller B还可以在判断Switch A与Controller B不存在直接连接关系时,根据由Switch B接收到的携带Switch A标识的LLDP报文确定Switch B和Switch A的连接关系。
步骤405,Switch B接收到Packet_out消息后对其进行解封装,得到新构建的LLDP报文。Switch B根据预存的流表规则转发所述新构建的LLDP报文,常用的流表规则可以是在接收到封装有LLDP报文的Packet_out消息时将其解封装并转发至所有与Switch B相邻的网络设备,因此Switch B可以将解封装得到的新构建的LLDP报文转发至Switch A。
步骤406,Switch A接收到新构建的LLDP报文后,根据预设的流表规则进行转发。常用的流表规则可以是在接收到相邻网络设备发送的LLDP报文时将其封装转发至自身所属的控制器。因此Switch A将新构建的LLDP数据包按OpenFlow协议封装成Packet_in消息发送给与自身直接相连的Controller A。
步骤407,Controller A收到Packet_in消息后解封装得到新构建的LLDP报文,因为Controller A接收到了Switch A发送的携带了Switch B标识Dpid_B的报文,因此可确定Switch A与Switch B间的连接关系。在确定Switch A与Switch B间的连接关系前还可以包括判断步骤,即确定Switch B为与 Controller A未直接连接的网络设备时才确定Switch A与Switch B间的连接关系,当Switch B与Controller A直接连接时,Controller A已存有Switch B的拓扑信息,无需重新确定连接关系。根据新构建的LLDP报文中的Dlldp Type为Reply可以确定该报文已经是其他控制器响应的报文了,只需根据该报文建立网络设备间的连接关系而无需再根据该报文重新构建另一报文。
步骤408,在确定Switch A与Switch B间的连接关系的基础上,Controller A将接收到封装了新构建的LLDP报文的Packet_in消息的时刻标识为时间戳timeval2,根据新构建的LLDP报文中的报文发送时间戳timevall和接收时刻timeval2,可由timeval2-timeval1计算得到Controller A经Switch A和Switch B至Controller B间的时延,由于Controller A与Switch A间的时延以及Controller B与Switch B间的时延可以忽略不计,因此可由timeval2-timeval1近似计算得到Switch A和Switch B间的端到端时延。在步骤408中,除前述计算时延的方法外,还可以根据新构建的LLDP报文中携带的序列号Seq在Controller A本地查找该序列号为1的请求报文的生成时间,并根据接收到该序列号为1的新构建报文的时间和所述报文生成时间近似计算得到Switch A和Switch B间的端到端时延。
步骤409,在Controller A已经确定Switch A和Switch B的连接关系后,可对Switch A和Switch B之间的链路进行监测。在需要时或周期性的向Switch A发送监测报文,监测报文类似步骤401中的请求报文,同样包括自定义的Dlldp数据。其中Dlldp Type为Request,表明发起的该探测报文属于监测报文;Seq为当前监测报文的序列号,本次为2;Dpid为Swtich A设备的标识dpid_A,Timeval为Controller A生成该LLDP报文的时刻的时间戳,记为timeval3,因为生成该LLDP报文后即进行封装并发送,因此该时间戳可以近似标识Controller A发送封装后的LLDP报文的时间。Controller A将所述LLDP报文封装成Packet_out消息发送给Switch A,并可以指定该报文在Switch A的出端口。需要注意的是Controller A欲将LLDP报文发送至哪个网 络设备,则LLDP中的Dpid就为哪个网络设备的标识。
若Switch A和Switch B之间的链路正常,则步骤411-步骤415与上述步骤401-步骤406相同。在步骤415中Controller A能够接收到经Switch A和Switch B转发的Controller B响应的报文,其Dlldp Type为Reply,Seq为2,Dpid为dpid_B,时间戳为timeval3。
步骤410,在Controller A发送监测报文后立即针对Switch A和Switch B的连接关系启动一定时器开始计时,并监测是否收到步骤415中的报文,即是否收到了Switch A发送的携带了Switch B的标识dpid_B的报文。
当定时器超过预设时间,并且仍未接收到步骤415中的报文时,则判断Switch A和Switch B之间的链路可能出现了故障,Controller A可通过向Switch A下发流表,避免将Switch A的流量转发至Switch B,而是转发到其他交换机。当定时器在超过预设时间之前即收到了步骤415中的报文,则确定Switch A和Switch B之间的链路正常,关闭所述定时器,不对流量进行控制调整。
需要说明的是,Switch A可能还与其他交换机存在连接关系,并且这些交换机与Controller A未直接相连,例如类似于前述步骤401-409,Switch A可能还分别建立了与Switch C和Switch D等交换机间的连接关系,其中Switch C和Switch D均与Controller B直接相连。在步骤409发送监测报文后,步骤410中还需要分别对Switch A和Switch C,以及Switch A和Switch D这两组连接关系分别启动对应的定时器。各定时器超时前,若接收到了Switch A发送的包含Switch C的标识的报文,则关闭Switch A和SwitchC这组连接关系对应的定时器;若接收到了Switch A发送的包含Switch D的标识的报文,则关闭Switch A和Switch D这组连接关系对应的定时器。相应的若那组连接关系对应的定时器超时了,则判断该连接关系可能出现了故障。
本实施例中,Controller A能够在Controller B的协助下感知与Controller A不存在直接连接关系的Switch B,确定Switch A与Switch B间的连接关系, 以及计算Switch A与Switch B间的时延。在确定了Switch A与Switch B间的连接关系的基础上,还能够对其链路状态进行监测,若链路出现故障可限制Switch A向Switch B转发业务数据流量。
实施例三:
基于同一发明构思,本发明实施例中还提供了SDN中数据处理装置,由于这些装置解决问题的原理与SDN中数据处理方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。图5示出了本发明实施例三SDN中数据处理装置的结构示意图,如图所示,所述装置500包括:
接收模块501,用于接收直连设备发送的链路探测消息;
处理模块502,用于当所述接收模块501接收到直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息;
发送模块503,用于向所述直连设备发送生成的所述链路探测消息。
优选的,所述发送模块503还用于,当需要发起链路探测时,向直连设备发送链路探测消息;
所述处理模块502还用于,当所述接收模块501接收到所述直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备。
优选的,所述处理模块502具体用于:当所述接收模块501接收到直连设备发送的携带请求标识的链路探测消息时,生成携带响应标识和所述直连设备的标识的链路探测消息;
所述发送模块503具体用于:当需要发起链路探测时,向直连设备发送携带请求标识的链路探测消息;
所述处理模块502还具体用于:当所述接收模块501接收到所述直连设备发送的携带响应标识和网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备。
优选的,所述处理模块502具体用于:当所述接收模块501接收到直连 设备发送的携带发送时刻的链路探测消息时,生成携带所述发送时刻和所述直连设备的标识的链路探测消息,所述发送时刻为该接收到的链路探测消息的发送时间的标识;
所述发送模块503具体用于:当需要发送链路探测时,向直连设备发送携带发送时刻的链路探测消息,所述发送时刻为该链路探测消息发送时间的标识;
所述处理模块502还具体用于:当所述接收模块501接收到所述直连设备发送的携带发送时刻和网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,并根据接收到该链路探测消息的时刻和该链路探测消息携带的发送时刻计算所述直连设备和与其相连的网络设备间的时延。
优选的,所述处理模块502具体用于:当所述接收模块501接收到直连设备发送的携带序列号的链路探测消息时,生成携带所述序列号和所述直连设备的标识的链路探测消息,所述序列号为接收到的链路探测消息的发送事件的标识;
所述发送模块503具体用于:当需要发起链路探测时,向直连设备发送携带序列号的链路探测消息,并保存携带所述序列号的链路探测消息的发送时刻,所述序列号为该次链路探测消息发送事件的标识;
所述处理模块502还具体用于:当接收到所述直连设备发送的携带序列号的网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,并根据接收到该链路探测消息的时刻和所述携带所述序列号的链路探测消息的发送时刻计算所述直连设备和与其相连的网络设备间的时延。
优选的,所述处理模块502具体用于:当所述接收模块501接收到直连设备发送的链路探测消息,并且判断所述链路探测消息的发起方非当前SDN控制器时,生成携带所述直连设备的标识的链路探测消息;
以及,当所述接收模块501接收到所述直连设备发送的携带网络设备标识的链路探测消息,并且判断所述链路探测消息的发起方非当前SDN控制器 时,确定与所述直连设备相连的非当前SDN控制器控制的网络设备。
优选的,当接收的链路探测消息包括网络设备标识,并且所述网络设备标识所指示的网络设备为非直连设备时,判断所述链路探测消息的发起方非当前SDN控制器;
所述发送模块503具体用于:当需要发送链路探测时,向直连设备发送携带所述直连设备的标识的链路探测消息;
或者,
当接收的链路探测消息包括SDN控制器标识,并且所述SDN控制器非当前SDN控制器时,判断所述链路探测消息的发起方非当前SDN控制器,所述SDN控制器标识为接收到的链路探测消息的发起方的标识;
所述处理模块502生成携带所述直连设备的标识的链路探测消息,具体包括:所述处理模块502生成携带当前SDN控制器标识和所述直连设备的标识的链路探测消息;
所述发送模块503具体用于:当需要发送链路探测时,向直连设备发送携带当前SDN控制器标识的链路探测消息。
优选的,所述发送模块503还用于:在所述处理模块502确定与所述直连设备相连的网络设备之后,当需要对直连设备和与所述直连设备相连的网络设备之间的链路时延进行测试时,通过所述直连设备向所连接的网络设备发送链路测试消息;
所述处理模块502还用于,针对其中至少一个网络设备,若在发送所述链路测试消息后的预设时长内所述接收模块501没有接收到该网络设备响应于该链路测试消息的消息,则调整所述直连设备和所述与其相连的网络设备之间的流量。
实施例四:
基于同一发明构思,本发明实施例中还提供了SDN中数据处理系统,由于这些装置解决问题的原理与SDN中数据处理方法和装置相似,因此该系统 的实施可以参见方法和装置的实施,重复之处不再赘述。
本实施例的SDN中具有多个SDN控制器。其中各SDN控制器具有上述实施例三中所述的装置。
实施例五:
基于同一发明构思,本发明实施例中还提供了SDN中数据处理电子设备,由于其原理与SDN中数据处理方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。所述电子设备包括:存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中各个步骤的指令。
实施例六:
基于同一发明构思,本发明实施例还提供了与电子设备结合使用的SDN中数据处理计算机程序产品,由于其原理与SDN中数据处理方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行任一前述方法中各个步骤的指令。
为了描述的方便,以上所述装置的各部分以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图 和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

Claims (19)

  1. 一种软件定义网络SDN中数据处理方法,应用于SDN控制器,其特征在于,所述方法包括:
    当接收到直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息;
    向所述直连设备发送生成的所述链路探测消息。
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    当需要发起链路探测时,向直连设备发送链路探测消息;
    当接收到所述直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备。
  3. 如权利要求1或2所述的方法,其特征在于:
    所述当接收到直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息,包括:
    当接收到直连设备发送的携带请求标识的链路探测消息时,生成携带响应标识和所述直连设备的标识的链路探测消息;
    所述当需要发起链路探测时,向直连设备发送链路探测消息,包括:
    当需要发起链路探测时,向直连设备发送携带请求标识的链路探测消息;
    所述当接收到所述直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,包括:
    当接收到所述直连设备发送的携带响应标识和网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备。
  4. 如权利要求1或2所述的方法,其特征在于:
    所述当接收到直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息,包括:
    当接收到直连设备发送的携带发送时刻的链路探测消息时,生成携带所述发送时刻和所述直连设备的标识的链路探测消息,所述发送时刻为该接收到的链路探测消息的发送时间的标识;
    所述当需要发送链路探测时,向直连设备发送链路探测消息,包括:
    当需要发送链路探测时,向直连设备发送携带发送时刻的链路探测消息,所述发送时刻为该链路探测消息发送时间的标识;
    所述当接收到所述直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,包括:
    当接收到所述直连设备发送的携带发送时刻和网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,并根据接收到该链路探测消息的时刻和该链路探测消息携带的发送时刻计算所述直连设备和与其相连的网络设备间的时延。
  5. 如权利要求1或2所述的方法,其特征在于:
    所述当接收到直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息,包括:
    当接收到直连设备发送的携带序列号的链路探测消息时,生成携带所述序列号和所述直连设备的标识的链路探测消息,所述序列号为接收到的链路探测消息的发送事件的标识;
    所述当需要发起链路探测时,向直连设备发送链路探测消息,包括:
    当需要发起链路探测时,向直连设备发送携带序列号的链路探测消息,并保存携带所述序列号的链路探测消息的发送时刻,所述序列号为该次链路探测消息发送事件的标识;
    所述当接收到所述直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,包括:
    当接收到所述直连设备发送的携带序列号的网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,并根据接收到该链路探测消息 的时刻和所述携带所述序列号的链路探测消息的发送时刻计算所述直连设备和与其相连的网络设备间的时延。
  6. 如权利要求1或2所述的方法,其特征在于,
    所述当接收到直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息,包括:
    当接收到直连设备发送的链路探测消息,并且判断所述链路探测消息的发起方非当前SDN控制器时,生成携带所述直连设备的标识的链路探测消息;
    所述当接收到所述直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,包括:
    当接收到所述直连设备发送的携带网络设备标识的链路探测消息,并且判断所述链路探测消息的发起方非当前SDN控制器时,确定与所述直连设备相连的非当前SDN控制器控制的网络设备。
  7. 如权利要求6所述的方法,其特征在于,
    当接收的链路探测消息包括网络设备标识,并且所述网络设备标识所指示的网络设备为非直连设备时,判断所述链路探测消息的发起方非当前SDN控制器;
    以及所述当需要发起链路探测时,向直连设备发送链路探测消息,包括:当需要发送链路探测时,向直连设备发送携带所述直连设备的标识的链路探测消息;
    或者,
    当接收的链路探测消息包括SDN控制器标识,并且所述SDN控制器非当前SDN控制器时,判断所述链路探测消息的发起方非当前SDN控制器,所述SDN控制器标识为接收到的链路探测消息的发起方的标识;
    所述生成携带所述直连设备的标识的链路探测消息,包括:生成携带当前SDN控制器标识和所述直连设备的标识的链路探测消息;
    以及所述当需要发起链路探测时,向直连设备发送链路探测消息,包括:当需要发送链路探测时,向直连设备发送携带当前SDN控制器标识的链路探测消息。
  8. 如权利要求2所述的方法,其特征在于:在所述当接收到所述直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备之后,还包括:
    当需要对直连设备和与所述直连设备相连的网络设备之间的链路时延进行测试时,通过所述直连设备向所连接的网络设备发送链路测试消息;
    针对其中至少一个网络设备,若在发送所述链路测试消息后的预设时长内没有接收到该网络设备响应于该链路测试消息的消息,则调整所述直连设备和所述与其相连的网络设备之间的流量。
  9. 一种软件定义网络SDN中数据处理装置,应用于SDN控制器,其特征在于,所述装置包括:
    接收模块,用于接收直连设备发送的链路探测消息;
    处理模块,用于当所述接收模块接收到直连设备发送的链路探测消息时,生成携带所述直连设备的标识的链路探测消息;
    发送模块,用于向所述直连设备发送生成的所述链路探测消息。
  10. 如权利要求9所述的装置,其特征在于:
    所述发送模块还用于,当需要发起链路探测时,向直连设备发送链路探测消息;
    所述处理模块还用于,当所述接收模块接收到所述直连设备发送的携带网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备。
  11. 如权利要求9或10所述的装置,其特征在于:
    所述处理模块具体用于:当所述接收模块接收到直连设备发送的携带请求标识的链路探测消息时,生成携带响应标识和所述直连设备的标识的链路 探测消息;
    所述发送模块具体用于:当需要发起链路探测时,向直连设备发送携带请求标识的链路探测消息;
    所述处理模块还具体用于:当所述接收模块接收到所述直连设备发送的携带响应标识和网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备。
  12. 如权利要求9或10所述的装置,其特征在于:
    所述处理模块具体用于:当所述接收模块接收到直连设备发送的携带发送时刻的链路探测消息时,生成携带所述发送时刻和所述直连设备的标识的链路探测消息,所述发送时刻为该接收到的链路探测消息的发送时间的标识;
    所述发送模块具体用于:当需要发送链路探测时,向直连设备发送携带发送时刻的链路探测消息,所述发送时刻为该链路探测消息发送时间的标识;
    所述处理模块还具体用于:当所述接收模块接收到所述直连设备发送的携带发送时刻和网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,并根据接收到该链路探测消息的时刻和该链路探测消息携带的发送时刻计算所述直连设备和与其相连的网络设备间的时延。
  13. 如权利要求9或10所述的装置,其特征在于:
    所述处理模块具体用于:当所述接收模块接收到直连设备发送的携带序列号的链路探测消息时,生成携带所述序列号和所述直连设备的标识的链路探测消息,所述序列号为接收到的链路探测消息的发送事件的标识;
    所述发送模块具体用于:当需要发起链路探测时,向直连设备发送携带序列号的链路探测消息,并保存携带所述序列号的链路探测消息的发送时刻,所述序列号为该次链路探测消息发送事件的标识;
    所述处理模块还具体用于:当接收到所述直连设备发送的携带序列号的网络设备标识的链路探测消息时,确定与所述直连设备相连的网络设备,并 根据接收到该链路探测消息的时刻和所述携带所述序列号的链路探测消息的发送时刻计算所述直连设备和与其相连的网络设备间的时延。
  14. 如权利要求9或10所述的装置,其特征在于,
    所述处理模块具体用于:当所述接收模块接收到直连设备发送的链路探测消息,并且判断所述链路探测消息的发起方非当前SDN控制器时,生成携带所述直连设备的标识的链路探测消息;
    以及,当所述接收模块接收到所述直连设备发送的携带网络设备标识的链路探测消息,并且判断所述链路探测消息的发起方非当前SDN控制器时,确定与所述直连设备相连的非当前SDN控制器控制的网络设备。
  15. 如权利要求14所述的装置,其特征在于,
    当接收的链路探测消息包括网络设备标识,并且所述网络设备标识所指示的网络设备为非直连设备时,判断所述链路探测消息的发起方非当前SDN控制器;
    所述发送模块具体用于:当需要发送链路探测时,向直连设备发送携带所述直连设备的标识的链路探测消息;
    或者,
    当接收的链路探测消息包括SDN控制器标识,并且所述SDN控制器非当前SDN控制器时,判断所述链路探测消息的发起方非当前SDN控制器,所述SDN控制器标识为接收到的链路探测消息的发起方的标识;
    所述处理模块生成携带所述直连设备的标识的链路探测消息,具体包括:所述处理模块生成携带当前SDN控制器标识和所述直连设备的标识的链路探测消息;
    所述发送模块具体用于:当需要发送链路探测时,向直连设备发送携带当前SDN控制器标识的链路探测消息。
  16. 如权利要求10所述的装置,其特征在于:
    所述发送模块还用于:在所述处理模块确定与所述直连设备相连的网络设备之后,当需要对直连设备和与所述直连设备相连的网络设备之间的链路时延进行测试时,通过所述直连设备向所连接的网络设备发送链路测试消息;
    所述处理模块还用于,针对其中至少一个网络设备,若在发送所述链路测试消息后的预设时长内所述接收模块没有接收到该网络设备响应于该链路测试消息的消息,则调整所述直连设备和所述与其相连的网络设备之间的流量。
  17. 一种SDN中数据处理系统,其特征在于,所述系统包括多个如权利要求9至16中任一权利要求所述的数据处理装置。
  18. 一种电子设备,其特征在于,所述电子设备包括:
    存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行权利要求1至8中任一所述方法中各个步骤的指令。
  19. 一种与电子设备结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行权利要求1至8中任一所述方法中各个步骤的指令。
PCT/CN2016/098780 2016-09-13 2016-09-13 Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品 WO2018049545A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680002938.4A CN107078962B (zh) 2016-09-13 2016-09-13 Sdn中数据处理方法、装置、系统、电子设备和计算机存储介质
PCT/CN2016/098780 WO2018049545A1 (zh) 2016-09-13 2016-09-13 Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/098780 WO2018049545A1 (zh) 2016-09-13 2016-09-13 Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品

Publications (1)

Publication Number Publication Date
WO2018049545A1 true WO2018049545A1 (zh) 2018-03-22

Family

ID=59624557

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/098780 WO2018049545A1 (zh) 2016-09-13 2016-09-13 Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品

Country Status (2)

Country Link
CN (1) CN107078962B (zh)
WO (1) WO2018049545A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11005777B2 (en) 2018-07-10 2021-05-11 At&T Intellectual Property I, L.P. Software defined prober

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819688B (zh) * 2017-09-18 2020-05-22 瑞斯康达科技发展股份有限公司 一种实现转发处理的方法、系统及装置
CN109660414B (zh) * 2017-10-11 2021-01-08 上海层峰网络科技有限公司 一种基于sdn网络的端到端业务监测的方法和装置
CN109361545A (zh) * 2018-11-01 2019-02-19 郑州云海信息技术有限公司 一种软件定义网络sdn控制器控制链路切换的方法及装置
CN109617776A (zh) * 2018-12-20 2019-04-12 桂林电子科技大学 基于分布式散列表的软件定义网络控制器的方法及系统
CN111614562A (zh) * 2020-05-29 2020-09-01 深信服科技股份有限公司 多级组网的链路质量探测方法、装置、设备及存储介质
CN112040328B (zh) * 2020-08-04 2023-03-10 北京字节跳动网络技术有限公司 数据交互方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468343A (zh) * 2013-09-25 2015-03-25 中兴通讯股份有限公司 报文处理方法、sdn转发设备以及sdn控制器
CN104735001A (zh) * 2013-12-24 2015-06-24 中兴通讯股份有限公司 软件定义网络中的链路发现方法、装置及系统
CN105721318A (zh) * 2016-02-29 2016-06-29 华为技术有限公司 一种软件定义网络sdn中发现网络拓扑的方法和装置
CN105763463A (zh) * 2016-01-27 2016-07-13 杭州华三通信技术有限公司 一种链路探测报文的传输方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881324B2 (en) * 2009-03-25 2011-02-01 International Business Machines Corporation Steering data communications packets for transparent bump-in-the-wire processing among multiple data processing applications
CN103166876B (zh) * 2011-12-08 2018-05-04 中兴通讯股份有限公司 OpenFlow网络域间的数据发送方法及装置
CN104350725B (zh) * 2012-06-06 2019-01-11 华为技术有限公司 通过软件定义网络进行信息中心网络的无缝集成和独立演进方法
CN104158747B (zh) * 2013-05-14 2019-09-24 中兴通讯股份有限公司 网络拓扑发现方法和系统
CN103401786B (zh) * 2013-07-12 2016-08-24 华为技术有限公司 网络拓扑建立、路径控制、报文传输方法及装置、系统
ES2641458T3 (es) * 2013-09-03 2017-11-10 Huawei Technologies Co., Ltd. Método de descubrimiento de enlace y un controlador SDN
US9432257B2 (en) * 2013-12-27 2016-08-30 Huawei Technologies Co., Ltd. Traffic behavior driven dynamic zoning for distributed traffic engineering in SDN
CN103763146B (zh) * 2014-01-29 2017-05-17 新华三技术有限公司 一种软件定义网络控制器及其生成转发信息的方法
CN105099995B (zh) * 2014-04-29 2018-09-28 华为技术有限公司 Sdn网络系统、控制器及控制方法
CN105100013B (zh) * 2014-05-15 2018-10-12 华为技术有限公司 一种感知网络安全设备的方法、网络安全设备及控制器
CN104283738B (zh) * 2014-10-11 2018-07-17 新华三技术有限公司 一种链路检测方法及设备
CN105812201A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 一种链路状态检测方法、装置和系统
CN105591912B (zh) * 2015-07-21 2019-08-06 新华三技术有限公司 一种转发路径的选择方法和装置
CN105357046B (zh) * 2015-11-23 2018-10-26 北京邮电大学 一种用于软件定义网络sdn的网络信息探测的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468343A (zh) * 2013-09-25 2015-03-25 中兴通讯股份有限公司 报文处理方法、sdn转发设备以及sdn控制器
CN104735001A (zh) * 2013-12-24 2015-06-24 中兴通讯股份有限公司 软件定义网络中的链路发现方法、装置及系统
CN105763463A (zh) * 2016-01-27 2016-07-13 杭州华三通信技术有限公司 一种链路探测报文的传输方法和装置
CN105721318A (zh) * 2016-02-29 2016-06-29 华为技术有限公司 一种软件定义网络sdn中发现网络拓扑的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11005777B2 (en) 2018-07-10 2021-05-11 At&T Intellectual Property I, L.P. Software defined prober

Also Published As

Publication number Publication date
CN107078962A (zh) 2017-08-18
CN107078962B (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
WO2018049545A1 (zh) Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品
US9853856B2 (en) Method and device for protecting service reliability and network virtualization system
EP3082309B1 (en) Sdn controller, data centre system and router connection method
JP2014175924A5 (zh)
CN105723657B (zh) 交换机、控制器、系统及链路质量检测方法
US20160156504A1 (en) Controlling forwarding devices in software defined networks
WO2013115177A1 (ja) ネットワークシステム、及びトポロジー管理方法
JP2019524013A5 (zh)
WO2016107424A1 (zh) 一种链路状态检测方法、装置和系统
WO2016037443A1 (zh) 一种临时通道的建立方法、设备、系统和计算机存储介质
CN104038570B (zh) 一种数据处理方法及装置
US10230540B2 (en) Method, device and system for communicating in a ring network
WO2018161550A1 (zh) 物联网家电设备离线恢复方法和联网模块
WO2017045433A1 (zh) 站点间通信状态检测方法及装置、存储介质
CN104065571A (zh) 一种广播报文处理方法、装置及系统
WO2016128051A1 (en) Discovering links between operating domains in a communication network
CN106230667B (zh) Vtep保活检测方法及装置
CN107360012B (zh) 一种链路状态处理方法及网络节点设备
US20200213878A1 (en) Method and apparatus for controlling network sensors
US10890901B2 (en) Control unit and method for operating an industrial automation system communication network comprising a plurality of communication devices
CN105703967B (zh) 一种检测标签交换路径连通性的方法及装置
US20180351802A1 (en) State Synchronization Between a Controller and a Switch in a Communications Network
WO2012106873A1 (zh) 组播协议报文监听方法、装置以及交换机
WO2023185214A1 (zh) 网络切换方法、节点、电子设备和可读存储介质
WO2016101582A1 (zh) 一种操作维护管理功能的配置、实现方法及转发设备

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: 16915931

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 15/07/2019)

122 Ep: pct application non-entry in european phase

Ref document number: 16915931

Country of ref document: EP

Kind code of ref document: A1