WO2019007390A1 - Pcep segment routing path segment label binding extension - Google Patents

Pcep segment routing path segment label binding extension Download PDF

Info

Publication number
WO2019007390A1
WO2019007390A1 PCT/CN2018/094637 CN2018094637W WO2019007390A1 WO 2019007390 A1 WO2019007390 A1 WO 2019007390A1 CN 2018094637 W CN2018094637 W CN 2018094637W WO 2019007390 A1 WO2019007390 A1 WO 2019007390A1
Authority
WO
WIPO (PCT)
Prior art keywords
label
packet
network apparatus
path
segment
Prior art date
Application number
PCT/CN2018/094637
Other languages
French (fr)
Inventor
Mahendra Singh Negi
Prejeeth KALADHARAN
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to CN202111670696.5A priority Critical patent/CN114244771A/en
Priority to CN201880045064.XA priority patent/CN110870261B/en
Publication of WO2019007390A1 publication Critical patent/WO2019007390A1/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]

Definitions

  • the present subject matter described herein in general, relates to communication networks and particularly, to integrating segment routing with multiprotocol label switching with longer path segments in the older systems. More particularly, the invention relates to a method and apparatus for sending data packets in a communications network.
  • Segment Routing is an emerging technology that has the capability to simplify traffic engineering implementation in WANs. SR provides complete control over the forwarding paths by combining simple network instructions thereby doing away with the need for any additional protocol, sometimes going so far as to remove unnecessary protocols to simplify the network. SR simplifies the routing by delegating the configuration and per-flow state at the border of the network. In SR, only the per-flow state needs to be maintained at the ingress node of the SR domain, as it does not require path signalling, thereby increasing network flexibility while at the same time reducing cost. Segment Routing allows for the traffic to be steered along any arbitrary path in the network, thereby allowing operators to enforce low-latency and/or disjoint paths, regardless of the conventional/normal forwarding paths.
  • MPLS Multiprotocol Label Switching
  • MPLS can encapsulate packets of various network protocols, hence its name "multiprotocol" .
  • each packet gets labelled on entry into the service provider's network by an ingress router and all subsequent routing switches forward the data packed based only on the labels, thereby doing away with the need to look as far as the IP header to route the traffic.
  • An egress router removes the label (s) and forwards the original IP packet towards its final destination.
  • segment routing can be directly applied to the MPLS architecture with no change in its forwarding plane.
  • SR utilizes the network bandwidth more effectively than traditional MPLS networks while offering lower latency.
  • a segment is encoded as an MPLS label.
  • An ordered list of segments is encoded as a stack of labels. The segment to process is situated on the top of the stack. The related label is popped from the stack, after the completion of a segment.
  • Segment Routing provides automatic traffic protection without any topological restrictions.
  • the network protects traffic against link and node failures without requiring additional signalling in the network.
  • Existing IP fast re-route (FRR) technology in combination with the explicit routing capabilities in Segment Routing guarantees full protection coverage with optimum backup paths. Traffic protection does not impose any additional signalling requirements.
  • SR-TE Segment Routing Traffic Engineering
  • a node steers the packet through an ordered list of instructions called segments (MPLS labels) .
  • the ingress node inserts segments (i.e. stack of labels) , to steer the packet in particular path in a network.
  • segments i.e. stack of labels
  • the controller knows the Maximum Segment Depth (MSD) of the node or link SR tunnel exits over, so as to ensure that it doesn't download a path with SID (label stack) of a depth more than the node or link used is capable of imposing.
  • MSD Maximum Segment Depth
  • the older systems have limitation on inserting number of segments (as the MSD value or number of hops in a SR-TE of such systems usually varies from 3 to 5) , that cannot satisfy the need of a complete SRTE path (stack of labels inserted at ingress) .
  • the MSD value of such systems is at least 2.
  • An objective of the present invention is to solve the technical problem as recited above by providing the label-stack and binding the label-stack to an incoming label.
  • Another objective of the present invention is to implement the SRTE LSP setup across a network, to provide a longer SR-TE path.
  • Yet another objective of the present invention is to provide a means for establishing a longer segment routing tunnel in older systems.
  • Yet another objective of the present invention is to provide an apparatus for sending data packets in a communications system.
  • a method for sending data packets in a communications system involves receiving, by a first network apparatus, a first packet via a first adjacency segment of the SR-TE path, wherein the first adjacency segment is between a first label switching router (LSR) and the first network apparatus, the first packet comprises a first incoming label and a second packet; determining, by the first network apparatus, a first label stack according to the first packet and a mapping between the first incoming label and the first label stack; generating, by the first network apparatus, a third packet according to the first incoming label, wherein the third packet comprises the first label stack and the second packet; sending, by the first network apparatus, the third packet to a second network apparatus along a first path segment of the SR-TE path, wherein the first label stack comprises at least one adjacency segment identifier (Adj-SID) , the first path segment is identified by the at least one Adj-SID in the first label stack;
  • LSR label switching router
  • a system for sending data packets in a communications network comprising a first network apparatus comprising: a memory configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first incoming label and a second packet; a processor configured to identify the first packet from the memory, said processor being adapted to: determine a first label stack according to the first packet; map between the first incoming label and the first label stack; and generate a third packet according to the first label stack, wherein the third packet comprises the first label stack and the second packet; and a transceiver configured to send the third packet generated by the processor to a second network apparatus along a first path segment of the SR-TE path.
  • SR-TE segment routing traffic engineering
  • a network apparatus for sending data packets in a communication system.
  • the apparatus comprising: a memory configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first incoming label and a second packet; a processor configured to identify the first packet from the memory, said processor being adapted to: determine a first label stack according to the first packet; map between the first incoming label and the first label stack; and generate a third packet according to the first label stack, wherein the third packet comprises the first label stack and the second packet; and a transceiver configured to send the third packet generated by the processor.
  • SR-TE segment routing traffic engineering
  • the subject invention associates the incoming label to outgoing label-stack and label-range used by PCE for the sub-LSP (i.e., part of LSP) , conventional techniques limit label allocation to just PCE. They do not teach or suggest label for label-bind allocation by PCC, as is the case in the present invention.
  • FIGS 1a and 1b illustrate flow charts of a network deployment scenario to setup SRTE LSP in a traditional routing system, in accordance with an embodiment of the present subject matter.
  • Figure 2 illustrates a network deployment scenario to setup SRTE LSP with nine nodes between the ingress and egress, in accordance with an embodiment of the present subject matter.
  • Figure 3 illustrates a new label range with label-type 3 from PCC to PCE, in accordance with an embodiment of the present subject matter.
  • Figure 5 illustrates an LSP setup with label-binding whose transit nodes or network apparatuses involve P2, P4 and P6, in accordance with an embodiment of the present subject matter.
  • Figure 6 illustrates a LSP delete with label-stitching transit nodes or network apparatuses involving P2, P4 and P6, in accordance with an embodiment of the present subject matter.
  • Figure 7 illustrates a STATEFUL-PCE-CAPABILITY TLV (Type, Length, and Value) format, in accordance with an embodiment of the present subject matter.
  • Figure 8 illustrates a label-range object format (new label type 3) , in accordance with an embodiment of the present subject matter.
  • Figure 9 illustrates a network apparatus for sending data packets in accordance with another embodiment of the present subject matter.
  • the invention can be implemented in numerous ways, as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links.
  • these implementations, or any other form that the invention may take, may be referred to as techniques.
  • the order of the steps of disclosed processes may be altered within the scope of the invention.
  • the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more” .
  • the terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like.
  • the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently.
  • SR-TE path is an MPLS Label Switching Path (LSP) .
  • the SR-TE path can be represented by an ordered set of SIDs.
  • path segment refers to a portion of a path, specifically to a portion of a SR-TE path.
  • the expression adjacency segments represent a hop over a specific adjacency between two nodes in the IGP.
  • an adjacency segment in most of the cases, is a one-hop path.
  • a method for implementing the SRTE LSP setup across a network, irrespective of the forwarding nodes’limitation on MSD is disclosed.
  • An LSP is a path between two Provider Edge (PE) routers.
  • the PCEP sessions are established with all the forwarding nodes (PCCs) , IGP advertises SRTE NLRIs (Node/Adjacency) segment identifiers across the IGP domain and PCE controller computes the path and tries to setup SRTE LSP (For instance if Ingress node has MSD which cannot support inserting all the segments of SR-TE path, hence SRTE path cannot be setup) .
  • the segments represent sub-paths that a router can combine to form a complete route to a network destination.
  • Each segment has an identifier (Segment Identifier) that is distributed throughout the network using new IGP (Interior Gateway Protocol) extensions. The extensions are equally applicable to IPv4 and IPv6 control planes.
  • the segment identifier is encoded as an MPLS label stack entry and directs the data along a specified path.
  • a router can request a path to a destination with certain characteristics, for example, delay, bandwidth, diversity.
  • the controller computes an optimal path and returns the corresponding segment list, such as an MPLS label stack, to the requesting router. At that point, the router can inject traffic with the segment list without any additional signalling in the network.
  • a segment is represented by a 32-bit entity called Segment ID (SID) .
  • SID Segment ID
  • a prefix segment identifier (SID) identifies a segment routing tunnel leading to the destination represented by a prefix.
  • the prefix-SID is globally unique, and the operator ensures such uniqueness.
  • the maximum prefix SID value is 2 ⁇ 16 -1.
  • the prefix SID is allocated from the Segment Routing Global Block (SRGB) and the prefix SID value translates to a local MPLS label.
  • An adjacency SID is locally unique to the node, and is automatically generated by the node attached to the adjacency if Anycast SID solution is used.
  • the Segment Routing control-plane can be applied to the MPLS data-plane.
  • the prefix-SID in the MPLS data-plane is represented as an LSP whose path flows along the shortest-path to the prefix, whereas an adjacency-SID is represented as cross-connect entry pointing to a specific egress data-link.
  • a head-end imposes the corresponding MPLS label stack on outgoing packets to be carried over the tunnel.
  • Each transit node or network apparatuses along the path uses the incoming top label to select the next label, and forwards/routes the packet to the next node with the remainder of the label stack, until the packet reaches its ultimate destination.
  • the present invention provides a method to support SRTE LSP setup irrespective of forwarding nodes’limitation on MSD.
  • a PCE learns SRIDs (i.e. labels) from all the PCCs, (i.e. PCC runs IGP) and maintains the same along with TEDB.
  • the PCE computes the path and creates label-bindings, if required, and downloads label-bindings to transit nodes along with SR path at ingress.
  • This label-binding is the binding between a label (i.e. IN label label-type 3) and label-stack (i.e. OUT labels or sub-LSP (i.e. part of Segment Routing Explicit Route Object (SRERO) ) .
  • PCC confirms the LSP setup by running BFD (i.e. Bi-directional Forwarding (BDF) ) over SRTE LSP or by OAM (Operations, Administration, and Maintenance) techniques and reports the LSP to PCE.
  • BFD Bi-directional Forwarding
  • OAM Operations, Administration, and Maintenance
  • the subject invention enables implementation of an SRTE LSP setup across a network, irrespective of the forwarding nodes’limitation on MSD, by downloading the label-stack and binding the same to an incoming label.
  • the Path Computation Element Protocol (PCEP) or any other protocol does not have mechanism to download label-stack (i.e. labels originated or by IGP information) and bind that label-stack to incoming label, PCE being a central controller is suitable for creating/downloading the label-bindings to forwarding node.
  • label-stack i.e. labels originated or by IGP information
  • PCE being a central controller is suitable for creating/downloading the label-bindings to forwarding node.
  • the solution available presently supports label-binding downloading but is limited to labels originated by PCE.
  • the present invention discloses encoding PATH-BINDING-TYPE to TE-PATH-BINDING TLV in LSP object and encoding Explicit Route Object (ERO) , i.e., path-segment SRERO, in PCLabelUpd, and a new LABEL-RANGE object type, i.e., Label-Type 3, as illustrated in Figure 8, to send label-range reserved for used by PCE from PCC.
  • the PCE transmits the PCLabelUpd message with label-bindings to all the eligible transit nodes or network apparatuses.
  • certain forwarding nodes or network apparatuses based on the MSD, become eligible nodes, for the PCE to download label-stitching mapping.
  • the present invention provides a method for implementing a SRTE LSP setup, to provide a longer SR-TE path.
  • Figures 1a and 1b illustrate the flow-charts of a method for sending data packets in a communications network.
  • Figure 2 illustrates a network structure comprising a SR-TE path.
  • the method illustrated in Figures 1a and 1b can be implemented in the network structure illustrated Figure 2. The following implementation of the method illustrated in Figure 2 is discussed in view of Figure 2.
  • a first path segment involves forwarding node P2-P3-P4 where P1 could be a first LSR, P2 could be first network apparatus, P3 could be a second LSR and P4 may be second network apparatus.
  • a first incoming label could be 3001 while the second incoming label could be 4001 and the first label stack comprises two Adj-SIDs.
  • the first label stack might comprise a second incoming label 4001.
  • the two Adj-SIDs in the first label stack are 301 and 401.301 and 401 identify the tunnel P2-P3-P4, where 301 identifies link P2-P3 and 401 identifies P3-P4.
  • a second path segment involves forwarding nodes PE1-P1-P2 where a third network apparatus could be PE1.
  • a second packet could be an IP packet and upon receiving the second packet, the PE1 could encapsulate the second packet with a second label stack.
  • the second label stack comprises the first incoming label (e.g. 3001) and at least one Adj-SID (e.g. 101 and 102) .
  • 101 and 102 identify the second path segment (e.g. PE1-P1-P2) , 101 identifies PE1-P1, 201 identifies P1-P2.
  • a third MPLS tunnel involves forwarding nodes P4-P6.
  • the first Adj-SID could be 301.301 identifies an adjacency segment between P2 and P3.201 identifies an adjacency segment between P1 and P2.
  • the method of the present invention involves the steps of receiving (1001) , by a first network apparatus (P2) , a first packet (3001+IP) via a first adjacency segment of the SR-TE path, wherein the first adjacency segment is between a first label switching router (P1) and the first network apparatus (P2) , the first packet (3001+IP) comprises a first incoming label (3001) and a second packet (IP) ; determining (1002) , by the first network apparatus (P2) , a first label stack (301, 401) according to the first packet (3001+IP) and a mapping between the first incoming label (3001) and the first label stack (301, 401) ; generating (1003) , by the first network apparatus (P2) , a third packet according to the first incoming label (3001) , wherein the third packet comprises the first label stack (301, 401) and the second packet (IP) ; sending (1004) , by the first network apparatus (P2) , the third packet to a second network
  • the method comprises the steps of reporting (1005) , by the first network apparatus (P2) , a label range of the first network apparatus (P2) to a path computation element (PCE) ; and receiving (1006) , by the first network apparatus (P2) , the mapping between the first incoming label (3001) and the first label stack (301, 401) from the PCE, wherein the first incoming label is allocated by the PCE and the first incoming label (3001) belongs to the label range; and wherein the second packet (IP) is encapsulated with the first incoming label (3001) by the third network apparatus (PE1) after the third network apparatus (PE1) learns of the first incoming label (3001) from the PCE that receives the report from the first network apparatus (P2) .
  • the first packet (3001+IP) is received by the first network apparatus (P2) via a second path segment (P1-P2) of the SR-TE path, said second path segment (P1-P2) traverses the first adjacency segment, wherein the first network apparatus (P2) is an egress node of the second path segment (P1-P2) and a third network apparatus (PE1) is an ingress node of the second path segment (P1-P2) .
  • the second packet (IP) is encapsulated with a second label stack by the third network apparatus (PE1) before the second packet (IP) is transmitted along the second path segment (P1-P2) identified by the at least one Adj-SID in the second label stack, wherein the second label stack comprises the first incoming label (3001) and at least one Adj-SID.
  • the first incoming label (3001) is located on the bottom of the second label stack and the first label stack (301, 401) comprises a second incoming label (4001) located on the bottom of the first label stack (301, 401) .
  • the second incoming label (4001) is adopted by the second network apparatus (P4) to forward the second packet (IP) along a third path segment (P4-P6) of the SR-TE path, wherein the second network apparatus (P4) is an ingress node of the third path segment (P4-P6) .
  • a first Adj-SID that identifies a second adjacency segment between the first network apparatus (P2) and a second LSR (P1) is located on the top of the first label stack (301, 401) , wherein the first path segment (P2-P4) traverses the second adjacency segment.
  • Figure 2 illustrates a network deployment scenario to setup a SRTE LSP with nine nodes between the ingress and egress, in accordance with an embodiment of the subject matter of the present invention.
  • label-binding or label-stitching are used for IN-label->label-stack mapping (i.e. this mapping is used by forwarding nodes for operations on labels) .
  • Packet flow is explained in the Figure 2 with actions at a) at PE1, b) at P1, c) at P2, d) at P3, e) at P4, f) at P5 and g) at P6, respectively.
  • An entity such as a router, implements the IGP to advertise SRTE Adjacency SIDs (i.e. labels) to all the nodes in the IGP domain (area/level) .
  • the PCEP procedure is as follows:
  • PCE learns MSD and label-stitching (i.e. a binding) capability (L Bit 25 in STATEFUL-PCE-CAPABILITY TLV) , as illustrated in Figure 7, and MSD (Label Stack depth) supported for each PCC, i.e., for each network apparatus.
  • MSD Label Stack depth
  • PCC the network apparatus, hereinafter referred to as PCC, assigns label-range reservation to the PCE in PCLRResv message.
  • PCE learns TEDB/Label-DB from all the PCCs via BGPLS (Border Gateway Protocol Link State) , PCEPLS (PCEP Link State) or IGP.
  • BGPLS Border Gateway Protocol Link State
  • PCEPLS PCEP Link State
  • IGP IGP.
  • PCE computes path from PE1 to PE2, LSP spans as PE1->P1->P2->P3->P4->P5->P6->PE2.
  • the PCE sends the label-binding mapping to network apparatuses with label-binding capability (i.e. P2, P4 and P6) via PCLabelUpd, subsequently, the PCC or network apparatuses may send a PCRpt message encoding SRP-ID (Stateful Request Parameter Identifier) , as illustrated in Figure 5.
  • SRP-ID Stateful Request Parameter Identifier
  • PCE may choose to wait for PCRpt message from network apparatuses (i.e. P2, P4 and P6) before sending PCUpd message to PCC (Ingress) or it sends PCUpd message with first part of the label stack and the stitching label to Ingress router (PE1) , once PCRpt message is received from Ingress with LSP state UP, PCE confirms the LSP is UP (an LSP is up only when the path is functional and capable of carrying traffic, ) and label-stitching is correct, in case of error PCE should delete label-stitching as illustrated in Figure 6.
  • network apparatuses i.e. P2, P4 and P6
  • PCE confirms the LSP is UP (an LSP is up only when the path is functional and capable of carrying traffic, ) and label-stitching is correct, in case of error PCE should delete label-stitching as illustrated in Figure 6.
  • FIG. 4 illustrates another network deployment scenario to setup SRTE LSP with five nodes between the ingress and egress, in accordance with another embodiment of the present subject matter.
  • the IGP advertises SRTE Adjacency SIDs (i.e. labels) to all the nodes in the IGP domain (area/level) .
  • the PCEP procedure is as follows:
  • PCEP session established with PCE and all the forwarding nodes (PE1, P1, P2, P3, PE2) .
  • PCE learns label-binding capability (L Bit in STATEFUL-PCE-CAPABILITY TLV) and MSD (Label Stack depth) supported for each PCC, during session establishment. Assuming the PE1 sends the MSD value as 3.
  • PCE computes path for SRTE LSP from PE1 to PE2, LSP spans as PE1->P1->P2->P3->PE2.
  • PCE will send PCLabelUpd message with the new label binding at the first network apparatus as P2 supports label-binding capability, P2 may send a PCRpt message encoding SRP-ID, as illustrated in Figure 3. Significantly, this range can be only used by PCE for creating label-bindings.
  • PCE may choose to wait for PCRpt message from first network apparatus, hereinafter referred to as P2, before sending PCUpd message to PCC (Ingress) or it sends PCUpd message with first part of the label stack and the binding label to third network apparatus hereinafter referred to as PE1, once PCRpt message is received from Ingress, PCE confirms the LSP is up and label-binding is correct, in case of error PCE should delete label-binding as illustrated in Figure 4. Thus, the PCE transmits the PCUpd message including the label switched path with label-bindings to the ingress node.
  • P2 first network apparatus
  • PE1 third network apparatus
  • LSR Label Switching Router
  • label 301 is popped, 3001 is examined and as per label-binding SRTE label-stack (i.e. 601, 701) is prepended and packet is forwarded as usual to P3.
  • label-binding SRTE label-stack i.e. 601, 701
  • label binding is generated and sent by PCE at P2
  • respective SRTE path is sent to PCC (PE1) .
  • L BIT (25) is reserved for supporting label-binding capability. If L bit, as illustrated in Figure 7, is set PCE/PCC is supports label-binding for SR-PATH segment.
  • the SRP object MUST encode PATH-BINDING-for downloading label-binding to transit node or network apparatus.
  • the LSP object SHOULD be encoded optionally to identify LSP uniquely; this may be useful for diagnostic purposes.
  • the ERO object encodes part of SRERO (i.e. Labels bound to label in PATH-BINDING-TLV) . To clear/delete the label-binding, existing R bit in SRP object is used.
  • the system for sending data packets in a communications network comprising a first network apparatus (P2) comprising: a memory (101) configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first incoming label and a second packet; a processor (102) configured to identify the first packet from the memory (101) , said processor (102) being adapted to: determine a first label stack according to the first packet; map between the first incoming label and the first label stack; and generate a third packet according to the first label stack, wherein the third packet comprises the first label stack and the second packet; and a transceiver (103) configured to send the third packet generated by the processor (102) to a second network apparatus (P4) along a first path segment of the SR-TE path.
  • P2 comprising: a memory (101) configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first
  • a first network apparatus (100) for sending data packets in a communication system.
  • the network apparatus (100) can perform the method illustrated in Figures 1a and 1b.
  • the first network apparatus (100) comprising: a memory (101) configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first incoming label and a second packet; a processor (102) configured to identify the first packet from the memory, said processor (102) being adapted to: determine a first label stack according to the first packet and a mapping between the first incoming label and the first label stack; and generate a third packet according to the first label stack, wherein the third packet comprises the first label stack and the second packet; and a transceiver (103) configured to send the third packet generated by the processor.
  • SR-TE segment routing traffic engineering
  • the PCE allocates labels and downloads labels to each forwarding node to setup SR-TE LSP.
  • labels i.e. SRIDs
  • IGP i.e. PCC
  • the SRTE LSP setup is limited to MSD value of the node.
  • the subject invention discloses PCEP extensions such as a STATEFUL-PCE-CAPABILITY, L bit (25) , reserved for supporting label-binding capability and label-binding-update added to existing PCEP message PCLabelUpd to update label-stitching at transit node (s) or network apparatuses.
  • a PCE is able to generate label-bindings from a defined label-range (i.e., label-type 3) and send label-binding to a network apparatus thereby implementing a SRTE LSP setup across a network in old routing systems without having to worry about the forwarding nodes’limitation on MSD.
  • label-range i.e., label-type 3
  • Segment routing with traffic engineering can be realized in existing network without upgrading product to support higher MSD.
  • Inter area or Inter domain LSP can be created without the need of creating a separate LSP in the next domain.
  • the present invention provides a method that enables implementation of segment routing with traffic engineering to be realized in an existing network without upgrading the product to support higher MSD to achieve the above mentioned benefits and technical advancement irrespective of using any known or new algorithms.
  • the disclosed method may be implemented in other manners.
  • the described apparatus embodiment is merely exemplary.
  • the unit division is merely logical function division and may be other division in actual implementation.
  • a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed.
  • the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces.
  • the indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
  • the functions When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or a part of the technical solutions may be implemented in a form of a software product.
  • the computer software product is stored in a storage medium, and includes several instructions for instructing a computer node (which may be a personal computer, a server, or a network node) to perform all or a part of the steps of the methods described in the embodiment of the present invention.
  • the foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
  • program code such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
  • Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise.
  • devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.

