WO2014186717A1 - Segment routing mapping server for ldp/sr interoperability - Google Patents

Segment routing mapping server for ldp/sr interoperability Download PDF

Info

Publication number
WO2014186717A1
WO2014186717A1 PCT/US2014/038415 US2014038415W WO2014186717A1 WO 2014186717 A1 WO2014186717 A1 WO 2014186717A1 US 2014038415 W US2014038415 W US 2014038415W WO 2014186717 A1 WO2014186717 A1 WO 2014186717A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
segment
ids
range
packet
Prior art date
Application number
PCT/US2014/038415
Other languages
French (fr)
Inventor
Clarence Filsfils
Stevano B. PREVIDI
Steven W. ULRICH
Ahmed R. BASHANDY
Original Assignee
Cisco Technology, Inc.
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 Cisco Technology, Inc. filed Critical Cisco Technology, Inc.
Priority to CN201480028281.XA priority Critical patent/CN105210336B/en
Priority to EP14731873.7A priority patent/EP2997699B1/en
Publication of WO2014186717A1 publication Critical patent/WO2014186717A1/en

Links

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]
    • H04L45/507Label distribution
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Definitions

  • Network nodes receive and subsequently forward packets towards their
  • Packet forwarding requires a decision process that, while simple in concept, can be complex. Since packet forwarding decisions are handled by network nodes, the total time required for this can become a major limiting factor in overall network performance.
  • Network nodes may take form in one or more routers, one or more bridges, one or more switches, one or more servers, or any other suitable communications processing device.
  • a packet is a formatted unit of data that typically contains control information and payload data. Control information may include: source and destination IP addresses, error detection codes like checksums, sequencing information, etc. Control information is typically found in packet headers and trailers, with payload data in between.
  • Multiprotocol label switching MPLS is one packet forwarding mechanism.
  • MPLS Nodes can make packet forwarding decisions based on label distribution protocol (LDP) distributed labels and LDP forwarding tables.
  • LDP is a process in which network nodes exchange LDP labels (hereinafter labels) when creating label switched paths (LSPs) of nodes through which packets traverse a network.
  • LSPs label switched paths
  • Packet forwarding based on labels stands in stark contrast to traditional Internet Protocol (IP) routing in which packet forwarding decisions are made by nodes using IP addresses contained within packets.
  • IP Internet Protocol
  • Figure 1 is a block diagram illustrating certain components of an example network.
  • Figure 2 is a block diagram illustrating certain components of an example network.
  • Figure 3 is a flow chart illustrating an example process employed by a node of Figure 2.
  • Figure 4 is a block diagram illustrating certain components of an example network.
  • Figures 5A and 5B illustrate example mapping advertisements generated and sent by the SR mapping node shown in Figure 4.
  • Figure 6 is a block diagram illustrating certain components of an example node that can be employed in the network of Figures 1, 2, and 4.
  • An apparatus and method is disclosed that enables interoperability of segment routing (SR) enabled nodes and LDP enabled nodes in a network domain.
  • SR segment routing
  • the method may include mapping a first node identifier (ID) to a first segment ID in memory, wherein the first node ID uniquely identifies a first node within a network domain, and wherein the first node is not SR enabled.
  • ID a first node identifier
  • a message is generated and subsequently transmitted directly or indirectly to another node within the network domain, wherein the message comprises the first node ID mapped to the first segment ID, and wherein the other node is SR enabled.
  • IP routing and MPLS are distinct packet forwarding mechanisms. IP routing relies on IP addresses inside packet headers to make packet forwarding decisions. In contrast, MPLS implements packet forwarding decisions are typically based on short path identifiers called labels that are attached to packets. Segment routing (SR) is yet another packet forwarding mechanism. SR is similar to and employs many of the MPLS data plane functions. Like MPLS, packet forwarding decisions in SR can be based on short path identifiers called segment IDs attached to packets. While SR and MPLS are similar, substantial differences exist between SR and MPLS as will be more fully described below.
  • IP packet routing uses IP forwarding tables, which are created by nodes using routing information distributed between nodes via one or more protocols like the internal gateway protocol (IGP).
  • IP forwarding tables map destination IP addresses to next hops that packets should take to reach their destinations.
  • the node can access a forwarding table using the packet's destination IP address and lookup a corresponding egress interface to the next hop.
  • the node then forwards the packet through the egress interface.
  • the next hop node performs its own forwarding table lookup using the same destination IP address in the packet, and so on.
  • LDP nodes are those nodes that implement LDP in the control plane.
  • a stream of packets enters the network via an ingress edge LDP node, travels hop-by-hop along an LSP that typically includes one or more core LDP nodes, and exits via an egress edge LDP node.
  • Packets are forwarded along an LSP based on LDP forwarding tables and labels.
  • Labels allow for the use of very fast and simple forwarding engines in the data planes of nodes.
  • a label is a short, fixed-length, locally significant identifier that can be associated with a forwarding equivalence class (FEC). Packets received at an ingress node and associated with the same FEC should follow the same LSP through the network.
  • LSPs can be established for a variety of purposes, such as to guarantee a certain level of performance when transmitting packets, to forward packets around network congestion, to create tunnels for network-based virtual private networks, etc. In many ways, LSPs are no different than circuit- switched paths in ATM or Frame Relay networks, except that they are not dependent on a particular Layer 2 technology.
  • LDP is employed in node control planes. Two LDP nodes, called LDP peers, can bi-directionally exchange labels on a FEC by FEC basis. LDP is used in a process of building and maintaining LDP forwarding tables that map labels to next hop egress interfaces. These forwarding tables can be used to forward packets as more fully described below.
  • the node may use information in the packet to determine a FEC corresponding to an LSP the packet can take across the network to reach the packet's destination IP address.
  • the FEC is a unique identifier of the egress node that is closest to the packet's destination IP address.
  • the FEC may take form in the egress node's loopback address (hereinafter loopback).
  • Characteristics for determining the FEC for a packet can vary, but typically the determination is based on the packet's destination IP address. Quality of Service for the packet or other information may also be used to determine the FEC.
  • the ingress LDP node can access a table to select a label that is mapped to the FEC. The table may also map a next hop egress interface to the FEC. Before the ingress LDP node forwards the packet to the next hop via, the ingress node attaches the label.
  • an LDP node When an LDP node receives a packet with an attached label (i.e., the incoming label), the node accesses its LDP forwarding table to read a next hop egress interface and another label (i.e., an outgoing label), both of which are mapped to the incoming label.
  • an attached label i.e., the incoming label
  • the node accesses its LDP forwarding table to read a next hop egress interface and another label (i.e., an outgoing label), both of which are mapped to the incoming label.
  • the LDP node swaps the incoming label with the outgoing label.
  • the next hop receives the packet with label and may perform the same process. This process is often called hop-by-hop forwarding along a non-explicit path (i.e., the LSP).
  • the penultimate node in the LSP may pop the incoming label before forwarding the packet to an egress LDP node in the network, which in turn may forward the packet towards its destination using the packet's destination address and an IP forwarding table.
  • the egress LDP node may pop the incoming label before forwarding the packet using the destination address and an IP forwarding table.
  • Figure 1 shows a portion of an example network 100 that includes LDP nodes 102 - 122 coupled together via communication links.
  • An LSP from node 102 to node 122 can be created so that all packets of a stream associated with a particular FEC sent from node 102 to node 122 will travel through the same set of nodes.
  • Each LDP node maintains information for the LSP established through it in an LDP forwarding table.
  • node 110 knows that node 114 is the next hop along the LSP for all packets received from node 102 that are destined for node 122, node 110 can forward the packets to node 114.
  • Segment routing is a mechanism in which nodes forward packets using SR forwarding tables and segment IDs. Like MPLS, SR enables very fast and simple forwarding engines in the data plane of nodes. SR is not dependent on a particular Open Systems Interconnection (OSI) model data link layer technology to forward packets.
  • OSI Open Systems Interconnection
  • a stream of packets headed to the same destination enters an SR enabled network (i.e., a provider network of nodes that are SR enabled) via an ingress edge SR node, travels hop-by-hop along a segment path (SP) that includes one or more core SR nodes, and exits the network via an egress edge SR node.
  • SP segment path
  • SR nodes i.e., nodes employing SR
  • the range for segment IDs may be distinct from the range for labels. Unless otherwise indicated, SR nodes lack LDP in their control plane.
  • segment IDs are short (relative to the length of an IP address or a FEC), fixed-length identifiers. In one embodiment, segment IDs are shorter than labels. Segment IDs may correspond to topological segments of a network, services provided at network nodes, etc. A topological segment represents a one hop or multi hop path to an SR node. Topological segments can act as sub-paths that can be combined to form an SP. As will be more fully described below, stacks of segment IDs can represent SPs, and SPs can be associated with FECs.
  • segment IDs There are several types of segment IDs including nodal-segment IDs, adjacency- segment IDs, etc.
  • Nodal-segment IDs are assigned to SR nodes so that no two SR nodes belonging to a network domain are assigned the same nodal-segment ID.
  • Nodal-segment IDs are typically mapped to unique node identifiers, and each SR node typically stores its nodal- segment ID/unique node identifier in memory.
  • unique node identifiers will take form in node loopback addresses (hereinafter node loopbacks).
  • all assigned nodal-segment IDs are selected from a predefined ID range (e.g., [32, 5000]).
  • a nodal-segment ID enables one-hop or multi-hop, shortest path (SPT) packet forwarding to an SR node assigned the nodal-segment ID as will be more fully described below.
  • SPT shortest path
  • An adjacency-segment ID represents a direct link between adjacent SR nodes in a network.
  • Links can be uniquely identified. For purposes of explanation only, this disclosure will identify a link using the loopbacks of nodes between which the link is positioned. For a link between two nodes identified by node loopback X and node loopback Y, the link is identified herein as link XY. Because loopbacks are unique, link IDs are unique. Link IDs should not be confused with adjacency- segment IDs; adjacency-segment IDs may not be unique within a network. This disclosure will presume that only one link exists between nodes in a network, it being understood the disclosure should not be limited thereto.
  • Each SR node can assign a distinct adjacency-segment ID for each of the node's links to neighbor SR nodes.
  • Adjacency-segment IDs are locally significant; separate SR nodes may assign the same adjacency- segment ID, but the adjacency-segment ID represents distinct links.
  • adjacency- segment IDs are selected from a predefined range that is outside the predefined range for nodal-segment IDs or labels.
  • SR nodes can advertise routing information including nodal-segment IDs bound to loopbacks, adjacency-segment IDs mapped to link IDs, etc., using protocols such as IGP with SR extension.
  • nodes including SR nodes, can use routing information they receive to create topology maps of the provider network in which they are contained.
  • topology maps can be used to create or update forwarding tables including SR and LDP forwarding tables.
  • a node can use the topology map it creates to identify next hop egress interfaces for shortest paths (SPTs) to respective nodes in the network domain using the nodes' loopbacks.
  • SPTs shortest paths
  • SPT or next hop egress interfaces for loopbacks can be mapped to respective nodal-segment IDs in, for example, an SR forwarding table.
  • SR nodes can also map their adjacency-segment IDs to egress interfaces for respective links in SR forwarding tables. Because adjacency- segment IDs are locally significant, however, adjacency- segment IDs should only be mapped in SR forwarding tables of the nodes that advertise the adjacency- segment IDs. In other words, an SR node that advertises an adjacency-segment ID should be the only node in the network area that has a SR forwarding table that maps the adjacency- segment ID to an egress interface.
  • SR enables segment paths (SPs) through a network.
  • SPs can be associated with FECs. Packets received at an ingress SR node and associated with the same FEC normally traverse the same SP towards their destination. Nodes in SPs make forwarding decisions based on segment IDs, not based on the contents (e.g., destination IP addresses) of packets.
  • SR ingress nodes and/or other devices can use advertised routing information (nodal-segment IDs bound to loopbacks, adjacency- segment IDs mapped to link IDs, etc.) and topological maps to create ordered lists of segment IDs (i.e., segment ID stacks). Segment ID stacks correspond to respective SPs. Individual segment IDs in a stack may correspond to respective segments or sub paths of a
  • a stack may contain a single segment ID (e.g., a nodal-segment ID).
  • an ingress edge SR node When an ingress edge SR node receives a packet, the node or a path computation element on request, can select an SP for the packet based on information contained in the packet.
  • a FEC may be determined for the packet using the packet' s destination address. This FEC may take form in an identifier (e.g., loopback) of the egress node that is closest to the destination IP address of the received packet. The FEC is then used to select a segment ID stack mapped thereto in memory. The ingress node can attach the selected segment ID stack. A header with the segment stack may be employed. The packet with attached stack is subsequently forwarded along and traverses the segments of the SP in an order that corresponds to the list order of the segment IDs in the stack.
  • a forwarding engine operating in the data plane of each SR node can use the top segment ID within the stack to access an SR forwarding table and lookup the egress interface for next hop.
  • segment IDs can be popped off the top of the stack.
  • the attached stack of segment IDs remains unchanged as the packet is forwarded along the SP.
  • a pointer to an active segment ID in the stack can be advanced as the packet is forwarded along the SP.
  • segment IDs are not normally swapped as the packet and attached segment ID stack are forwarded along the SP.
  • Figure 2 shows a portion of an example SR enabled provider network 202 that is in data communication with nodes AE1 and AE2.
  • Network 202 consists of SR nodes 204 - 222.
  • Nodes 204 - 210 are assigned unique nodal- segment IDs 64-67, respectively, nodes 212 - 218 are assigned unique nodal-segment IDs 68- 71, respectively, and node 222 is assigned unique nodal-segment ID of 72.
  • Each of the SR nodes 204 - 222 have interfaces that are identified as shown. For example, node 204 has three interfaces designated 1-3, respectively.
  • Each of the nodes 204 - 222 is assigned a unique loopback.
  • Loopbacks A - D are assigned to nodes 204 - 210, respectively, loopbacks M - P are assigned to nodes 212 - 218 respectively, and loopback Z is assigned to node 222.
  • These loopbacks are unique in the network and can be used for several purposes such as calculating the topology of network 202, which in turn can be used to create SPs and/or to identify SPTs and thus next hop egress interfaces for SR forwarding tables.
  • Nodes 204 - 222 can also assign locally significant adjacency-segment IDs.
  • node 208 can assign adjacency- segment IDs 9001 - 9003 to links CB, CD, and CO, respectively.
  • Each of SR nodes 204 - 222 can advertise routing information to the other nodes in network 202 using IGP with SR extension.
  • node 208 can generate and send one or more advertisements that include adjacency- segment IDs 9001-9003 bound to link IDs CB, CD, and CO, respectively, and nodal-segment ID 66 bound to loopback C.
  • advertisements may contain additional information.
  • nodes 204 - 222 can generate respective SR forwarding tables for use in the data planes.
  • node 208 can generate example SR forwarding table 240 that maps adjacency- segment IDs 9001 - 9003 to node interface IDs 1 - 3, respectively, and nodal-segment IDs such as 64, 65, 67, 70, and 72, to node 208 interfaces 1, 1, 2, 3, and 2, respectively, which are the SPT next hop egress interfaces determined by node 208 for loopbacks A, B, D, O, and Z respectively. It is noted that in the embodiment shown, only SR forwarding table 240 maps adjacency- segment IDs 9001 - 9003 to interfaces; SR forwarding tables in the other nodes of network 202 should not map adjacency-segment IDs 9001 - 9003.
  • SR nodes or a path computation node can create segment ID stacks for respective SPs.
  • ingress SR node 204 creates example segment ID stack 224 for an SP between ingress edge node 204 and egress edge node 222.
  • Example segment stack 224 can be created for a particular FEC (e.g., FEC Z).
  • Example stack 224 includes three segment IDs: nodal-segment IDs 66 and 72 advertised by nodes 208 and 222, respectively, and adjacency- segment ID 9003 advertised by node 208.
  • Stack 224 corresponds to an SP in which packets flow in order through nodes 204, 206, 208, 216, 218, and 222.
  • SR node 204 can select a segment ID stack based on information contained in the packet. For example, node 204 can select FEC Z (i.e., the loopback for node 222) for packet P based on the destination IP address in packet P and/or other information. FEC Z is mapped to example stack 224 in a table not shown.
  • Node 204 attaches stack 224 to packet P.
  • Example segment stack 224 lists segment IDs that correspond to one hop and multi hop segments that packets traverse to reach egress node 222. The one hop and multi hop segments collectively form the SP corresponding to stack 224.
  • Figure 3 illustrates example process of packet forwarding using segment IDs according to one embodiment. More particularly, Figure 3 illustrates an example method performed by an SR node, including an edge node, in a network like that shown in Figure 2.
  • the SR node determines in step 304 whether the top segment ID of the stack matches the nodal-segment ID assigned to the SR node. If there is a match, the process proceeds to step 306 where the SR node pops the top segment ID, which may expose an underlying segment ID as the new top segment ID.
  • the packet P has probably arrived at the egress node, and the process ends. If a new top segment ID is exposed, or if there is no match of segment IDs in step 304, the SR node accesses its SR forwarding table in step 314 to read the egress interface that is mapped to the top segment ID. In step 316 the SR node determines whether the top segment ID is an adjacency- segment ID. This determination can be implemented by simply comparing the top segment ID with the designated range of adjacency-segment IDs that are available for assignment within the network.
  • the top segment ID is an adjacency-segment ID and it is popped.
  • the SR node forwards packet P and attached stack to the next node via the egress interface identified in step 314.
  • Figure 2 shows packet P and attached stack 224 as it is forwarded by nodes.
  • nodes 204 and 206 forward packet P and stack 224 without popping a segment ID.
  • node 208 pops nodal-segment ID 66 and adjacency- segment ID 9003 in accordance with steps 306 and 320, respectively, before the packet P and stack 224 are forwarded to node 216 in accordance with step 322.
  • Nodes 216 and 218 forward packet P and stack 224 without popping segment IDs.
  • SR egress edge node 222 recognizes itself as the last hop of the SP.
  • node 222 may employ traditional IP routing and forward packet P to access node AE2 based on routing table lookup using the destination IP address within packet P.
  • Figures 1 and 2 illustrate example provider networks that contain LDP nodes and SR nodes, respectively.
  • Some providers may want to employ hybrid networks or networks that contain both LDP and SR nodes. Differences in LDP and SR nodes described above, however, present obstacles to hybrid network implementation.
  • an SR node or a path computation node in a hybrid network may be incapable of generating a stack of segment IDs for an SP that ends at an egress LDP node since the LDP node lacks a nodal- segment ID assignment. It may be difficult to transmit a packet with attached segment ID stack along an SP that contains a core LDP since the core LDP node lacks the ability to forward the packet in accordance with the process shown in Figure 3.
  • An LSP cannot be created between neighbor SR and an LDP nodes since the SR node is incapable of exchanging labels with the LDP node. Additional obstacles are contemplated.
  • the present disclosure provides methods and apparatuses that can address obstacles to hybrid network implementation.
  • the disclosure provides methods and apparatuses that can address obstacles to hybrid network implementation.
  • the disclosure provides methods and apparatuses that can address obstacles to hybrid network implementation.
  • SR/LDP nodes i.e., nodes that employ both LDP and SR
  • SR/LDP nodes can bridge differences in SPs and LSPs and enable packet transfer therebetween.
  • the disclosure also contemplates use of one or more SR mapping nodes (e.g., a server) within the hybrid network.
  • SR mapping nodes can map segment IDs to respective LDP node loopbacks.
  • SR mapping nodes can also advertise the mappings in messages (hereinafter mapping advertisements) that are sent to other nodes in a hybrid network including the SR and SR/LDP nodes thereof.
  • mapping advertisements mapping advertisements
  • SR, SR/LDP and path computation nodes can use the mapping advertisements when creating or updating SR forwarding tables, or when creating segment ID stacks for SPs that traverse core LDP nodes and/or egress LDP nodes.
  • Figure 4 illustrates a portion of an example hybrid network 400 that employs LDP, SR, SR mapping, and SR/LDP nodes.
  • Nodes 402 - 406 are SR enabled
  • nodes 408 - 410 are SR/LDP enabled
  • nodes 412 - 416 are LDP enabled.
  • network 400 includes an SR mapping node 420. It is noted that in alternative embodiments, two or more SR mapping nodes can be employed in a network domain like that shown in Figure 4.
  • a path computation node can be employed for generating segment ID stacks for use by ingress SR nodes like node 402.
  • Nodes in network 400 are identified by loopbacks or other unique node identifiers.
  • nodes 402 - 416 are identified by loopbacks A - H, respectively.
  • each of the SR and SR/LDP nodes stores a respective nodal- segment ID assigned to it by a network administrator.
  • Nodes 402 - 410 store assigned nodal-segment IDs 66 - 74, respectively.
  • LDP nodes do not store nodal-segment IDs, even though Figure 4 shows LDP nodes 412 - 414 associated with nodal-segment IDs 76 - 80.
  • nodal-segment IDs 76 -80 are mapped to loopbacks D, E, and H in memory of SR mapping node 420.
  • SR mapping nodes store tables that directly or indirectly map segment IDs to respective address prefixes.
  • the tables can map segment IDs to loopbacks of SR, LDP, and SR/LDP nodes in a hybrid provider network like that shown in Figure 4.
  • SR mapping node 420 contains a single table in memory that only maps nodal-segment IDs to loopbacks of LDP nodes in network 400.
  • the table can be manually configured by a network administrator.
  • SR and SR/LDP nodes receive mapping advertisements from the SR mapping node.
  • the mapping advertisements can directly map nodal-segment IDs to respective loopbacks.
  • Figure 5 A illustrates an example mapping advertisement sent by SR mapping node 420 that directly maps nodal-segment IDs 76 - 80 to loopbacks D, E, and H, respectively.
  • flag F is set to indicate that the node loopbacks are in four octet IPv4 address form.
  • the S flag when set, indicates the node loopbacks are in sixteen octet IPv6 address form.
  • the O flag when set, indicates the node loopbacks are in six octet OSI System-ID address form.
  • the mapping advertisements can indirectly map nodal-segment IDs to loopbacks.
  • Figure 5B illustrates an example mapping
  • SR mapping node 420 that indirectly maps nodal-segment IDs 76, 78, and 80 to loopbacks D, E, and H, respectively.
  • a mapping advertisement may map several ranges of nodal-segment IDs to respective ranges of loopbacks.
  • SR and SR/LDP nodes that receive a mapping advertisement like that shown in Figure 5B, will have to process the ranges to obtain the respective nodal-segment ID/loopback mappings like those shown in Figure 5A.
  • the loopback and/or nodal-segment ID range can be expressed as a starting loopback or nodal- segment ID followed by an integer I that indicates the number of items in the range.
  • Mapping advertisements that use ranges to map nodal-segment IDs to loopbacks should be smaller in size than mapping advertisements that directly map nodal- segment IDs to respective loopbacks, which in turn may reduce network bandwidth needed to transmit the mapping advertisements.
  • Nodes in network 400 can use routing information they receive to create or update network topology maps, which in turn can be used to create their respective forwarding tables.
  • nodes in network 400 may employ IGP to advertise their routing information, including their respective loopbacks, to other nodes.
  • the SR and SR/LDP nodes may extend their IGP advertisements by binding their loopbacks to their respectively assigned nodal-segment IDs. Advertisements originating from the SR and the SR/LDP nodes may also contain additional information, such as information indicating they are SR enabled.
  • SR mapping node 420 can generate and send a mapping advertisement that maps nodal-segment IDs 66 - 80 mapped to loopbacks A - E, respectively.
  • SR and SR/LDP nodes 402 - 410 need not store or advertise their assigned nodal-segment IDs.
  • LDP nodes 412 - 416 may receive IGP advertisements from nodes 402 - 410 that contain SR-related information including segment IDs.
  • LDP nodes 412 - 416 essentially ignore the SR-related information.
  • LDP nodes 412 - 416 may also receive mapping advertisements from SR mapping node 420. The LDP nodes may also ignore the mapping advertisements.
  • the nodes in network 400 can use the routing information they receive from other nodes and/or the SR mapping node 420, to create or update paths and/or forwarding tables that are based on network topology maps.
  • each of LDP and SR/LDP nodes 408 - 416 can use the routing information they receive to create or update topology maps of network 400, which in turn can be used to create or update LSPs and/or LDP forwarding tables.
  • SR and SR/LDP nodes 402 - 410 can use the routing information they receive to create or update topology maps of network 400, which in turn can be used to create or update SPs and/or SR forwarding tables.
  • SR node forwarding tables can include entries that map SPT egress interfaces to nodal-segment IDs for LDP nodes.
  • SR nodes 402 - 406 create SR forwarding tables, which include entries that map SPT egress interfaces to nodal- segment IDs 76 - 80, which in turn are assigned to LDP nodes 412 - 416, respectively.
  • SR nodes can forward packets destined for an LDP egress node using the nodal- segment ID assigned thereto.
  • SR core node 404 may receive a packet with a stack containing a single nodal-segment ID (i.e., nodal-segment ID 78) attached to it.
  • Node 404 should include an SR forwarding table that maps nodal- segment ID 78 to an egress interface coupled to node 408.
  • node 404 In response to accessing the table in accordance with step 314 of Figure 3, node 404 reads the egress interface mapped to nodal-segment ID 78, and in step 322 node 404 forwards the packet with attached nodal- segment ID 78 to the next hop via the egress interface.
  • SR/LDP nodes 408 and 410 can create both SR and LDP forwarding tables. Nodes 408 - 416 can exchange labels via LDP for use in the LDP forwarding tables, but nodes 402 - 410 do not exchange labels with each other. SR/LDP nodes 408 and 410 can track their immediate neighbor nodes to identify which are or are not LDP enabled. SR/LDP nodes can bridge the differences between SPs and LSPs and enable packet transfer therebetween. In other words, SR/LDP nodes can act as merge points between LSPs and SPs. To illustrate, ingress LDP node 414 may receive a packet PI, which is destined for device that is reachable via node AE1.
  • node 414 may determine a FEC (e.g., loopback A) based upon information such as the packet's destination IP address. Node 414 may then access a table that maps loopback A to a label (e.g., LI). In accordance with the MPLS forwarding mechanism described above, node 414 forwards packet PI and attached label LI to the next hop (i.e., LDP node 412) via the egress interface that is also mapped in the table to label LI. When node 414 receives the packet with attached label, node 414 accesses its LDP forwarding table to read label L2, which is mapped to label LI.
  • FEC e.g., loopback A
  • Node 412 swaps LI with L2, and forwards packet PI to SR/LDP nodes 408, which is the last hop of the LSP in the illustrated example.
  • SR/LDP node 408 receives packet PI with attached label L2, but cannot forward the packet towards its destination via the LSP. Acting as a merge point, however, SR/LDP node 408 can forward packet PI on an SP corresponding to the LSP. More specifically, SR/LDP node 408 can determine a single nodal-segment ID stack for an SP corresponding to label L2 using the FEC (e.g., loopback A) associated therewith.
  • FEC e.g., loopback A
  • LDP peers including SR/LDP node 408 and LDP node 412, exchange labels on a FEC-by-FEC bases during LSP creation in a fashion similar to that described with reference to Figure 1.
  • SR/LDP node 408 gave label L2 to LDP node 412 when LDP node 412 requested a label associated with loopback A, and SR/LDP node 408 mapped label L2 to loopback A in memory.
  • SR/LDP node 408 received an IGP advertisement from SR node 402 that maps nodal-segment ID 66 with loopback A, and SR/LDP node 408 mapped nodal-segment ID 66 to loopback A in memory. Using the common loopback A, SR/LDP node 408 can translate label L2 to nodal-segment ID 66 to facilitate transfer of packet PI from the LSP to the SP. Once translated, SR/LDP node 408 may swap label L2 with the nodal-segment ID 66 and forward packet PI towards egress node 402 using the process shown in Figure 3.
  • SR/LDP node 408 transfers a packet from an LSP to an SP.
  • SR/LDP node 408 may also transfer a packet from an SP to an LSP.
  • ingress SR node 402 may receive a packet P2, which is destined for a device that is reachable via node AE2.
  • SR node 402 or a path computation node upon request may determine a FEC (e.g., loopback E) for packet P2 based upon information such as the destination IP address within packet P2.
  • SR node 402, or path computation node, upon request may then map loopback E to a segment ID stack for an SP.
  • FEC e.g., loopback E
  • the segment stack may include a single segment ID or multiple segment IDs, at least one of which should be nodal-segment ID 78, which is mapped to loopback E by SR mapping node 420.
  • the segment stack for packet P2 is presumed to include only on segment ID, i.e., nodal-segment ID 78.
  • SR node 402 attaches nodal-segment ID 78 to packet P2, and forwards the packet to SR node 404 in accordance with the process shown in Figure 3.
  • SR node 404 receives packet P2 and nodal- segment ID 78, and forwards the packet and attached nodal-segment ID to SR/LDP node 408, which is the last SR enabled node in the illustrated example.
  • SR/LDP node 408 receives packet P2 with attached nodal- segment ID 78, but cannot forward the packet via the SP. Acting as a merge point, however, SR/LDP node 408 can forward packet P2 on an LSP corresponding to the SP. More specifically, SR/LDP node 408 can select a label for an LSP corresponding to nodal-segment ID 78 using the FEC (e.g., loopback E) associated therewith.
  • FEC e.g., loopback E
  • LDP peers including SR/LDP node 408 and LDP node 412, exchange labels on a FEC-by-FEC bases during LSP creation.
  • LDP node 412 gave label L3 to SR/LDP node 408 when SR/LDP node 408 requested a label associated with loopback E, and SR/LDP node 408 mapped label L3 to loopback E in memory.
  • SR/LDP node 408 can translate nodal-segment ID 78 to label L3. Once translated, SR/LDP node 408 may swap nodal-segment ID 78 with label L3 and forward packet P2 to LDP node 412.
  • FIG. 6 is a block diagram illustrating certain additional and/or alternative components of nodes that can be employed in the networks shown in Figures 1, 2, or 4.
  • node 600 includes a number of line cards (line cards 602(1)-(N)) that are communicatively coupled to a forwarding engine or packet forwarder 610 and a processor 620 via a data bus 630 and a result bus 640.
  • Line cards 602(1)-(N) include a number of port processors 650(1, 1)-(N,N) which are controlled by port processor controllers 660(1)-(N).
  • forwarding engine 610 and processor 620 are not only coupled to one another via data bus 630 and result bus 640, but are also communicatively coupled to one another by a communications link 670.
  • each line card 602 may be mounted on a single printed circuit board.
  • the packet or packet and header may be identified and analyzed by router 600 in the following manner.
  • a packet (or some or all of its control information) or packet and header is sent from the one of port processors 650(1, 1)-(N,N) at which the packet or packet and header was received to one or more of those devices coupled to data bus 630 (e.g., others of port processors 650(1, 1)-(N,N), forwarding engine 610 and/or processor 620). Handling of the packet or packet and header can be determined, for example, by forwarding engine 610.
  • forwarding engine 610 may determine that the packet or packet and header should be forwarded to one or more of port processors 650(1, 1)-(N,N). This can be accomplished by indicating to corresponding one(s) of port processor controllers 660(1)-(N) that the copy of the packet or packet and header held in the given one(s) of port processors 650(1, 1)-(N,N) should be forwarded to the appropriate one of port processors 650(1, 1)-(N,N).
  • forwarding engine 610, processor 620 or the like can be used to process the packet or packet and header in some manner or add packet security information, in order to secure the packet.
  • this processing can include, for example, encryption of some or all of the packet's or packet and header's information, the addition of a digital signature or some other information or processing capable of securing the packet or packet and header.
  • the corresponding process is performed to recover or validate the packet's or packet and header' s information that has been thusly protected.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

