WO2015120581A1 - Traffic loop detection in a communication network - Google Patents

Traffic loop detection in a communication network Download PDF

Info

Publication number
WO2015120581A1
WO2015120581A1 PCT/CN2014/071983 CN2014071983W WO2015120581A1 WO 2015120581 A1 WO2015120581 A1 WO 2015120581A1 CN 2014071983 W CN2014071983 W CN 2014071983W WO 2015120581 A1 WO2015120581 A1 WO 2015120581A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
loop detection
detection message
loop
identity
Prior art date
Application number
PCT/CN2014/071983
Other languages
French (fr)
Inventor
Lei Chen
Jinghui MOU
Yuegang XU
Original Assignee
Telefonaktiebolaget L M Ericsson (Publ)
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 Telefonaktiebolaget L M Ericsson (Publ) filed Critical Telefonaktiebolaget L M Ericsson (Publ)
Priority to PCT/CN2014/071983 priority Critical patent/WO2015120581A1/en
Publication of WO2015120581A1 publication Critical patent/WO2015120581A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Definitions

  • the present invention relates to methods for managing a communication network and to corresponding devices.
  • LAN Local Area Network
  • nodes of the communication network should be connected to each other in a star-type topology. Accordingly, traffic loops are undesirable and may adversely affect the performance of the communication network.
  • While the communication network may generally be set up and configured to avoid traffic loops, such traffic loops may nonetheless occur due to false configurations, faulty hardware, or faulty software.
  • Ethernet ring protection ELP
  • STP Spanning Tree Protocol
  • Split Horizon Concept as specified for VPLS (Virtual Private LAN Service) in IETF RFC 4761 (January 2007).
  • MAC address flapping may be used to detect a traffic loop.
  • MAC address flapping uses the effect that in the case of a traffic loop a node may receive data packets from the same source MAC address on different ports. Accordingly, observation of such a phenomenon may indicate the presence of a traffic loop.
  • the MAC address flapping concept does not allow for obtaining further information of the traffic loop, e.g., which nodes form the traffic loop.
  • a traffic loop may be formed despite the availability of traffic loop avoidance mechanisms as mentioned above, e.g., due to malfunction of hardware or software or due to faulty configuration, and while the presence of such traffic loop may be detected, location and removal of the loop may be a cumbersome task for a support engineer.
  • a method of managing a communication network is provided.
  • a node of the communication network receives a loop detection message.
  • the loop detection message indicates one or more node identities.
  • Each of these one or more node identities corresponds to an upstream node which has previously processed the loop detection message.
  • the node compares the one or more node identities indicated in the loop detection message to an own node identity of the node. In response to a match between one of the one or more node identities indicated in the loop detection message and the own node identity of the node, the node determines that a traffic loop is present in the communication network.
  • a node for a communication network comprises at least one interface for connecting to other nodes of the communication network. Further, the node comprises at least one processor. The at least one processor is configured to receive a loop detection message. The loop detection message indicates one or more node identities. Each of these one or more node identities corresponds to an upstream node which has previously processed the loop detection message. Further, the at least one processor is configured to compare the one or more node identities indicated in the loop detection message to an own node identity of the node and, in response to a match between one of the one or more node identities indicated in the loop detection message and the own node identity of the node, determine that a traffic loop is present in the communication network.
  • a computer program or computer program product is provided, e.g., in the form of a non-transitory storage medium, which comprises program code to be executed by at least one processor of a node for a communication network. Execution of the program code causes the at least one processor to receive a loop detection message.
  • the loop detection message indicates one or more node identities. Each of these one or more node identities corresponds to an upstream node which has previously processed the loop detection message.
  • execution of the program code causes the at least one processor to compare the one or more node identities indicated in the loop detection message to an own node identity of the node and, in response to a match between one of the one or more node identities indicated in the loop detection message and the own node identity of the node, determine that a traffic loop is present in the communication network.
  • Fig. 1 schematically illustrates an exemplary scenario of traffic loop detection according to an embodiment of the invention.
  • Fig. 2 schematically illustrates assignment of traffic loop detection message generation functionalities according to an embodiment of the invention.
  • Fig. 3 schematically illustrates an exemplary scenario of addressing a change of network topology.
  • Fig. 4 shows a flowchart for illustrating a method according to an embodiment of the invention, which may be used for implementing traffic loop detection according to an embodiment of the invention in a node of a communication network.
  • Fig. 5 shows a flowchart for illustrating a method according to an embodiment of the invention, which may be used for controlling traffic loop detection message generation by the node.
  • Fig. 6 schematically illustrates structures of a communication network node according to an embodiment of the invention.
  • the illustrated concepts relate to management of a communication network, in particular with respect to handling of traffic loops.
  • the communication network is based on an Ethernet technology which mandates a star-type network topology, e.g., 100BASE-T or 1000BASE-T Ethernet technology as specified by the IEEE 802.3 standard family.
  • the illustrated concepts could be applied in a corresponding manner to other network technologies, e.g., extensions of the above- mentioned Ethernet technologies to higher bitrates, optical fiber technologies, or wireless technologies.
  • the concepts as illustrated herein are based on utilizing a loop detection message, which is forwarded through the communication network.
  • the loop detection message is configured to record node identities (node IDs) of upstream nodes which have previously processed the loop detection message, e.g., a node ID corresponding to an upstream node which generated the loop detection message and one or more node IDs corresponding to upstream nodes which forwarded the message.
  • node IDs node IDs of upstream nodes which have previously processed the loop detection message
  • a node IDs corresponding to an upstream node which generated the loop detection message and one or more node IDs corresponding to upstream nodes which forwarded the message.
  • the node IDs indicated in the loop detection message allow for determining a topology of the traffic loop, e.g., in terms of nodes forming the traffic loop. Therefore, not only the presence of the traffic loop may be detected in an efficient manner, but also at least some of the nodes forming the traffic loop may be identified and the traffic loop located.
  • Fig. 1 schematically illustrates an exemplary communication network which includes a plurality of nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F which are connected to each other via Ethernet links.
  • the nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F may for example correspond to routers or switches.
  • the nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F may have the function of a generator of loop detection messages and/or the function of a receiver of loop detection messages.
  • the node 100-A acts as a generator of loop detection messages and the nodes 100-B, 100-C, 100-D, 100-E, 100-F act as receivers of loop detection messages.
  • a node acting as the generator of loop detection messages generates loop detection messages to include the node ID of the node and sends the loop detection messages to the other nodes.
  • the loop detection message may for example be generated in a periodic manner.
  • generation of the loop detection message could also be event triggered. For example, detection of a change in the configuration of the network, e.g., due to deactivation or failure of a link, could trigger sending of the loop detection message.
  • a node acting as the receiver of loop detection messages receives the loop detection messages and processes them to detect a traffic loop, and may also forward the loop detection message to other nodes. In the latter case, the node will also add its node ID to the forwarded loop detection message. The forwarding is typically done on all ports of the node, except the port on which the loop detection message was received, thereby avoiding "ping pong" effects. Accordingly, the loop detection message may be used to record node IDs which correspond to upstream nodes which have previously processed, i.e., generated or forwarded, the loop detection message.
  • a node acting as the generator of loop detection messages may at the same time also act as a receiver of loop detection messages.
  • the loop detection message may use various formats. For example, a format and encapsulation similar to a Link Trace Message as specified in IEEE 802.1 ag-2007 or ITU-T G.8013/Y.1731 (07/201 1 ) could be used and supplemented with one or more additional information fields.
  • the node ID has the purpose of identifying the corresponding node, so that it can be distinguished from the other nodes in the communication network.
  • the node ID may be an identifier which is unique in the communication network.
  • the node ID may for example be a MAC address, an IP (Internet Protocol) address, a number assigned to the node (e.g., an index), or a combination of such elements.
  • the loop detection message may also be used to record further information concerning along its communication path.
  • the loop detection message may also indicate one or more port identifiers (port IDs).
  • the port ID may be used to identify that port of a node which is used for sending the loop detection message from the node.
  • the port ID may for example be a number which, on the level of the node, is uniquely assigned to the port of the node. In this way, the port ID may be used to distinguish multiple ports of the node from each other.
  • the node 100-A acting as the generator of loop detection messages, generates a loop detection message (LDM) 10 and sends it to the nodes 100-B, 100-E acting as receiver of loop detection messages.
  • LDM loop detection message
  • the loop detection message 10 as generated by the node 100-A indicates the node ID of the node 100-A.
  • the loop detection message identifies the node ID of the node 100-A as corresponding to the generator of the loop detection message 10. This may for example be accomplished by inserting the node ID to an information field which is assigned for information concerning the generator of the loop detection message 10.
  • the loop detection message 10 is assumed to indicate the port ID as used for sending the loop detection message 10 from the node 100-A.
  • the node 100-A uses port A1 for sending the loop detection message 10 to the node 100-B, and uses port A2 for sending the loop detection message 10 to the node 100-E.
  • the loop detection message 10 as sent to the node 100-B will indicate the node ID of the node 100-A as the generator of the loop detection message 10 and the port ID of port A1 as the corresponding port ID.
  • the loop detection message 10 as sent to the node 100-E will indicate the node ID of the node 100-A as the generator of the loop detection message 10 and the port ID of port A2 as the corresponding port ID.
  • the node 100-B When the node 100-B receives the loop detection message 10 from the node 100-A, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-A, this is not the case, because the loop detection message 10 as received from the node 100-A only indicates the node ID of the node 100-A (as the generator of the loop detection message 10). Accordingly, the node 100-B adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the nodes 100-C and 100-D.
  • the node 100-B also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-B, to the loop detection message 10.
  • the node ID and port ID may for example inserted to an information field of the loop detection message 10 which is assigned for information concerning forwarders of the loop detection message 10, e.g., as the first element of an ordered list.
  • the node 100-B uses port B2 for sending the loop detection message 10 to the node 100-C, and uses port B3 for sending the loop detection message 10 to the node 100-D.
  • the loop detection message 10 as sent to the node 100-C will indicate the node ID of the node 100-B as a forwarder of the loop detection message 10 and the port ID of port B2 as the corresponding port ID.
  • the loop detection message 10 as sent to the node 100-D will indicate the node ID of the node 100-B as a forwarder of the loop detection message 10 and the port ID of port B3 as the corresponding port ID.
  • the node 100-E when the node 100-E receives the loop detection message 10 from the node 100-A, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-A, this is not the case, because the loop detection message 10 as received from the node 100-A only indicates the node ID of the node 100-A (as the generator of the loop detection message 10). Accordingly, the node 100-E adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-F.
  • the node 100-E also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-E, to the loop detection message 10.
  • the node ID and port ID may for example inserted to the above-mentioned information field of the loop detection message 10 which is assigned for information concerning forwarders of the loop detection message 10, e.g., as the first element of an ordered list.
  • the node 100-E uses port E2 for sending the loop detection message 10 to the node 100-F. Accordingly, the loop detection message 10 as sent to the node 100-E will indicate the node ID of the node 100-E as a forwarder of the loop detection message 10 and the port ID of port E2 as the corresponding port ID.
  • the node 100-C When the node 100-C receives the loop detection message 10 from the node 100-B, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-B, this is not the case, because the loop detection message 10 as received from the node 100-B only indicates the node ID of the node 100-A (as the generator of the loop detection message 10), and the node ID of the node 100-B (as a first forwarder). Accordingly, the node 100-C adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-D.
  • the node 100-C also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-C, to the loop detection message 10.
  • the node ID and port ID may be inserted to the above- mentioned information field which is assigned for information concerning forwarders of the loop detection message 10, e.g., by appending it to the list.
  • the node 100-D receives the loop detection message 10 from the node 100-B, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID.
  • the node 100-C adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-C.
  • the node 100-D also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-D, to the loop detection message 10.
  • the node ID and port ID may be inserted to the above-mentioned information field which is assigned for information concerning forwarders of the loop detection message 10, e.g., by appending it to the list.
  • the node 100-F When the node 100-F receives the loop detection message 10 from the node 100-E, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-E, this is not the case, because the loop detection message 10 as received from the node 100-E only indicates the node ID of the node 100-A (as the generator of the loop detection message 10), and the node ID of the node 100-E (as a first forwarder). Accordingly, the node 100-F would normally forward the loop detection message 10. However, since the node 100-F is not connected to any other nodes than the node 100-E, such forwarding is not possible and omitted.
  • the node 100-D when the node 100-D receives the loop detection message 10 from the node 100-C, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-C, this is not the case, because the loop detection message 10 as received from the node 100-C only indicates the node ID of the node 100-A (as the generator of the loop detection message 10), the node ID of the node 100-B (as a first forwarder), and the node ID of the node 100-C (as a second forwarder). Accordingly, the node 100-D adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-B.
  • the node 100-D also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-D, to the loop detection message 10.
  • the node ID and port ID may be inserted to the above-mentioned information field which is assigned for information concerning forwarders of the loop detection message 10, e.g., by appending it to the list.
  • the node 100-C receives the loop detection message 10 from the node 100-D, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID.
  • the node 100-C adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-B. Further, the node 100-C also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-C, to the loop detection message 10. For example, the node ID and port ID may be inserted to the above-mentioned information field which is assigned for information concerning forwarders of the loop detection message 10, e.g., by appending it to the list.
  • the node 100-B receives the forwarded loop detection message 10 from the node 100-C and also from the node 100-D.
  • the node 100-B checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-C, this is the case, because the loop detection message 10 as received from the node 100-C indicates the node ID of the node 100-B as the first forwarder of the loop detection message 10.
  • the node 100-B infers from the match of the node ID indicated in the loop detection messages 10 and its own node ID that a traffic loop is present in the communication network.
  • the node 100-B may also determine the topology of this traffic loop from the information in the loop detection message 10 as received from the node 100-C.
  • the node IDs indicated in the loop detection message 10 allow for determining that the traffic loop is formed by the node 100-B, the node 100-C, and the node 100-D.
  • the port IDs indicated in the loop detection message 10 allow for determining ports on these nodes 100-B, 100-C, 100-D which potentially cause the traffic loop.
  • the node 100-B when the node 100-B receives the loop detection message 10 from the node 100-D, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-D, this is the case as well, because the loop detection message 10 as received from the node 100-D indicates the node ID of the node 100-B as the first forwarder of the loop detection message 10. The node 100-B infers from the match of the node ID indicated in the loop detection messages 10 and its own node ID that a traffic loop is present in the communication network. Further, the node 100-B may also determine the topology of this traffic loop from the information in the loop detection message 10 as received from the node 100-D.
  • the node IDs indicated in the loop detection message 10 allow for determining that the traffic loop is formed by the node 100-B, the node 100-C, and the node 100-D. Further, the port IDs indicated in the loop detection message 10 allow for determining ports on these nodes 100-B, 100-C, 100-D which potentially cause the traffic loop.
  • the node 100-B may refrain from forwarding the loop detection message to other nodes, e.g., in the illustrated scenario to the node 100-A, thereby avoiding repeated detection of the same traffic loop.
  • the node 100-B may then send a report 20 which indicates the presence of the traffic loop and preferably also indicates the topology of the traffic loop.
  • the report 20 may aggregate the information obtained from the loop detection message 10 from the node 100-C and the information form the loop detection message 10 from the node 100-D, or this information may be provided in separate reports. Further, in the scenario of Fig. 1 , correlation of the information from both loop detection messages 10 received from the nodes 100-C and 100-D could be used to detect the presence of a bi-directional traffic loop.
  • the report 20 may for example be sent to a an operations and support system (OSS) of the communication network. The information in the report 20 may then be used by a support engineer for locating and removing the traffic loop.
  • OSS operations and support system
  • the exemplary scenario of Fig. 1 is based on a given assignment of functionalities to the nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F.
  • the node 100-A acts as the generator of loop detection messages.
  • Such assignment of functionalities can be done manually by an operator of the communication network.
  • an automated assignment of functionalities could be used.
  • An example of implementing such automated assignment of functionalities is illustrated in Fig. 2.
  • the assignment process of Fig. 2 assumes that there is a "ranking" of node IDs, e.g., in the form of a mapping of the node IDs to corresponding numerical values which quantify the ranking.
  • mapping is inherently present. However, also in other cases, e.g., MAC addresses or IP addresses, such mapping to numerical values may be obtained, e.g., by considering the node ID as a binary word and using the numerical value corresponding to this binary word.
  • multiple nodes of the communication network e.g., all suitably equipped nodes, act both as a generator of loop detection messages and as a receiver of loop detection messages.
  • a corresponding scenario is illustrated in Fig. 2, in which the nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F each generate a corresponding loop detection message 1 1 , 12, 13, 14, 15, 16.
  • the node 100-A generates the loop detection message 1 1 , which is sent to the nodes 100-B and 100-E.
  • the node 100-B generates the loop detection message 12, which is sent to the nodes 100-A, 100-C, and 100-D.
  • the node 100-C generates the loop detection message 13, which is sent to the nodes 100-B and 100-D.
  • the node 100-D generates the loop detection message 14, which is sent to the nodes 100-B and 100-C.
  • the node 100-E generates the loop detection message 15, which is sent to the nodes 100-A and 100-F.
  • the node 100-F generates the loop detection message 16, which is sent to the node 100-E.
  • These loop detection messages may also be forwarded as explained for the loop detection message 10 of Fig. 1.
  • this node 100-A, 100-B, 100-C, 100-D, 100-E, 100-F compares the node ID of corresponding to the generator of the loop detection message as indicated in the received loop detection message 1 1 , 12, 13, 14, 15, 16 to its own node ID.
  • the node 100-A, 100-B, 100-C, 100-D, 100-E, 100-F stops acting as generator of loop detection messages. If the node ID corresponding to the generator of the received loop detection message 1 1 , 12, 13, 14, 15, 16 indicates a lower ranking, e.g., is mapped to a lower numerical value, the node 100-A, 100-B, 100-C, 100-D, 100-E, 100-F continues acting as generator of loop detection messages. However, in this case the node 100-A, 100-B, 100-C, 100-D, 100-E, 100-E may refrain from forwarding the received loop detection message 1 1 , 12, 13, 14, 15, 16.
  • the process would execute as follows:
  • the node 100-B would receive the loop detection message 1 1 from the node 100- A, determine that the generator node ID indicated in the loop detection message 1 1 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages.
  • the node 100-C would receive the loop detection message 12 from the node 100-C, determine that the generator node ID indicated in the loop detection message 12 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages.
  • the node 100-D would receive the loop detection message 12 from the node 100-B or the loop detection message 13 from the node 100-C, determine that the generator node ID indicated in the loop detection message 12 or 13 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages.
  • the node 100-E would receive the loop detection message 1 1 from the node 100-A, determine that the generator node ID indicated in the loop detection message 1 1 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages.
  • the node 100-F would receive the loop detection message 15 from the node 100-E, determine that the generator node ID indicated in the loop detection message 15 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages. Reception of forwarded loop detection messages, e.g., reception of the loop detection message 1 1 , forwarded by the node 100-B, by the node 100-C, would have the same effect.
  • the node 100-A when the node 100-A receives the loop detection message 12 from the node 100-B or the loop detection message 15 from the node 100-E, it would determine that the generator node ID indicated in the loop detection message 12 or 15 corresponds to a lower ranking, and thus continue acting as generator of loop detection messages. In this case, the node 100-A may refrain from forwarding the received loop detection messages 12, 15.
  • the node 100-A would remain as the only node acting as generator of loop detection messages, which corresponds to the assignment of functionalities underlying the scenario of Fig. 1.
  • the assignment process may also address changes in the topology of the communication network, e.g., due to failure or deactivation of a link.
  • An exemplary scenario of addressing such topology changes is illustrated in Fig. 3.
  • each node which is not acting as generator of loop detection messages may further monitor whether it has not received a loop detection message for a given time interval. If this is the case, the node may start acting as generator of loop detection messages. This may for example be implemented by providing a timer which has a longer duration than the periodicity of loop detection message generation, resetting the timer each time a loop detection message is received, and starting acting as generator of loop detection messages when the timer expires.
  • the lack of reception of loop detection messages would cause the nodes 100-B, 100-C, 100-D to start acting as generator of loop detection messages, as illustrated by messages 17, 18, 19.
  • the node 100-B generates the loop detection message 17, which is sent to the nodes 100-C and 100-D.
  • the node 100-C generates the loop detection message 18, which is sent to the nodes 100-B and 100-D.
  • the node 100-D generates the loop detection message 19, which is sent to the nodes 100-B and 100-C.
  • this node 100-B, 100-C, 100-D compares the node ID of corresponding to the generator of the loop detection message as indicated in the received loop detection message 17, 18, 19 to its own node ID. If the node ID corresponding to the generator of the received loop detection message 17, 18, 19 indicates a higher ranking, e.g., is mapped to a higher numerical value, the node 100-B, 100-C, 100-D stops acting as generator of loop detection messages.
  • the node 100-B, 100-C, 100-D continues acting as generator of loop detection messages. However, in this case the node 100-B, 100-C, 100-D may refrain from forwarding the received loop detection message 17, 18, 19.
  • the node 100-C would receive the loop detection message 17 from the node 100-B, determine that the generator node ID indicated in the loop detection message 17 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages.
  • the node 100-D would receive the loop detection message 17 from the node 100-B, determine that the generator node ID indicated in the loop detection message 17 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages.
  • the node 100-B when the node 100-B receives the loop detection message 18 from the node 100-C or the loop detection message 19 from the node 100-D, it would determine that the generator node ID indicated in the loop detection message 17 or 19 corresponds to a lower ranking, and thus continue acting as generator of loop detection messages.
  • the node 100-B would be automatically assigned as the only node acting as generator of loop detection messages in the second region including the nodes 100-B, 100-C, 100-D.
  • Fig. 4 shows a flowchart for illustrating a method which may be used for implementing the above concepts in a node of a communication network, e.g., in one of the nodes 100-A, 100- B, 100-C, 100-D, 100-E, 100-F.
  • the steps of the method may be performed by one or more processors of the node.
  • the processor(s) may execute correspondingly configured program code. Further, at least some of the corresponding functionalities may be hardwired in the processor(s).
  • the node receives a loop detection message, such as the loop detection message 10 of Fig. 1 .
  • the loop detection message indicates one or more node IDs.
  • Each of the node IDs correspond to an upstream node which has previously processed the loop detection message. This previous processing may correspond to generating the loop detection message or forwarding the loop detection message.
  • the upstream nodes would correspond to the nodes 100-A, 100-B, 100-C, and 100-D.
  • the node IDs may correspond to MAC addresses, IP addresses, numbers uniquely assigned to the nodes of the communication network, or a combination thereof.
  • the loop detection message may also indicate one or more port IDs. In this case each port ID corresponds to a port which was used by the upstream node for sending the loop detection message.
  • the port IDs would correspond to the port A1 of the node 100-A, the port B2 of the node 100-B, the port C2 of the node 100-C, and the port D2 of the node 100-D.
  • the node IDs indicated in the loop detection message may include a node ID which corresponds to an upstream node which generated the loop detection message and one or more node IDs which each correspond to a further upstream node which forwarded the loop detection message.
  • the node ID corresponding to the upstream node which generated the loop detection message may be identified as such, e.g., by providing it in a correspondingly assigned field of the loop detection message or placing it in the first position of an ordered list of upstream nodes.
  • the node compares the node IDs indicated in the loop detection message to its own node ID.
  • the node checks whether there is a match between one of the node IDs indicated in the loop detection message and the own node ID of the node. If this is the case, the node determines that a traffic loop is present in the communication network, and the method continues with step 440, as indicated by branch ⁇ ".
  • the node may determine the topology of the traffic loop. For this purpose, the node may consider the node IDs indicated in the loop detection message. In particular, these node IDs may be used to identify nodes which form the traffic loop, such as the nodes 100-B, 100-C, 100-D in the scenario of Fig. 1. In implementations where the loop detection message further indicates the port IDs, these may be used as a further basis for determining the topology of the traffic loop.
  • the node may send a report, such as the report 20, which indicates the presence and optionally also topology of the detected traffic loop.
  • a report such as the report 20, which indicates the presence and optionally also topology of the detected traffic loop.
  • the report could be sent to an OSS node.
  • step 460 the node forwards the loop detection message. Further, the node adds its own node ID to the loop detection message. For example, as explained in connection with Fig. 1 , the own node ID could be appended to a list of nodes which have forwarded the loop detection message. Further, the node may add an indication of a port ID, corresponding to a port of the node as used for said forwarding of the loop detection message, to the loop detection message. For example, in the scenario of Fig. 1 , the node 100-B would add the port ID of the port B2 to the loop detection message 10 as forwarded to the node 100-C.
  • Fig. 5 shows a flowchart for illustrating a method which may be used for implementing functionalities of the node for generating loop detection messages. Also in this case, it is to be understood that if a processor based implementation of the node is used, the steps of the method may be performed by one or more processors of the node. For this purpose, the processor(s) may execute correspondingly configured program code. Further, at least some of the corresponding functionalities may be hardwired in the processor(s). The steps of the method of Fig. 5 are assumed to be performed after the steps of the method of Fig. 4.
  • the node generates at least one further loop detection message and sends the at least one further loop detection message to one or more further nodes of the communication network, e.g., using broadcast transmission on all available ports of the node.
  • the at least one further loop detection message indicates the own node ID of the node. Further, the at least one further loop detection message may also indicate a port ID, as used by the node for sending the at least one further loop detection message. Examples of such further loop detection message are the loop detection message 12 as generated by the node 100-B in the scenario of Fig. 2 or the loop detection message 17 as generated by the node 100-B in the scenario of Fig. 3.
  • the node may start generating and sending of the at least one further loop detection message in response to not receiving another loop detection message for a given time interval, e.g., as explained in connection with the scenario of Fig. 3.
  • the node compares its own node ID to the node ID which corresponds to the upstream node which generated the loop detection message as received in step 410 of Fig. 4.
  • the node may check whether this node ID corresponds to a higher ranking than the own node ID of the node, e.g., by comparing a first numerical value which is mapped to the own node ID of the node and a second numerical value which is mapped to the node ID corresponding to the upstream node which generated the loop detection message.
  • step 530 If the check of step 530 reveals that the node ID corresponding to the upstream node which generated the loop detection message indicates a higher ranking than the own node ID of the node, as indicated by branch ⁇ ", the method continues with step 540, where the node stops the generating and sending of the at least one further loop detection message of step 510.
  • Fig. 6 illustrates exemplary structures of a node for a communication network, which may be used to implement the above concepts.
  • the illustrated structures may be used to implement the above-described functionalities of the node 100-B, which may act as a generator of loop detection messages (such as in the scenarios of Figs. 2 and 3) and as a receiver of loop detection messages (such as in the scenario of Fig. 1 ).
  • the node includes one or more interface ports for communication with other nodes of the communication network. These interface ports may be based on a technology which mandates a star-type network topology, e.g., 100BASE-T or 1000BASE-T Ethernet technology. Further, the node may include a management interface 620 which may be used for communication with one or more management entities of the communication network, e.g., an OSS node.
  • a management interface 620 which may be used for communication with one or more management entities of the communication network, e.g., an OSS node.
  • the node includes one or more processor(s) 650 coupled to the interfaces 610 and 620, and a memory 660 coupled to the processor(s) 650.
  • the memory 660 may include a read-only memory (ROM), e.g., a flash ROM, a RAM, e.g., a dynamic RAM (DRAM) or static RAM (SRAM), a mass storage, e.g., a hard disk or solid state disk, or the like.
  • ROM read-only memory
  • RAM e.g., a dynamic RAM (DRAM) or static RAM (SRAM)
  • mass storage e.g., a hard disk or solid state disk, or the like.
  • the memory 660 includes suitably configured program code modules to be executed by the processor(s) 650 so as to implement functionalities as explained above for the node 100-B, especially
  • the loop detection message 10 indicating one or more node identities, the one or more node identities corresponding to an upstream node 100-A, 100-B, 100-C, 100-D which has previously processed the loop detection message;
  • the program code modules in the memory 660 may include a loop detection message processing module 670 so as to implement the above- described functionalities of generating and/or forwarding loop detection messages. Further, the program code modules in the memory 660 may include a loop detection module 680 so as to implement the above-described functionalities of detecting a traffic loop on the basis of a received loop detection message and optionally also determining the topology of the traffic loop. Still further, the memory 660 may include a reporting module 690 so as to implement the above-described functionalities of reporting the presence and preferably also topology of a detected traffic loop. It is to be understood that the structures as illustrated in Fig.
  • the node may actually include further components which, for the sake of clarity, have not been illustrated, e.g., further interfaces or further processors.
  • the memory 660 may include further types of program code modules, which have not been illustrated, e.g., program code modules for implementing known functionalities of communication network nodes, such as routing or switching functionalities.
  • a computer program may be provided for implementing functionalities of the node, e.g., in the form of a physical medium storing the program code modules to be stored in the memory 660 or by making such program code available for download.
  • the concepts as described above may be used for efficiently detecting and/or locating a traffic loop in a communication network. In this way management and maintenance of the communication network can be simplified.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A node (100-B) of a communication network receives a loop detection message (10). The loop detection message indicates one or more node identities. Each of these one or more node identities corresponds to an upstream node (100-A, 100-B, 100-C, 100-D) which has previously processed the loop detection message (10). The node (100-B) compares the one or more node identities indicated in the loop detection message (10) to an own node identity of the node (100-B). In response to a match between one of the one or more node identities indicated in the loop detection message (10) and the own node identity of the node (100-B), the node (100-B) determines that a traffic loop is present in the communication network. The node (100-B) may then send a report (20) indicating the presence optionally also topology of the traffic loop.

Description

Traffic Loop Detection in a Communication Network Technical Field
The present invention relates to methods for managing a communication network and to corresponding devices. Background
In certain types of communication networks, e.g., a Local Area Network (LAN) based on the 100BASE-T or 1000BASE-T Ethernet technology as specified by the IEEE 802.3 standard family, nodes of the communication network should be connected to each other in a star-type topology. Accordingly, traffic loops are undesirable and may adversely affect the performance of the communication network.
While the communication network may generally be set up and configured to avoid traffic loops, such traffic loops may nonetheless occur due to false configurations, faulty hardware, or faulty software.
Existing technologies which deal with traffic loops in Ethernet type communication networks are for example Ethernet ring protection (ERP) switching as defined by ITU-T G.8032/Y.1344 (02/2012), the Spanning Tree Protocol (STP) as specified in IEEE 802.1 D-2004, the "Split Horizon" concept as specified for VPLS (Virtual Private LAN Service) in IETF RFC 4761 (January 2007).
While ERP, STP, and the VPLS "Split Horizon" concept use protocol mechanisms which aim at avoiding formation of a traffic loop, MAC address flapping may be used to detect a traffic loop. In particular, MAC address flapping uses the effect that in the case of a traffic loop a node may receive data packets from the same source MAC address on different ports. Accordingly, observation of such a phenomenon may indicate the presence of a traffic loop. However, the MAC address flapping concept does not allow for obtaining further information of the traffic loop, e.g., which nodes form the traffic loop.
Accordingly, in certain scenarios a traffic loop may be formed despite the availability of traffic loop avoidance mechanisms as mentioned above, e.g., due to malfunction of hardware or software or due to faulty configuration, and while the presence of such traffic loop may be detected, location and removal of the loop may be a cumbersome task for a support engineer.
Accordingly, there is a need for techniques which allow for efficiently dealing with a traffic loop in a communication network.
Summary
According to an embodiment of the invention, a method of managing a communication network is provided. According to the method, a node of the communication network receives a loop detection message. The loop detection message indicates one or more node identities.
Each of these one or more node identities corresponds to an upstream node which has previously processed the loop detection message. The node compares the one or more node identities indicated in the loop detection message to an own node identity of the node. In response to a match between one of the one or more node identities indicated in the loop detection message and the own node identity of the node, the node determines that a traffic loop is present in the communication network.
According to a further embodiment of the invention, a node for a communication network is provided. The node comprises at least one interface for connecting to other nodes of the communication network. Further, the node comprises at least one processor. The at least one processor is configured to receive a loop detection message. The loop detection message indicates one or more node identities. Each of these one or more node identities corresponds to an upstream node which has previously processed the loop detection message. Further, the at least one processor is configured to compare the one or more node identities indicated in the loop detection message to an own node identity of the node and, in response to a match between one of the one or more node identities indicated in the loop detection message and the own node identity of the node, determine that a traffic loop is present in the communication network.
According to a further embodiment of the invention, a computer program or computer program product is provided, e.g., in the form of a non-transitory storage medium, which comprises program code to be executed by at least one processor of a node for a communication network. Execution of the program code causes the at least one processor to receive a loop detection message. The loop detection message indicates one or more node identities. Each of these one or more node identities corresponds to an upstream node which has previously processed the loop detection message. Further, execution of the program code causes the at least one processor to compare the one or more node identities indicated in the loop detection message to an own node identity of the node and, in response to a match between one of the one or more node identities indicated in the loop detection message and the own node identity of the node, determine that a traffic loop is present in the communication network.
Details of such embodiments and further embodiments will be apparent from the following detailed description of embodiments. Brief Description of the Drawings
Fig. 1 schematically illustrates an exemplary scenario of traffic loop detection according to an embodiment of the invention. Fig. 2 schematically illustrates assignment of traffic loop detection message generation functionalities according to an embodiment of the invention.
Fig. 3 schematically illustrates an exemplary scenario of addressing a change of network topology.
Fig. 4 shows a flowchart for illustrating a method according to an embodiment of the invention, which may be used for implementing traffic loop detection according to an embodiment of the invention in a node of a communication network. Fig. 5 shows a flowchart for illustrating a method according to an embodiment of the invention, which may be used for controlling traffic loop detection message generation by the node.
Fig. 6 schematically illustrates structures of a communication network node according to an embodiment of the invention.
Detailed Description of Embodiments
In the following, concepts according to embodiments of the invention will be explained in more detail by referring to the accompanying drawings. The illustrated concepts relate to management of a communication network, in particular with respect to handling of traffic loops. In the illustrated embodiments, it is assumed that the communication network is based on an Ethernet technology which mandates a star-type network topology, e.g., 100BASE-T or 1000BASE-T Ethernet technology as specified by the IEEE 802.3 standard family. However, it is to be understood that the illustrated concepts could be applied in a corresponding manner to other network technologies, e.g., extensions of the above- mentioned Ethernet technologies to higher bitrates, optical fiber technologies, or wireless technologies.
The concepts as illustrated herein are based on utilizing a loop detection message, which is forwarded through the communication network. The loop detection message is configured to record node identities (node IDs) of upstream nodes which have previously processed the loop detection message, e.g., a node ID corresponding to an upstream node which generated the loop detection message and one or more node IDs corresponding to upstream nodes which forwarded the message. By comparing the node IDs indicated in a received loop detection message to its own node ID, a given node may thus determine whether itself previously processed the loop detection message, i.e., whether the node is the same as one of the upstream nodes which have previously processed the loop detection message, which means that a traffic loop is present. Further, the node IDs indicated in the loop detection message allow for determining a topology of the traffic loop, e.g., in terms of nodes forming the traffic loop. Therefore, not only the presence of the traffic loop may be detected in an efficient manner, but also at least some of the nodes forming the traffic loop may be identified and the traffic loop located.
Fig. 1 schematically illustrates an exemplary communication network which includes a plurality of nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F which are connected to each other via Ethernet links. The nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F may for example correspond to routers or switches.
For implementing the illustrated concepts, the nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F may have the function of a generator of loop detection messages and/or the function of a receiver of loop detection messages. In the scenario as illustrated in Fig. 1 , it is assumed that the node 100-A acts as a generator of loop detection messages and the nodes 100-B, 100-C, 100-D, 100-E, 100-F act as receivers of loop detection messages.
In the illustrated concepts, a node acting as the generator of loop detection messages generates loop detection messages to include the node ID of the node and sends the loop detection messages to the other nodes. The loop detection message may for example be generated in a periodic manner. In addition or as an alternative, generation of the loop detection message could also be event triggered. For example, detection of a change in the configuration of the network, e.g., due to deactivation or failure of a link, could trigger sending of the loop detection message. To avoid excessive amounts of loop detection messages, it is preferable to keep the number of generators of loop detection messages in the communication network as small as possible, ideally to have only one generator of loop detection messages.
A node acting as the receiver of loop detection messages receives the loop detection messages and processes them to detect a traffic loop, and may also forward the loop detection message to other nodes. In the latter case, the node will also add its node ID to the forwarded loop detection message. The forwarding is typically done on all ports of the node, except the port on which the loop detection message was received, thereby avoiding "ping pong" effects. Accordingly, the loop detection message may be used to record node IDs which correspond to upstream nodes which have previously processed, i.e., generated or forwarded, the loop detection message. A node acting as the generator of loop detection messages may at the same time also act as a receiver of loop detection messages.
The loop detection message may use various formats. For example, a format and encapsulation similar to a Link Trace Message as specified in IEEE 802.1 ag-2007 or ITU-T G.8013/Y.1731 (07/201 1 ) could be used and supplemented with one or more additional information fields.
The node ID has the purpose of identifying the corresponding node, so that it can be distinguished from the other nodes in the communication network. For this purpose, the node ID may be an identifier which is unique in the communication network. The node ID may for example be a MAC address, an IP (Internet Protocol) address, a number assigned to the node (e.g., an index), or a combination of such elements.
In addition to the node IDs, the loop detection message may also be used to record further information concerning along its communication path. In particular, the loop detection message may also indicate one or more port identifiers (port IDs). The port ID may be used to identify that port of a node which is used for sending the loop detection message from the node. The port ID may for example be a number which, on the level of the node, is uniquely assigned to the port of the node. In this way, the port ID may be used to distinguish multiple ports of the node from each other. As illustrated in Fig. 1 , the node 100-A, acting as the generator of loop detection messages, generates a loop detection message (LDM) 10 and sends it to the nodes 100-B, 100-E acting as receiver of loop detection messages. The loop detection message 10 as generated by the node 100-A indicates the node ID of the node 100-A. In the illustrated implementation, it is assumed that the loop detection message identifies the node ID of the node 100-A as corresponding to the generator of the loop detection message 10. This may for example be accomplished by inserting the node ID to an information field which is assigned for information concerning the generator of the loop detection message 10. Still further, in the illustrated implementation the loop detection message 10 is assumed to indicate the port ID as used for sending the loop detection message 10 from the node 100-A. In the illustrated example, the node 100-A uses port A1 for sending the loop detection message 10 to the node 100-B, and uses port A2 for sending the loop detection message 10 to the node 100-E. Accordingly, the loop detection message 10 as sent to the node 100-B will indicate the node ID of the node 100-A as the generator of the loop detection message 10 and the port ID of port A1 as the corresponding port ID. Similarly, the loop detection message 10 as sent to the node 100-E will indicate the node ID of the node 100-A as the generator of the loop detection message 10 and the port ID of port A2 as the corresponding port ID.
When the node 100-B receives the loop detection message 10 from the node 100-A, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-A, this is not the case, because the loop detection message 10 as received from the node 100-A only indicates the node ID of the node 100-A (as the generator of the loop detection message 10). Accordingly, the node 100-B adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the nodes 100-C and 100-D. Further, the node 100-B also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-B, to the loop detection message 10. The node ID and port ID may for example inserted to an information field of the loop detection message 10 which is assigned for information concerning forwarders of the loop detection message 10, e.g., as the first element of an ordered list.
In the illustrated example, the node 100-B uses port B2 for sending the loop detection message 10 to the node 100-C, and uses port B3 for sending the loop detection message 10 to the node 100-D. Accordingly, the loop detection message 10 as sent to the node 100-C will indicate the node ID of the node 100-B as a forwarder of the loop detection message 10 and the port ID of port B2 as the corresponding port ID. Similarly, the loop detection message 10 as sent to the node 100-D will indicate the node ID of the node 100-B as a forwarder of the loop detection message 10 and the port ID of port B3 as the corresponding port ID.
Similarly, when the node 100-E receives the loop detection message 10 from the node 100-A, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-A, this is not the case, because the loop detection message 10 as received from the node 100-A only indicates the node ID of the node 100-A (as the generator of the loop detection message 10). Accordingly, the node 100-E adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-F. Further, the node 100-E also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-E, to the loop detection message 10. The node ID and port ID may for example inserted to the above-mentioned information field of the loop detection message 10 which is assigned for information concerning forwarders of the loop detection message 10, e.g., as the first element of an ordered list.
In the illustrated example, the node 100-Euses port E2 for sending the loop detection message 10 to the node 100-F. Accordingly, the loop detection message 10 as sent to the node 100-E will indicate the node ID of the node 100-E as a forwarder of the loop detection message 10 and the port ID of port E2 as the corresponding port ID.
When the node 100-C receives the loop detection message 10 from the node 100-B, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-B, this is not the case, because the loop detection message 10 as received from the node 100-B only indicates the node ID of the node 100-A (as the generator of the loop detection message 10), and the node ID of the node 100-B (as a first forwarder). Accordingly, the node 100-C adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-D. Further, the node 100-C also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-C, to the loop detection message 10. For example, the node ID and port ID may be inserted to the above- mentioned information field which is assigned for information concerning forwarders of the loop detection message 10, e.g., by appending it to the list. Similarly, when the node 100-D receives the loop detection message 10 from the node 100-B, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-B, this is not the case, because the loop detection message 10 as received from the node 100-B only indicates the node ID of the node 100-A (as the generator of the loop detection message 10), and the node ID of the node 100-B (as a first forwarder). Accordingly, the node 100-C adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-C. Further, the node 100-D also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-D, to the loop detection message 10. For example, the node ID and port ID may be inserted to the above-mentioned information field which is assigned for information concerning forwarders of the loop detection message 10, e.g., by appending it to the list.
When the node 100-F receives the loop detection message 10 from the node 100-E, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-E, this is not the case, because the loop detection message 10 as received from the node 100-E only indicates the node ID of the node 100-A (as the generator of the loop detection message 10), and the node ID of the node 100-E (as a first forwarder). Accordingly, the node 100-F would normally forward the loop detection message 10. However, since the node 100-F is not connected to any other nodes than the node 100-E, such forwarding is not possible and omitted.
Further, when the node 100-D receives the loop detection message 10 from the node 100-C, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-C, this is not the case, because the loop detection message 10 as received from the node 100-C only indicates the node ID of the node 100-A (as the generator of the loop detection message 10), the node ID of the node 100-B (as a first forwarder), and the node ID of the node 100-C (as a second forwarder). Accordingly, the node 100-D adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-B. Further, the node 100-D also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-D, to the loop detection message 10. For example, the node ID and port ID may be inserted to the above-mentioned information field which is assigned for information concerning forwarders of the loop detection message 10, e.g., by appending it to the list. When the node 100-C receives the loop detection message 10 from the node 100-D, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-D, this is not the case, because the loop detection message 10 as received from the node 100-D only indicates the node ID of the node 100-A (as the generator of the loop detection message 10), the node ID of the node 100-B (as a first forwarder), and the node ID of the node 100-D (as a second forwarder). Accordingly, the node 100-C adds its node ID to the loop detection message 10 and forwards the loop detection message 10 to the node 100-B. Further, the node 100-C also adds the port ID, corresponding to the port as used for forwarding the loop detection message 10 from the node 100-C, to the loop detection message 10. For example, the node ID and port ID may be inserted to the above-mentioned information field which is assigned for information concerning forwarders of the loop detection message 10, e.g., by appending it to the list.
Accordingly, the node 100-B receives the forwarded loop detection message 10 from the node 100-C and also from the node 100-D. When the node 100-B receives the loop detection message 10 from the node 100-C, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-C, this is the case, because the loop detection message 10 as received from the node 100-C indicates the node ID of the node 100-B as the first forwarder of the loop detection message 10. The node 100-B infers from the match of the node ID indicated in the loop detection messages 10 and its own node ID that a traffic loop is present in the communication network. Further, the node 100-B may also determine the topology of this traffic loop from the information in the loop detection message 10 as received from the node 100-C. In particular, the node IDs indicated in the loop detection message 10 allow for determining that the traffic loop is formed by the node 100-B, the node 100-C, and the node 100-D. Further, the port IDs indicated in the loop detection message 10 allow for determining ports on these nodes 100-B, 100-C, 100-D which potentially cause the traffic loop.
Similarly, when the node 100-B receives the loop detection message 10 from the node 100-D, it checks whether a node ID indicated in the loop detection message 10 matches its own node ID. In the case of the loop detection message 10 as received from the node 100-D, this is the case as well, because the loop detection message 10 as received from the node 100-D indicates the node ID of the node 100-B as the first forwarder of the loop detection message 10. The node 100-B infers from the match of the node ID indicated in the loop detection messages 10 and its own node ID that a traffic loop is present in the communication network. Further, the node 100-B may also determine the topology of this traffic loop from the information in the loop detection message 10 as received from the node 100-D. In particular, the node IDs indicated in the loop detection message 10 allow for determining that the traffic loop is formed by the node 100-B, the node 100-C, and the node 100-D. Further, the port IDs indicated in the loop detection message 10 allow for determining ports on these nodes 100-B, 100-C, 100-D which potentially cause the traffic loop.
Having detected the match between one of the node IDs indicated by the loop detection message 10 and its own node ID, the node 100-B may refrain from forwarding the loop detection message to other nodes, e.g., in the illustrated scenario to the node 100-A, thereby avoiding repeated detection of the same traffic loop.
The node 100-B may then send a report 20 which indicates the presence of the traffic loop and preferably also indicates the topology of the traffic loop. The report 20 may aggregate the information obtained from the loop detection message 10 from the node 100-C and the information form the loop detection message 10 from the node 100-D, or this information may be provided in separate reports. Further, in the scenario of Fig. 1 , correlation of the information from both loop detection messages 10 received from the nodes 100-C and 100-D could be used to detect the presence of a bi-directional traffic loop. The report 20 may for example be sent to a an operations and support system (OSS) of the communication network. The information in the report 20 may then be used by a support engineer for locating and removing the traffic loop.
The exemplary scenario of Fig. 1 is based on a given assignment of functionalities to the nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F. In particular, according to this assignment of functionalities, the node 100-A acts as the generator of loop detection messages. Such assignment of functionalities can be done manually by an operator of the communication network. Further, also an automated assignment of functionalities could be used. An example of implementing such automated assignment of functionalities is illustrated in Fig. 2. The assignment process of Fig. 2 assumes that there is a "ranking" of node IDs, e.g., in the form of a mapping of the node IDs to corresponding numerical values which quantify the ranking. If the node IDs correspond to numbers, such mapping is inherently present. However, also in other cases, e.g., MAC addresses or IP addresses, such mapping to numerical values may be obtained, e.g., by considering the node ID as a binary word and using the numerical value corresponding to this binary word. As a starting point of such automated assignment process, multiple nodes of the communication network, e.g., all suitably equipped nodes, act both as a generator of loop detection messages and as a receiver of loop detection messages. A corresponding scenario is illustrated in Fig. 2, in which the nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F each generate a corresponding loop detection message 1 1 , 12, 13, 14, 15, 16. As illustrated, the node 100-A generates the loop detection message 1 1 , which is sent to the nodes 100-B and 100-E. The node 100-B generates the loop detection message 12, which is sent to the nodes 100-A, 100-C, and 100-D. The node 100-C generates the loop detection message 13, which is sent to the nodes 100-B and 100-D. The node 100-D generates the loop detection message 14, which is sent to the nodes 100-B and 100-C. The node 100-E generates the loop detection message 15, which is sent to the nodes 100-A and 100-F. The node 100-F generates the loop detection message 16, which is sent to the node 100-E. These loop detection messages may also be forwarded as explained for the loop detection message 10 of Fig. 1.
When one of the nodes 100-A, 100-B, 100-C, 100-D, 100-E, 100-F receives a loop detection message 1 1 , 12, 13, 14, 15, 16, this node 100-A, 100-B, 100-C, 100-D, 100-E, 100-F compares the node ID of corresponding to the generator of the loop detection message as indicated in the received loop detection message 1 1 , 12, 13, 14, 15, 16 to its own node ID. If the node ID corresponding to the generator of the received loop detection message 1 1 , 12, 13, 14, 15, 16 indicates a higher ranking, e.g., is mapped to a higher numerical value, the node 100-A, 100-B, 100-C, 100-D, 100-E, 100-F stops acting as generator of loop detection messages. If the node ID corresponding to the generator of the received loop detection message 1 1 , 12, 13, 14, 15, 16 indicates a lower ranking, e.g., is mapped to a lower numerical value, the node 100-A, 100-B, 100-C, 100-D, 100-E, 100-F continues acting as generator of loop detection messages. However, in this case the node 100-A, 100-B, 100-C, 100-D, 100-E, 100-E may refrain from forwarding the received loop detection message 1 1 , 12, 13, 14, 15, 16.
For example, when assuming that the node IDs indicate a ranking in the order, from high to low, corresponding to first the node 100-A, next the node 100-B, then the node 100-C, then the node 100-D, then the node 100-E, and finally the node 100-E, the process would execute as follows: The node 100-B would receive the loop detection message 1 1 from the node 100- A, determine that the generator node ID indicated in the loop detection message 1 1 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages. Similarly, the node 100-C would receive the loop detection message 12 from the node 100-C, determine that the generator node ID indicated in the loop detection message 12 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages. Further, the node 100-D would receive the loop detection message 12 from the node 100-B or the loop detection message 13 from the node 100-C, determine that the generator node ID indicated in the loop detection message 12 or 13 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages. Further, the node 100-E would receive the loop detection message 1 1 from the node 100-A, determine that the generator node ID indicated in the loop detection message 1 1 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages. Still further, the node 100-F would receive the loop detection message 15 from the node 100-E, determine that the generator node ID indicated in the loop detection message 15 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages. Reception of forwarded loop detection messages, e.g., reception of the loop detection message 1 1 , forwarded by the node 100-B, by the node 100-C, would have the same effect.
On the other hand, when the node 100-A receives the loop detection message 12 from the node 100-B or the loop detection message 15 from the node 100-E, it would determine that the generator node ID indicated in the loop detection message 12 or 15 corresponds to a lower ranking, and thus continue acting as generator of loop detection messages. In this case, the node 100-A may refrain from forwarding the received loop detection messages 12, 15.
As a result, the node 100-A would remain as the only node acting as generator of loop detection messages, which corresponds to the assignment of functionalities underlying the scenario of Fig. 1.
In some implementations, the assignment process may also address changes in the topology of the communication network, e.g., due to failure or deactivation of a link. An exemplary scenario of addressing such topology changes is illustrated in Fig. 3.
In the scenario of Fig. 3, failure or deactivation of the link between the node 100-A and the node 100-B is assumed, which has the effect that the communication network is separated into two isolated regions, a first region containing the nodes 100-A, 100-E, and 100-E, and a second region including the nodes 100-B, 100-C, 100-D. Accordingly, when assuming an assignment of functionalities in which the node 100-A is the only node acting as generator of loop detection messages, e.g., as obtained at the end of the assignment process explained in connection with Fig. 2, there will be no loop detection messages in the second region including the nodes 100-B, 100-C, 100-D. The traffic loop formed by the nodes 100-B, 100-C, 100-D may thus remain undetected. To address such scenarios, each node which is not acting as generator of loop detection messages may further monitor whether it has not received a loop detection message for a given time interval. If this is the case, the node may start acting as generator of loop detection messages. This may for example be implemented by providing a timer which has a longer duration than the periodicity of loop detection message generation, resetting the timer each time a loop detection message is received, and starting acting as generator of loop detection messages when the timer expires.
In the scenario of Fig. 3, the lack of reception of loop detection messages would cause the nodes 100-B, 100-C, 100-D to start acting as generator of loop detection messages, as illustrated by messages 17, 18, 19. As illustrated, the node 100-B generates the loop detection message 17, which is sent to the nodes 100-C and 100-D. The node 100-C generates the loop detection message 18, which is sent to the nodes 100-B and 100-D. The node 100-D generates the loop detection message 19, which is sent to the nodes 100-B and 100-C.
As in the assignment process of Fig. 2, when one of the nodes 100-B, 100-C, 100-D receives a loop detection message 17, 18, 19, this node 100-B, 100-C, 100-D compares the node ID of corresponding to the generator of the loop detection message as indicated in the received loop detection message 17, 18, 19 to its own node ID. If the node ID corresponding to the generator of the received loop detection message 17, 18, 19 indicates a higher ranking, e.g., is mapped to a higher numerical value, the node 100-B, 100-C, 100-D stops acting as generator of loop detection messages. If the node ID corresponding to the generator of the received loop detection message 17, 18, 19 indicates a lower ranking, e.g., is mapped to a lower numerical value, the node 100-B, 100-C, 100-D continues acting as generator of loop detection messages. However, in this case the node 100-B, 100-C, 100-D may refrain from forwarding the received loop detection message 17, 18, 19.
In the exemplary scenario, the node 100-C would receive the loop detection message 17 from the node 100-B, determine that the generator node ID indicated in the loop detection message 17 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages. Similarly, the node 100-D would receive the loop detection message 17 from the node 100-B, determine that the generator node ID indicated in the loop detection message 17 corresponds to a higher ranking, and thus stop acting as generator of loop detection messages. On the other hand, when the node 100-B receives the loop detection message 18 from the node 100-C or the loop detection message 19 from the node 100-D, it would determine that the generator node ID indicated in the loop detection message 17 or 19 corresponds to a lower ranking, and thus continue acting as generator of loop detection messages.
As a result, the node 100-B would be automatically assigned as the only node acting as generator of loop detection messages in the second region including the nodes 100-B, 100-C, 100-D.
Fig. 4 shows a flowchart for illustrating a method which may be used for implementing the above concepts in a node of a communication network, e.g., in one of the nodes 100-A, 100- B, 100-C, 100-D, 100-E, 100-F. If a processor based implementation of the node is used, the steps of the method may be performed by one or more processors of the node. For this purpose, the processor(s) may execute correspondingly configured program code. Further, at least some of the corresponding functionalities may be hardwired in the processor(s). At step 410, the node receives a loop detection message, such as the loop detection message 10 of Fig. 1 . The loop detection message indicates one or more node IDs. Each of the node IDs correspond to an upstream node which has previously processed the loop detection message. This previous processing may correspond to generating the loop detection message or forwarding the loop detection message. For example, in the case of the loop detection message 10 as received by the node 100-B from the node 100-D, the upstream nodes would correspond to the nodes 100-A, 100-B, 100-C, and 100-D. The node IDs may correspond to MAC addresses, IP addresses, numbers uniquely assigned to the nodes of the communication network, or a combination thereof. The loop detection message may also indicate one or more port IDs. In this case each port ID corresponds to a port which was used by the upstream node for sending the loop detection message. For example, in the case of the loop detection message 10 as received by the node 100-B from the node 100-D, the port IDs would correspond to the port A1 of the node 100-A, the port B2 of the node 100-B, the port C2 of the node 100-C, and the port D2 of the node 100-D.
In some implementations, the node IDs indicated in the loop detection message may include a node ID which corresponds to an upstream node which generated the loop detection message and one or more node IDs which each correspond to a further upstream node which forwarded the loop detection message. In particular, the node ID corresponding to the upstream node which generated the loop detection message may be identified as such, e.g., by providing it in a correspondingly assigned field of the loop detection message or placing it in the first position of an ordered list of upstream nodes.
At step 420, the node compares the node IDs indicated in the loop detection message to its own node ID. At step 430, the node checks whether there is a match between one of the node IDs indicated in the loop detection message and the own node ID of the node. If this is the case, the node determines that a traffic loop is present in the communication network, and the method continues with step 440, as indicated by branch Ύ". At step 440, the node may determine the topology of the traffic loop. For this purpose, the node may consider the node IDs indicated in the loop detection message. In particular, these node IDs may be used to identify nodes which form the traffic loop, such as the nodes 100-B, 100-C, 100-D in the scenario of Fig. 1. In implementations where the loop detection message further indicates the port IDs, these may be used as a further basis for determining the topology of the traffic loop.
At step 450, the node may send a report, such as the report 20, which indicates the presence and optionally also topology of the detected traffic loop. For example, the report could be sent to an OSS node.
If the check of step 430 reveals that there is no match between one of the node IDs indicated in the loop detection message and the own node ID of the node, the method continues with step 460, as indicated by branch "N". At step 460, the node forwards the loop detection message. Further, the node adds its own node ID to the loop detection message. For example, as explained in connection with Fig. 1 , the own node ID could be appended to a list of nodes which have forwarded the loop detection message. Further, the node may add an indication of a port ID, corresponding to a port of the node as used for said forwarding of the loop detection message, to the loop detection message. For example, in the scenario of Fig. 1 , the node 100-B would add the port ID of the port B2 to the loop detection message 10 as forwarded to the node 100-C.
Fig. 5 shows a flowchart for illustrating a method which may be used for implementing functionalities of the node for generating loop detection messages. Also in this case, it is to be understood that if a processor based implementation of the node is used, the steps of the method may be performed by one or more processors of the node. For this purpose, the processor(s) may execute correspondingly configured program code. Further, at least some of the corresponding functionalities may be hardwired in the processor(s). The steps of the method of Fig. 5 are assumed to be performed after the steps of the method of Fig. 4.
At step 510, the node generates at least one further loop detection message and sends the at least one further loop detection message to one or more further nodes of the communication network, e.g., using broadcast transmission on all available ports of the node. The at least one further loop detection message indicates the own node ID of the node. Further, the at least one further loop detection message may also indicate a port ID, as used by the node for sending the at least one further loop detection message. Examples of such further loop detection message are the loop detection message 12 as generated by the node 100-B in the scenario of Fig. 2 or the loop detection message 17 as generated by the node 100-B in the scenario of Fig. 3.
In some implementations, the node may start generating and sending of the at least one further loop detection message in response to not receiving another loop detection message for a given time interval, e.g., as explained in connection with the scenario of Fig. 3.
At step 520, the node compares its own node ID to the node ID which corresponds to the upstream node which generated the loop detection message as received in step 410 of Fig. 4. In particular, as indicated by step 530, the node may check whether this node ID corresponds to a higher ranking than the own node ID of the node, e.g., by comparing a first numerical value which is mapped to the own node ID of the node and a second numerical value which is mapped to the node ID corresponding to the upstream node which generated the loop detection message.
If the check of step 530 reveals that the node ID corresponding to the upstream node which generated the loop detection message indicates a higher ranking than the own node ID of the node, as indicated by branch Ύ", the method continues with step 540, where the node stops the generating and sending of the at least one further loop detection message of step 510.
If the check of step 530 reveals that the node ID corresponding to the upstream node which generated the loop detection message indicates a lower ranking than the own node ID of the node, as indicated by branch "N", the method continues with step 550, where the node continues with the generating and sending of the at least one further loop detection message of step 510. Fig. 6 illustrates exemplary structures of a node for a communication network, which may be used to implement the above concepts. For example, the illustrated structures may be used to implement the above-described functionalities of the node 100-B, which may act as a generator of loop detection messages (such as in the scenarios of Figs. 2 and 3) and as a receiver of loop detection messages (such as in the scenario of Fig. 1 ).
In the illustrated example, the node includes one or more interface ports for communication with other nodes of the communication network. These interface ports may be based on a technology which mandates a star-type network topology, e.g., 100BASE-T or 1000BASE-T Ethernet technology. Further, the node may include a management interface 620 which may be used for communication with one or more management entities of the communication network, e.g., an OSS node.
Further, the node includes one or more processor(s) 650 coupled to the interfaces 610 and 620, and a memory 660 coupled to the processor(s) 650. The memory 660 may include a read-only memory (ROM), e.g., a flash ROM, a RAM, e.g., a dynamic RAM (DRAM) or static RAM (SRAM), a mass storage, e.g., a hard disk or solid state disk, or the like. The memory 660 includes suitably configured program code modules to be executed by the processor(s) 650 so as to implement functionalities as explained above for the node 100-B, especially
• receiving a loop detection message 10, the loop detection message 10 indicating one or more node identities, the one or more node identities corresponding to an upstream node 100-A, 100-B, 100-C, 100-D which has previously processed the loop detection message;
· comparing said one or more node identities indicated in the loop detection message 10 to an own node identity of the node 100-B; and
• in response to a match between one of said one or more node identities indicated in the loop detection message 10 and the own node identity of the node 100-B, determining that a traffic loop is present in the communication network.
In an embodiment, functionalities as described in connection with the methods of Figs. 4 and 5 are implemented. More specifically, the program code modules in the memory 660 may include a loop detection message processing module 670 so as to implement the above- described functionalities of generating and/or forwarding loop detection messages. Further, the program code modules in the memory 660 may include a loop detection module 680 so as to implement the above-described functionalities of detecting a traffic loop on the basis of a received loop detection message and optionally also determining the topology of the traffic loop. Still further, the memory 660 may include a reporting module 690 so as to implement the above-described functionalities of reporting the presence and preferably also topology of a detected traffic loop. It is to be understood that the structures as illustrated in Fig. 6 are merely schematic and that the node may actually include further components which, for the sake of clarity, have not been illustrated, e.g., further interfaces or further processors. Also, it is to be understood that the memory 660 may include further types of program code modules, which have not been illustrated, e.g., program code modules for implementing known functionalities of communication network nodes, such as routing or switching functionalities. In some implementations, also a computer program may be provided for implementing functionalities of the node, e.g., in the form of a physical medium storing the program code modules to be stored in the memory 660 or by making such program code available for download. As can be seen, the concepts as described above may be used for efficiently detecting and/or locating a traffic loop in a communication network. In this way management and maintenance of the communication network can be simplified.
It is to be understood that the examples and embodiments as explained above are merely illustrative and susceptible to various modifications. For example, the illustrated concepts could be used in connection with various types of networks technologies, without limitation to the above-mentioned Ethernet technologies. Moreover, it is to be understood that the above concepts may be implemented by using correspondingly designed software to be executed by one or more processors of an existing device, or by using dedicated device hardware.