Abstract

A method to support Segment Routing Traffic Engineering Label Switched Path (SRTE LSP) setup, irrespective of forwarding nodes' limitation on Maximum Segment Depth (MSD) is disclosed. A Path Computation Element (PCE) learns SRIDs (i.e. labels) from all the Path Computation Client (PCCs), as the PCC runs Interior Gateway Protocol (IGP), and maintains the same along with Traffic Engineering DataBase (TEDB). Conventional techniques limit label allocation to just PCE. They do not teach or suggest label allocation by PCC. The subject invention associates the incoming label to outgoing label-stack and label-range used by PCE for the sub-LSP (i.e., part of LSP). The PCE is able to generate label-bindings from a defined label-range (i.e., label-type 3) and send said label-binding to network apparatuses.

Description

PCEP SEGMENT ROUTING PATH SEGMENT LABEL BINDING EXTENSION TECHNICAL FIELD
The present subject matter described herein, in general, relates to communication networks and particularly, to integrating segment routing with multiprotocol label switching with longer path segments in the older systems. More particularly, the invention relates to a method and apparatus for sending data packets in a communications network.
BACKGROUND
Conventional routing techniques require a direct interaction between the SDN (Software Defined Networking) controller and each of the nodes involved in the traffic paths. Granularity and temporal properties of traffic flows may result in scalability issues owing to the routing state that needs to be maintained in core network nodes along with required configuration traffic.
Segment Routing (SR) is an emerging technology that has the capability to simplify traffic engineering implementation in WANs. SR provides complete control over the forwarding paths by combining simple network instructions thereby doing away with the need for any additional protocol, sometimes going so far as to remove unnecessary protocols to simplify the network. SR simplifies the routing by delegating the configuration and per-flow state at the border of the network. In SR, only the per-flow state needs to be maintained at the ingress node of the SR domain, as it does not require path signalling, thereby increasing network flexibility while at the same time reducing cost. Segment Routing allows for the traffic to be steered along any arbitrary path in the network, thereby allowing operators to enforce low-latency and/or disjoint paths, regardless of the conventional/normal forwarding paths.
Multiprotocol Label Switching (MPLS) is a protocol for data-carrying in high-performance telecommunications networks. MPLS directs data from one network node to the next based on short path labels rather than the traditionally employed long network addresses thereby avoiding complex lookups in a routing table. These labels identify the virtual links (paths) between distant nodes rather than endpoints. MPLS can encapsulate packets of various network protocols, hence its name "multiprotocol" . In MPLS, each packet gets labelled on entry into the service provider's network by an ingress router and all subsequent routing switches forward the data packed based only on the labels, thereby doing away with the need to look as far as the IP header to route the traffic. An egress router removes the label (s) and forwards the original IP packet towards its final destination.
Significantly, segment routing can be directly applied to the MPLS architecture with no change in its forwarding plane. SR utilizes the network bandwidth more effectively than traditional MPLS networks while offering lower latency. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is situated on the top of the stack. The related label is popped from the stack, after the completion of a segment.
Segment Routing provides automatic traffic protection without any topological restrictions. The network protects traffic against link and node failures without requiring additional signalling in the network. Existing IP fast re-route (FRR) technology, in combination with the explicit routing capabilities in Segment Routing guarantees full protection coverage with optimum backup paths. Traffic protection does not impose any additional signalling requirements.
With Segment Routing Traffic Engineering (SR-TE) -MPLS, a node steers the packet through an ordered list of instructions called segments  (MPLS labels) . The ingress node inserts segments (i.e. stack of labels) , to steer the packet in particular path in a network. When Segment Routing tunnels are computed by a centralized controller, it is crucial that the controller knows the Maximum Segment Depth (MSD) of the node or link SR tunnel exits over, so as to ensure that it doesn't download a path with SID (label stack) of a depth more than the node or link used is capable of imposing.
Significantly, the older systems (old routers or low end hardware equipment’s) have limitation on inserting number of segments (as the MSD value or number of hops in a SR-TE of such systems usually varies from 3 to 5) , that cannot satisfy the need of a complete SRTE path (stack of labels inserted at ingress) . Notably, the MSD value of such systems is at least 2.
Therefore, the hardware limit on MSD or number of hops in a SR-TE, in case of older systems renders implementing the SR-TE in older systems, where the SR-TE path spans across hops more than the MSD value (for example, if the number of nodes involved in routing of the data is more than 3 to 5) to be not realized. More specifically, owing to certain hardware limitations on older systems, whose MSD value if, for example, is 3 then when a SR-TE is established where the router is an ingress node of the segment routing tunnel, the maximal number of hops between the ingress node of the segment routing tunnel and an egress node of the segment routing tunnel will have to be 3 only, i.e., to say the number of hops cannot be greater than 3.
Thus, there is a need for introducing a mechanism for implementing the SRTE-MPLS in the older systems that does away with the limitation that the SRTE path spanning across the hops needs to be the same as the MSD value, i.e., a way to establish a longer segment routing tunnel in older systems.
The above-described deficiency of implementing the SR-TE-MPLS in the older systems is merely intended to provide an overview of some of the problems of conventional systems /mechanism /techniques, and are not intended to be exhaustive. Other problems with conventional systems /mechanism /techniques and corresponding benefits of the various non-limiting embodiments described herein may become further apparent upon review of the following description.
SUMMARY
This summary is provided to introduce concepts related to a method of implementing SR-TE LSP (Label Switched Path) , across a network, to provide a longer SR-TE path and the same are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
An objective of the present invention is to solve the technical problem as recited above by providing the label-stack and binding the label-stack to an incoming label.
Another objective of the present invention is to implement the SRTE LSP setup across a network, to provide a longer SR-TE path.
Yet another objective of the present invention is to provide a means for establishing a longer segment routing tunnel in older systems.
Yet another objective of the present invention is to provide a method for sending data packets in a communications system.
Yet another objective of the present invention is to provide an apparatus for sending data packets in a communications system.
In accordance with the first aspect of the present invention is provided a method for sending data packets in a communications system. The method involves receiving, by a first network apparatus, a first packet via a first adjacency segment of the SR-TE path, wherein the first adjacency segment is between a first label switching router (LSR) and the first network apparatus, the first packet comprises a first incoming label and a second packet; determining, by the first network apparatus, a first label stack according to the first packet and a mapping between the first incoming label and the first label stack; generating, by the first network apparatus, a third packet according to the first incoming label, wherein the third packet comprises the first label stack and the second packet; sending, by the first network apparatus, the third packet to a second network apparatus along a first path segment of the SR-TE path, wherein the first label stack comprises at least one adjacency segment identifier (Adj-SID) , the first path segment is identified by the at least one Adj-SID in the first label stack; wherein the first network apparatus is an ingress node of the first path segment and the second network apparatus is an egress node of the first path segment.
In one implementation of the first aspect, the present invention provides a method to support SR-TE LSP setup to provide a longer SR-TE path. A Path Computation Element (PCE) learns SRIDs (i.e. labels) from all the Path Computation Client (PCCs) , i.e. PCC runs an Interior Gateway Protocol (IGP) , and maintains the same along with Traffic Engineering Data Base (TEDB) .
In accordance with the second aspect of the present invention, there is provided a system for sending data packets in a communications network. The system comprising a first network apparatus comprising: a memory configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first incoming label and a second packet; a processor configured to identify the first packet from the memory, said processor being adapted to: determine a first label stack  according to the first packet; map between the first incoming label and the first label stack; and generate a third packet according to the first label stack, wherein the third packet comprises the first label stack and the second packet; and a transceiver configured to send the third packet generated by the processor to a second network apparatus along a first path segment of the SR-TE path.
In accordance with the third aspect of the present invention, there is provided a network apparatus for sending data packets in a communication system. The apparatus comprising: a memory configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first incoming label and a second packet; a processor configured to identify the first packet from the memory, said processor being adapted to: determine a first label stack according to the first packet; map between the first incoming label and the first label stack; and generate a third packet according to the first label stack, wherein the third packet comprises the first label stack and the second packet; and a transceiver configured to send the third packet generated by the processor.
In contrast to the available techniques, the subject invention associates the incoming label to outgoing label-stack and label-range used by PCE for the sub-LSP (i.e., part of LSP) , conventional techniques limit label allocation to just PCE. They do not teach or suggest label for label-bind allocation by PCC, as is the case in the present invention.
The various options and preferred embodiments referred to above in relation to the first implementation are also applicable in relation to the other implementations.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit (s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to refer like features and components.
Figures 1a and 1b illustrate flow charts of a network deployment scenario to setup SRTE LSP in a traditional routing system, in accordance with an embodiment of the present subject matter.
Figure 2 illustrates a network deployment scenario to setup SRTE LSP with nine nodes between the ingress and egress, in accordance with an embodiment of the present subject matter.
Figure 3 illustrates a new label range with label-type 3 from PCC to PCE, in accordance with an embodiment of the present subject matter.
Figure 4 illustrates another network deployment scenario to setup SRTE LSP with five nodes between the ingress and egress, in accordance with another embodiment of the present subject matter.
Figure 5 illustrates an LSP setup with label-binding whose transit nodes or network apparatuses involve P2, P4 and P6, in accordance with an embodiment of the present subject matter.
Figure 6 illustrates a LSP delete with label-stitching transit nodes or network apparatuses involving P2, P4 and P6, in accordance with an embodiment of the present subject matter.
Figure 7 illustrates a STATEFUL-PCE-CAPABILITY TLV (Type, Length, and Value) format, in accordance with an embodiment of the present subject matter.
Figure 8 illustrates a label-range object format (new label type 3) , in accordance with an embodiment of the present subject matter.
Figure 9 illustrates a network apparatus for sending data packets in accordance with another embodiment of the present subject matter.
It is to be understood that the attached drawings are for purposes of illustrating the concepts of the invention and may not be to scale.
DETAILED DESCRIPTION OF THE PRESENT INVENTION
The invention can be implemented in numerous ways, as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is  known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components, modules, units and/or circuits have not been described in detail so as not to obscure the invention.
Although embodiments of the invention are not limited in this regard, discussions utilizing terms such as, for example, “processing, ” “computing, ” “calculating, ” “determining, ” “establishing” , “analyzing” , “checking” , or the like, may refer to operation (s) and/or process (es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulates and/or transforms data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information non-transitory storage medium that may store instructions to perform operations and/or processes.
Although embodiments of the invention are not limited in this regard, the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more” . The terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently.
Although embodiments of the invention are not limited in this regard, the term SR-TE path is an MPLS Label Switching Path (LSP) . The SR-TE path can be represented by an ordered set of SIDs. Further, expression “path segment” refers to a portion of a path, specifically to a portion of a SR-TE path. Still further, the expression adjacency segments represent a hop over a specific adjacency between two nodes in the IGP. Significantly, an adjacency segment, in most of the cases, is a one-hop path.
A method for implementing the SRTE LSP setup across a network, irrespective of the forwarding nodes’limitation on MSD is disclosed.
While aspects are described for method for implementing the SRTE LSP setup across a network, irrespective of the forwarding nodes’limitation on MSD has been disclosed, the present invention may be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary systems, devices/nodes/apparatus, and methods.
Henceforth, embodiments of the present disclosure are explained with the help of exemplary diagrams and one or more examples. However, such exemplary diagrams and examples are provided for the illustration purpose for better understanding of the present disclosure and should not be construed as limitation on scope of the present disclosure.
An LSP is a path between two Provider Edge (PE) routers. The PCEP sessions are established with all the forwarding nodes (PCCs) , IGP advertises SRTE NLRIs (Node/Adjacency) segment identifiers across the IGP domain and PCE controller computes the path and tries to setup SRTE LSP (For instance if Ingress node has MSD which cannot support inserting all the segments of SR-TE path, hence SRTE path cannot be setup) .
The segments represent sub-paths that a router can combine to form a complete route to a network destination. Each segment has an identifier (Segment Identifier) that is distributed throughout the network using new IGP (Interior Gateway Protocol) extensions. The extensions are equally applicable to IPv4 and IPv6 control planes. The segment identifier is encoded as an MPLS label stack entry and directs the data along a specified path. A router can request a path to a destination with certain characteristics, for example, delay, bandwidth, diversity. The controller computes an optimal path and returns the corresponding segment list, such as an MPLS label stack, to the requesting router. At that point, the router can inject traffic with the segment list without any additional signalling in the network.
A segment is represented by a 32-bit entity called Segment ID (SID) . A prefix segment identifier (SID) identifies a segment routing tunnel leading to the destination represented by a prefix. The prefix-SID is globally unique, and the operator ensures such uniqueness. The maximum prefix SID value is 2^ 16 -1. The prefix SID is allocated from the Segment Routing Global Block (SRGB) and the prefix SID value translates to a local MPLS label. An adjacency SID is locally unique to the node, and is automatically generated by the node attached to the adjacency if Anycast SID solution is used.
The Segment Routing control-plane can be applied to the MPLS data-plane. In this case, the prefix-SID in the MPLS data-plane is represented as an LSP whose path flows along the shortest-path to the prefix, whereas an adjacency-SID is represented as cross-connect entry pointing to a specific egress data-link.
A head-end imposes the corresponding MPLS label stack on outgoing packets to be carried over the tunnel. Each transit node or network apparatuses along the path uses the incoming top label to select the next label, and  forwards/routes the packet to the next node with the remainder of the label stack, until the packet reaches its ultimate destination.
In one implementation, the present invention provides a method to support SRTE LSP setup irrespective of forwarding nodes’limitation on MSD. A PCE learns SRIDs (i.e. labels) from all the PCCs, (i.e. PCC runs IGP) and maintains the same along with TEDB. The PCE computes the path and creates label-bindings, if required, and downloads label-bindings to transit nodes along with SR path at ingress. This label-binding is the binding between a label (i.e. IN label label-type 3) and label-stack (i.e. OUT labels or sub-LSP (i.e. part of Segment Routing Explicit Route Object (SRERO) ) . Once information pertaining to the path is downloaded, PCC confirms the LSP setup by running BFD (i.e. Bi-directional Forwarding (BDF) ) over SRTE LSP or by OAM (Operations, Administration, and Maintenance) techniques and reports the LSP to PCE.
The subject invention enables implementation of an SRTE LSP setup across a network, irrespective of the forwarding nodes’limitation on MSD, by downloading the label-stack and binding the same to an incoming label. The Path Computation Element Protocol (PCEP) or any other protocol does not have mechanism to download label-stack (i.e. labels originated or by IGP information) and bind that label-stack to incoming label, PCE being a central controller is suitable for creating/downloading the label-bindings to forwarding node. The solution available presently supports label-binding downloading but is limited to labels originated by PCE.
While state of art technology does disclose procedures for LSP setup and downloading of forwarding entries, they are limited to labels (i.e., SRIDs) allocated by the PCE. They do not concern themselves about networks where labels (i.e., SRIDs) are originated by IGP, at forwarding node, and the PCE learning of the SRIDs via BGPLS/PCEPLS. In the subject invention, as the IGP (at each PCC) originates a global SRID Index and a local SRID (i.e., adjacency  SIDs, label is derived from SRID) range to PCE, a new label range is introduced for binding the label-stack (i.e. a part of LSP) . The PCE creates a binding from this range with the part of LSP (i.e. part of SRERO) and downloads this binding to the forwarding node (e.g., PE1, P1, P2….. PE2) .
In order to achieve SRTE LSP setup across the network irrespective of forwarding device limitation on MSD, the present invention discloses encoding PATH-BINDING-TYPE to TE-PATH-BINDING TLV in LSP object and encoding Explicit Route Object (ERO) , i.e., path-segment SRERO, in PCLabelUpd, and a new LABEL-RANGE object type, i.e., Label-Type 3, as illustrated in Figure 8, to send label-range reserved for used by PCE from PCC. The PCE transmits the PCLabelUpd message with label-bindings to all the eligible transit nodes or network apparatuses. Significantly, certain forwarding nodes or network apparatuses, based on the MSD, become eligible nodes, for the PCE to download label-stitching mapping.
In one implementation, the present invention provides a method for implementing a SRTE LSP setup, to provide a longer SR-TE path. Figures 1a and 1b illustrate the flow-charts of a method for sending data packets in a communications network.
Figure 2 illustrates a network structure comprising a SR-TE path. The method illustrated in Figures 1a and 1b can be implemented in the network structure illustrated Figure 2. The following implementation of the method illustrated in Figure 2 is discussed in view of Figure 2.
Significantly, a first path segment involves forwarding node P2-P3-P4 where P1 could be a first LSR, P2 could be first network apparatus, P3 could be a second LSR and P4 may be second network apparatus. Here a first incoming label could be 3001 while the second incoming label could be 4001 and the first label stack comprises two Adj-SIDs. The first label stack might comprise  a second incoming label 4001. The two Adj-SIDs in the first label stack are 301 and 401.301 and 401 identify the tunnel P2-P3-P4, where 301 identifies link P2-P3 and 401 identifies P3-P4.
A second path segment involves forwarding nodes PE1-P1-P2 where a third network apparatus could be PE1. A second packet could be an IP packet and upon receiving the second packet, the PE1 could encapsulate the second packet with a second label stack.
The second label stack comprises the first incoming label (e.g. 3001) and at least one Adj-SID (e.g. 101 and 102) . 101 and 102 identify the second path segment (e.g. PE1-P1-P2) , 101 identifies PE1-P1, 201 identifies P1-P2. A third MPLS tunnel involves forwarding nodes P4-P6.
Notably, the first Adj-SID could be 301.301 identifies an adjacency segment between P2 and P3.201 identifies an adjacency segment between P1 and P2.
The method of the present invention involves the steps of receiving (1001) , by a first network apparatus (P2) , a first packet (3001+IP) via a first adjacency segment of the SR-TE path, wherein the first adjacency segment is between a first label switching router (P1) and the first network apparatus (P2) , the first packet (3001+IP) comprises a first incoming label (3001) and a second packet (IP) ; determining (1002) , by the first network apparatus (P2) , a first label stack (301, 401) according to the first packet (3001+IP) and a mapping between the first incoming label (3001) and the first label stack (301, 401) ; generating (1003) , by the first network apparatus (P2) , a third packet according to the first incoming label (3001) , wherein the third packet comprises the first label stack (301, 401) and the second packet (IP) ; sending (1004) , by the first network apparatus (P2) , the third packet to a second network apparatus (P4) along a first path segment (P2-P4) of the SR-TE path, wherein the first label stack (301, 401) comprises at least one adjacency segment identifier (Adj-SID) , the first path  segment is identified by the at least one Adj-SID in the first label stack (301, 401) ; wherein the first network apparatus (P2) is an ingress node of the first path segment (P2-P4) and the second network apparatus (P4) is an egress node of the first path segment (P2-P4) .
Significantly, before the receiving, by a first network apparatus (P2) , a first packet (3001+IP) , the method comprises the steps of reporting (1005) , by the first network apparatus (P2) , a label range of the first network apparatus (P2) to a path computation element (PCE) ; and receiving (1006) , by the first network apparatus (P2) , the mapping between the first incoming label (3001) and the first label stack (301, 401) from the PCE, wherein the first incoming label is allocated by the PCE and the first incoming label (3001) belongs to the label range; and wherein the second packet (IP) is encapsulated with the first incoming label (3001) by the third network apparatus (PE1) after the third network apparatus (PE1) learns of the first incoming label (3001) from the PCE that receives the report from the first network apparatus (P2) .
The first packet (3001+IP) is received by the first network apparatus (P2) via a second path segment (P1-P2) of the SR-TE path, said second path segment (P1-P2) traverses the first adjacency segment, wherein the first network apparatus (P2) is an egress node of the second path segment (P1-P2) and a third network apparatus (PE1) is an ingress node of the second path segment (P1-P2) .
The second packet (IP) is encapsulated with a second label stack by the third network apparatus (PE1) before the second packet (IP) is transmitted along the second path segment (P1-P2) identified by the at least one Adj-SID in the second label stack, wherein the second label stack comprises the first incoming label (3001) and at least one Adj-SID.
Notably, the first incoming label (3001) is located on the bottom of the second label stack and the first label stack (301, 401) comprises a second incoming label (4001) located on the bottom of the first label stack (301, 401) .
The second incoming label (4001) is adopted by the second network apparatus (P4) to forward the second packet (IP) along a third path segment (P4-P6) of the SR-TE path, wherein the second network apparatus (P4) is an ingress node of the third path segment (P4-P6) .
Significantly, a first Adj-SID that identifies a second adjacency segment between the first network apparatus (P2) and a second LSR (P1) is located on the top of the first label stack (301, 401) , wherein the first path segment (P2-P4) traverses the second adjacency segment.
Figure 2 illustrates a network deployment scenario to setup a SRTE LSP with nine nodes between the ingress and egress, in accordance with an embodiment of the subject matter of the present invention. Notably, label-binding or label-stitching are used for IN-label->label-stack mapping (i.e. this mapping is used by forwarding nodes for operations on labels) . Packet flow is explained in the Figure 2 with actions at a) at PE1, b) at P1, c) at P2, d) at P3, e) at P4, f) at P5 and g) at P6, respectively.
An entity, such as a router, implements the IGP to advertise SRTE Adjacency SIDs (i.e. labels) to all the nodes in the IGP domain (area/level) . The PCEP procedure is as follows:
a) During PCEP session establishment, from all the forwarding nodes (i.e. PE1, P1, P2.....PE2) PCE learns MSD and label-stitching (i.e. a binding) capability (L Bit 25 in STATEFUL-PCE-CAPABILITY TLV) , as illustrated in Figure 7, and MSD (Label Stack depth) supported for each  PCC, i.e., for each network apparatus. For the sake of example, all the PCCs illustrated in Figures 2 and 4, have MSD value as 3.
b) Once a session is established, the network apparatus, hereinafter referred to as PCC, assigns label-range reservation to the PCE in PCLRResv message. A new label-type (3) in label-range object, as illustrated in Figure 8, is introduced that will be used by PCE for label-stitching (binding etc. ) as illustrated in Figure 3. Significantly, this range can be only used by PCE for creating label-bindings.
c) PCE learns TEDB/Label-DB from all the PCCs via BGPLS (Border Gateway Protocol Link State) , PCEPLS (PCEP Link State) or IGP.
d) In order to setup SRTE tunnel, PCE computes path from PE1 to PE2, LSP spans as PE1->P1->P2->P3->P4->P5->P6->PE2.
e) Since MSD value of PE1 is 3, it can at a maximum, encode only 3 labels, thus, the PCE will generate a label-stitching (i.e. IN-label->Label-Stack) mapping at PE1, P2, P4 and P6 for SRTE path from label-range received for label-type 3 in step b.
f) The PCE sends the label-binding mapping to network apparatuses with label-binding capability (i.e. P2, P4 and P6) via PCLabelUpd, subsequently, the PCC or network apparatuses may send a PCRpt message encoding SRP-ID (Stateful Request Parameter Identifier) , as illustrated in Figure 5.
g) PCE may choose to wait for PCRpt message from network apparatuses (i.e. P2, P4 and P6) before sending PCUpd message to PCC (Ingress) or it sends PCUpd message with first part of the label stack and the stitching label to Ingress router (PE1) , once PCRpt message is received  from Ingress with LSP state UP, PCE confirms the LSP is UP (an LSP is up only when the path is functional and capable of carrying traffic, ) and label-stitching is correct, in case of error PCE should delete label-stitching as illustrated in Figure 6.
Figure 4 illustrates another network deployment scenario to setup SRTE LSP with five nodes between the ingress and egress, in accordance with another embodiment of the present subject matter. The IGP advertises SRTE Adjacency SIDs (i.e. labels) to all the nodes in the IGP domain (area/level) . The PCEP procedure is as follows:
a) PCEP session established with PCE and all the forwarding nodes (PE1, P1, P2, P3, PE2) .
b) PCE learns label-binding capability (L Bit in STATEFUL-PCE-CAPABILITY TLV) and MSD (Label Stack depth) supported for each PCC, during session establishment. Assuming the PE1 sends the MSD value as 3.
c) PCE computes path for SRTE LSP from PE1 to PE2, LSP spans as PE1->P1->P2->P3->PE2.
d) Since MSD value of PE1 is 3, it can maximum encode only 3 labels, so PCE will generate a label binding (New binding Label to Remaining Label) .
e) The PCE will send PCLabelUpd message with the new label binding at the first network apparatus as P2 supports label-binding capability, P2 may send a PCRpt message encoding SRP-ID, as illustrated in Figure 3. Significantly, this range can be only used by PCE for creating label-bindings.
f) PCE may choose to wait for PCRpt message from first network apparatus, hereinafter referred to as P2, before sending PCUpd message to PCC (Ingress) or it sends PCUpd message with first part of the label stack and the binding label to third network apparatus hereinafter referred to as PE1, once PCRpt message is received from Ingress, PCE confirms the LSP is up and label-binding is correct, in case of error PCE should delete label-binding as illustrated in Figure 4. Thus, the PCE transmits the PCUpd message including the label switched path with label-bindings to the ingress node.
g) SRTE tunnel (LSP) spanning across PE1 (Ingress) ->PE2 (Egress)
h) At PE1, prepend SRTE label-stack (i.e. 201, 301 and 3001) to IP header according to path by PCE.
i) At first Label Switching Router (LSR) P1, label 201 is popped, examine label 301 and packet is forwarded to P2 with SRTE label-stack (i.e. 301, 3001) .
j) At P2, label 301 is popped, 3001 is examined and as per label-binding SRTE label-stack (i.e. 601, 701) is prepended and packet is forwarded as usual to P3.
k) At second LSR P3, label 601 is popped, label 701 is examined and forwarded packet to PE2.
As the PE1 supports only MSD=3, label binding is generated and sent by PCE at P2, and respective SRTE path is sent to PCC (PE1) .
Protocol Extensions:
a) In STATEFUL-PCE-CAPABILITY L BIT (25) is reserved for supporting label-binding capability. If L bit, as illustrated in Figure 7, is set PCE/PCC is supports label-binding for SR-PATH segment.
b) Label-binding-update should be added in Existing PCEP message PCLabelUpd to update label-stitching at first network apparatus (i.e. P2 of Figure 2) .
Figure PCTCN2018094637-appb-000001
Significantly, the SRP object MUST encode PATH-BINDING-for downloading label-binding to transit node or network apparatus. The LSP object SHOULD be encoded optionally to identify LSP uniquely; this may be useful for diagnostic purposes. The ERO object encodes part of SRERO (i.e. Labels bound to label in PATH-BINDING-TLV) . To clear/delete the label-binding, existing R bit in SRP object is used.
c) LABEL-RANGE Object type 3 in PCLRResv message is added for sending label-range reserved for PCE to generate label-bindings.
The system for sending data packets in a communications network comprising a first network apparatus (P2) comprising: a memory (101) configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first incoming label and a second packet; a processor (102) configured to identify the first packet from the memory (101) , said processor (102) being adapted to: determine a first label stack according to the first packet; map between the first incoming label and the first label stack; and generate a third packet according to the first label stack, wherein the third packet comprises the first label stack and the second packet; and a transceiver (103) configured to send the third packet generated by the processor (102) to a second network apparatus (P4) along a first path segment of the SR-TE path.
In accordance with the third aspect of the present invention, there is provided a first network apparatus (100) , as illustrated in Figure 9, for sending data packets in a communication system. Significantly, the network apparatus (100) can perform the method illustrated in Figures 1a and 1b. The first network apparatus (100) comprising: a memory (101) configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path; wherein the first packet comprises a first incoming label and a second packet; a processor (102) configured to identify the first packet from the memory, said processor (102) being adapted to: determine a first label stack according to the first packet and a mapping between the first incoming label and the first label stack; and generate a third packet according to the first label stack, wherein the third packet comprises the first label stack and the second packet; and a transceiver (103) configured to send the third packet generated by the processor. Significantly, the system for sending data packets in a communications network is  provided according to an embodiment of the application. The system comprises the first network apparatus (100) illustrated in Figure 9.
In state of art technologies, the PCE allocates labels and downloads labels to each forwarding node to setup SR-TE LSP. However, in networks where labels (i.e. SRIDs) are originated and downloaded to forwarding plane by IGP (i.e. PCC) , the SRTE LSP setup is limited to MSD value of the node. To support SRTE LSP setup irrespective of limitation of MSD value, the subject invention discloses PCEP extensions such as a STATEFUL-PCE-CAPABILITY, L bit (25) , reserved for supporting label-binding capability and label-binding-update added to existing PCEP message PCLabelUpd to update label-stitching at transit node (s) or network apparatuses.
With the solution disclosed by the subject invention, to setup a SRTE LSP, a PCE is able to generate label-bindings from a defined label-range (i.e., label-type 3) and send label-binding to a network apparatus thereby implementing a SRTE LSP setup across a network in old routing systems without having to worry about the forwarding nodes’limitation on MSD.
Apart from what is discussed hereinabove, some of the other advantages and feature of the present subject matter are as provided below:
i. Segment routing with traffic engineering can be realized in existing network without upgrading product to support higher MSD.
ii. Scalable solution irrespective of product limitation.
iii. Easier migration from existing RSVP-TE solutions to SDN (PCE) controlled SR-TE solutions.
iv. Inter area or Inter domain LSP can be created without the need of creating a separate LSP in the next domain.
A person skilled in the art may understand that any known or new algorithms may be used for the implementation of the present invention. However,  it is to be noted that, the present invention provides a method that enables implementation of segment routing with traffic engineering to be realized in an existing network without upgrading the product to support higher MSD to achieve the above mentioned benefits and technical advancement irrespective of using any known or new algorithms.
A person of ordinary skill in the art may be aware that in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on the particular applications and design constraint conditions of the technical solution. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the present invention.
In the several embodiments provided in the present invention, it should be understood that the disclosed method may be implemented in other manners. For example, the described apparatus embodiment is merely exemplary. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding,  the technical solutions of the present invention essentially, or the part contributing to the prior art, or a part of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer node (which may be a personal computer, a server, or a network node) to perform all or a part of the steps of the methods described in the embodiment of the present invention. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.
When a single device or article is described herein, it will be readily apparent that more than one device/article (whether or not they cooperate) may be used in place of a single device/article. Similarly, where more than one device or article is described herein (whether or not they cooperate) , it will be readily apparent that a single device/article may be used in place of the more than one device or article or a different number of devices/articles may be used instead of the shown number of devices or programs. The functionality and/or the features of a device may be alternatively embodied by one or more other devices which are not explicitly described as having such functionality/features. Thus, other embodiments of the invention need not include the device itself.
Although implementations for a method that enables implementing segment routing with traffic engineering to be realized in an existing network without the need for upgrading the product to support higher MSD has been described in language specific to features and/or methods, it is to be understood  that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of implementations of PCEP segment routing path segment label binding extension.

