The present invention relates to the communications field, and in particular, to a method and an apparatus for detecting connectivity.
In a structure of a conventional network, connection between network elements is complex. Connectivity between network elements to be used needs to be detected before service operation is performed. There are multiple manners for detecting connectivity between two network elements, for example, common Bidirectional Forwarding Detection (Bidirectional Forwarding Detection, BFD).
With the change of market requirements and upgrade of the network structure, there emerges a new network architecture: software-defined networking (software-defined networking, SDN). In the SDN network architecture, a control plane and a forwarding plane are separated. A network element used for forwarding, for example, a switch (switch), in the forwarding plane is mainly controlled by using an SDN controller (SDN controller, SNC). The SNC mainly implements interaction of protocols and delivery of a forwarding entry, and the switch is mainly responsible for forwarding.
However, in the SDN network architecture or a hybrid network architecture of the conventional network and the SDN, when a network element is in the SDN, currently there is no method available for effectively detecting link connectivity between the network element and another network element.
To resolve the foregoing technical problem, embodiments of the present invention provide a method and an apparatus for detecting connectivity, to detect connectivity between network elements in an SDN architecture.
According to a first aspect, an embodiment of the present invention provides a method for detecting connectivity, including:
transmitting, by an SDN device, a session negotiation packet to a second network element, where the session negotiation packet is used to negotiate a link between the first network element and the second network element, and the first network element is located in an SDN network;
obtaining, by the SDN device, a response message returned by the second network element, to determine that the link is negotiated successfully; and
transmitting, by the SDN device, a heartbeat packet to the second network element, where the heartbeat packet is used to detect connectivity of the link.
In a first possible implementation manner of the first aspect, the SDN device specifically includes the first network element, and before the transmitting, by an SDN device, a session negotiation packet to a second network element, the method further includes:
receiving, by the first network element, first configuration information transmitted by an SNC, where the first configuration information includes location information of the second network element, and the first network element is connected to the SNC; and
the transmitting, by an SDN device, a session negotiation packet to a second network element specifically includes:
transmitting, by the first network element, a session negotiation packet to the second network element according to the location information.
With reference to the first possible implementation manner of the first aspect, in a second possible implementation manner, the first configuration information further includes data for transmitting the heartbeat packet, where the data includes a transmission interval and/or transmission times of the heartbeat packet; and
the first network element transmits the heartbeat packet to the second network element according to the data in the configuration information.
In a third possible implementation manner of the first aspect, the SDN device specifically includes the SNC, and after the transmitting, by the SDN device, a heartbeat packet to the second network element, the method further includes:
transmitting, by the SNC, a notification message to the first network element, where the notification message includes a connectivity result of the link detected by using the heartbeat packet.
In a fourth possible implementation manner of the first aspect, the SDN device specifically includes the SNC and the first network element, and the transmitting, by an SDN device, a session negotiation packet to a second network element specifically includes:
transmitting, by the SNC, the session negotiation packet to the second network element;
the obtaining, by the SDN device, a response message returned by the second network element specifically includes:
obtaining, by the SNC, the response message returned by the second network element; and
the transmitting, by the SDN device, a heartbeat packet to the second network element specifically includes:
transmitting, by the first network element, the heartbeat packet to the second network element.
With reference to the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner, before the transmitting, by the first network element, a heartbeat packet to the second network element, the method further includes:
receiving, by the first network element, second configuration information transmitted by the SNC, where the second configuration information includes location information of the second network element and data for transmitting the heartbeat packet, and the data includes a transmission interval and/or transmission times of the heartbeat packet; and
the transmitting, by the first network element, a heartbeat packet to the second network element specifically includes:
transmitting, by the first network element, the heartbeat packet to the second network element according to the location information and the data.
According to a second aspect, an embodiment of the present invention provides an apparatus for detecting connectivity, including:
a first transmission unit, configured to transmit a session negotiation packet to a second network element, where the session negotiation packet is used to negotiate a link between a first network element and the second network element, and the first network element is located in an SDN network;
a receiving unit, configured to obtain a response message returned by the second network element, to determine that the link is negotiated successfully; and
a second transmission unit, configured to transmit a heartbeat packet to the second network element, where the heartbeat packet is used to detect connectivity of the link.
In a first possible implementation manner of the second aspect, before the first transmission unit is triggered,
the receiving unit is further configured to receive first configuration information transmitted by an SNC, where the first configuration information includes location information of the second network element, and the first network element is connected to the SNC; and
the first transmission unit is specifically configured to transmit the session negotiation packet to the second network element according to the location information.
With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner, the first configuration information further includes data for transmitting the heartbeat packet, where the data includes a transmission interval and/or transmission times of the heartbeat packet; and
the second transmission unit is specifically configured to transmit the heartbeat packet to the second network element according to the data in the configuration information.
In a third possible implementation manner of the second aspect, after the second transmission unit is triggered, the apparatus further includes:
a third transmission unit, configured to transmit a notification message to the first network element, where the notification message includes a connectivity result of the link detected by using the heartbeat packet.
In a fourth possible implementation manner of the second aspect, before the second transmission unit is triggered,
the receiving unit is further configured to receive second configuration information transmitted by the SNC, where the second configuration information includes location information of the second network element and data for transmitting the heartbeat packet, and the data includes a transmission interval and/or transmission times of the heartbeat packet; and
the second transmission unit is specifically configured to transmit the heartbeat packet to the second network element according to the configuration information and the data.
As can be learned from the foregoing technical solution, after an SDN device that is located in an SDN network transmits a session negotiation packet to a second network element to determine that a link between the second network element and the first network element located in the SDN network is negotiated successfully, the SDN device transmits a heartbeat packet to the second network element, so as to effectively detect connectivity of the link. In this case, in an SDN network architecture or a hybrid architecture having an SDN network architecture, link connectivity between a first network element and a second network element in the SDN can also be effectively detected, thereby improving compatibility of the SDN network, and facilitating promotion of the SDN network.
To describe the technical solutions in the embodiments of the present invention more clearly, the following briefly describes the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
Conventionally, for a network element located in an SDN network architecture, there is no effective link connectivity detection method available for detecting link connectivity between the network element and another network element. The another network element herein may be a network element that is also located in the SDN network architecture, or may be a network element located in another network architecture. The another network herein may be construed as another network forming a hybrid network architecture with the SDN network architecture. In this case, when a link between network elements is faulty, another network element cannot be effectively and rapidly selected for switchover, reducing the stability of the SDN network architecture or a hybrid network architecture of a conventional network and SDN, and causing poor compatibility of the SDN network architecture and difficulty in promotion of the SDN network as well. Therefore, embodiments of the present invention provide a method and an apparatus for detecting connectivity. After an SDN device that is located in an SDN network transmits a session negotiation packet to a second network element to determine that a link between the second network element and the first network element located in the SDN network is negotiated successfully, the SDN device transmits a heartbeat packet to the second network element, so as to effectively detect connectivity of the link. In this case, in an SDN network architecture or a hybrid architecture having SDN, link connectivity between a first network element and a second network element in the SDN can also be effectively detected, thereby improving compatibility of the SDN network, and facilitating promotion of the SDN network.
S101: An SDN device transmits a session negotiation packet to a second network element, where the session negotiation packet is used to negotiate a link between a first network element and the second network element, and the first network element is located in an SDN network.
For example, the session negotiation packet is transmitted mainly for establishing a detection session between the first network element and the second network element. Establishing a detection session is a precondition for detecting link connectivity.
The first network element herein refers to a network element located in the SDN network, and may be construed as a provider edge (Provider Edge, PE) device or a provider (Provider, P) device. The second network element may be located in the SDN network, or may be not located in the SDN network. This is not limited in the present invention.
S102: The SDN device obtains a response message returned by the second network element, to determine that the link is negotiated successfully.
For example, the response message returned by the second network element specifically refers to a response message returned by the second network element after receiving the session negotiation packet transmitted by the SDN network. When the SDN device receives the response message, it may be generally considered that a detection session has been successfully established for the link between the first network element and the second network element.
S103: The SDN device transmits a heartbeat packet to the second network element, where the heartbeat packet is used to detect connectivity of the link.
For example, the heartbeat packet may be construed as a packet that is continuously transmitted at a particular frequency. During the period of transmitting the heartbeat packet, the connectivity of the link between the first network element and the second network element may be continuously detected by the SDN device.
As can be learned from the foregoing embodiment, after an SDN device that is located in an SDN network transmits a session negotiation packet to a second network element to determine that a link between the second network element and the first network element located in the SDN network is negotiated successfully, the SDN device transmits a heartbeat packet to the second network element, so as to effectively detect connectivity of the link. In this case, in an SDN network architecture or a hybrid architecture having an SDN network architecture, link connectivity between a first network element and a second network element in the SDN can also be effectively detected, thereby improving compatibility of the SDN network, and facilitating promotion of the SDN network.
The SDN device may specifically be different network devices in the SDN network. Several specific possibilities of the SDN device are described in the embodiment of the present invention in detail. The SDN device may include the first network element, may include an SNC, or may include the first network element and the SNC.
For the first case, that is, a case in which the SDN device specifically includes the first network element, refer to
S201: The first network element receives first configuration information transmitted by the SNC, where the first configuration information includes location information of the second network element.
For example, the first configuration information can be used to determine a location of a target network element whose connectivity is to be detected, that is, the second network element, in the network.
S202: The first network element transmits a session negotiation packet to the second network element according to the location information.
S203: The first network element obtains a response message returned by the second network element, to determine that the link is negotiated successfully.
S204: The first network element transmits a heartbeat packet to the second network element, where the heartbeat packet is used to detect connectivity of the link.
For example, frequency and duration of the heartbeat packet transmitted by the first network element to the second network element may be set by the SNC. The SNC may transmit, to the first network element by using the first configuration information in S201, data for transmitting the heartbeat packet, where the data includes a transmission interval and/or transmission times of the heartbeat packet. When the first configuration information received by the first network element includes the data, the heartbeat packet may be transmitted to the second network element according to the transmission interval and/or transmission times included in the data.
S205: The first network element transmits a second notification message to the SNC, where the second notification message includes a connectivity result of the link detected by using the heartbeat packet.
For example, by using the heartbeat packet in S204, the first network element may know the connectivity result of the link. In the SDN network, network elements connected to the SNC are mainly controlled by using the SNC, therefore, in this embodiment of the present invention, the connectivity result of the link obtained according to the heartbeat packet may be fed back to the first network element, so that the SNC can better understand related information of each network element, and better perform effective control according to the obtained related information, for example, how to switch when the link has no the connectivity, or whether switchover to the link between the first network element and the second network element is allowed when other links have no connectivity.
For the second case, that is, a case in which the SDN device specifically includes the SNC, refer to
S301: The SNC transmits a session negotiation packet to the second network element.
For example, location information of each network element has been acquired by the SNC in advance, and therefore the SNC may transmit the session negotiation packet to the second network element by means of the acquired location information of the second network element.
S302: The SNC obtains a response message returned by the second network element, to determine that the link is negotiated successfully.
S303: The SNC transmits a heartbeat packet to the second network element, where the heartbeat packet is used to detect connectivity of the link.
S304: The SNC transmits a notification message to the first network element, where the notification message includes a connectivity result of the link detected by using the heartbeat packet.
For example, because the connectivity result of the link obtained by the SNC by transmitting the heartbeat packet to the second network element is not known by the first network element, the SNC may inform the first network element of the connectivity result of the link by transmitting the notification message to the first network element.
For the third case, that is, a case in which the SDN device specifically includes the SNC and the first network element, refer to
S401: The SNC transmits a session negotiation packet to the second network element.
S402: The SNC obtains a response message returned by the second network element, to determine that the link is negotiated successfully.
S403: The first network element receives second configuration information transmitted by the SNC, where the second configuration information includes location information of the second network element and data for transmitting the heartbeat packet, and the data includes transmission interval and/or transmission times of the heartbeat packet.
For example, in a case in which the SDN device includes the SNC and the first network element, detection of link connectivity between the first network element and the second network element is completed by the SNC and the first network element in coordination. The SNC transmits the session negotiation packet to the second network element to determine that the link between the first network element and the second network element is negotiated successfully. Subsequently, the first network element may transmit the heartbeat packet to the second network element. Both the data for transmitting the heartbeat packet by the first network element to the second network element and address information of the second network element can be obtained by means of the second configuration information.
S404: The first network element transmits the heartbeat packet to the second network element according to the location information and the data, where the heartbeat packet is used to detect connectivity of the link.
S405: The first network element transmits a second notification message to the SNC, where the second notification message includes a connectivity result of the link detected by using the heartbeat packet.
a first transmission unit 501, configured to transmit a session negotiation packet to a second network element, where the session negotiation packet is used to negotiate a link between a first network element and the second network element, and the first network element is located in an SDN network.
For example, the session negotiation packet is transmitted mainly for establishing a detection session between the first network element and the second network element. Establishing a detection session is a precondition for detecting link connectivity.
The first network element herein refers to a network element in the SDN network, and may be construed as a PE device or a P device. The second network element may be located in the SDN network, or may be not located in the SDN network. This is not limited in the present invention.
a receiving unit 502, configured to obtain a response message returned by the second network element, to determine that the link is negotiated successfully.
For example, the response message returned by the second network element specifically refers to a response message returned by the second network element after receiving the session negotiation packet transmitted by the first transmission unit 501. When the receiving unit 502 receives the response message, it may be generally considered that a detection session has been successfully established for the link between the first network element and the second network element.
a second transmission unit 503, configured to transmit a heartbeat packet to the second network element, where the heartbeat packet is used to detect connectivity of the link.
For example, the heartbeat packet may be construed as a packet that is continuously transmitted at particular a frequency. During the period of transmitting the heartbeat packet, the connectivity of the link between the first network element and the second network element may be continuously detected by the apparatus 500 for detecting connectivity.
As can be learned from the foregoing embodiment, after an SDN device that is located in an SDN network transmits a session negotiation packet to a second network element to determine that a link between the second network element and the first network element located in the SDN network is negotiated successfully, the SDN device transmits a heartbeat packet to the second network element, so as to effectively detect connectivity of the link. In this case, in an SDN network architecture or a hybrid architecture having an SDN network architecture, link connectivity between a first network element and a second network element in the SDN can also be effectively detected, thereby improving compatibility of the SDN network, and facilitating promotion of the SDN network.
The apparatus 500 for detecting connectivity may also have multiple connectivity detection cases. Several specific possibilities of the apparatus 500 for detecting connectivity are described in this embodiment of the present invention in detail.
In a first case, before the first transmission unit 501 is triggered,
the receiving unit 502 is further configured to receive first configuration information transmitted by an SNC, where the first configuration information includes location information of the second network element, and the first network element is connected to the SNC; and
the first transmission unit 501 is specifically configured to transmit the session negotiation packet to the second network element according to the location information.
For example, the first configuration information can be used to determine a location of a target network element whose connectivity is to be detected, that is, the second network element, in the network.
For example, frequency and duration of the heartbeat packet transmitted by the second transmission unit 503 to the second network element may be set according to the first configuration information. Optionally, the first configuration information further includes data for transmitting the heartbeat packet, and the data includes a transmission interval and/or transmission times of the heartbeat packet. When the first configuration information received by the receiving unit 502 includes the data, the second transmission unit 503 is specifically configured to transmit the heartbeat packet to the second network element according to the data included in the first configuration information.
In a second case, on the basis of the embodiment corresponding to
the third transmission unit 504 is configured to transmit a notification message to the first network element, where the notification message includes a connectivity result of the link detected by using the heartbeat packet.
For example, because the connectivity result of the link obtained by transmitting the heartbeat packet to the second network element is not known by the first network element, the third transmission unit 504 may inform the first network element of the connectivity result of the link by transmitting the notification message to the first network element.
In a third case, before the second transmission unit 503 is triggered.
the receiving unit 502 is further configured to receive second configuration information transmitted by the SNC, where the second configuration information includes location information of the second network element and data for transmitting the heartbeat packet, and the data includes a transmission interval and/or transmission times of the heartbeat packet.
For example, both the data for transmitting the heartbeat packet by the second transmission unit 503 to the second network element and address information of the second network element can be obtained by means of the second configuration information.
The second transmission unit 503 is specifically configured to transmit the heartbeat packet to the second network element according to the configuration information and the data.
Refer to
triggering the transmitter 703 to transmit a session negotiation packet to a second network element, where the session negotiation packet is used to negotiate a link between the first network element and the second network element, and the first network element is located in an SDN network;
triggering the receiver 702 to obtain a response message returned by the second network element, to determine that the link is negotiated successfully; and
triggering the transmitter 703 to transmit a heartbeat packet to the second network element, where the heartbeat packet is used to detect connectivity of the link.
Optionally, the processor 704 may be a central processing unit (Central Processing Unit, CPU), the memory 701 may be an internal memory of a random access memory (Random Access Memory, RAM) type, the receiver 702 and the transmitter 703 each may include a common physical interface, and the physical interface may be an Ethernet (Ethernet) interface or an asynchronous transfer mode (Asynchronous Transfer Mode, ATM) interface. The processor 704, the transmitter 703, the receiver 702, and the memory 701 may be integrated into one or more independent circuits or one or more pieces of hardware, for example, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC).
The term “first” in the first network element and first configuration information mentioned in the embodiments of the present invention is only used as a name identifier but does not necessarily represent a first place in terms of sequence. This rule is also applicable to “second”.
Persons of ordinary skill in the art may understand that all or a part of the steps of the method in the embodiments of the present invention may be implemented by a program instructing relevant hardware. The program may be stored in a computer readable storage medium. When the program runs, the steps of the method in the embodiments of the present invention are performed. The storage medium may be at least one of the following media: media that are capable of storing program code, such as a Read-Only Memory (read-only memory, ROM for short), a RAM, a magnetic disk, or an optical disc.
It should be noted that the embodiments in this specification are all described in a progressive manner, for same or similar parts in the embodiments, reference may be made to these embodiments, and each embodiment focuses on a difference from other embodiments. Especially, device and system embodiments are basically similar to a method embodiment, and therefore are described briefly; for related parts, reference may be made to partial descriptions in the method embodiment. The described device and system embodiments are merely examples. The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the objectives of the solutions of the embodiments. A person of ordinary skill in the art may understand and implement the embodiments of the present invention without creative efforts.
The foregoing descriptions are merely preferred embodiments of the present invention, but are not intended to limit the protection scope of the present invention. The protection scope of the present invention shall be subject to the protection scope of the claims.
Number | Date | Country | Kind |
---|---|---|---|
201410736365.0 | Dec 2014 | CN | national |
This application is a continuation of International Application No. PCT/CN2015/096365, filed on Dec. 3, 2015, which claims priority to Chinese Patent Application No. 201410736365.0, filed on Dec. 5, 2014. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2015/096365 | Dec 2015 | US |
Child | 15614288 | US |