An apparatus and method for enabling interoperability of segment routing (SR) enabled nodes and LDP enabled nodes in a network domain. In one embodiment, the method may include mapping a first node identifier (ID) to a first segment ID in memory, wherein the first node ID uniquely identifies a first node within a network domain, and wherein the first node is not SR enabled. A message is generated and subsequently transmitted directly or indirectly to another node within the network domain, wherein the message comprises the first node ID mapped to the first segment ID, and wherein the other node is SR enabled.

Description

SEGMENT ROUTING MAPPING SERVER FOR
LDP/SR INTEROPERABILITY
Inventors:
Clarence Filsfils
Stefano B. Previdi
Steven W. Ulrich
Ahmed R. Bashandy
RELATED APPLICATIONS
[0001] This application claims the domestic benefit under Title 35 of the United States Code § 119(e) of U.S. Provisional Patent Application Serial No. 61/824,696, entitled
"Segment Routing Mapping Server for LDP/SR Interoperability," filed May 17, 2013, and naming Clarence Filsfils, Stefano B. Previdi, and Steven W. Ulrich as the inventors, and U.S. Patent Application Serial No. 14/279,659 , entitled "Segment Routing Mapping Server for LDP/SR Interoperability," filed May 16, 2014, and naming Clarence Filsfils, Stefano B. Previdi, Steven W. Ulrich, and Ahmed R. Bashandy as the inventors, which are hereby incorporated by reference in its entirety and for all purposes as if completely and fully set forth herein.
BACKROUND
[0002] Network nodes receive and subsequently forward packets towards their
destinations. Packet forwarding requires a decision process that, while simple in concept, can be complex. Since packet forwarding decisions are handled by network nodes, the total time required for this can become a major limiting factor in overall network performance.
Network nodes may take form in one or more routers, one or more bridges, one or more switches, one or more servers, or any other suitable communications processing device. A packet is a formatted unit of data that typically contains control information and payload data. Control information may include: source and destination IP addresses, error detection codes like checksums, sequencing information, etc. Control information is typically found in packet headers and trailers, with payload data in between. [0003] Multiprotocol label switching (MPLS) is one packet forwarding mechanism.
MPLS Nodes can make packet forwarding decisions based on label distribution protocol (LDP) distributed labels and LDP forwarding tables. LDP is a process in which network nodes exchange LDP labels (hereinafter labels) when creating label switched paths (LSPs) of nodes through which packets traverse a network. Packet forwarding based on labels stands in stark contrast to traditional Internet Protocol (IP) routing in which packet forwarding decisions are made by nodes using IP addresses contained within packets.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The present disclosure may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
[0005] Figure 1 is a block diagram illustrating certain components of an example network.
[0006] Figure 2 is a block diagram illustrating certain components of an example network.
[0007] Figure 3 is a flow chart illustrating an example process employed by a node of Figure 2.
[0008] Figure 4 is a block diagram illustrating certain components of an example network.
[0009] Figures 5A and 5B illustrate example mapping advertisements generated and sent by the SR mapping node shown in Figure 4.
[0010] Figure 6 is a block diagram illustrating certain components of an example node that can be employed in the network of Figures 1, 2, and 4.
DETAILED DESCRIPTION
1. Overview
[0011] An apparatus and method is disclosed that enables interoperability of segment routing (SR) enabled nodes and LDP enabled nodes in a network domain. In one
embodiment, the method may include mapping a first node identifier (ID) to a first segment ID in memory, wherein the first node ID uniquely identifies a first node within a network domain, and wherein the first node is not SR enabled. A message is generated and subsequently transmitted directly or indirectly to another node within the network domain, wherein the message comprises the first node ID mapped to the first segment ID, and wherein the other node is SR enabled.
2. Packet Forwarding Mechanisms
[0012] IP routing and MPLS are distinct packet forwarding mechanisms. IP routing relies on IP addresses inside packet headers to make packet forwarding decisions. In contrast, MPLS implements packet forwarding decisions are typically based on short path identifiers called labels that are attached to packets. Segment routing (SR) is yet another packet forwarding mechanism. SR is similar to and employs many of the MPLS data plane functions. Like MPLS, packet forwarding decisions in SR can be based on short path identifiers called segment IDs attached to packets. While SR and MPLS are similar, substantial differences exist between SR and MPLS as will be more fully described below.
2.1 IP Packet Routing
[0013] IP packet routing uses IP forwarding tables, which are created by nodes using routing information distributed between nodes via one or more protocols like the internal gateway protocol (IGP). In simple terms, IP forwarding tables map destination IP addresses to next hops that packets should take to reach their destinations. When a node receives a packet, the node can access a forwarding table using the packet's destination IP address and lookup a corresponding egress interface to the next hop. The node then forwards the packet through the egress interface. The next hop node performs its own forwarding table lookup using the same destination IP address in the packet, and so on. 2.2 MPLS and LDP
[0014] MPLS is commonly employed in provider networks consisting of interconnected LDP nodes. For purposes of explanation, LDP nodes are those nodes that implement LDP in the control plane. A stream of packets enters the network via an ingress edge LDP node, travels hop-by-hop along an LSP that typically includes one or more core LDP nodes, and exits via an egress edge LDP node.
[0015] Packets are forwarded along an LSP based on LDP forwarding tables and labels. Labels allow for the use of very fast and simple forwarding engines in the data planes of nodes. A label is a short, fixed-length, locally significant identifier that can be associated with a forwarding equivalence class (FEC). Packets received at an ingress node and associated with the same FEC should follow the same LSP through the network. LSPs can be established for a variety of purposes, such as to guarantee a certain level of performance when transmitting packets, to forward packets around network congestion, to create tunnels for network-based virtual private networks, etc. In many ways, LSPs are no different than circuit- switched paths in ATM or Frame Relay networks, except that they are not dependent on a particular Layer 2 technology.
[0016] LDP is employed in node control planes. Two LDP nodes, called LDP peers, can bi-directionally exchange labels on a FEC by FEC basis. LDP is used in a process of building and maintaining LDP forwarding tables that map labels to next hop egress interfaces. These forwarding tables can be used to forward packets as more fully described below.
[0017] When a packet is received by an ingress LDP node of an MPLS network, the node may use information in the packet to determine a FEC corresponding to an LSP the packet can take across the network to reach the packet's destination IP address. In one embodiment, the FEC is a unique identifier of the egress node that is closest to the packet's destination IP address. In this embodiment, the FEC may take form in the egress node's loopback address (hereinafter loopback).
[0018] Characteristics for determining the FEC for a packet can vary, but typically the determination is based on the packet's destination IP address. Quality of Service for the packet or other information may also be used to determine the FEC. Once determined, the ingress LDP node can access a table to select a label that is mapped to the FEC. The table may also map a next hop egress interface to the FEC. Before the ingress LDP node forwards the packet to the next hop via, the ingress node attaches the label.
[0019] When an LDP node receives a packet with an attached label (i.e., the incoming label), the node accesses its LDP forwarding table to read a next hop egress interface and another label (i.e., an outgoing label), both of which are mapped to the incoming label.
Before the packet is forwarded via the egress interface, the LDP node swaps the incoming label with the outgoing label. The next hop receives the packet with label and may perform the same process. This process is often called hop-by-hop forwarding along a non-explicit path (i.e., the LSP). The penultimate node in the LSP may pop the incoming label before forwarding the packet to an egress LDP node in the network, which in turn may forward the packet towards its destination using the packet's destination address and an IP forwarding table. In another embodiment, the egress LDP node may pop the incoming label before forwarding the packet using the destination address and an IP forwarding table.
[0020] To illustrate the foregoing aspects, Figure 1 shows a portion of an example network 100 that includes LDP nodes 102 - 122 coupled together via communication links. An LSP from node 102 to node 122 can be created so that all packets of a stream associated with a particular FEC sent from node 102 to node 122 will travel through the same set of nodes. Each LDP node maintains information for the LSP established through it in an LDP forwarding table. Thus, if node 110 knows that node 114 is the next hop along the LSP for all packets received from node 102 that are destined for node 122, node 110 can forward the packets to node 114.
2.3 Segment Routing
[0021] Segment routing (SR) is a mechanism in which nodes forward packets using SR forwarding tables and segment IDs. Like MPLS, SR enables very fast and simple forwarding engines in the data plane of nodes. SR is not dependent on a particular Open Systems Interconnection (OSI) model data link layer technology to forward packets.
[0022] In general, a stream of packets headed to the same destination, enters an SR enabled network (i.e., a provider network of nodes that are SR enabled) via an ingress edge SR node, travels hop-by-hop along a segment path (SP) that includes one or more core SR nodes, and exits the network via an egress edge SR node. [0023] SR nodes (i.e., nodes employing SR) make packet forwarding decisions based on segment IDs as opposed to LDP distributed labels, and as a result SR nodes need not employ LDP in their control planes. The range for segment IDs may be distinct from the range for labels. Unless otherwise indicated, SR nodes lack LDP in their control plane.
[0024] Like labels, segment IDs are short (relative to the length of an IP address or a FEC), fixed-length identifiers. In one embodiment, segment IDs are shorter than labels. Segment IDs may correspond to topological segments of a network, services provided at network nodes, etc. A topological segment represents a one hop or multi hop path to an SR node. Topological segments can act as sub-paths that can be combined to form an SP. As will be more fully described below, stacks of segment IDs can represent SPs, and SPs can be associated with FECs.
[0025] There are several types of segment IDs including nodal-segment IDs, adjacency- segment IDs, etc. Nodal-segment IDs are assigned to SR nodes so that no two SR nodes belonging to a network domain are assigned the same nodal-segment ID. Nodal-segment IDs are typically mapped to unique node identifiers, and each SR node typically stores its nodal- segment ID/unique node identifier in memory. For purposes of explanation only, unique node identifiers will take form in node loopback addresses (hereinafter node loopbacks). In one embodiment, all assigned nodal-segment IDs are selected from a predefined ID range (e.g., [32, 5000]). A nodal-segment ID enables one-hop or multi-hop, shortest path (SPT) packet forwarding to an SR node assigned the nodal-segment ID as will be more fully described below.
[0026] An adjacency-segment ID represents a direct link between adjacent SR nodes in a network. Links can be uniquely identified. For purposes of explanation only, this disclosure will identify a link using the loopbacks of nodes between which the link is positioned. For a link between two nodes identified by node loopback X and node loopback Y, the link is identified herein as link XY. Because loopbacks are unique, link IDs are unique. Link IDs should not be confused with adjacency- segment IDs; adjacency-segment IDs may not be unique within a network. This disclosure will presume that only one link exists between nodes in a network, it being understood the disclosure should not be limited thereto.
[0027] Each SR node can assign a distinct adjacency-segment ID for each of the node's links to neighbor SR nodes. Adjacency-segment IDs are locally significant; separate SR nodes may assign the same adjacency- segment ID, but the adjacency-segment ID represents distinct links. In one embodiment, adjacency- segment IDs are selected from a predefined range that is outside the predefined range for nodal-segment IDs or labels.
[0028] SR nodes can advertise routing information including nodal-segment IDs bound to loopbacks, adjacency-segment IDs mapped to link IDs, etc., using protocols such as IGP with SR extension. In general nodes, including SR nodes, can use routing information they receive to create topology maps of the provider network in which they are contained. In general topology maps can be used to create or update forwarding tables including SR and LDP forwarding tables. A node can use the topology map it creates to identify next hop egress interfaces for shortest paths (SPTs) to respective nodes in the network domain using the nodes' loopbacks. SPT or next hop egress interfaces for loopbacks can be mapped to respective nodal-segment IDs in, for example, an SR forwarding table. SR nodes can also map their adjacency-segment IDs to egress interfaces for respective links in SR forwarding tables. Because adjacency- segment IDs are locally significant, however, adjacency- segment IDs should only be mapped in SR forwarding tables of the nodes that advertise the adjacency- segment IDs. In other words, an SR node that advertises an adjacency-segment ID should be the only node in the network area that has a SR forwarding table that maps the adjacency- segment ID to an egress interface.
[0029] As noted above, SR enables segment paths (SPs) through a network. SPs can be associated with FECs. Packets received at an ingress SR node and associated with the same FEC normally traverse the same SP towards their destination. Nodes in SPs make forwarding decisions based on segment IDs, not based on the contents (e.g., destination IP addresses) of packets.
[0030] SR ingress nodes and/or other devices (e.g., a path computation node) can use advertised routing information (nodal-segment IDs bound to loopbacks, adjacency- segment IDs mapped to link IDs, etc.) and topological maps to create ordered lists of segment IDs (i.e., segment ID stacks). Segment ID stacks correspond to respective SPs. Individual segment IDs in a stack may correspond to respective segments or sub paths of a
corresponding SP. A stack may contain a single segment ID (e.g., a nodal-segment ID).
[0031] When an ingress edge SR node receives a packet, the node or a path computation element on request, can select an SP for the packet based on information contained in the packet. In one embodiment, a FEC may be determined for the packet using the packet' s destination address. This FEC may take form in an identifier (e.g., loopback) of the egress node that is closest to the destination IP address of the received packet. The FEC is then used to select a segment ID stack mapped thereto in memory. The ingress node can attach the selected segment ID stack. A header with the segment stack may be employed. The packet with attached stack is subsequently forwarded along and traverses the segments of the SP in an order that corresponds to the list order of the segment IDs in the stack. A forwarding engine operating in the data plane of each SR node, can use the top segment ID within the stack to access an SR forwarding table and lookup the egress interface for next hop. As the packet and attached segment ID stack are forwarded along the SP in a hop-by-hop fashion, segment IDs can be popped off the top of the stack. In another embodiment, the attached stack of segment IDs remains unchanged as the packet is forwarded along the SP. In this embodiment, a pointer to an active segment ID in the stack can be advanced as the packet is forwarded along the SP. In contrast to MPLS described above, however, segment IDs are not normally swapped as the packet and attached segment ID stack are forwarded along the SP.
[0032] To illustrate general concepts of SR, Figure 2 shows a portion of an example SR enabled provider network 202 that is in data communication with nodes AE1 and AE2.
Network 202 consists of SR nodes 204 - 222. Nodes 204 - 210 are assigned unique nodal- segment IDs 64-67, respectively, nodes 212 - 218 are assigned unique nodal-segment IDs 68- 71, respectively, and node 222 is assigned unique nodal-segment ID of 72. Each of the SR nodes 204 - 222 have interfaces that are identified as shown. For example, node 204 has three interfaces designated 1-3, respectively. Each of the nodes 204 - 222 is assigned a unique loopback. Loopbacks A - D are assigned to nodes 204 - 210, respectively, loopbacks M - P are assigned to nodes 212 - 218 respectively, and loopback Z is assigned to node 222. These loopbacks are unique in the network and can be used for several purposes such as calculating the topology of network 202, which in turn can be used to create SPs and/or to identify SPTs and thus next hop egress interfaces for SR forwarding tables. Nodes 204 - 222 can also assign locally significant adjacency-segment IDs. For example, node 208 can assign adjacency- segment IDs 9001 - 9003 to links CB, CD, and CO, respectively.
[0033] Each of SR nodes 204 - 222 can advertise routing information to the other nodes in network 202 using IGP with SR extension. For example, node 208 can generate and send one or more advertisements that include adjacency- segment IDs 9001-9003 bound to link IDs CB, CD, and CO, respectively, and nodal-segment ID 66 bound to loopback C. One of ordinary skill understands that advertisements may contain additional information. Using the advertisements they receive, nodes 204 - 222 can generate respective SR forwarding tables for use in the data planes. For example, node 208 can generate example SR forwarding table 240 that maps adjacency- segment IDs 9001 - 9003 to node interface IDs 1 - 3, respectively, and nodal-segment IDs such as 64, 65, 67, 70, and 72, to node 208 interfaces 1, 1, 2, 3, and 2, respectively, which are the SPT next hop egress interfaces determined by node 208 for loopbacks A, B, D, O, and Z respectively. It is noted that in the embodiment shown, only SR forwarding table 240 maps adjacency- segment IDs 9001 - 9003 to interfaces; SR forwarding tables in the other nodes of network 202 should not map adjacency-segment IDs 9001 - 9003.
[0034] In addition to creating SR forwarding tables, SR nodes or a path computation node (not shown) can create segment ID stacks for respective SPs. For example, ingress SR node 204 creates example segment ID stack 224 for an SP between ingress edge node 204 and egress edge node 222. Example segment stack 224 can be created for a particular FEC (e.g., FEC Z). Example stack 224 includes three segment IDs: nodal-segment IDs 66 and 72 advertised by nodes 208 and 222, respectively, and adjacency- segment ID 9003 advertised by node 208. Stack 224 corresponds to an SP in which packets flow in order through nodes 204, 206, 208, 216, 218, and 222.
[0035] In response to receiving a packet P that is destined for a device that can be reached via AE2, which in turn can be reached via node 222, SR node 204 can select a segment ID stack based on information contained in the packet. For example, node 204 can select FEC Z (i.e., the loopback for node 222) for packet P based on the destination IP address in packet P and/or other information. FEC Z is mapped to example stack 224 in a table not shown.
Node 204 attaches stack 224 to packet P. Example segment stack 224 lists segment IDs that correspond to one hop and multi hop segments that packets traverse to reach egress node 222. The one hop and multi hop segments collectively form the SP corresponding to stack 224. Once the segment stack 224 is attached to packet P, ingress SR enable node 204 may access a SR forwarding table (not shown) using the top segment ID (e.g., segment ID = 66) to read egress interface identifier 2, which is the next hop egress interface for the SPT to the SR node assigned nodal-segment ID 66.
[0036] With continuing reference to Figure 2, Figure 3 illustrates example process of packet forwarding using segment IDs according to one embodiment. More particularly, Figure 3 illustrates an example method performed by an SR node, including an edge node, in a network like that shown in Figure 2. In response to receiving a packet with an attached segment ID stack, or in response to attaching a segment ID stack to a packet, the SR node determines in step 304 whether the top segment ID of the stack matches the nodal-segment ID assigned to the SR node. If there is a match, the process proceeds to step 306 where the SR node pops the top segment ID, which may expose an underlying segment ID as the new top segment ID. If there is no new top segment ID (i.e., the segment popped in 306 was the last segment ID of the stack) the packet P has probably arrived at the egress node, and the process ends. If a new top segment ID is exposed, or if there is no match of segment IDs in step 304, the SR node accesses its SR forwarding table in step 314 to read the egress interface that is mapped to the top segment ID. In step 316 the SR node determines whether the top segment ID is an adjacency- segment ID. This determination can be implemented by simply comparing the top segment ID with the designated range of adjacency-segment IDs that are available for assignment within the network. If the top segment ID is found to be within the designated range, the top segment ID is an adjacency-segment ID and it is popped. In step 322 the SR node forwards packet P and attached stack to the next node via the egress interface identified in step 314.
[0037] With continuing reference to Figures 3, Figure 2 shows packet P and attached stack 224 as it is forwarded by nodes. As shown, nodes 204 and 206 forward packet P and stack 224 without popping a segment ID. However, node 208 pops nodal-segment ID 66 and adjacency- segment ID 9003 in accordance with steps 306 and 320, respectively, before the packet P and stack 224 are forwarded to node 216 in accordance with step 322. Nodes 216 and 218 forward packet P and stack 224 without popping segment IDs. SR egress edge node 222 recognizes itself as the last hop of the SP. Eventually, node 222 may employ traditional IP routing and forward packet P to access node AE2 based on routing table lookup using the destination IP address within packet P.
3. Hybrid Networks
[0038] Figures 1 and 2 illustrate example provider networks that contain LDP nodes and SR nodes, respectively. Some providers may want to employ hybrid networks or networks that contain both LDP and SR nodes. Differences in LDP and SR nodes described above, however, present obstacles to hybrid network implementation. For example, an SR node or a path computation node in a hybrid network may be incapable of generating a stack of segment IDs for an SP that ends at an egress LDP node since the LDP node lacks a nodal- segment ID assignment. It may be difficult to transmit a packet with attached segment ID stack along an SP that contains a core LDP since the core LDP node lacks the ability to forward the packet in accordance with the process shown in Figure 3. An LSP cannot be created between neighbor SR and an LDP nodes since the SR node is incapable of exchanging labels with the LDP node. Additional obstacles are contemplated.
[0039] The present disclosure provides methods and apparatuses that can address obstacles to hybrid network implementation. In one embodiment, the disclosure
contemplates the use of SR/LDP nodes (i.e., nodes that employ both LDP and SR) positioned directly between SR and LDP nodes. SR/LDP nodes can bridge differences in SPs and LSPs and enable packet transfer therebetween. The disclosure also contemplates use of one or more SR mapping nodes (e.g., a server) within the hybrid network. SR mapping nodes can map segment IDs to respective LDP node loopbacks. SR mapping nodes can also advertise the mappings in messages (hereinafter mapping advertisements) that are sent to other nodes in a hybrid network including the SR and SR/LDP nodes thereof. SR, SR/LDP and path computation nodes can use the mapping advertisements when creating or updating SR forwarding tables, or when creating segment ID stacks for SPs that traverse core LDP nodes and/or egress LDP nodes.
[0040] Figure 4 illustrates a portion of an example hybrid network 400 that employs LDP, SR, SR mapping, and SR/LDP nodes. Nodes 402 - 406 are SR enabled, nodes 408 - 410 are SR/LDP enabled, and nodes 412 - 416 are LDP enabled. Additionally, network 400 includes an SR mapping node 420. It is noted that in alternative embodiments, two or more SR mapping nodes can be employed in a network domain like that shown in Figure 4. In another alternative embodiment, a path computation node can be employed for generating segment ID stacks for use by ingress SR nodes like node 402.
[0041] Nodes in network 400 are identified by loopbacks or other unique node identifiers. For example, nodes 402 - 416 are identified by loopbacks A - H, respectively. In one embodiment, each of the SR and SR/LDP nodes stores a respective nodal- segment ID assigned to it by a network administrator. Nodes 402 - 410 store assigned nodal-segment IDs 66 - 74, respectively. LDP nodes do not store nodal-segment IDs, even though Figure 4 shows LDP nodes 412 - 414 associated with nodal-segment IDs 76 - 80. As will be explained, nodal-segment IDs 76 -80 are mapped to loopbacks D, E, and H in memory of SR mapping node 420.
[0042] In one embodiment SR mapping nodes store tables that directly or indirectly map segment IDs to respective address prefixes. For example, the tables can map segment IDs to loopbacks of SR, LDP, and SR/LDP nodes in a hybrid provider network like that shown in Figure 4. For purposes of explanation, however, this disclosure will presume that SR mapping node 420 contains a single table in memory that only maps nodal-segment IDs to loopbacks of LDP nodes in network 400. The table can be manually configured by a network administrator.
[0043] SR and SR/LDP nodes receive mapping advertisements from the SR mapping node. The mapping advertisements can directly map nodal-segment IDs to respective loopbacks. Figure 5 A illustrates an example mapping advertisement sent by SR mapping node 420 that directly maps nodal-segment IDs 76 - 80 to loopbacks D, E, and H, respectively. In Figure 5A, flag F is set to indicate that the node loopbacks are in four octet IPv4 address form. The S flag, when set, indicates the node loopbacks are in sixteen octet IPv6 address form. The O flag, when set, indicates the node loopbacks are in six octet OSI System-ID address form. In another embodiment, the mapping advertisements can indirectly map nodal-segment IDs to loopbacks. Figure 5B illustrates an example mapping
advertisement sent by SR mapping node 420 that indirectly maps nodal-segment IDs 76, 78, and 80 to loopbacks D, E, and H, respectively. In Figure 5B, the R flag is set to indicate that the nodal-segment IDs (76 - 80) and loopbacks (D = 9.9.9.1, E = 9.9.9.2, and H = 9.9.9.3) are presented as ranges, e.g., (starting nodal-segment ID = 76, ending nodal-segment ID = 80; starting loopback = 9.9.9.1, ending loopback = 9.9.9.3). It is noted that a mapping advertisement may map several ranges of nodal-segment IDs to respective ranges of loopbacks. One of ordinary skill understands that SR and SR/LDP nodes that receive a mapping advertisement like that shown in Figure 5B, will have to process the ranges to obtain the respective nodal-segment ID/loopback mappings like those shown in Figure 5A. In yet another embodiment, the loopback and/or nodal-segment ID range can be expressed as a starting loopback or nodal- segment ID followed by an integer I that indicates the number of items in the range. Mapping advertisements that use ranges to map nodal-segment IDs to loopbacks should be smaller in size than mapping advertisements that directly map nodal- segment IDs to respective loopbacks, which in turn may reduce network bandwidth needed to transmit the mapping advertisements.
[0044] Nodes in network 400 can use routing information they receive to create or update network topology maps, which in turn can be used to create their respective forwarding tables. In one embodiment, nodes in network 400 may employ IGP to advertise their routing information, including their respective loopbacks, to other nodes. The SR and SR/LDP nodes may extend their IGP advertisements by binding their loopbacks to their respectively assigned nodal-segment IDs. Advertisements originating from the SR and the SR/LDP nodes may also contain additional information, such as information indicating they are SR enabled. In an alternative embodiment, SR mapping node 420 can generate and send a mapping advertisement that maps nodal-segment IDs 66 - 80 mapped to loopbacks A - E, respectively. In this alternative embodiment, SR and SR/LDP nodes 402 - 410 need not store or advertise their assigned nodal-segment IDs. LDP nodes 412 - 416 may receive IGP advertisements from nodes 402 - 410 that contain SR-related information including segment IDs. LDP nodes 412 - 416 essentially ignore the SR-related information. LDP nodes 412 - 416 may also receive mapping advertisements from SR mapping node 420. The LDP nodes may also ignore the mapping advertisements.
[0045] The nodes in network 400 can use the routing information they receive from other nodes and/or the SR mapping node 420, to create or update paths and/or forwarding tables that are based on network topology maps. For example, each of LDP and SR/LDP nodes 408 - 416 can use the routing information they receive to create or update topology maps of network 400, which in turn can be used to create or update LSPs and/or LDP forwarding tables. Similarly, SR and SR/LDP nodes 402 - 410 can use the routing information they receive to create or update topology maps of network 400, which in turn can be used to create or update SPs and/or SR forwarding tables. Importantly, SR node forwarding tables can include entries that map SPT egress interfaces to nodal-segment IDs for LDP nodes. Thus, using the mapping advertisement received from SR mapping node 420, SR nodes 402 - 406 create SR forwarding tables, which include entries that map SPT egress interfaces to nodal- segment IDs 76 - 80, which in turn are assigned to LDP nodes 412 - 416, respectively.
Using the process shown in Figure 3, SR nodes can forward packets destined for an LDP egress node using the nodal- segment ID assigned thereto. For example, SR core node 404 may receive a packet with a stack containing a single nodal-segment ID (i.e., nodal-segment ID 78) attached to it. Node 404 should include an SR forwarding table that maps nodal- segment ID 78 to an egress interface coupled to node 408. In response to accessing the table in accordance with step 314 of Figure 3, node 404 reads the egress interface mapped to nodal-segment ID 78, and in step 322 node 404 forwards the packet with attached nodal- segment ID 78 to the next hop via the egress interface.
[0046] SR/LDP nodes 408 and 410 can create both SR and LDP forwarding tables. Nodes 408 - 416 can exchange labels via LDP for use in the LDP forwarding tables, but nodes 402 - 410 do not exchange labels with each other. SR/LDP nodes 408 and 410 can track their immediate neighbor nodes to identify which are or are not LDP enabled. SR/LDP nodes can bridge the differences between SPs and LSPs and enable packet transfer therebetween. In other words, SR/LDP nodes can act as merge points between LSPs and SPs. To illustrate, ingress LDP node 414 may receive a packet PI, which is destined for device that is reachable via node AE1. In response to receiving packet PI, node 414 may determine a FEC (e.g., loopback A) based upon information such as the packet's destination IP address. Node 414 may then access a table that maps loopback A to a label (e.g., LI). In accordance with the MPLS forwarding mechanism described above, node 414 forwards packet PI and attached label LI to the next hop (i.e., LDP node 412) via the egress interface that is also mapped in the table to label LI. When node 414 receives the packet with attached label, node 414 accesses its LDP forwarding table to read label L2, which is mapped to label LI. Node 412 swaps LI with L2, and forwards packet PI to SR/LDP nodes 408, which is the last hop of the LSP in the illustrated example. SR/LDP node 408 receives packet PI with attached label L2, but cannot forward the packet towards its destination via the LSP. Acting as a merge point, however, SR/LDP node 408 can forward packet PI on an SP corresponding to the LSP. More specifically, SR/LDP node 408 can determine a single nodal-segment ID stack for an SP corresponding to label L2 using the FEC (e.g., loopback A) associated therewith. LDP peers, including SR/LDP node 408 and LDP node 412, exchange labels on a FEC-by-FEC bases during LSP creation in a fashion similar to that described with reference to Figure 1. During a prior LDP session, SR/LDP node 408 gave label L2 to LDP node 412 when LDP node 412 requested a label associated with loopback A, and SR/LDP node 408 mapped label L2 to loopback A in memory. During a prior exchange of routing information, SR/LDP node 408 received an IGP advertisement from SR node 402 that maps nodal-segment ID 66 with loopback A, and SR/LDP node 408 mapped nodal-segment ID 66 to loopback A in memory. Using the common loopback A, SR/LDP node 408 can translate label L2 to nodal-segment ID 66 to facilitate transfer of packet PI from the LSP to the SP. Once translated, SR/LDP node 408 may swap label L2 with the nodal-segment ID 66 and forward packet PI towards egress node 402 using the process shown in Figure 3.
[0047] The foregoing describes a process in which SR/LDP node 408 transfers a packet from an LSP to an SP. SR/LDP node 408 may also transfer a packet from an SP to an LSP. To illustrate, ingress SR node 402 may receive a packet P2, which is destined for a device that is reachable via node AE2. In response to receiving this packet, SR node 402 or a path computation node upon request, may determine a FEC (e.g., loopback E) for packet P2 based upon information such as the destination IP address within packet P2. SR node 402, or path computation node, upon request may then map loopback E to a segment ID stack for an SP. The segment stack may include a single segment ID or multiple segment IDs, at least one of which should be nodal-segment ID 78, which is mapped to loopback E by SR mapping node 420. For purposes of explanation only, the segment stack for packet P2 is presumed to include only on segment ID, i.e., nodal-segment ID 78. SR node 402 attaches nodal-segment ID 78 to packet P2, and forwards the packet to SR node 404 in accordance with the process shown in Figure 3. SR node 404 receives packet P2 and nodal- segment ID 78, and forwards the packet and attached nodal-segment ID to SR/LDP node 408, which is the last SR enabled node in the illustrated example. SR/LDP node 408 receives packet P2 with attached nodal- segment ID 78, but cannot forward the packet via the SP. Acting as a merge point, however, SR/LDP node 408 can forward packet P2 on an LSP corresponding to the SP. More specifically, SR/LDP node 408 can select a label for an LSP corresponding to nodal-segment ID 78 using the FEC (e.g., loopback E) associated therewith. LDP peers, including SR/LDP node 408 and LDP node 412, exchange labels on a FEC-by-FEC bases during LSP creation. During a prior LDP session, LDP node 412 gave label L3 to SR/LDP node 408 when SR/LDP node 408 requested a label associated with loopback E, and SR/LDP node 408 mapped label L3 to loopback E in memory. Using the common loopback E, SR/LDP node 408 can translate nodal-segment ID 78 to label L3. Once translated, SR/LDP node 408 may swap nodal-segment ID 78 with label L3 and forward packet P2 to LDP node 412.
[0048] Figure 6 is a block diagram illustrating certain additional and/or alternative components of nodes that can be employed in the networks shown in Figures 1, 2, or 4. In this depiction, node 600 includes a number of line cards (line cards 602(1)-(N)) that are communicatively coupled to a forwarding engine or packet forwarder 610 and a processor 620 via a data bus 630 and a result bus 640. Line cards 602(1)-(N) include a number of port processors 650(1, 1)-(N,N) which are controlled by port processor controllers 660(1)-(N). It will also be noted that forwarding engine 610 and processor 620 are not only coupled to one another via data bus 630 and result bus 640, but are also communicatively coupled to one another by a communications link 670.
[0049] The processors 650 and 660 of each line card 602 may be mounted on a single printed circuit board. When a packet or packet and header are received, the packet or packet and header may be identified and analyzed by router 600 in the following manner. Upon receipt, a packet (or some or all of its control information) or packet and header is sent from the one of port processors 650(1, 1)-(N,N) at which the packet or packet and header was received to one or more of those devices coupled to data bus 630 (e.g., others of port processors 650(1, 1)-(N,N), forwarding engine 610 and/or processor 620). Handling of the packet or packet and header can be determined, for example, by forwarding engine 610. For example, forwarding engine 610 may determine that the packet or packet and header should be forwarded to one or more of port processors 650(1, 1)-(N,N). This can be accomplished by indicating to corresponding one(s) of port processor controllers 660(1)-(N) that the copy of the packet or packet and header held in the given one(s) of port processors 650(1, 1)-(N,N) should be forwarded to the appropriate one of port processors 650(1, 1)-(N,N). In addition, or alternatively, once a packet or packet and header has been identified for processing, forwarding engine 610, processor 620 or the like can be used to process the packet or packet and header in some manner or add packet security information, in order to secure the packet. On a node sourcing such a packet or packet and header, this processing can include, for example, encryption of some or all of the packet's or packet and header's information, the addition of a digital signature or some other information or processing capable of securing the packet or packet and header. On a node receiving such a processed packet or packet and header, the corresponding process is performed to recover or validate the packet's or packet and header' s information that has been thusly protected.
[0050] Although the present disclosure has been described in connection with several embodiments, the disclosure is not intended to be limited to the specific forms set forth herein. On the contrary, it is intended to cover such alternatives, modifications, and equivalents as can be reasonably included within the scope of the disclosure as defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method comprising:
mapping a first node identifier (ID) to a first segment ID in memory, wherein the first node ID uniquely identifies a first node within a network domain, and wherein the first node is not segment routing (SR) enabled;
generating and transmitting a message directly or indirectly to a another node within the network domain, wherein the message comprises the first node ID mapped to the first segment ID, wherein the other node is SR enabled.
2. The method of claim 1 wherein the message comprises a range of node IDs mapped to a range of segment IDs, wherein the range of node IDs comprises the first node ID, wherein the range of segment IDs comprises the first segment ID, and wherein each of the node IDs in the range of node IDs, uniquely identifies a respective node in the network domain.
3. The method of claim 1 wherein the message comprises a range of node IDs mapped to a range of segment IDs, wherein the range of node IDs comprises the first node ID, wherein the range of segment IDs comprises the first segment ID, and wherein each of the node IDs in the range node IDs, uniquely identifies a respective, non SR enabled node in the network domain.
4. The method of claim 1 wherein the message comprises a range of node IDs mapped to a range of segment IDs, wherein the range of node IDs comprises the first node ID, wherein the range of segment IDs comprises the first segment ID, wherein a second of the node IDs within the range of node IDs, uniquely identifies a second node in the network domain, wherein the second node is SR enabled.
5. The method of claim 1 wherein the message comprises a second node ID mapped to a second segment ID, wherein the second node ID uniquely identifies a second node within the network domain, and wherein the second node is not SR enabled.
6. The method of claim 5 wherein the message comprises a third node ID mapped to a third segment ID, wherein the third node ID uniquely identifies a third node within the network domain, and wherein the third node is SR enabled.
7. The method of claim 1 further comprising:
the other node receiving a packet with the first segment ID attached to it;
the other node accessing a table to read an interface identifier that is mapped in the table to the first segment ID, wherein the interface identifier identifies an interface of the other node;
the other node forwarding the packet with the attached first segment ID to a next hop node via the interface.
8. A computer readable medium (CRM) comprising executable instructions, wherein a node in a network domain implements a method in response to executing the instructions, the method comprising;
receiving a message that comprises first and second node IDs mapped to first and second segment IDs, respectively, wherein the first and second node IDs uniquely identify first and second nodes, respectively, within an autonomous network domain, and wherein the first and second nodes are not SR enabled; mapping the first and second segment IDs to first and second interface identifiers, respectively, of the node, wherein the node is SR enabled.
9. The CRM of claim 8 wherein the message comprises a range of node IDs mapped to a range of segment IDs, wherein the range of node IDs comprises the first node ID, wherein the range of segment IDs comprises the first segment ID, and wherein each of the node IDs in the range of node IDs, uniquely identifies a respective node in the network domain.
10. The CRM of claim 8 wherein the message comprises a range of node IDs mapped to a range of segment IDs, wherein the range of node IDs comprises the first node ID, wherein the range of segment IDs comprises the first segment ID, and wherein each of the node IDs in the range node IDs, uniquely identifies a respective, non SR enabled node in the network domain.
11. The CRM of claim 8 wherein the message comprises a third node ID mapped to a third segment ID, wherein the third node ID uniquely identifies a third node within the network domain, and wherein the third node is SR enabled.
12. The CRM of claim 8 wherein the method further comprises:
receiving a first packet with the first segment ID attached to it;
accessing a table to read the first interface identifier that is mapped in the table to the first segment ID, wherein the first interface identifier identifies a first interface of the node;
forwarding the first packet with the attached first segment ID to a next hop node via the first interface.
13. The CRM of claim 12 wherein the method further comprises:
receiving a second packet with the second segment ID attached to it;
accessing the table to read the second interface identifier that is mapped in the table to the second segment ID, wherein the second interface identifier identifies a second interface of the node;
forwarding the second packet with the attached second segment ID to another next hop node via the second interface.
14. The CRM of claim 8 wherein the first and second nodes are LDP enabled.
15. An apparatus comprising:
a means for mapping a first node identifier (ID) to a first segment ID, wherein the first node ID uniquely identifies a first node within a network domain, and wherein the first node is not segment routing (SR) enabled;
a means for generating and transmitting a message directly or indirectly to another node within the network domain, wherein the message comprises the first node ID mapped to the first segment ID, wherein the other node is SR enabled.
16. The apparatus of claim 15 wherein the message comprises a range of node IDs mapped to a range of segment IDs, wherein the range of node IDs comprises the first node ID, wherein the range of segment IDs comprises the first segment ID, and wherein each of the node IDs in the range of node IDs, uniquely identifies a respective node in the network domain.
17. The apparatus of claim 15 wherein the message comprises a range of node IDs mapped to a range of segment IDs, wherein the range of node IDs comprises the first node ID, wherein the range of segment IDs comprises the first segment ID, and wherein each of the node IDs in the range node IDs, uniquely identifies a respective, non SR enabled node in the network domain.
18. The apparatus of claim 15 wherein the message comprises a range of node IDs mapped to a range of segment IDs, wherein the range of node IDs comprises the first node ID, wherein the range of segment IDs comprises the first segment ID, wherein a second of the node IDs within the range of node IDs, uniquely identifies a second node in the network domain, wherein the second node is SR enabled.
19. The apparatus of claim 15 wherein the message comprises a second node ID mapped to a second segment ID, wherein the second node ID uniquely identifies a second node within the network domain, and wherein the second node is not SR enabled.
20. The apparatus of claim 19 further comprising:
the other node, wherein the other node comprises:
a means for receiving the message;
a means for mapping the first and second segment IDs to first and second interface identifiers, respectively, of the other node.
PCT/US2014/038415 2013-05-17 2014-05-16 Segment routing mapping server for ldp/sr interoperability WO2014186717A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201480028281.XA CN105210336B (en) 2013-05-17 2014-05-16 Method, equipment and computer-readable medium for LDP/SR interoperabilities
EP14731873.7A EP2997699B1 (en) 2013-05-17 2014-05-16 Segment routing mapping server for ldp/sr interoperability

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361824696P 2013-05-17 2013-05-17
US61/824,696 2013-05-17
US14/279,659 US9319312B2 (en) 2013-05-17 2014-05-16 Segment routing mapping server for LDP/SR interoperability
US14/279,659 2014-05-16