Claims (20)

  1. A method for sending data packets in a communications network, said method comprising steps of:
    receiving, by a first network apparatus, a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path,
    wherein the first adjacency segment is between a first label switching router (LSR) and the first network apparatus, the first packet comprises a first incoming label and a second packet;
    determining, by the first network apparatus, a first label stack according to the first packet and a mapping between the first incoming label and the first label stack;
    generating, by the first network apparatus, a third packet according to the first label stack,
    wherein the third packet comprises the first label stack and the second packet;
    sending, by the first network apparatus, the third packet to a second network apparatus along a first path segment of the SR-TE path,
    wherein the first label stack comprises at least one adjacency segment identifier (Adj-SID) , the first path segment is identified by the at least one Adj-SID in the first label stack,
    wherein the first network apparatus is an ingress node of the first path segment and the second network apparatus is an egress node of the first path segment.
  2. The method as in claim 1, wherein the first packet is received by the first network apparatus via a second path segment of the SR-TE path, said second path segment traverses the first adjacency segment, wherein the first network apparatus is an egress node of the second path segment and a third network apparatus is an ingress node of the second path segment.
  3. The method as claimed in claims 1 and 2, wherein said second packet is encapsulated with a second label stack by the third network apparatus before the second packet is transmitted along the second path segment identified by at least one Adj-SID in the second label stack, wherein the second label stack comprises the first incoming label and the at least one Adj-SID.
  4. The method as claimed in claims 1 to 3, wherein said first incoming label is located on the bottom of the second label stack.
  5. The method as in claim 1 to 4, wherein before the receiving, by a first network apparatus, a first packet, the method further comprises the steps of:
    reporting, by the first network apparatus, a label range of the first network apparatus to a path computation element (PCE) ; and
    receiving, by the first network apparatus, the mapping between the first incoming label and the first label stack from the PCE,
    wherein the first incoming label is allocated by the PCE and the first incoming label belongs to the label range;
    wherein the second packet is encapsulated with the first incoming label by the third network apparatus after the third network apparatus learns of the first incoming label from the PCE that receives the report from the first network apparatus.
  6. The method as in claim 1 to 5, wherein the first label stack comprises a second incoming label located on the bottom of the first label stack.
  7. The method as claimed in claim 6, wherein the second incoming label is adopted by the second network apparatus to forward the second packet along a third path segment of the SR-TE path, wherein the second network apparatus is an ingress node of the third path segment.
  8. The method as in claims 1 to 7, wherein a first Adj-SID that identifies a second adjacency segment between the first network apparatus and a second LSR is located on the top of the first label stack, wherein the first path segment traverses the second adjacency segment.
  9. A system for sending data packets in a communications network, said system comprising:
    a first network apparatus comprising:
    a memory configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path;
    wherein the first packet comprises a first incoming label and a second packet;
    a processor configured to identify the first packet from the memory, said processor being adapted to:
    determine a first label stack according to the first packet and a mapping between the first incoming label and the first label stack; and
    generate a third packet according to the first label stack,
    wherein the third packet comprises the first label stack and the second packet; and
    a transceiver configured to send the third packet generated by the processor to a second network apparatus along a first path segment of the SR-TE path;
    wherein the first label stack comprises at least one adjacency segment identifier (Adj-SID) , the first path segment is identified by the at least one Adj-SID in the first label stack;
    wherein the first network apparatus is an ingress node of the first path segment and the second network apparatus is an egress node of the first path segment.
  10. The system as claimed in claim 9, wherein the first network apparatus receives the first packet via a second path segment of the SR-TE path.
  11. The system as claimed in claim 10, wherein said second path segment traverses the first adjacency segment.
  12. The system as claimed in claims 9 to 11, wherein said second packet is encapsulated with a second label stack by the third network apparatus before the second packet is transmitted along the second path segment identified by at least one Adj-SID in the second label stack, wherein the second label stack comprises the first incoming label and the at least one Adj-SID.
  13. The system as claimed in claims 9 to 12, wherein said first incoming label is located on the bottom of the second label stack.
  14. The system as claimed in claims 9 to 13, wherein the transceiver is configured to report a label range of the first network apparatus to a path computation element (PCE) .
  15. The system as claimed in claims 9 to 14, wherein the transceiver is configured to receive from the PCE, mapping between the first incoming label and the first label stack.
  16. The system as claimed in claims 9 to 15, wherein the second packet is encapsulated with the first incoming label by the third network apparatus after the third network apparatus learns of the first incoming label from the PCE that receives the report from the first network apparatus.
  17. The system as claimed in claims 9 to 16, wherein the first label stack comprises a second incoming label located on the bottom of the first label stack.
  18. The system as claimed in claims 9 to 17, wherein the second incoming label is adopted by the second network apparatus to forward the second packet along a third path segment of the SR-TE path, wherein the second network apparatus is an ingress node of the third path segment.
  19. The system as claimed in claim 9, wherein the first adjacency segment is between a first label switching router (LSR) and the first network apparatus.
  20. A first network apparatus for sending data packets in a communication system, said first network apparatus comprising:
    a memory configured to receive a first packet via a first adjacency segment of a segment routing traffic engineering (SR-TE) path;
    wherein the first packet comprises a first incoming label and a second packet;
    a processor configured to identify the first packet from the memory, said processor being adapted to:
    determine a first label stack according to the first packet and a mapping between the first incoming label and the first label stack; and
    generate a third packet according to the first label stack,
    wherein the third packet comprises the first label stack and the second packet; and
    a transceiver configured to send the third packet generated by the processor;
    wherein the first label stack comprises at least one adjacency segment identifier (Adj-SID) , the first path segment is identified by the at least one Adj-SID in the first label stack;
    wherein the first network apparatus is an ingress node of the first path segment and the second network apparatus is an egress node of the first path segment.
PCT/CN2018/094637 2017-07-07 2018-07-05 Pcep segment routing path segment label binding extension WO2019007390A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111670696.5A CN114244771A (en) 2017-07-07 2018-07-05 PECP segmented routing path segmented label binding extension
CN201880045064.XA CN110870261B (en) 2017-07-07 2018-07-05 PECP segmented routing path segmented label binding extension

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201741024045 2017-07-07
IN201741024045 2017-07-07

Publications (1)

Publication Number Publication Date
WO2019007390A1 true WO2019007390A1 (en) 2019-01-10

Family

ID=64950587

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/094637 WO2019007390A1 (en) 2017-07-07 2018-07-05 Pcep segment routing path segment label binding extension

Country Status (2)

Country Link
CN (2) CN114244771A (en)
WO (1) WO2019007390A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021046689A1 (en) * 2019-09-09 2021-03-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and network node for label switched path traceroute
WO2021129029A1 (en) * 2019-12-27 2021-07-01 华为技术有限公司 Tunnel segmentation method and apparatus, and data transmission system
US11522793B2 (en) 2018-03-19 2022-12-06 Huawei Technologies Co., Ltd. Stitching label sending method, receiving method, and device
EP4138347A4 (en) * 2020-05-28 2023-09-06 Huawei Technologies Co., Ltd. Method and device for processing binding segment identification

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11695688B2 (en) * 2020-09-30 2023-07-04 Juniper Networks, Inc. Computing segment identifier lists for multipaths in a segment routing-enabled network
CN112532520B (en) * 2020-10-28 2022-04-05 中盈优创资讯科技有限公司 PCE-based TE-LSP implementation method and device
CN112953827A (en) * 2020-12-31 2021-06-11 江苏省未来网络创新研究院 Method for realizing service chain function of programmable virtual router based on segmented routing
CN112995032B (en) * 2021-05-20 2021-08-24 中国人民解放军国防科技大学 Segment routing traffic engineering method and device based on limited widest path
CN116915685B (en) * 2023-09-06 2023-12-12 新华三技术有限公司 Message transmission method and device and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016102008A1 (en) * 2014-12-23 2016-06-30 Telefonaktiebolaget L M Ericsson (Publ) Path computation in a segment routing network
US20160308761A1 (en) * 2015-04-17 2016-10-20 Dell Products L.P. System and method for increasing the multiprotocol label switching stack
CN106330714A (en) * 2015-07-02 2017-01-11 中兴通讯股份有限公司 Method and device for realizing business function chain

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098222B (en) * 2011-02-09 2014-09-10 中兴通讯股份有限公司 Application service message forwarding method and forwarding node adopting multi-protocol label switching (MPLS) technology
US9450864B2 (en) * 2013-10-11 2016-09-20 Futurewei Technologies, Inc. Using PCE as SDN controller
CN104734955A (en) * 2013-12-19 2015-06-24 华为技术有限公司 Network function virtualization implementation method, wide-band network gateway and control device
US9762488B2 (en) * 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
CN105871721B (en) * 2015-01-19 2020-05-05 中兴通讯股份有限公司 Segment routing processing method, processing device and sending device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016102008A1 (en) * 2014-12-23 2016-06-30 Telefonaktiebolaget L M Ericsson (Publ) Path computation in a segment routing network
US20160308761A1 (en) * 2015-04-17 2016-10-20 Dell Products L.P. System and method for increasing the multiprotocol label switching stack
CN106330714A (en) * 2015-07-02 2017-01-11 中兴通讯股份有限公司 Method and device for realizing business function chain

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11522793B2 (en) 2018-03-19 2022-12-06 Huawei Technologies Co., Ltd. Stitching label sending method, receiving method, and device
WO2021046689A1 (en) * 2019-09-09 2021-03-18 Telefonaktiebolaget Lm Ericsson (Publ) Method and network node for label switched path traceroute
US11949591B2 (en) 2019-09-09 2024-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and network node for label switched path traceroute
WO2021129029A1 (en) * 2019-12-27 2021-07-01 华为技术有限公司 Tunnel segmentation method and apparatus, and data transmission system
CN113132234A (en) * 2019-12-27 2021-07-16 华为技术有限公司 Tunnel segmentation method and device and data transmission system
EP4064624A4 (en) * 2019-12-27 2023-01-11 Huawei Technologies Co., Ltd. Tunnel segmentation method and apparatus, and data transmission system
EP4138347A4 (en) * 2020-05-28 2023-09-06 Huawei Technologies Co., Ltd. Method and device for processing binding segment identification

Also Published As

Publication number Publication date
CN114244771A (en) 2022-03-25
CN110870261A (en) 2020-03-06
CN110870261B (en) 2022-01-07

Similar Documents

Publication Publication Date Title
US11962496B2 (en) Method for establishing segment routing for IPv6 tunnel
CN110870261B (en) PECP segmented routing path segmented label binding extension
EP3300317B1 (en) Method, device and system for realizing service link
US10021023B2 (en) Packet forwarding method, controller, forwarding device, and network system
EP2974169B1 (en) Seamless segment routing
US20160006614A1 (en) Source Routing Using Path Computation Elements
US20210176168A1 (en) Advanced Preferred Path Route Graph Features in a Network
US8077713B2 (en) Dynamic update of a multicast tree
EP2933958A1 (en) Segment routing - egress peer engineering (SP-EPE)
US11588725B2 (en) Method and apparatus for path computation
US11611447B2 (en) Multicast (P2MP) support for path computation element central controller (PCECC)
WO2020021558A1 (en) Methods, apparatus and machine-readable media relating to path computation in a communication network
WO2022127936A1 (en) Methods, apparatus and system for creating sr policy using path computation element protocol
Bahoo et al. Segment Routing over IPv6 (SRv6)

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18827770

Country of ref document: EP

Kind code of ref document: A1