Claims

Claims
1. A method of managing a communication network, wherein a node (100-B) of the communication network performs the following steps:
• receiving a loop detection message (10), the loop detection message (10) indicating one or more node identities, each of said one or more node identities corresponding to an upstream node (100-A, 100-B, 100-C, 100-D) which has previously processed the loop detection message;
· comparing said one or more node identities indicated in the loop detection message (10) to an own node identity of the node (100-B); and
• in response to a match between one of said one or more node identities indicated in the loop detection message (10) and the own node identity, determining that a traffic loop is present in the communication network.
2. The method according to claim 1 , comprising:
on the basis of said one or more node identities indicated in the loop detection message (10), the node (100-B) determining a topology of the traffic loop.
3. The method according to claim 1 or 2,
wherein the loop detection message (10) further indicates one or more port identities, each port identity corresponding to a port (A1 , B1 , B2, C1 , C2, D1 , D2) which was used by the upstream node (100-A, 100-B, 100-C, 100-D) for sending the loop detection message (10).
4. The method according to any one of the preceding claims, comprising:
in response to no match between one of said one or more node identities indicated in the loop detection message (10) and the own node identity of the node (100-B), the node (100-B) adding an indication of its own node identity to the loop detection message (10) and forwarding the loop detection message (10).
5. The method according to claim 4, comprising:
the node (100-B) further adding an indication of a port identity to the loop detection message (10), the port identity corresponding to a port (B2, B3) of the node (100-B), as used for said forwarding of the loop detection message (10).
6. The method according to any one of the preceding claims, wherein said one or more node identities indicated in the loop detection message (10) comprise a node identity which corresponds to an upstream node (100-A) which generated the loop detection message (10) and one or more node identities which each correspond to a further upstream node (100-B, 100-C, 100-D) which forwarded the loop detection message.
7. The method according to any one of the preceding claims, comprising:
the node (100-B) generating at least one further loop detection message (12), the at least one further loop detection message (12) indicating the own node identity of the node (100-B); and
the node (100-B) sending the at least one further loop detection message (12) to one or more further nodes (100-A, 100-C, 100-D) of the communication network.
8. The method according to claims 6 and 7, comprising:
the node (100-B) comparing the own node identity of the node (100-B) to the node identity corresponding to the upstream node which generated the loop detection message (10); and on the basis of the comparison, the node stopping said generating and sending of the at least one further loop detection message (12).
9. The method according to claim 8,
wherein the comparison between the own node identity of the node (100-B) and the node identity corresponding to the upstream node (100-A) which generated the loop detection message (10) is based on a first numerical value which is mapped to the own node identity of the node (100-B) and a second numerical value which is mapped to the node identity corresponding to the upstream node (100-A) which generated the loop detection message (10).
10. The method according to any one of claims 7 to 9, comprising:
in response to not receiving another loop detection message for a given time interval, the node (100-B) starting said generating and sending of the at least one further loop detection message (12).
1 1. The method according to any one of claims 8 to 10,
wherein the further loop detection message further indicates a port identity, the port identity corresponding to a port (B1 , B2, B3) of the node (100-B), as used for said sending of the further loop detection message (12).
12. The method according to any one of the preceding claims, the node (100-B) sending a report (20) indicating the presence of the traffic loop.
13. The method according to claims 2 and 12,
wherein the report (20) further indicates the topology of the traffic loop.
14. A node (100-B) for a communication network, the node (100-B) comprising:
at least one interface (610) for connecting to other nodes (100-A, 100-C, 100-D, 100-E, 100- F) of the communication network; and
at least one processor (650), the at least one processor (650 being configured to:
- receive a loop detection message (10), the loop detection message (10) indicating one or more node identities, each of said one or more node identities corresponding to an upstream node (100-A, 100-B, 100-C, 100-D) which has previously processed the loop detection message,
- compare said one or more node identities indicated in the loop detection message (10) to an own node identity of the node (100-B), and
- in response to a match between one of said one or more node identities indicated in the loop detection message (10) and the own node identity of the node (100-B), the node (100-B) determining that a traffic loop is present in the communication network.
15. The node (100-B) according to claim 14,
wherein the at least one processor (650) is further configured to:
- on the basis of said one or more node identities indicated in the loop detection message (10), determine a topology of the traffic loop.
16. The node (100-B) according to claim 14 or 15,
wherein the loop detection message (10) further indicates one or more port identities, each port identity corresponding to a port (A1 , B1 , B2, C1 , C2, D1 , D2) which was used by the upstream node (100-A, 100-B, 100-C, 100-D) for sending the loop detection message (10).
17. The node (100-B) according to any one of claims 14 to 16,
wherein the at least one processor (650) is further configured to:
- in response to no match between one of said one or more node identities indicated in the loop detection message (10) and the own node identity of the node (100-B), add an indication of its own node identity to the loop detection message (10) and forwarding the loop detection message (10).
18. The node (100-B) according to claim 17, wherein the at least one processor (650) is further configured to:
- add an indication of a port identity to the loop detection message (10), the port identity corresponding to a port (B2, B3) of the node (100-B), as used for said forwarding of the loop detection message (10).
19. The node (100-B) according to any one of claims 14 to 18,
wherein said one or more node identities indicated in the loop detection message (10) comprise a node identity of an upstream node (100-A) which generated the loop detection message (10) and one or more node identities which each correspond to a further upstream node (100-B, 100-C, 100-D) which forwarded the loop detection message.
20. The node (100-B) according to any one of claims 14 to 19,
wherein the at least one processor (650) is further configured to:
- generate at least one further loop detection message (12), the at least one further loop detection message (12) indicating the own node identity of the node (100-B), and
- send the at least one further loop detection message (12) to one or more further nodes (100-A, 100-C, 100-D) of the communication network.
21. The node (100-B) according to claim 19 and 20,
wherein the at least one processor (650) is further configured to:
- compare the own node identity of the node (100-B) to the node identity corresponding to the upstream node which generated the loop detection message (10), and
- on the basis of the comparison, stop said generating and sending of the at least one further loop detection message (12).
22. The node (100-B) according to claim 21 ,
wherein the comparison between the own node identity of the node (100-B) and the node identity corresponding to the upstream node (100-A) which generated the loop detection message (10) is based on a first numerical value which is mapped to the own node identity of the node (100-B) and a second numerical value which is mapped to the node identity corresponding to the upstream node (100-A) which generated the loop detection message (10).
23. The node (100-B) according to any one of claims 20 to 22,
wherein the at least one processor (650) is further configured to:
- in response to not receiving another loop detection message for a given time interval, start said generating and sending of the at least one further loop detection message (12).
24. The node (100-B) according to any one of claims 20 to 23,
wherein the further loop detection message further indicates a port identity, the port identity corresponding to a port (B1 , B2, B3) of the node (100-B), as used for said sending of the further loop detection message (12).
25. The node (100-B) according to any one of claims 14 to 24,
wherein the at least one processor (650) is further configured to:
- send a report (20) indicating the presence of the traffic loop.
26. The node (100-B) according to claims 15 and 25,
wherein the report (20) further indicates the topology of the traffic loop.
27. A computer program comprising program code to be executed by at least one processor (650) of a node (100-B) of a communication network, wherein execution of the program code causes the at least one processor (650) to perform steps of a method according to any one of claims 1 to 13.
28. A computer program product comprising program code to be executed by at least one processor (650) of a node (100-B) of a communication network, wherein execution of the program code causes the at least one processor (650) to perform steps of a method according to any one of claims 1 to 13.
PCT/CN2014/071983 2014-02-11 2014-02-11 Traffic loop detection in a communication network WO2015120581A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/071983 WO2015120581A1 (en) 2014-02-11 2014-02-11 Traffic loop detection in a communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/071983 WO2015120581A1 (en) 2014-02-11 2014-02-11 Traffic loop detection in a communication network

Publications (1)

Publication Number Publication Date
WO2015120581A1 true WO2015120581A1 (en) 2015-08-20

Family

ID=53799492

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/071983 WO2015120581A1 (en) 2014-02-11 2014-02-11 Traffic loop detection in a communication network

Country Status (1)

Country Link
WO (1) WO2015120581A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452874A (en) * 2016-10-18 2017-02-22 北京东土科技股份有限公司 Loop ID (Identity) generation method and network system
CN109391526A (en) * 2018-11-27 2019-02-26 锐捷网络股份有限公司 A kind of detection method and device of network loop

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183982A (en) * 2007-11-21 2008-05-21 烽火通信科技股份有限公司 Automatic discovery method based on topological structure of multi-service transmission looped network
CN101610193A (en) * 2009-07-27 2009-12-23 武汉烽火网络有限责任公司 Ethernet ring network finds and generates the method for ring automatically
CN102624575A (en) * 2011-01-28 2012-08-01 中兴通讯股份有限公司 Detection method and system for avoiding Ethernet closed loops

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183982A (en) * 2007-11-21 2008-05-21 烽火通信科技股份有限公司 Automatic discovery method based on topological structure of multi-service transmission looped network
CN101610193A (en) * 2009-07-27 2009-12-23 武汉烽火网络有限责任公司 Ethernet ring network finds and generates the method for ring automatically
CN102624575A (en) * 2011-01-28 2012-08-01 中兴通讯股份有限公司 Detection method and system for avoiding Ethernet closed loops

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452874A (en) * 2016-10-18 2017-02-22 北京东土科技股份有限公司 Loop ID (Identity) generation method and network system
CN106452874B (en) * 2016-10-18 2019-09-24 北京东土科技股份有限公司 Ring ID generation method and network system
CN109391526A (en) * 2018-11-27 2019-02-26 锐捷网络股份有限公司 A kind of detection method and device of network loop

Similar Documents

Publication Publication Date Title
EP3399699B1 (en) Link detection method and device, and network equipment and controller
CN108123824B (en) Network fault detection method and device
US8085670B2 (en) Method and system for originating connectivity fault management (CFM) frames on non-CFM aware switches
JP4840236B2 (en) Network system and node device
US9608900B2 (en) Techniques for flooding optimization for link state protocols in a network topology
CN107171883B (en) Method, device and equipment for detecting forwarding table
US8356093B2 (en) Apparatus and system for estimating network configuration
EP2555476A1 (en) Method, system and device for protecting multicast in communication network
CN106789625B (en) Loop detection method and device
CN111431800B (en) Method, device and equipment for establishing path and machine-readable storage medium
US10567195B2 (en) Network nodes in a ring network
US20230067091A1 (en) Method and device for segment routing service processing, routing equipment, and storage medium
CN111614505B (en) Message processing method and gateway equipment
US10404544B2 (en) Network topology determining method and apparatus, and centralized network status information storage device
WO2022057514A1 (en) Link fault detection method and apparatus and computer-readable storage medium
CN112291116A (en) Link fault detection method and device and network equipment
JP5678678B2 (en) Provider network and provider edge device
US20150089047A1 (en) Cut-through packet management
CN112787843B (en) Method for detecting fault node, storage medium and electronic device
WO2015120581A1 (en) Traffic loop detection in a communication network
CN109412851B (en) Link layer path detection method, device and system
CN104506369A (en) Packet loss position detecting method and device
CN111385117B (en) Method, device and system for alarming
CN105122776B (en) Address acquiring method and network virtualization edge device
US20160344591A1 (en) Determining Connections of Non-External Network Facing Ports

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14882531

Country of ref document: EP

Kind code of ref document: A1