Publications (1)

Publication Number Publication Date
WO2014186717A1 true WO2014186717A1 (en) 2014-11-20

Family

ID=51895746

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/038415 WO2014186717A1 (en) 2013-05-17 2014-05-16 Segment routing mapping server for ldp/sr interoperability

Country Status (4)

Country Link
US (1) US9319312B2 (en)
EP (1) EP2997699B1 (en)
CN (1) CN105210336B (en)
WO (1) WO2014186717A1 (en)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9369371B2 (en) 2012-10-05 2016-06-14 Cisco Technologies, Inc. Method and system for path monitoring using segment routing
US9049233B2 (en) 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10447575B1 (en) 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10904144B2 (en) 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US9565160B2 (en) 2013-03-11 2017-02-07 Cisco Technology, Inc. Advertisement of adjacency segment identifiers
US9559954B2 (en) 2013-03-11 2017-01-31 Cisco Technology, Inc. Indexed segment ID
US9537718B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US9537769B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Opportunistic compression of routing segment identifier stacks
CN104378292B (en) * 2013-08-15 2018-01-23 华为技术有限公司 A kind of method and device of forwarding MPLS packets
US9762488B2 (en) * 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9237078B1 (en) * 2014-06-26 2016-01-12 Cisco Technology, Inc. Path validation in segment routing networks
US9401858B2 (en) 2014-06-30 2016-07-26 Cisco Technology, Inc. Loop avoidance during network convergence in switched networks
US10187305B2 (en) * 2014-07-02 2019-01-22 Futurewei Technologies, Inc. System and method for using a path control element as a central controller for local protection of label switched path (LSP)
US9807001B2 (en) 2014-07-17 2017-10-31 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US9749220B2 (en) * 2014-09-19 2017-08-29 Telefonaktiebolaget L M Ericsson (Publ) Automated determination of tree attributes and assignment of receiver identifiers by distributed election in multicast architectures relying on packets identifying intended receivers
US9742575B2 (en) 2014-11-04 2017-08-22 Telefonaktiebolaget L M Ericsson (Publ) Explicit list encoding of sparse multicast group membership information with Bit Index Explicit Replication (BIER)
US9432205B2 (en) * 2014-11-04 2016-08-30 Telefonaktiebolaget L M Ericsson (Publ) Explicit block encoding of multicast group membership information with bit index explicit replication (BIER)
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US9503363B2 (en) 2015-03-16 2016-11-22 Cisco Technology, Inc. Segment routing label switch paths in network functions virtualization communications networks
US9979629B2 (en) * 2015-08-21 2018-05-22 Cisco Technology, Inc. Distribution of segment identifiers in network functions virtualization and software defined network environments
US10750255B2 (en) * 2016-04-22 2020-08-18 Huawei Technologies Co., Ltd. Segment routing for optical networks
US10263881B2 (en) 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
CN107666436B (en) * 2016-07-27 2019-05-17 中兴通讯股份有限公司 Message forwarding method and device
CN107689915A (en) * 2016-08-04 2018-02-13 中兴通讯股份有限公司 Message forwarding method and device
US11032197B2 (en) 2016-09-15 2021-06-08 Cisco Technology, Inc. Reroute detection in segment routing data plane
CN107566272B (en) * 2017-10-17 2021-10-12 新华三技术有限公司 Forwarding table establishing method and data forwarding method
US10652144B2 (en) * 2018-01-09 2020-05-12 Cisco Technology, Inc. Segment routing network processing of packets including packets having a segment identifier structure providing processing and/or memory efficiencies
CN110557329A (en) * 2018-05-30 2019-12-10 中兴通讯股份有限公司 message forwarding method, device and node
CN110601970B (en) * 2018-06-12 2021-10-22 中国电信股份有限公司 Tunnel protection method, system, local repair point and computer readable storage medium
CN109039903B (en) * 2018-10-18 2021-01-26 新华三技术有限公司 Route determining method, device and machine-readable storage medium
CN109347740B (en) * 2018-11-19 2022-03-01 新华三技术有限公司 Message forwarding method and device
CN111464440A (en) * 2019-01-21 2020-07-28 华为技术有限公司 Communication method and device
CN111600797B (en) * 2019-02-21 2022-12-30 华为技术有限公司 Data transmission method, node and system
US11140074B2 (en) 2019-09-24 2021-10-05 Cisco Technology, Inc. Communicating packets across multi-domain networks using compact forwarding instructions
CN112565077A (en) * 2019-09-25 2021-03-26 北京华为数字技术有限公司 Method, device and system for determining mapping relation between routing prefix and segment identifier
CN112714063B (en) * 2019-10-25 2022-08-09 华为技术有限公司 Message transmission method, device and digital processing chip
CN113141339A (en) * 2020-01-20 2021-07-20 华为技术有限公司 SR (scheduling request) message transmission method, device and system
CN112511429B (en) 2020-03-25 2024-09-24 中兴通讯股份有限公司 Method, node, controller, computer readable medium for information transmission and processing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100220739A1 (en) * 2007-10-18 2010-09-02 Kunihiro Ishiguro Carrier Network Connection Device And Carrier Network

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69739800D1 (en) 1997-07-17 2010-04-22 Ibm METHOD AND DEVICE FOR POINT TO MULTI-POINT TRANSMISSION IN AN ATM NETWORK
US6374303B1 (en) 1997-11-17 2002-04-16 Lucent Technologies, Inc. Explicit route and multicast tree setup using label distribution
US7031607B1 (en) 2000-02-21 2006-04-18 Nortel Networks Limited MPLS application to optical cross-connect using wavelength as a label
US6647428B1 (en) 2000-05-05 2003-11-11 Luminous Networks, Inc. Architecture for transport of multiple services in connectionless packet-based communication networks
US7023846B1 (en) 2000-07-18 2006-04-04 Nortel Networks Limited System, device, and method for establishing and removing a label switched path in a communication network
JP4183379B2 (en) 2000-11-27 2008-11-19 富士通株式会社 Network and edge router
US7242669B2 (en) 2000-12-04 2007-07-10 E*Trade Financial Corporation Method and system for multi-path routing of electronic orders for securities
US7061921B1 (en) 2001-03-19 2006-06-13 Juniper Networks, Inc. Methods and apparatus for implementing bi-directional signal interfaces using label switch paths
US7664877B1 (en) 2001-03-19 2010-02-16 Juniper Networks, Inc. Methods and apparatus for using both LDP and RSVP in a communications systems
US7068654B1 (en) 2001-04-18 2006-06-27 3Com Corporation System and method for providing masquerading using a multiprotocol label switching
US7174387B1 (en) 2001-04-26 2007-02-06 Cisco Technology Inc. Methods and apparatus for requesting link state information
US7031253B1 (en) 2001-06-01 2006-04-18 Cisco Technology, Inc. Method and apparatus for computing a path through specified elements in a network
US7359377B1 (en) 2001-06-19 2008-04-15 Juniper Networks, Inc. Graceful restart for use in nodes employing label switched path signaling protocols
US20030026271A1 (en) 2001-07-03 2003-02-06 Erb Guy C. L2/L3 network with LSP-enabled virtual routing
US7397802B2 (en) 2001-07-19 2008-07-08 Nec Corporation Communications network with routing tables for establishing a path without failure by avoiding unreachable nodes
US7403999B2 (en) 2001-12-28 2008-07-22 International Business Machines Corporation Classification support system and method for fragmented IP packets
US7260097B2 (en) 2002-01-30 2007-08-21 Nortel Networks Limited Label control method and apparatus for virtual private LAN segment networks
US7327675B1 (en) 2002-08-01 2008-02-05 At&T Corp. Fairness of capacity allocation for an MPLS-based VPN
KR100487131B1 (en) 2003-02-15 2005-05-03 삼성전자주식회사 label switching router for able internal channel shared over ATM and method thereof
US7283529B2 (en) 2003-03-07 2007-10-16 International Business Machines Corporation Method and system for supporting a dedicated label switched path for a virtual private network over a label switched communication network
US20040196840A1 (en) 2003-04-04 2004-10-07 Bharadwaj Amrutur Passive measurement platform
US7715380B2 (en) 2003-06-19 2010-05-11 Cisco Technology, Inc. Apparatus and methods for handling shared services through virtual route forwarding (VRF)-aware-NAT
US7447212B2 (en) 2003-09-03 2008-11-04 At&T Intellectual Property I, L.P. Method and system for automating membership discovery in a distributed computer network
US7466661B1 (en) 2003-09-22 2008-12-16 Cisco Technology, Inc. Method and apparatus for establishing adjacency for a restarting router during convergence
CA2467945A1 (en) 2004-05-20 2005-11-20 Fernando Cuervo Open service discovery and routing mechanism for configuring cross-domain telecommunication services
US7430210B2 (en) 2004-05-26 2008-09-30 Fujitsu Limited Application of an Ethernet/MPLS “half bridge” to provide emulated Ethernet LAN functions in SONET networks
US7852771B2 (en) 2004-06-30 2010-12-14 Ciena Corporation Method and apparatus for implementing link-based source routing in generic framing protocol
US7471669B1 (en) 2004-09-30 2008-12-30 Nortel Networks Limited Routing of protocol data units within a communication network
US7460481B2 (en) * 2004-12-01 2008-12-02 Cisco Technology, Inc. Inter-domain TE-LSP with IGP extensions
WO2006117613A1 (en) 2005-04-29 2006-11-09 Nokia, Corporation Method, apparatus and computer program to dynamically adjust segmentation at a protocol layer, such as at the medium access control (mac) layer
US8107379B2 (en) 2005-05-04 2012-01-31 Cisco Technology, Inc. Dynamic TE-LSP priority and preemption
US20060274716A1 (en) 2005-06-01 2006-12-07 Cisco Technology, Inc. Identifying an endpoint using a subscriber label
US7903583B2 (en) 2005-07-11 2011-03-08 Cisco Technology, Inc. Unsynchronized adjacencies in OSPF
ATE546926T1 (en) 2005-08-26 2012-03-15 Nortel Networks Ltd METHOD FOR PRODUCING A MULTI-SEGMENT PSEUDOWIRE ACROSS DOMAIN WITH DIFFERENT PSEUDOWIRE SIGNALING PROTOCOLS
US7564803B1 (en) 2005-08-29 2009-07-21 Juniper Networks, Inc. Point to multi-point label switched paths with label distribution protocol
US7688829B2 (en) 2005-09-14 2010-03-30 Cisco Technology, Inc. System and methods for network segmentation
US7773630B2 (en) 2005-11-12 2010-08-10 Liquid Computing Corportation High performance memory based communications interface
US7801136B2 (en) 2006-02-15 2010-09-21 Ericsson Ab Source routed multicast LSP
US7643499B2 (en) 2006-06-30 2010-01-05 Alcatel Lucent Extending IP/MPLS services reachability over ATM backbone networks
US8199755B2 (en) 2006-09-22 2012-06-12 Rockstar Bidco Llp Method and apparatus establishing forwarding state using path state advertisements
US20080075096A1 (en) 2006-09-22 2008-03-27 Enthenergy, Llc Remote access to secure network devices
US8189585B2 (en) 2006-10-10 2012-05-29 Cisco Technology, Inc. Techniques for virtual private network fast convergence
JP4737035B2 (en) 2006-10-30 2011-07-27 日本電気株式会社 QoS routing method and QoS routing apparatus
CN101584162B (en) 2007-01-17 2013-05-29 北方电讯网络有限公司 Method and apparatus for interworking Ethernet and MPLS networks
US8064441B2 (en) 2007-03-09 2011-11-22 Cisco Technology, Inc. Upstream label allocation on Ethernets for MP2MP LSPS
US20080225864A1 (en) 2007-03-16 2008-09-18 Mustapha Aissaoui Communication network routing apparatus and techniques using logical communication links
US7796537B2 (en) 2007-04-17 2010-09-14 Cisco Technology, Inc. Creating non-transit nodes in a link network
US8325706B2 (en) 2007-11-26 2012-12-04 Verizon Patent And Licensing Inc. Hierarchical segmented label switched paths
US7885259B2 (en) 2007-11-30 2011-02-08 Cisco Technology, Inc. Deterministic multiprotocol label switching (MPLS) labels
US20090168780A1 (en) * 2007-12-31 2009-07-02 Nortel Networks Limited MPLS P node replacement using a link state protocol controlled ethernet network
GB2459839B (en) 2008-05-02 2012-02-29 Broadcom Corp Management of storage and retrieval of data labels in random access memory
US8811388B2 (en) 2008-11-14 2014-08-19 Rockstar Consortium Us Lp Service instance applied to MPLS networks
US7929557B2 (en) 2008-11-14 2011-04-19 Juniper Networks, Inc. Summarization and longest-prefix match within MPLS networks
US8542706B2 (en) 2008-12-08 2013-09-24 Qualcomm Incorporated Method and apparatus related to packet fragmentation and reconstruction
US8792490B2 (en) 2009-03-16 2014-07-29 Cisco Technology, Inc. Logically partitioned networking devices
US9444720B2 (en) 2009-05-05 2016-09-13 Ciena Corporation Method and apparatus for multicast implementation in a routed ethernet mesh network
US8422514B1 (en) 2010-02-09 2013-04-16 Juniper Networks, Inc. Dynamic configuration of cross-domain pseudowires
US8422364B2 (en) 2010-05-17 2013-04-16 Cisco Technology, Inc. Multicast label distribution protocol node protection
US9036474B2 (en) 2010-06-08 2015-05-19 Alcatel Lucent Communication available transport network bandwidth to L2 ethernet nodes
US8345697B2 (en) 2010-08-17 2013-01-01 Dell Products, Lp System and method for carrying path information
US8824472B2 (en) 2010-09-16 2014-09-02 Verizon Patent And Licensing Inc. Sanitizing packet headers
US8837292B2 (en) 2010-09-21 2014-09-16 Telefonaktiebolaget L M Ericsson (Publ) Relayed CSPF computation for multiple areas and multiple autonomous systems
US8797913B2 (en) 2010-11-12 2014-08-05 Alcatel Lucent Reduction of message and computational overhead in networks
CN103858391B (en) 2011-02-19 2017-10-20 德国电信股份有限公司 Make MPLS paths loopback for connectionless MPLS network in forwarding plane
US9094335B2 (en) 2011-02-22 2015-07-28 Cisco Technology, Inc. Packet switching label assignment across multiple packet switching forwarding groups
US8792384B2 (en) 2011-02-22 2014-07-29 Cisco Technology, Inc. System and method for intelligently maintaining connectivity in a network environment
US9692687B2 (en) * 2011-03-18 2017-06-27 Alcatel Lucent Method and apparatus for rapid rerouting of LDP packets
US8634418B2 (en) 2011-07-01 2014-01-21 Juniper Networks, Inc. Providing extended administrative groups in computer networks
US8830998B2 (en) 2011-09-23 2014-09-09 Avaya Inc. Separation of edge and routing/control information for multicast over shortest path bridging
US8737395B2 (en) 2012-01-23 2014-05-27 Adva Optical Networking Se Method for accessing a network and network access device
KR101576412B1 (en) 2012-04-04 2015-12-09 알까뗄 루슨트 System and method for implementing label switch router (lsr) overload protection
US9369371B2 (en) 2012-10-05 2016-06-14 Cisco Technologies, Inc. Method and system for path monitoring using segment routing
US9049233B2 (en) 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
US9094337B2 (en) 2012-12-21 2015-07-28 Cieno Corporation Source identification preservation in multiprotocol label switching networks
US9559954B2 (en) 2013-03-11 2017-01-31 Cisco Technology, Inc. Indexed segment ID
US9565160B2 (en) 2013-03-11 2017-02-07 Cisco Technology, Inc. Advertisement of adjacency segment identifiers
US9537718B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US9537769B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Opportunistic compression of routing segment identifier stacks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100220739A1 (en) * 2007-10-18 2010-09-02 Kunihiro Ishiguro Carrier Network Connection Device And Carrier Network

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FILSFILS C ET AL: "Segment Routing interoperability with LDP; draft-filsfils-spring-segment-routing-ldp-interop-01.txt", SEGMENT ROUTING INTEROPERABILITY WITH LDP; DRAFT-FILSFILS-SPRING-SEGMENT-ROUTING-LDP-INTEROP-01.TXT, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, 18 April 2014 (2014-04-18), pages 1 - 16, XP015098736 *
FILSFILS C ET AL: "Segment Routing Use Cases; draft-filsfils-rtgwg-segment-routing-use-cases-00.txt", SEGMENT ROUTING USE CASES; DRAFT-FILSFILS-RTGWG-SEGMENT-ROUTING-USE-CASES-00.TXT, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, 28 June 2013 (2013-06-28), pages 1 - 44, XP015094843 *
PREVIDI S ET AL: "Segment Routing with IS-IS Routing Protocol; draft-previdi-filsfils-isis-segment-routing-02.txt", SEGMENT ROUTING WITH IS-IS ROUTING PROTOCOL; DRAFT-PREVIDI-FILSFILS-ISIS-SEGMENT-ROUTING-02.TXT, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, 21 March 2013 (2013-03-21), pages 1 - 27, XP015091832 *

Also Published As

Publication number Publication date
CN105210336A (en) 2015-12-30
US9319312B2 (en) 2016-04-19
US20140341222A1 (en) 2014-11-20
CN105210336B (en) 2018-10-26
EP2997699B1 (en) 2020-03-04
EP2997699A1 (en) 2016-03-23

Similar Documents

Publication Publication Date Title
US11784889B2 (en) Segment routing over label distribution protocol
EP2997699B1 (en) Segment routing mapping server for ldp/sr interoperability
EP2974176B1 (en) Segment routing: pce driven dynamic setup of forwarding adjacencies and explicit path
EP2904748B1 (en) Segment routing techniques

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2014731873

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE