WO2021046689A1 - Method and network node for label switched path traceroute - Google Patents

Method and network node for label switched path traceroute Download PDF

Info

Publication number
WO2021046689A1
WO2021046689A1 PCT/CN2019/104958 CN2019104958W WO2021046689A1 WO 2021046689 A1 WO2021046689 A1 WO 2021046689A1 CN 2019104958 W CN2019104958 W CN 2019104958W WO 2021046689 A1 WO2021046689 A1 WO 2021046689A1
Authority
WO
WIPO (PCT)
Prior art keywords
network node
echo request
label
bsid
request packet
Prior art date
Application number
PCT/CN2019/104958
Other languages
French (fr)
Inventor
Ying Lu
Yun Lin
Shuo YANG
Wei Sun
Jinfeng Zhao
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Ying Lu
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 Lm Ericsson (Publ), Ying Lu filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to CN201980100083.2A priority Critical patent/CN114342334B/en
Priority to EP19945274.9A priority patent/EP4029209A4/en
Priority to US17/636,137 priority patent/US11949591B2/en
Priority to PCT/CN2019/104958 priority patent/WO2021046689A1/en
Publication of WO2021046689A1 publication Critical patent/WO2021046689A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks

Definitions

  • the present disclosure relates to communication technology, and more particularly, to a method and a network node for Label Switched Path (LSP) traceroute.
  • LSP Label Switched Path
  • SR LSPs are used with Software Defined Networking (SDN) to enable network programming of Traffic Engineering (TE) paths.
  • SDN Software Defined Networking
  • An SR-TE LSP is set up by encoding an ordered list of segments in a packet header at a network node (e.g., a Label Switching Router, or LSR) to steer a traffic flow.
  • a Binding Segment (BS) can be used in an SR-TE LSP to provide scaling, network opacity and service independence.
  • RFC 8029 Detecting Multi-Protocol Label Switching (MPLS) Data-Plane Failures
  • MPLS Multi-Protocol Label Switching
  • a network node advertising a BSID when a network node advertising a BSID is operating in a short pipe model (referring to RFC 3443) , it should not send an FEC stack change sub-TLV, and the BSID is treated as a single hop and network nodes in an LSP represented by the BSID are not traced.
  • a method in a network node advertising a BSID includes: receiving a first echo request packet containing a first target FEC stack including an FEC associated with the BSID; and transmitting, in response to a TTL expiration associated with the first echo request packet, a first echo reply packet to an initiating network node initiating the first echo request packet.
  • the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the indicator may be included in an FEC stack change sub-TLV in a Downstream Detailed Mapping TLV.
  • the method may further include: receiving a second echo request packet containing a second label stack and a second target FEC stack, the second label stack including a label corresponding to the BSID and the second target FEC stack including at least a first FEC from the set of FECs; and transmitting, in response to detecting a TTL expiration associated with the second echo request packet, to a downstream network node a third echo request packet based on the second echo request packet.
  • the third echo request packet contains a third label stack associated with the set of FECs and a third target FEC stack including the first FEC.
  • a TTL value associated with at least one label in the third label stack may be configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet.
  • the network node to be traced by the third echo request packet may be a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
  • the second echo request packet may contain a value indicating a number of hops from the network node advertising the BSID to the network node to be traced by the third echo request packet, along an LSP represented by the BSID, and the TTL value associated with the at least one label in the third label stack may be configured based on the value.
  • the value may be carried in a TTL value associated with the BSID in the second label stack.
  • the TTL value associated with the at least one label in the third label stack may be configured based further on a number of hops from the network node advertising the BSID or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
  • the method may further include: receiving a third echo reply packet from the network node to be traced by the third echo request packet; determining that the third echo reply packet is responsive to the third echo request packet; and transmitting to the initiating network node a second echo reply packet responsive to the second echo request packet.
  • the second echo reply packet is based on the third echo reply packet.
  • the second echo request packet may contain a first identifier of a traceroute instance initiated by the initiating network node
  • the third echo request packet may contain a second identifier mapped to the first identifier
  • the third echo reply packet may be determined to be responsive to the third echo request packet when the third echo reply packet contains an identifier consistent with the second identifier
  • the second echo reply packet may be transmitted with an identifier consistent with the first identifier
  • the second echo request packet may contain an Internet Protocol (IP) address of the initiating network node as a source IP address
  • the third echo request packet may contain an IP address of the network node as a source IP address
  • the second echo reply packet may be transmitted using the IP address of the initiating network node as a destination IP address.
  • IP Internet Protocol
  • a method in a network node initiating an LSP traceroute includes: receiving, from a network node advertising a BSID, a first echo reply packet responsive to a first echo request packet.
  • the first echo request packet contains a first target FEC stack including an FEC associated with the BSID, and the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the method further includes: transmitting a second echo request packet containing a second target FEC stack based on the set of FECs.
  • the second echo request packet further contains a value indicating a number of hops from the network node advertising the BSID to a network node to be traced by the second echo request packet, along an LSP represented by the BSID.
  • the value may be carried in a TTL value associated with the BSID in a label stack in the second echo request packet.
  • the method may further include: configuring a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack, such that a TTL expiration associated with the second echo request packet is to occur at the network node advertising the BSID.
  • the operation of configuring may include: adding an explicit-NULL label associated with a TTL value of 1 as a label immediately outer than the label corresponding to the BSID in the label stack.
  • the operation of adding may be performed in response to determining that each of one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID.
  • the method may further include: receiving a second echo reply packet responsive to the second echo request packet from the network node advertising the BSID; and transmitting a further echo request packet containing a further value indicating a number of hops from the network node advertising the BSID to a next network node to be traced along the LSP represented by the BSID.
  • a network node includes a communication interface, a processor and a memory.
  • the memory stores instructions executable by the processor whereby the network node is operative to perform the method according to any of the above first or second aspect.
  • a network node advertising a BSID when a network node advertising a BSID receives an echo request packet containing a target FEC stack including an FEC associated with the BSID, it can transmit, in response to a TTL expiration associated with the echo request packet, an echo reply packet to an initiating network node initiating the echo request packet.
  • the echo reply packet can contain an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the initiating network node can transmit further echo request packets each containing a target FEC stack based on the set of FECs, for hop-by-hop traceroute of network nodes along an LSP represented by the BSID.
  • the network node advertising the BSID can act as a proxy that transmits an echo request packet along the LSP, receives an echo reply packet from a network node in the LSP and forwards the echo reply packet to the initiating network node. In this way, the initiator network node can trace the network nodes in the LSP in a hop-by-hop manner.
  • Fig. 1 is a flowchart illustrating a method for LSP traceroute according to an embodiment of the present disclosure
  • Fig. 2 is a schematic diagram showing a FEC stack change sub-TLV according to an embodiment of the present disclosure
  • Fig. 3 is a flowchart illustrating a method for LSP traceroute according to another embodiment of the present disclosure
  • Fig. 4 is a schematic diagram showing an example of LSP traceroute according to the present disclosure
  • Fig. 5 is a block diagram of a network node according to an embodiment of the present disclosure.
  • Fig. 6 is a block diagram of a network node according to another embodiment of the present disclosure.
  • references in the specification to "one embodiment” , “an embodiment” , “an example embodiment” and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
  • first and second etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments.
  • the term “and/or” includes any and all combinations of one or more of the associated listed terms. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms “a” , “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
  • Fig. 1 is a flowchart illustrating a method 100 for LSP traceroute according to an embodiment of the present disclosure.
  • the method 100 can be performed at a network node, e.g., an LSR, advertising a BSID (the network node is referred to as “advertising node” hereinafter for simplicity) .
  • a network node e.g., an LSR
  • advertising node the network node is referred to as “advertising node” hereinafter for simplicity
  • the first echo request packet contains a first target FEC stack including an FEC associated with the BSID.
  • a first echo reply packet is transmitted to an initiating network node initiating the first echo request packet in response to a TTL expiration associated with the first echo request packet.
  • the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the indicator can be included in an FEC stack change sub-TLV in a Downstream Detailed Mapping TLV.
  • the FEC stack change sub-TLV is defined in RFC 8029. According to RFC 8029, a network node being traced encodes this sub-TLV in an echo reply when its downstream node has a different FEC stack than the FEC stack received in the echo request. With this information in the echo reply, an initiating network node knows how to manipulate TTL values in the next echo request to properly trace the next network node.
  • This mechanism works well for SR-TE paths using node segments or adjacency segments, but conventionally it does not work properly with binding segments because the initiating network node is not aware of a label stack change due to replacement of a BSID with a set of SIDs at a remote advertising node of the BSID.
  • Fig. 2 shows an exemplary format of an FEC stack change sub-TLV according to an embodiment of the present disclosure.
  • a B-bit i.e., the above indicator, is introduced in the FEC stack change sub-TLV. For example, if an FEC to be popped in the FEC stack change is an FEC associated with a BSID, the B-bit is set; or otherwise it is not set.
  • the B-bit informs the initiating network node that the FEC stack change is a result of replacing the FEC associated with BSID by the set of FECs, and that the advertising node is capable of acting as a proxy for tracing the network nodes along an LSP represented by the BSID on behalf of the initiating node.
  • the advertising node may then receive a second echo request packet initiated from the initiating network node.
  • the second echo request packet contains a second label stack and a second target FEC stack.
  • the second label stack includes a corresponding to the BSID and the second target FEC stack includes at least a first FEC from the set of FECs.
  • the advertising node can transmit to a downstream network node a third echo request packet based on the second echo request packet.
  • the third echo request packet contains a third label stack associated with the set of FECs and a third target FEC stack including the first FEC.
  • the third target FEC stack may be the same as the second target FEC stack.
  • the second echo request packet can contain a first identifier of a traceroute instance initiated by the initiating network node, and the third echo request packet can contain a second identifier mapped to the first identifier. Further, the second echo request packet can contain an IP address of the initiating network node as a source IP address, and the third echo request packet can contain an IP address of the advertising node as a source IP address.
  • the advertising node can extract a sender’s handle (denoted as ini_sh) and a source IP address (denoted as ini_sip) from the second echo request packet, assign a new sender’s handle (denoted as new_sh) to be used in the third echo request packet, and maintain a mapping between ⁇ ini_sh, ini_sip ⁇ and ⁇ new_sh ⁇ .
  • a TTL value associated with at least one label in the third label stack can be configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet.
  • the network node to be traced by the third echo request packet may be a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
  • the second echo request packet can contain a value (referred to as a Hop Indicator, or HI, hereinafter) indicating a number of hops from the advertising node to the network node to be traced by the third echo request packet, along an LSP represented by the BSID.
  • HI Hop Indicator
  • the value can be carried in a TTL value associated with the BSID in the second label stack. Accordingly, the TTL value associated with the at least one label in the third label stack can be configured based on the value.
  • the TTL value associated with the at least one label in the third label stack can be configured based further on a number of hops from the advertising node or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
  • the advertising node can maintain a local record of ⁇ nhop 1 , nhop 2 , ..., nhop M ⁇ , where nhop m (1 ⁇ m ⁇ M) denotes the number of hops from the node associated with label m-1 to the node associated with label m (nhop 1 denotes the number of hops from the advertising node to the node associated with label 1 ) .
  • each of nhop 1 , nhop 2 , ..., nhop M can be set to zero initially and the TTL value, denoted as ttl m , associated with label m in the third label stack can be configured as:
  • hi is the value of the HI in the second echo request packet.
  • the third echo request packet can be substantially the same as the second echo request packet.
  • the advertising node can receive a third echo reply packet from the network node to be traced by the third echo request packet.
  • the advertising node can determine that the third echo reply packet is responsive to the third echo request packet, e.g., by determining that the third echo reply packet contains an identifier consistent with the second identifier.
  • the advertising node can transmit to the initiating network node a second echo reply packet responsive to the second echo request packet.
  • the second echo reply packet is based on the third echo reply packet.
  • the second echo reply packet can be transmitted using the IP address of the initiating network node as a destination IP address, and can contain an identifier consistent with the first identifier, such that the initiating network node can determine that the second echo reply packet is responsive to the second echo request packet.
  • the advertising node upon receiving the third echo reply packet containing new_sh, determines that the third echo reply packet is responsive to the third echo request packet and transmits the second echo reply packet with ini_sh as the identifier and ini_sip as the destination IP address.
  • the second echo reply packet can be substantially the same as the third echo reply packet.
  • the advertising node can update the record of nhop m (assuming that the replying network node corresponds to label m ) based on a TTL value associated with label m in the third echo request packet.
  • the advertising node can update the record of nhop m , e.g., by incrementing nhop m by 1, each time it receives the third echo reply packet.
  • an egress-flag can be introduced, which is set to FALSE unless the third echo reply packet indicates that the replying network node is an egress node of the first FEC with an operation type of POP.
  • the above TTL value ttl m can be configured as:
  • Fig. 3 is a flowchart illustrating a method 300 for LSP traceroute according to an embodiment of the present disclosure.
  • the method 300 can be performed at a network node, e.g., an LSR, initiating an LSP traceroute.
  • a network node e.g., an LSR
  • a first echo reply packet responsive to a first echo request packet is received from a network node advertising a BSID (the network node is referred to as “advertising node” hereinafter) .
  • the first echo request packet contains a first target FEC stack including an FEC associated with the BSID.
  • the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the indicator can be the B-bit as shown in Fig. 2.
  • a second echo request packet is transmitted.
  • the second echo request packet contains a second target FEC stack based on the set of FECs.
  • the second echo request packet further contains a value indicating a number of hops from the advertising node to a network node to be traced by the second echo request packet, along an LSP represented by the BSID.
  • the value can be carried in a TTL value associated with the BSID in a label stack in the second echo request packet.
  • a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack can be configured such that a TTL expiration associated with the second echo request packet is to occur at the advertising node.
  • an explicit-NULL label associated with a TTL value of 1 can be added as a label immediately outer than the label corresponding to the BSID in the label stack.
  • the explicit-NULL label can be added in response to determining that each of one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the advertising node, e.g., in response to determining that a label immediately outer than the BSID in the label stack is associated with an adjacency SID or a Penultimate Hop Popping (PHP) enabled node SID of the advertising node.
  • PGP Penultimate Hop Popping
  • the explicit-NULL label can always be added to ensure that the TTL expiration associated with the second echo request packet will occur at the advertising node.
  • the initiating network node can receive a second echo reply packet responsive to the second echo request packet from the advertising node.
  • the initiating network node can transmit a further echo request packet containing a further value indicating a number of hops from the advertising node to a next network node to be traced along the LSP represented by the BSID.
  • the further value can be obtained by incrementing the value by 1.
  • Fig. 4 shows an example of LSP traceroute.
  • five network nodes e.g., LSRs, R1, R2, R3, R4 and R5, are shown and their respective labels are 501, 502, 503, 504 and 505.
  • the labels are not distinguished from their corresponding SIDs and associated FECs.
  • R1 has a label 501, and the corresponding SID and the associated FEC are denoted as 501 as well.
  • R1 is an initiating network node initiating the LSP traceroute and R3 is an advertising node advertising a BSID 7701 that can be replaced with two Node SIDs 404 and 405.
  • a notation (x, y) denotes a label x and its associated TTL value of y. It is assumed here that the LSP to be traced is represented as a label stack ⁇ 503, 7701 ⁇ .
  • R1 transmits an echo request having a label stack ⁇ (503, 1) , (7701, 0) ⁇ and a target FEC stack (denoted as T-FEC) of ⁇ 503, 7701 ⁇ .
  • R2 transmits an echo reply to R1, containing a P-bit indicating PHP enabled for 503 in Downstream Mapping object Flags (DS Flags) in a Downstream Detailed Mapping TLV.
  • DS Flags Downstream Mapping object Flags
  • R1 transmits a next echo request having a label stack ⁇ (503, 2) , (7701, 1) ⁇ and a T-FEC of ⁇ 503, 7701 ⁇ .
  • R2 receives the echo request, pops the label 503 as the PHP is enabled, and forwards the echo request to R3 at 4.4.
  • R3 then pops the FEC 503 and continues looking at the next FEC 7701 and knows that it is the advertising node for the BSID 7701, which is to be replaced by a list of Node SIDs ⁇ 404, 405 ⁇ .
  • R3 transmits an echo reply to R1, containing a return code 15 (Label Switched with FEC Change) and the following FEC stack change sub-TLVs:
  • R1 Upon receiving the echo reply, R1 looks at the FEC stack change sub-TLV and finds that the FEC 503 is popped, so it knows that R3 is the egress node for the SID 503. R1 also finds the B-bit associated with the popped FEC 7701, so R1 knows that 7701 is a BSID which can be translated into a list of Node SIDs ⁇ 404, 405 ⁇ , and that R3 is the advertising node for the BSID 7701 and is capable of acting as a proxy for tracing network nodes along the LSP represented by ⁇ 404, 405 ⁇ .
  • R2 receives the echo request, pops the label 503 as the PHP is enabled, and forwards the echo request to R3 at 4.7.
  • R1 Upon receiving the echo reply, R1 knows from the FEC stack change sub-TLV that Node SID 404 is popped, and knows from the return code that the egress node of the LSP ⁇ 503, 7701 ⁇ has not been reached and it needs to continue the traceroute.
  • R2 receives the echo request, pops the label 503 as the PHP is enabled, and forwards the echo request to R3 at 4.12.
  • the new echo request is substantially the same as the received echo request except that it has a label stack ⁇ (404, 255) , (405, 1) ⁇ and contains a new sender’s handle as a traceroute instance identifier and an IP address of R3 as its source IP address.
  • R4 simply pops the label 404 from the label stack and forwards the new echo request downstream at 4.14.
  • R1 Upon receiving the echo reply, R1 knows from the FEC stack change sub-TLV that Node SID 405 is popped, and knows from the return code that the egress node of the LSP ⁇ 503, 7701 ⁇ has been reached and the traceroute has completed.
  • R4 is the next-hop downstream node of R3 and R5 is the next-hop downstream node of R4 in the example shown in Fig. 4, there may be one or more intermediate nodes between R3 and R4, and/or there may be one or more intermediate nodes between R4 and R5, and the present disclosure applies equally to any of these cases, simply following the rules set forth in RFC 8029.
  • Fig. 5 is a block diagram of a network node 500 according to an embodiment of the present disclosure.
  • the network node 500 can be a network node, e.g., an LSR, advertising a BSID, and can be configured to perform the method 100 as described above in connection with Fig. 1.
  • the network node 500 includes a receiving unit 510 configured to receive a first echo request packet containing a first target FEC stack including an FEC associated with the BSID.
  • the network node 500 further includes a transmitting unit 520 configured to transmit, in response to a TTL expiration associated with the first echo request packet, a first echo reply packet to an initiating network node initiating the first echo request packet.
  • the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the indicator may be included in an FEC stack change sub-TLV in a Downstream Detailed Mapping TLV.
  • the receiving unit 510 can be further configured to receive a second echo request packet containing a second label stack and a second target FEC stack, the second label stack including a label corresponding to the BSID and the second target FEC stack including at least a first FEC from the set of FECs.
  • the transmitting unit 520 can be further configured to transmit, in response to detecting a TTL expiration associated with the second echo request packet, to a downstream network node a third echo request packet based on the second echo request packet.
  • the third echo request packet contains a third label stack associated with the set of FECs and a third target FEC stack including the first FEC.
  • a TTL value associated with at least one label in the third label stack may be configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet.
  • the network node to be traced by the third echo request packet may be a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
  • the second echo request packet may contain a value indicating a number of hops from the network node advertising the BSID to the network node to be traced by the third echo request packet, along an LSP represented by the BSID, and the TTL value associated with the at least one label in the third label stack may be configured based on the value.
  • the value may be carried in a TTL value associated with the BSID in the second label stack.
  • the TTL value associated with the at least one label in the third label stack may be configured based further on a number of hops from the network node advertising the BSID or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
  • the receiving unit 510 can be further configured to receive a third echo reply packet from the network node to be traced by the third echo request packet.
  • the network node 500 can further include a determining unit configured to determine that the third echo reply packet is responsive to the third echo request packet.
  • the transmitting unit 520 can be further configured to transmit to the initiating network node a second echo reply packet responsive to the second echo request packet. The second echo reply packet is based on the third echo reply packet.
  • the second echo request packet may contain a first identifier of a traceroute instance initiated by the initiating network node
  • the third echo request packet may contain a second identifier mapped to the first identifier
  • the third echo reply packet may be determined to be responsive to the third echo request packet when the third echo reply packet contains an identifier consistent with the second identifier
  • the second echo reply packet may be transmitted with an identifier consistent with the first identifier
  • the network node 500 can be a network node, e.g., an LSR, initiating an LSP traceroute, and can be configured to perform the method 300 as described above in connection with Fig. 3.
  • the network node 500 includes a receiving unit 510 configured to receive, from a network node advertising a BSID, a first echo reply packet responsive to a first echo request packet.
  • the first echo request packet contains a first target FEC stack including an FEC associated with the BSID, and the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the value may be carried in a TTL value associated with the BSID in a label stack in the second echo request packet.
  • the network node 500 may further include a configuring unit configured to configure a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack, such that a TTL expiration associated with the second echo request packet is to occur at the network node advertising the BSID.
  • a configuring unit configured to configure a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack, such that a TTL expiration associated with the second echo request packet is to occur at the network node advertising the BSID.
  • the configuring unit may be configured to add an explicit-NULL label associated with a TTL value of 1 as a label immediately outer than the label corresponding to the BSID in the label stack.
  • the explicit-NULL label may be added in response to determining that each of one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID.
  • the operation of determining that each of the one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID may include determining that a label immediately outer than the BSID in the label stack is associated with an adjacency SID or a Penultimate Hop Popping (PHP) enabled node SID of the network node advertising the BSID.
  • PGP Penultimate Hop Popping
  • the receiving unit 510 can be further configured to receive a second echo reply packet responsive to the second echo request packet from the network node advertising the BSID.
  • the transmitting unit 520 can be further configured to transmit a further echo request packet containing a further value indicating a number of hops from the network node advertising the BSID to a next network node to be traced along the LSP represented by the BSID.
  • the units 510 ⁇ 520 can be implemented as a pure hardware solution or as a combination of software and hardware, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component (s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 1 or 3.
  • a processor or a micro-processor and adequate software and memory for storing of the software e.g., a Programmable Logic Device (PLD) or other electronic component (s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 1 or 3.
  • PLD Programmable Logic Device
  • Fig. 6 is a block diagram of a network node 600 according to another embodiment of the present disclosure.
  • the network node 600 includes a communication interface 610, a processor 620 and a memory 630.
  • the memory 630 contains instructions executable by the processor 620 whereby the network node 600 is operative to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 1 or 3.
  • the network node 600 can be a network node, e.g., an LSR, advertising a BSID.
  • the memory 630 can contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive a first echo request packet containing a first target FEC stack including an FEC associated with the BSID; and transmit, in response to a TTL expiration associated with the first echo request packet, a first echo reply packet to an initiating network node initiating the first echo request packet.
  • the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the indicator may be included in an FEC stack change sub-TLV in a Downstream Detailed Mapping TLV.
  • the memory 630 can further contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive a second echo request packet containing a second label stack and a second target FEC stack, the second label stack including a label corresponding to the BSID and the second target FEC stack including at least a first FEC from the set of FECs; and transmit, in response to detecting a TTL expiration associated with the second echo request packet, to a downstream network node a third echo request packet based on the second echo request packet.
  • the third echo request packet contains a third label stack associated with the set of FECs and a third target FEC stack including the first FEC.
  • a TTL value associated with at least one label in the third label stack may be configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet.
  • the network node to be traced by the third echo request packet may be a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
  • the second echo request packet may contain a value indicating a number of hops from the network node advertising the BSID to the network node to be traced by the third echo request packet, along an LSP represented by the BSID, and the TTL value associated with the at least one label in the third label stack may be configured based on the value.
  • the value may be carried in a TTL value associated with the BSID in the second label stack.
  • the TTL value associated with the at least one label in the third label stack may be configured based further on a number of hops from the network node advertising the BSID or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
  • the memory 630 can further contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive a third echo reply packet from the network node to be traced by the third echo request packet; determine that the third echo reply packet is responsive to the third echo request packet; and transmit to the initiating network node a second echo reply packet responsive to the second echo request packet.
  • the second echo reply packet is based on the third echo reply packet.
  • the second echo request packet may contain a first identifier of a traceroute instance initiated by the initiating network node
  • the third echo request packet may contain a second identifier mapped to the first identifier
  • the third echo reply packet may be determined to be responsive to the third echo request packet when the third echo reply packet contains an identifier consistent with the second identifier
  • the second echo reply packet may be transmitted with an identifier consistent with the first identifier
  • the second echo request packet may contain an IP address of the initiating network node as a source IP address
  • the third echo request packet may contain an IP address of the network node as a source IP address
  • the second echo reply packet may be transmitted using the IP address of the initiating network node as a destination IP address.
  • the network node 600 can be a network node, e.g., an LSR, initiating an LSP traceroute.
  • the memory 630 can contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive, from a network node advertising a BSID, a first echo reply packet responsive to a first echo request packet.
  • the first echo request packet contains a first target FEC stack including an FEC associated with the BSID, and the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
  • the memory 630 contains instructions executable by the processor 620 whereby the network node 600 is operative to: transmit a second echo request packet containing a second target FEC stack based on the set of FECs.
  • the second echo request packet further contains a value indicating a number of hops from the network node advertising the BSID to a network node to be traced by the second echo request packet, along an LSP represented by the BSID.
  • the value may be carried in a TTL value associated with the BSID in a label stack in the second echo request packet.
  • the memory 630 can further contain instructions executable by the processor 620 whereby the network node 600 is operative to: configure a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack, such that a TTL expiration associated with the second echo request packet is to occur at the network node advertising the BSID.
  • the operation of configuring may include: adding an explicit-NULL label associated with a TTL value of 1 as a label immediately outer than the label corresponding to the BSID in the label stack.
  • the operation of adding may be performed in response to determining that each of one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID.
  • the operation of determining that each of the one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID may include determining that a label immediately outer than the BSID in the label stack is associated with an adjacency SID or a Penultimate Hop Popping (PHP) enabled node SID of the network node advertising the BSID.
  • PGP Penultimate Hop Popping
  • the memory 630 can further contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive a second echo reply packet responsive to the second echo request packet from the network node advertising the BSID; and transmit a further echo request packet containing a further value indicating a number of hops from the network node advertising the BSID to a next network node to be traced along the LSP represented by the BSID.
  • the present disclosure also provides at least one computer program product in the form of a non-volatile or volatile memory, e.g., a non-transitory computer readable storage medium, an Electrically Erasable Programmable Read-Only Memory (EEPROM) , a flash memory and a hard drive.
  • the computer program product includes a computer program.
  • the computer program includes: code/computer readable instructions, which when executed by the processor 620 causes the network node 600 to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 1 or 3.
  • the computer program product may be configured as a computer program code structured in computer program modules.
  • the computer program modules could essentially perform the actions of the flow illustrated in Fig. 1 or 3.
  • the processor may be a single CPU (Central processing unit) , but could also comprise two or more processing units.
  • the processor may include general purpose microprocessors; instruction set processors and/or related chips sets and/or special purpose microprocessors such as Application Specific Integrated Circuits (ASICs) .
  • the processor may also comprise board memory for caching purposes.
  • the computer program may be carried by a computer program product connected to the processor.
  • the computer program product may comprise a non-transitory computer readable storage medium on which the computer program is stored.
  • the computer program product may be a flash memory, a Random-access memory (RAM) , a Read-Only Memory (ROM) , or an EEPROM, and the computer program modules described above could in alternative embodiments be distributed on different computer program products in the form of memories.
  • RAM Random-access memory
  • ROM Read-Only Memory
  • EEPROM Electrically Erasable programmable read-only memory

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

The present disclosure provides a method (100) in a network node advertising a Binding Segment Identifier, BSID. The method (100) includes: receiving (110) a first echo request packet containing a first target Forwarding Equivalence Class, FEC, stack including an FEC associated with the BSID; and transmitting (120), in response to a Time To Live, TTL, expiration associated with the first echo request packet, a first echo reply packet to an initiating network node initiating the first echo request packet, the first echo reply packet containing an indicator indicating that the FEC is to be replaced by a set of FECs.

Description

METHOD AND NETWORK NODE FOR LABEL SWITCHED PATH TRACEROUTE TECHNICAL FIELD
The present disclosure relates to communication technology, and more particularly, to a method and a network node for Label Switched Path (LSP) traceroute.
BACKGROUND
Currently, Segment Routing (SR) LSPs are used with Software Defined Networking (SDN) to enable network programming of Traffic Engineering (TE) paths. An SR-TE LSP is set up by encoding an ordered list of segments in a packet header at a network node (e.g., a Label Switching Router, or LSR) to steer a traffic flow. A Binding Segment (BS) can be used in an SR-TE LSP to provide scaling, network opacity and service independence.
Request For Comments (RFC) 8029, Detecting Multi-Protocol Label Switching (MPLS) Data-Plane Failures, which is incorporated here by reference in its entirety, discloses an LSP traceroute mechanism for testing MPLS LSPs. In RFC 8029, an "MPLS echo request" and an "MPLS echo reply" are defined and Time-To-Live (TTL) values in the header of the MPLS echo request are controlled by an initiating node for hop-by-hop fault localization.
RFC 8287, Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes, which is incorporated here by reference in its entirety, defines traceroute as a diagnostic tool for on-demand checking of failures in an SR-based LSP.
Internet Draft, draft-arora-mpls-spring-ttl-procedure-srte-paths-01, TTL Procedures for SR-TE Paths in Label Switched Path Traceroute Mechanisms, K. Arora, et al., February 2019, which is incorporated here by reference in its entirety, proposes a mechanism to perform LSP traceroute for a Binding SID (BSID) within an MPLS data plane. According to this Internet Draft, when a network node advertising a BSID is operating in a uniform model (referring to RFC 3443, TTL Processing in MPLS Networks, which is incorporated here by reference in its entirety) , it should send a Forwarding Equivalence Class (FEC)  stack change sub-Type-Length-Value (TLV) , in order to trace network nodes in an LSP (or referred to as “tunnel” ) represented by the BSID. On the other hand, when a network node advertising a BSID is operating in a short pipe model (referring to RFC 3443) , it should not send an FEC stack change sub-TLV, and the BSID is treated as a single hop and network nodes in an LSP represented by the BSID are not traced.
However, it is desired to trace network nodes in an LSP represented by a BSID in a hop-by-hop manner using the traceroute mechanism, especially in the short pipe model, e.g., when a network node advertising the BSID and a network node initiating the traceroute are in a same administrative domain.
SUMMARY
It is an object of the present disclosure to provide a method and a network node for LSP traceroute, capable of tracing network nodes in an LSP represented by a BSID in a hop-by-hop manner, especially in the short pipe model.
According to a first aspect of the present disclosure, a method in a network node advertising a BSID is provided. The method includes: receiving a first echo request packet containing a first target FEC stack including an FEC associated with the BSID; and transmitting, in response to a TTL expiration associated with the first echo request packet, a first echo reply packet to an initiating network node initiating the first echo request packet. The first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
In an embodiment, the indicator may be included in an FEC stack change sub-TLV in a Downstream Detailed Mapping TLV.
In an embodiment, the method may further include: receiving a second echo request packet containing a second label stack and a second target FEC stack, the second label stack including a label corresponding to the BSID and the second target FEC stack including at least a first FEC from the set of FECs; and transmitting, in response to detecting a TTL expiration associated with the second echo request packet, to a downstream network node a third echo request packet based on the second echo request packet. The third echo request packet  contains a third label stack associated with the set of FECs and a third target FEC stack including the first FEC.
In an embodiment, a TTL value associated with at least one label in the third label stack may be configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet. The network node to be traced by the third echo request packet may be a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
In an embodiment, the second echo request packet may contain a value indicating a number of hops from the network node advertising the BSID to the network node to be traced by the third echo request packet, along an LSP represented by the BSID, and the TTL value associated with the at least one label in the third label stack may be configured based on the value.
In an embodiment, the value may be carried in a TTL value associated with the BSID in the second label stack.
In an embodiment, the TTL value associated with the at least one label in the third label stack may be configured based further on a number of hops from the network node advertising the BSID or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
In an embodiment, the method may further include: receiving a third echo reply packet from the network node to be traced by the third echo request packet; determining that the third echo reply packet is responsive to the third echo request packet; and transmitting to the initiating network node a second echo reply packet responsive to the second echo request packet. The second echo reply packet is based on the third echo reply packet.
In an embodiment, the second echo request packet may contain a first identifier of a traceroute instance initiated by the initiating network node, the third echo request packet may contain a second identifier mapped to the first identifier, the third echo reply packet may be determined to be responsive to the third echo  request packet when the third echo reply packet contains an identifier consistent with the second identifier, and the second echo reply packet may be transmitted with an identifier consistent with the first identifier.
In an embodiment, the second echo request packet may contain an Internet Protocol (IP) address of the initiating network node as a source IP address, the third echo request packet may contain an IP address of the network node as a source IP address, and the second echo reply packet may be transmitted using the IP address of the initiating network node as a destination IP address.
According to a second aspect of the present disclosure, a method in a network node initiating an LSP traceroute is provided. The method includes: receiving, from a network node advertising a BSID, a first echo reply packet responsive to a first echo request packet. The first echo request packet contains a first target FEC stack including an FEC associated with the BSID, and the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs. The method further includes: transmitting a second echo request packet containing a second target FEC stack based on the set of FECs. The second echo request packet further contains a value indicating a number of hops from the network node advertising the BSID to a network node to be traced by the second echo request packet, along an LSP represented by the BSID.
In an embodiment, the value may be carried in a TTL value associated with the BSID in a label stack in the second echo request packet.
In an embodiment, the method may further include: configuring a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack, such that a TTL expiration associated with the second echo request packet is to occur at the network node advertising the BSID.
In an embodiment, the operation of configuring may include: adding an explicit-NULL label associated with a TTL value of 1 as a label immediately outer than the label corresponding to the BSID in the label stack.
In an embodiment, the operation of adding may be performed in response to determining that each of one or more labels outer than the label corresponding to  the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID.
In an embodiment, the operation of determining that each of the one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID may include determining that a label immediately outer than the BSID in the label stack is associated with an adjacency SID or a Penultimate Hop Popping (PHP) enabled node SID of the network node advertising the BSID.
In an embodiment, the method may further include: receiving a second echo reply packet responsive to the second echo request packet from the network node advertising the BSID; and transmitting a further echo request packet containing a further value indicating a number of hops from the network node advertising the BSID to a next network node to be traced along the LSP represented by the BSID.
According to a third aspect of the present disclosure, a network node is provided. The network node includes a communication interface, a processor and a memory. The memory stores instructions executable by the processor whereby the network node is operative to perform the method according to any of the above first or second aspect.
According to a fourth aspect of the present disclosure, a computer readable storage medium is provided. The computer readable storage medium has computer program instructions stored thereon. The computer program instructions, when executed by a processor in a network node, cause the network node to perform the method according to any of the above first or second aspect.
With the embodiments of the present disclosure, when a network node advertising a BSID receives an echo request packet containing a target FEC stack including an FEC associated with the BSID, it can transmit, in response to a TTL expiration associated with the echo request packet, an echo reply packet to an initiating network node initiating the echo request packet. The echo reply packet can contain an indicator indicating that the FEC is to be replaced by a set of FECs. Upon receiving the echo reply packet containing the indicator, the  initiating network node can transmit further echo request packets each containing a target FEC stack based on the set of FECs, for hop-by-hop traceroute of network nodes along an LSP represented by the BSID. Upon receiving each of the further echo request packets, the network node advertising the BSID can act as a proxy that transmits an echo request packet along the LSP, receives an echo reply packet from a network node in the LSP and forwards the echo reply packet to the initiating network node. In this way, the initiator network node can trace the network nodes in the LSP in a hop-by-hop manner.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and advantages will be more apparent from the following description of embodiments with reference to the figures, in which:
Fig. 1 is a flowchart illustrating a method for LSP traceroute according to an embodiment of the present disclosure;
Fig. 2 is a schematic diagram showing a FEC stack change sub-TLV according to an embodiment of the present disclosure;
Fig. 3 is a flowchart illustrating a method for LSP traceroute according to another embodiment of the present disclosure;
Fig. 4 is a schematic diagram showing an example of LSP traceroute according to the present disclosure;
Fig. 5 is a block diagram of a network node according to an embodiment of the present disclosure; and
Fig. 6 is a block diagram of a network node according to another embodiment of the present disclosure.
DETAILED DESCRIPTION
In the following, references in the specification to "one embodiment" , "an embodiment" , "an example embodiment" and the like indicate that the embodiment described may include a particular feature, structure, or characteristic, but it is not necessary that every embodiment includes the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
It shall be understood that although the terms "first" and "second" etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed terms. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms "a" , "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" , "comprising" , "has" , "having" , "includes" and/or "including" , when used herein, specify the presence of stated features, elements, and/or components etc., but do not preclude the presence or addition of one or more other features, elements, components and/or combinations thereof.
In the following description and claims, unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skills in the art to which this disclosure belongs.
Fig. 1 is a flowchart illustrating a method 100 for LSP traceroute according to an embodiment of the present disclosure. The method 100 can be performed at a network node, e.g., an LSR, advertising a BSID (the network node is referred to as “advertising node” hereinafter for simplicity) .
At block 110, a first echo request packet is received. The first echo request packet contains a first target FEC stack including an FEC associated with the BSID.
At block 120, a first echo reply packet is transmitted to an initiating network node initiating the first echo request packet in response to a TTL expiration associated with the first echo request packet. The first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
Here, a TTL expiration means that a TTL value associated with an outermost label of a label stack in an echo request packet, or a TTL value associated with a label in the label stack that is to be used for forwarding, becomes zero (0) after decremented by 1.
In the block 120, the indicator can be included in an FEC stack change sub-TLV in a Downstream Detailed Mapping TLV. The FEC stack change sub-TLV is defined in RFC 8029. According to RFC 8029, a network node being traced encodes this sub-TLV in an echo reply when its downstream node has a different FEC stack than the FEC stack received in the echo request. With this information in the echo reply, an initiating network node knows how to manipulate TTL values in the next echo request to properly trace the next network node. This mechanism works well for SR-TE paths using node segments or adjacency segments, but conventionally it does not work properly with binding segments because the initiating network node is not aware of a label stack change due to replacement of a BSID with a set of SIDs at a remote advertising node of the BSID.
Fig. 2 shows an exemplary format of an FEC stack change sub-TLV according to an embodiment of the present disclosure. As shown, a B-bit, i.e., the above indicator, is introduced in the FEC stack change sub-TLV. For example, if an FEC to be popped in the FEC stack change is an FEC associated with a BSID, the B-bit is set; or otherwise it is not set.
The B-bit, once set, informs the initiating network node that the FEC stack change is a result of replacing the FEC associated with BSID by the set of FECs, and that the advertising node is capable of acting as a proxy for tracing the network nodes along an LSP represented by the BSID on behalf of the initiating node.
Accordingly, the advertising node may then receive a second echo request packet initiated from the initiating network node. The second echo request packet contains a second label stack and a second target FEC stack. The second label stack includes a corresponding to the BSID and the second target FEC stack includes at least a first FEC from the set of FECs. In response to detecting a TTL expiration associated with the second echo request packet, the advertising node can transmit to a downstream network node a third echo request packet based on the second echo request packet. The third echo request packet contains a third  label stack associated with the set of FECs and a third target FEC stack including the first FEC. In an example, the third target FEC stack may be the same as the second target FEC stack.
In an example, the second echo request packet can contain a first identifier of a traceroute instance initiated by the initiating network node, and the third echo request packet can contain a second identifier mapped to the first identifier. Further, the second echo request packet can contain an IP address of the initiating network node as a source IP address, and the third echo request packet can contain an IP address of the advertising node as a source IP address.
For example, the advertising node can extract a sender’s handle (denoted as ini_sh) and a source IP address (denoted as ini_sip) from the second echo request packet, assign a new sender’s handle (denoted as new_sh) to be used in the third echo request packet, and maintain a mapping between {ini_sh, ini_sip} and {new_sh} .
Here, a TTL value associated with at least one label in the third label stack can be configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet. The network node to be traced by the third echo request packet may be a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
In an example, the second echo request packet can contain a value (referred to as a Hop Indicator, or HI, hereinafter) indicating a number of hops from the advertising node to the network node to be traced by the third echo request packet, along an LSP represented by the BSID. For example, the value can be carried in a TTL value associated with the BSID in the second label stack. Accordingly, the TTL value associated with the at least one label in the third label stack can be configured based on the value. Here, the TTL value associated with the at least one label in the third label stack can be configured based further on a number of hops from the advertising node or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
For example, assuming that the third label stack is {label 1, label 2, ..., label M} , where M denotes the number of labels in the third label stack, the advertising node can maintain a local record of {nhop 1, nhop 2, ..., nhop M} , where nhop m (1≤m≤M) denotes the number of hops from the node associated with label m-1 to the node associated with label m (nhop 1 denotes the number of hops from the advertising node to the node associated with label 1) . In an example, each of nhop 1, nhop 2, ..., nhop M can be set to zero initially and the TTL value, denoted as ttl m, associated with label m in the third label stack can be configured as:
ttl m=255, if nhop m≠0, or
Figure PCTCN2019104958-appb-000001
if nhop m=0,
where hi is the value of the HI in the second echo request packet.
In an example, except the sender’s handle, the source IP address, the label stack and the TTL values associated with the labels in the label stack, the third echo request packet can be substantially the same as the second echo request packet.
Then, the advertising node can receive a third echo reply packet from the network node to be traced by the third echo request packet. The advertising node can determine that the third echo reply packet is responsive to the third echo request packet, e.g., by determining that the third echo reply packet contains an identifier consistent with the second identifier. Next, the advertising node can transmit to the initiating network node a second echo reply packet responsive to the second echo request packet. The second echo reply packet is based on the third echo reply packet. For example, the second echo reply packet can be transmitted using the IP address of the initiating network node as a destination IP address, and can contain an identifier consistent with the first identifier, such that the initiating network node can determine that the second echo reply packet is responsive to the second echo request packet.
For example, with the above mapping between {ini_sh, ini_sip} and {new_sh} , upon receiving the third echo reply packet containing new_sh, the advertising node determines that the third echo reply packet is responsive to the third echo request packet and transmits the second echo reply packet with ini_sh as the identifier and ini_sip as the destination IP address. In an example, except the identifier and the destination IP address, the second echo reply packet can be substantially the same as the third echo reply packet.
In an example, when the third echo reply packet contains an FEC stack change sub-TLV indicating that the replying network node is an egress node of the first FEC with an operation type of POP, the advertising node can update the record of nhop m (assuming that the replying network node corresponds to label m) based on a TTL value associated with label m in the third echo request packet.
Alternatively, the advertising node can update the record of nhop m, e.g., by incrementing nhop m by 1, each time it receives the third echo reply packet. In this case, an egress-flag can be introduced, which is set to FALSE unless the third echo reply packet indicates that the replying network node is an egress node of the first FEC with an operation type of POP. Accordingly, the above TTL value ttl m can be configured as:
ttl m=255, if egress-flag=TRUE, or
Figure PCTCN2019104958-appb-000002
if egress-flag=FALSE.
Fig. 3 is a flowchart illustrating a method 300 for LSP traceroute according to an embodiment of the present disclosure. The method 300 can be performed at a network node, e.g., an LSR, initiating an LSP traceroute.
At block 310, a first echo reply packet responsive to a first echo request packet is received from a network node advertising a BSID (the network node is referred to as “advertising node” hereinafter) . The first echo request packet contains a first target FEC stack including an FEC associated with the BSID. The first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs. In an example, the indicator can be the B-bit as shown in Fig. 2.
At block 320, a second echo request packet is transmitted. The second echo request packet contains a second target FEC stack based on the set of FECs. The second echo request packet further contains a value indicating a number of hops from the advertising node to a network node to be traced by the second echo request packet, along an LSP represented by the BSID. In an example, the value can be carried in a TTL value associated with the BSID in a label stack in the second echo request packet.
In an example, a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack can be configured such that a TTL expiration associated with the second echo request packet is to occur at the advertising node. For example, an explicit-NULL label associated with a TTL value of 1 can be added as a label immediately outer than the label corresponding to the BSID in the label stack. The explicit-NULL label can be added in response to determining that each of one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the advertising node, e.g., in response to determining that a label immediately outer than the BSID in the label stack is associated with an adjacency SID or a Penultimate Hop Popping (PHP) enabled node SID of the advertising node. Alternatively, the explicit-NULL label can always be added to ensure that the TTL expiration associated with the second echo request packet will occur at the advertising node.
Then, the initiating network node can receive a second echo reply packet responsive to the second echo request packet from the advertising node. Next, the initiating network node can transmit a further echo request packet containing a further value indicating a number of hops from the advertising node to a next network node to be traced along the LSP represented by the BSID. In an example, the further value can be obtained by incrementing the value by 1.
In the following, the  above methods  100 and 300 will be further explained with reference to Fig. 4, which shows an example of LSP traceroute. In this example, five network nodes, e.g., LSRs, R1, R2, R3, R4 and R5, are shown and their respective labels are 501, 502, 503, 504 and 505. Here, for the purpose of simplicity, in the following description, the labels are not distinguished from their corresponding SIDs and associated FECs. For example, R1 has a label 501, and the corresponding SID and the associated FEC are denoted as 501 as well. In this example, R1 is an initiating network node initiating the LSP traceroute and R3 is an advertising node advertising a BSID 7701 that can be replaced with two  Node SIDs  404 and 405. In Fig. 4, a notation (x, y) denotes a label x and its associated TTL value of y. It is assumed here that the LSP to be traced is represented as a label stack {503, 7701} .
As shown in Fig. 4, at 4.1, for Hop 1, R1 transmits an echo request having a label stack { (503, 1) , (7701, 0) } and a target FEC stack (denoted as T-FEC) of {503, 7701} . R2 receives the echo request and detects a TLL expiration (TTL=1 for the outermost label 503) , then validates the outermost FEC and determines that it is a PHP node for the outermost FEC 503. At 4.2, R2 then transmits an echo reply to R1, containing a P-bit indicating PHP enabled for 503 in Downstream Mapping object Flags (DS Flags) in a Downstream Detailed Mapping TLV.
At 4.3, for Hop=2, R1 transmits a next echo request having a label stack { (503, 2) , (7701, 1) } and a T-FEC of {503, 7701} . R2 receives the echo request, pops the label 503 as the PHP is enabled, and forwards the echo request to R3 at 4.4. Upon receiving the echo request, R3 detects a TLL expiration (TTL=1 for the outermost label 7701) , looks at the outermost FEC 503 and knows that it is the egress node of the outermost FEC. R3 then pops the FEC 503 and continues looking at the next FEC 7701 and knows that it is the advertising node for the BSID 7701, which is to be replaced by a list of Node SIDs {404, 405} . At 4.5, R3 transmits an echo reply to R1, containing a return code 15 (Label Switched with FEC Change) and the following FEC stack change sub-TLVs:
FEC stack change with operation type ‘POP’ for Node SID 503,
FEC stack change with operation type ‘POP’ for BSID 7701, with B-bit set,
FEC stack change with operation type ‘PUSH’ for Node SID 404, and
FEC stack change with operation type ‘PUSH’ for Node SID 405.
Upon receiving the echo reply, R1 looks at the FEC stack change sub-TLV and finds that the FEC 503 is popped, so it knows that R3 is the egress node for the SID 503. R1 also finds the B-bit associated with the popped FEC 7701, so R1 knows that 7701 is a BSID which can be translated into a list of Node SIDs {404, 405} , and that R3 is the advertising node for the BSID 7701 and is capable of acting as a proxy for tracing network nodes along the LSP represented by {404, 405} . As a result, at 4.6, for Hop 3, R1 transmits a next echo request having a label stack { (503, 2) , (explicit-NULL, 1) , (7701, 1) } and a T-FEC of {404, 405} , with the TTL value of the label 7701 as an HI (i.e., hi=1) . R2 receives the echo request, pops the label 503 as the PHP is enabled, and forwards the echo request to R3 at 4.7. Upon receiving the echo request, R3 detects a TLL expiration (TTL=1 for the outermost label explicit-NULL) , and generates a new echo request based on the received echo request and transmits it downstream at  4.8. The new echo request is substantially the same as the received echo request except that it has a label stack { (404, 1) , (405, 0) } and contains a new sender’s handle as a traceroute instance identifier and an IP address of R3 as its source IP address. Upon receiving the new echo request, R4 detects a TLL expiration (TTL=1 for the outermost label 404) , looks at the outermost FEC 404 and knows that it is the egress node for the outermost FEC. At 4.9, R4 transmits an echo reply to R3 (using the IP address of R3 as its destination IP address) , containing a return code 15 (Label Switched with FEC Change) and the following FEC stack change sub-TLV:
FEC stack change with operation type ‘POP’ for Node SID 404.
Upon receiving the echo reply, R3 determines that it is responsive to the echo request transmitted at 4.8, e.g., based on a sender’s handle in the echo reply that is consistent with the new sender’s handle, and knows that Node SID 404 is popped. Accordingly, R3 updates its local record with {label 1=404, nhop 1=1} . At 4.10, R3 then transmits an echo reply responsive to the echo request received at 4.6. The echo reply is substantially the same as the echo reply received at 4.9, except that it has an IP address of R1 as its destination IP address.
Upon receiving the echo reply, R1 knows from the FEC stack change sub-TLV that Node SID 404 is popped, and knows from the return code that the egress node of the LSP {503, 7701} has not been reached and it needs to continue the traceroute. At 4.11, for Hop 4, R1 transmits a next echo request having a label stack { (503, 2) , (explicit-NULL, 1) , (7701, 2) } and a T-FEC of 405, with the TTL value of the label 7701 as an HI (i.e., hi=2) . R2 receives the echo request, pops the label 503 as the PHP is enabled, and forwards the echo request to R3 at 4.12. Upon receiving the echo request, R3 detects a TLL expiration (TTL=1 for the outermost label explicit-NULL) , and generates a new echo request based on the received echo request and transmits it downstream at 4.13. The new echo request is substantially the same as the received echo request except that it has a label stack { (404, 255) , (405, 1) } and contains a new sender’s handle as a traceroute instance identifier and an IP address of R3 as its source IP address. Here, the TLL value associated with the label 405 is calculated as: ttl 2=hi-nhop 1=1. Then, R4 simply pops the label 404 from the label stack and forwards the new echo request downstream at 4.14. Upon receiving the new echo request, R5 detects a TLL expiration (TTL=1 for the outermost label 405) , looks at the  outermost FEC 405 and knows that it is the egress node for the outermost FEC and that there is no further FEC in the T-FEC. At 4.15, R5 transmits an echo reply to R3 (using the IP address of R3 as its destination IP address) , containing a return code 3 (replying router is an egress for the FEC at stack-depth <2>) and the following FEC stack change sub-TLV:
FEC stack change with operation type ‘POP’ for Node SID 405.
Upon receiving the echo reply, R3 determines that it is responsive to the echo request transmitted at 4.13, e.g., based on a sender’s handle in the echo reply that is consistent with the new sender’s handle, and knows that Node SID 405 is popped. Accordingly, R3 updates its local record with {label 2=405, nhop 2=1} . At 4.16, R3 then transmits an echo reply responsive to the echo request received at 4.12. The echo reply is substantially the same as the echo reply received at 4.15, except that it has an IP address of R1 as its destination IP address. Upon receiving the echo reply, R1 knows from the FEC stack change sub-TLV that Node SID 405 is popped, and knows from the return code that the egress node of the LSP {503, 7701} has been reached and the traceroute has completed.
It is to be noted here that, while R4 is the next-hop downstream node of R3 and R5 is the next-hop downstream node of R4 in the example shown in Fig. 4, there may be one or more intermediate nodes between R3 and R4, and/or there may be one or more intermediate nodes between R4 and R5, and the present disclosure applies equally to any of these cases, simply following the rules set forth in RFC 8029.
Correspondingly to the methods 100 and/or 300 as described above, a network node is provided. Fig. 5 is a block diagram of a network node 500 according to an embodiment of the present disclosure.
The network node 500 can be a network node, e.g., an LSR, advertising a BSID, and can be configured to perform the method 100 as described above in connection with Fig. 1. As shown in Fig. 5, the network node 500 includes a receiving unit 510 configured to receive a first echo request packet containing a first target FEC stack including an FEC associated with the BSID. The network node 500 further includes a transmitting unit 520 configured to transmit, in response to a TTL expiration associated with the first echo request packet, a first  echo reply packet to an initiating network node initiating the first echo request packet. The first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
In an embodiment, the indicator may be included in an FEC stack change sub-TLV in a Downstream Detailed Mapping TLV.
In an embodiment, the receiving unit 510 can be further configured to receive a second echo request packet containing a second label stack and a second target FEC stack, the second label stack including a label corresponding to the BSID and the second target FEC stack including at least a first FEC from the set of FECs. The transmitting unit 520 can be further configured to transmit, in response to detecting a TTL expiration associated with the second echo request packet, to a downstream network node a third echo request packet based on the second echo request packet. The third echo request packet contains a third label stack associated with the set of FECs and a third target FEC stack including the first FEC.
In an embodiment, a TTL value associated with at least one label in the third label stack may be configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet. The network node to be traced by the third echo request packet may be a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
In an embodiment, the second echo request packet may contain a value indicating a number of hops from the network node advertising the BSID to the network node to be traced by the third echo request packet, along an LSP represented by the BSID, and the TTL value associated with the at least one label in the third label stack may be configured based on the value.
In an embodiment, the value may be carried in a TTL value associated with the BSID in the second label stack.
In an embodiment, the TTL value associated with the at least one label in the third label stack may be configured based further on a number of hops from the  network node advertising the BSID or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
In an embodiment, the receiving unit 510 can be further configured to receive a third echo reply packet from the network node to be traced by the third echo request packet. The network node 500 can further include a determining unit configured to determine that the third echo reply packet is responsive to the third echo request packet. The transmitting unit 520 can be further configured to transmit to the initiating network node a second echo reply packet responsive to the second echo request packet. The second echo reply packet is based on the third echo reply packet.
In an embodiment, the second echo request packet may contain a first identifier of a traceroute instance initiated by the initiating network node, the third echo request packet may contain a second identifier mapped to the first identifier, the third echo reply packet may be determined to be responsive to the third echo request packet when the third echo reply packet contains an identifier consistent with the second identifier, and the second echo reply packet may be transmitted with an identifier consistent with the first identifier.
In an embodiment, the second echo request packet may contain an IP address of the initiating network node as a source IP address, the third echo request packet may contain an IP address of the network node as a source IP address, and the second echo reply packet may be transmitted using the IP address of the initiating network node as a destination IP address.
Alternatively, the network node 500 can be a network node, e.g., an LSR, initiating an LSP traceroute, and can be configured to perform the method 300 as described above in connection with Fig. 3. As shown in Fig. 5, the network node 500 includes a receiving unit 510 configured to receive, from a network node advertising a BSID, a first echo reply packet responsive to a first echo request packet. The first echo request packet contains a first target FEC stack including an FEC associated with the BSID, and the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs. The network node 500 further includes a transmitting unit 520 configured to transmit a second  echo request packet containing a second target FEC stack based on the set of FECs. The second echo request packet further contains a value indicating a number of hops from the network node advertising the BSID to a network node to be traced by the second echo request packet, along an LSP represented by the BSID.
In an embodiment, the value may be carried in a TTL value associated with the BSID in a label stack in the second echo request packet.
In an embodiment, the network node 500 may further include a configuring unit configured to configure a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack, such that a TTL expiration associated with the second echo request packet is to occur at the network node advertising the BSID.
In an embodiment, the configuring unit may be configured to add an explicit-NULL label associated with a TTL value of 1 as a label immediately outer than the label corresponding to the BSID in the label stack.
In an embodiment, the explicit-NULL label may be added in response to determining that each of one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID.
In an embodiment, the operation of determining that each of the one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID may include determining that a label immediately outer than the BSID in the label stack is associated with an adjacency SID or a Penultimate Hop Popping (PHP) enabled node SID of the network node advertising the BSID.
In an embodiment, the receiving unit 510 can be further configured to receive a second echo reply packet responsive to the second echo request packet from the network node advertising the BSID. The transmitting unit 520 can be further configured to transmit a further echo request packet containing a further value  indicating a number of hops from the network node advertising the BSID to a next network node to be traced along the LSP represented by the BSID.
The units 510~520 can be implemented as a pure hardware solution or as a combination of software and hardware, e.g., by one or more of: a processor or a micro-processor and adequate software and memory for storing of the software, a Programmable Logic Device (PLD) or other electronic component (s) or processing circuitry configured to perform the actions described above, and illustrated, e.g., in Fig. 1 or 3.
Fig. 6 is a block diagram of a network node 600 according to another embodiment of the present disclosure.
The network node 600 includes a communication interface 610, a processor 620 and a memory 630. The memory 630 contains instructions executable by the processor 620 whereby the network node 600 is operative to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 1 or 3.
For example, the network node 600 can be a network node, e.g., an LSR, advertising a BSID. Particularly, the memory 630 can contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive a first echo request packet containing a first target FEC stack including an FEC associated with the BSID; and transmit, in response to a TTL expiration associated with the first echo request packet, a first echo reply packet to an initiating network node initiating the first echo request packet. The first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs.
In an embodiment, the indicator may be included in an FEC stack change sub-TLV in a Downstream Detailed Mapping TLV.
In an embodiment, the memory 630 can further contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive a second echo request packet containing a second label stack and a second target FEC stack, the second label stack including a label corresponding to the BSID and the second target FEC stack including at least a first FEC from the set of  FECs; and transmit, in response to detecting a TTL expiration associated with the second echo request packet, to a downstream network node a third echo request packet based on the second echo request packet. The third echo request packet contains a third label stack associated with the set of FECs and a third target FEC stack including the first FEC.
In an embodiment, a TTL value associated with at least one label in the third label stack may be configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet. The network node to be traced by the third echo request packet may be a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
In an embodiment, the second echo request packet may contain a value indicating a number of hops from the network node advertising the BSID to the network node to be traced by the third echo request packet, along an LSP represented by the BSID, and the TTL value associated with the at least one label in the third label stack may be configured based on the value.
In an embodiment, the value may be carried in a TTL value associated with the BSID in the second label stack.
In an embodiment, the TTL value associated with the at least one label in the third label stack may be configured based further on a number of hops from the network node advertising the BSID or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
In an embodiment, the memory 630 can further contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive a third echo reply packet from the network node to be traced by the third echo request packet; determine that the third echo reply packet is responsive to the third echo request packet; and transmit to the initiating network node a second echo reply packet responsive to the second echo request packet. The second echo reply packet is based on the third echo reply packet.
In an embodiment, the second echo request packet may contain a first identifier of a traceroute instance initiated by the initiating network node, the third echo request packet may contain a second identifier mapped to the first identifier, the third echo reply packet may be determined to be responsive to the third echo request packet when the third echo reply packet contains an identifier consistent with the second identifier, and the second echo reply packet may be transmitted with an identifier consistent with the first identifier.
In an embodiment, the second echo request packet may contain an IP address of the initiating network node as a source IP address, the third echo request packet may contain an IP address of the network node as a source IP address, and the second echo reply packet may be transmitted using the IP address of the initiating network node as a destination IP address.
Alternatively, the network node 600 can be a network node, e.g., an LSR, initiating an LSP traceroute. Particularly, the memory 630 can contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive, from a network node advertising a BSID, a first echo reply packet responsive to a first echo request packet. The first echo request packet contains a first target FEC stack including an FEC associated with the BSID, and the first echo reply packet contains an indicator indicating that the FEC is to be replaced by a set of FECs. The memory 630 contains instructions executable by the processor 620 whereby the network node 600 is operative to: transmit a second echo request packet containing a second target FEC stack based on the set of FECs. The second echo request packet further contains a value indicating a number of hops from the network node advertising the BSID to a network node to be traced by the second echo request packet, along an LSP represented by the BSID.
In an embodiment, the value may be carried in a TTL value associated with the BSID in a label stack in the second echo request packet.
In an embodiment, the memory 630 can further contain instructions executable by the processor 620 whereby the network node 600 is operative to: configure a TTL value associated with at least one label outer than a label corresponding to the  BSID in the label stack, such that a TTL expiration associated with the second echo request packet is to occur at the network node advertising the BSID.
In an embodiment, the operation of configuring may include: adding an explicit-NULL label associated with a TTL value of 1 as a label immediately outer than the label corresponding to the BSID in the label stack.
In an embodiment, the operation of adding may be performed in response to determining that each of one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID.
In an embodiment, the operation of determining that each of the one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID may include determining that a label immediately outer than the BSID in the label stack is associated with an adjacency SID or a Penultimate Hop Popping (PHP) enabled node SID of the network node advertising the BSID.
In an embodiment, the memory 630 can further contain instructions executable by the processor 620 whereby the network node 600 is operative to: receive a second echo reply packet responsive to the second echo request packet from the network node advertising the BSID; and transmit a further echo request packet containing a further value indicating a number of hops from the network node advertising the BSID to a next network node to be traced along the LSP represented by the BSID.
The present disclosure also provides at least one computer program product in the form of a non-volatile or volatile memory, e.g., a non-transitory computer readable storage medium, an Electrically Erasable Programmable Read-Only Memory (EEPROM) , a flash memory and a hard drive. The computer program product includes a computer program. The computer program includes: code/computer readable instructions, which when executed by the processor 620 causes the network node 600 to perform the actions, e.g., of the procedure described earlier in conjunction with Fig. 1 or 3.
The computer program product may be configured as a computer program code structured in computer program modules. The computer program modules could essentially perform the actions of the flow illustrated in Fig. 1 or 3.
The processor may be a single CPU (Central processing unit) , but could also comprise two or more processing units. For example, the processor may include general purpose microprocessors; instruction set processors and/or related chips sets and/or special purpose microprocessors such as Application Specific Integrated Circuits (ASICs) . The processor may also comprise board memory for caching purposes. The computer program may be carried by a computer program product connected to the processor. The computer program product may comprise a non-transitory computer readable storage medium on which the computer program is stored. For example, the computer program product may be a flash memory, a Random-access memory (RAM) , a Read-Only Memory (ROM) , or an EEPROM, and the computer program modules described above could in alternative embodiments be distributed on different computer program products in the form of memories.
The disclosure has been described above with reference to embodiments thereof. It should be understood that various modifications, alternations and additions can be made by those skilled in the art without departing from the spirits and scope of the disclosure. Therefore, the scope of the disclosure is not limited to the above particular embodiments but only defined by the claims as attached.

Claims (19)

  1. A method (100) in a network node advertising a Binding Segment Identifier, BSID, the method comprising:
    receiving (110) a first echo request packet containing a first target Forwarding Equivalence Class, FEC, stack including an FEC associated with the BSID; and
    transmitting (120) , in response to a Time To Live, TTL, expiration associated with the first echo request packet, a first echo reply packet to an initiating network node initiating the first echo request packet, the first echo reply packet containing an indicator indicating that the FEC is to be replaced by a set of FECs.
  2. The method (100) of claim 1, wherein the indicator is included in an FEC stack change sub-Type-Length-Value, TLV, in a Downstream Detailed Mapping TLV.
  3. The method (100) of claim 1 or 2, further comprising:
    receiving a second echo request packet containing a second label stack and a second target FEC stack, the second label stack including a label corresponding to the BSID and the second target FEC stack including at least a first FEC from the set of FECs; and
    transmitting, in response to detecting a TTL expiration associated with the second echo request packet, to a downstream network node a third echo request packet based on the second echo request packet, the third echo request packet containing a third label stack associated with the set of FECs and a third target FEC stack including the first FEC.
  4. The method (100) of claim 3, wherein a TTL value associated with at least one label in the third label stack is configured such that a TTL expiration associated with the third echo request packet is to occur at a network node to be traced by the third echo request packet, the network node to be traced by the third echo request packet being a network node associated with the first FEC or a network node upstream to the network node associated with the first FEC.
  5. The method (100) of claim 4, wherein the second echo request packet contains a value indicating a number of hops from the network node advertising the BSID to the network node to be traced by the third echo request packet, along  a Label Switched Path, LSP, represented by the BSID, and the TTL value associated with the at least one label in the third label stack is configured based on the value.
  6. The method (100) of claim 5, wherein the value is carried in a TTL value associated with the BSID in the second label stack.
  7. The method (100) of claim 5 or 6, wherein the TTL value associated with the at least one label in the third label stack is configured based further on a number of hops from the network node advertising the BSID or from a network node associated with a label that is immediately outer than the label associated with the first FEC in the third label stack to the network node associated with the first FEC.
  8. The method (100) of any of claims 4-7, further comprising:
    receiving a third echo reply packet from the network node to be traced by the third echo request packet;
    determining that the third echo reply packet is responsive to the third echo request packet; and
    transmitting to the initiating network node a second echo reply packet responsive to the second echo request packet, the second echo reply packet being based on the third echo reply packet.
  9. The method (100) of claim 8, wherein the second echo request packet contains a first identifier of a traceroute instance initiated by the initiating network node, the third echo request packet contains a second identifier mapped to the first identifier, the third echo reply packet is determined to be responsive to the third echo request packet when the third echo reply packet contains an identifier consistent with the second identifier, and the second echo reply packet is transmitted with an identifier consistent with the first identifier.
  10. The method (100) of claim 8 or 9, wherein the second echo request packet contains an Internet Protocol, IP, address of the initiating network node as a source IP address, the third echo request packet contains an IP address of the network node as a source IP address, and the second echo reply packet is  transmitted using the IP address of the initiating network node as a destination IP address.
  11. A method (300) in a network node initiating a Label Switched Path, LSP, traceroute, the method comprising:
    receiving (310) , from a network node advertising a Binding Segment Identifier, BSID, a first echo reply packet responsive to a first echo request packet, the first echo request packet containing a first target Forwarding Equivalence Class, FEC, stack including an FEC associated with the BSID, and the first echo reply packet containing an indicator indicating that the FEC is to be replaced by a set of FECs; and
    transmitting (320) a second echo request packet containing a second target FEC stack based on the set of FECs, the second echo request packet further containing a value indicating a number of hops from the network node advertising the BSID to a network node to be traced by the second echo request packet, along an LSP represented by the BSID.
  12. The method (300) of claim 11, wherein the value is carried in a Time To Live, TTL, value associated with the BSID in a label stack in the second echo request packet.
  13. The method (300) of claim 12, further comprising:
    configuring a TTL value associated with at least one label outer than a label corresponding to the BSID in the label stack, such that a TTL expiration associated with the second echo request packet is to occur at the network node advertising the BSID.
  14. The method (300) of claim 13, wherein said configuring comprises:
    adding an explicit-NULL label associated with a TTL value of 1 as a label immediately outer than the label corresponding to the BSID in the label stack.
  15. The method (300) of claim 14, wherein said adding is performed in response to determining that each of one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID.
  16. The method (300) of claim 15, wherein said determining that each of the one or more labels outer than the label corresponding to the BSID in the label stack will have been popped when the second echo request is received by the network node advertising the BSID comprises determining that a label immediately outer than the BSID in the label stack is associated with an adjacency SID or a Penultimate Hop Popping, PHP, enabled node SID of the network node advertising the BSID.
  17. The method (300) of any of claims 12-16, further comprising:
    receiving a second echo reply packet responsive to the second echo request packet from the network node advertising the BSID; and
    transmitting a further echo request packet containing a further value indicating a number of hops from the network node advertising the BSID to a next network node to be traced along the LSP represented by the BSID.
  18. A network node (600) , comprising a communication interface (610) , a processor (620) and a memory (630) , the memory (630) comprising instructions executable by the processor (620) whereby the network node (600) is operative to perform the method according to any of claims 1-17.
  19. A computer readable storage medium having computer program instructions stored thereon, the computer program instructions, when executed by a processor in a network node, causing the network node to perform the method according to any of claims 1-17.
PCT/CN2019/104958 2019-09-09 2019-09-09 Method and network node for label switched path traceroute WO2021046689A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980100083.2A CN114342334B (en) 2019-09-09 2019-09-09 Method and network node for label switched path route tracking
EP19945274.9A EP4029209A4 (en) 2019-09-09 2019-09-09 Method and network node for label switched path traceroute
US17/636,137 US11949591B2 (en) 2019-09-09 2019-09-09 Method and network node for label switched path traceroute
PCT/CN2019/104958 WO2021046689A1 (en) 2019-09-09 2019-09-09 Method and network node for label switched path traceroute

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/104958 WO2021046689A1 (en) 2019-09-09 2019-09-09 Method and network node for label switched path traceroute

Publications (1)

Publication Number Publication Date
WO2021046689A1 true WO2021046689A1 (en) 2021-03-18

Family

ID=74865927

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/104958 WO2021046689A1 (en) 2019-09-09 2019-09-09 Method and network node for label switched path traceroute

Country Status (4)

Country Link
US (1) US11949591B2 (en)
EP (1) EP4029209A4 (en)
CN (1) CN114342334B (en)
WO (1) WO2021046689A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025522B2 (en) * 2019-05-04 2021-06-01 Juniper Networks, Inc. Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter- autonomous system (AS) segment routing (SR) networks
US11757759B2 (en) * 2020-08-31 2023-09-12 Ciena Corporation Hop limit/TTL propagation mode aware relayed MPLS/SRv6 traceroute

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656663A (en) * 2008-08-20 2010-02-24 华为技术有限公司 Method, device and system for forwarding MPLS multicast message
WO2015192501A1 (en) * 2014-06-20 2015-12-23 中兴通讯股份有限公司 Address information publishing method and apparatus
US20180026880A1 (en) 2016-07-21 2018-01-25 Cisco Technology, Inc. Target fec (forwarding equivalence class) stack based fec query in segment routing environments
CN108989212A (en) * 2017-05-31 2018-12-11 瞻博网络公司 The Routing Protocol signaling and its relationship of multiple next-hops
WO2019005935A1 (en) * 2017-06-27 2019-01-03 Cisco Technology, Inc. Ethernet virtual private network using segment routing
WO2019007390A1 (en) * 2017-07-07 2019-01-10 Huawei Technologies Co., Ltd. Pcep segment routing path segment label binding extension
CN109587009A (en) * 2018-12-28 2019-04-05 北京华为数字技术有限公司 The method and apparatus for configuring seamless two-way converting detection SBFD mechanism
US20190190818A1 (en) * 2016-08-15 2019-06-20 Telefonaktiebolaget Lm Ericsson (Publ) Segment routing based on maximum segment identifier depth
CN110061920A (en) * 2018-01-18 2019-07-26 中兴通讯股份有限公司 A kind of method creating two-way section of routing tunnel, equipment and storage medium

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397795B2 (en) * 2003-02-24 2008-07-08 Intel California Method and system for label-based packet forwarding among multiple forwarding elements
US7990888B2 (en) * 2005-03-04 2011-08-02 Cisco Technology, Inc. System and methods for network reachability detection
US7940695B1 (en) * 2007-06-08 2011-05-10 Juniper Networks, Inc. Failure detection for tunneled label-switched paths
US7937492B1 (en) * 2008-09-30 2011-05-03 Juniper Networks, Inc. LSP ping and traceroute for bypass tunnels
US10708182B2 (en) * 2013-07-26 2020-07-07 Cisco Technology, Inc. MPLS LSP connectivity test when the initiator address is unknown
US10291516B2 (en) 2015-02-27 2019-05-14 Cisco Technology, Inc. Synonymous labels
US10361949B2 (en) 2017-03-08 2019-07-23 Juniper Networks, Inc Apparatus, system, and method for sharing labels across label-switched paths within networks
US10742548B1 (en) * 2017-06-02 2020-08-11 Juniper Networks, Inc. Per path and per link traffic accounting
CN110661700B (en) * 2018-06-30 2021-10-15 华为技术有限公司 Method, device and system for processing transmission path fault
EP3891943A1 (en) * 2018-12-21 2021-10-13 Huawei Technologies Co., Ltd. Interior gateway protocol (igp) for segment routing (sr) proxy segment identifier (sids)
US10917337B1 (en) * 2019-01-17 2021-02-09 Juniper Networks, Inc. Time to live (TTL) handing for segment routing ping/traceroute
US11025522B2 (en) * 2019-05-04 2021-06-01 Juniper Networks, Inc. Path monitoring system (PMS) controller or ingress node based multiprotocal label switching (MPLS) ping and traceroute in inter- autonomous system (AS) segment routing (SR) networks

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656663A (en) * 2008-08-20 2010-02-24 华为技术有限公司 Method, device and system for forwarding MPLS multicast message
WO2015192501A1 (en) * 2014-06-20 2015-12-23 中兴通讯股份有限公司 Address information publishing method and apparatus
US20180026880A1 (en) 2016-07-21 2018-01-25 Cisco Technology, Inc. Target fec (forwarding equivalence class) stack based fec query in segment routing environments
US20190190818A1 (en) * 2016-08-15 2019-06-20 Telefonaktiebolaget Lm Ericsson (Publ) Segment routing based on maximum segment identifier depth
CN108989212A (en) * 2017-05-31 2018-12-11 瞻博网络公司 The Routing Protocol signaling and its relationship of multiple next-hops
WO2019005935A1 (en) * 2017-06-27 2019-01-03 Cisco Technology, Inc. Ethernet virtual private network using segment routing
WO2019007390A1 (en) * 2017-07-07 2019-01-10 Huawei Technologies Co., Ltd. Pcep segment routing path segment label binding extension
CN110061920A (en) * 2018-01-18 2019-07-26 中兴通讯股份有限公司 A kind of method creating two-way section of routing tunnel, equipment and storage medium
CN109587009A (en) * 2018-12-28 2019-04-05 北京华为数字技术有限公司 The method and apparatus for configuring seamless two-way converting detection SBFD mechanism

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4029209A4

Also Published As

Publication number Publication date
EP4029209A4 (en) 2023-04-26
US20220294731A1 (en) 2022-09-15
US11949591B2 (en) 2024-04-02
EP4029209A1 (en) 2022-07-20
CN114342334A (en) 2022-04-12
CN114342334B (en) 2024-03-12

Similar Documents

Publication Publication Date Title
US10581732B2 (en) Target FEC (forwarding equivalence class) stack based FEC query in segment routing environments
US11962496B2 (en) Method for establishing segment routing for IPv6 tunnel
US9525622B2 (en) Label stack encoding and processing to enable OAM procedures for service segments in segment routed (SR) networks
WO2015180559A1 (en) Fault detection method and apparatus for service chain
US11968108B2 (en) Method and router for label switched path traceroute
US8830826B2 (en) System and method for computing a backup egress of a point-to-multi-point label switched path
US9036642B2 (en) Point-to point based multicast label distribution protocol local protection solution
US11588725B2 (en) Method and apparatus for path computation
US11949591B2 (en) Method and network node for label switched path traceroute
US20220070085A1 (en) Hop Limit/TTL propagation mode aware relayed MPLS/SRv6 traceroute
US11165695B1 (en) Identifying egress of nil forward equivalency class (FEC) used for FEC hiding
WO2017140238A1 (en) Message transmission method and device
WO2018054197A1 (en) Method and apparatus for path selecting
Kumar et al. Label switched path (LSP) ping/traceroute for segment routing (SR) IGP-prefix and IGP-adjacency segment identifiers (SIDs) with MPLS data planes
WO2020021558A1 (en) Methods, apparatus and machine-readable media relating to path computation in a communication network
WO2023155068A1 (en) Communication device, sdn controller, and methods therein for facilitating path computation
Swallow et al. RFC 8287: Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019945274

Country of ref document: EP

Effective date: 20220411