US10728141B2 - Apparatus and method for segment routing - Google Patents
Apparatus and method for segment routing Download PDFInfo
- Publication number
- US10728141B2 US10728141B2 US15/736,194 US201515736194A US10728141B2 US 10728141 B2 US10728141 B2 US 10728141B2 US 201515736194 A US201515736194 A US 201515736194A US 10728141 B2 US10728141 B2 US 10728141B2
- Authority
- US
- United States
- Prior art keywords
- network
- segment routing
- segment
- data
- data plane
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active, expires
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000004891 communication Methods 0.000 claims abstract description 38
- 238000013507 mapping Methods 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/03—Topology update or discovery by updating link state protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/62—Wavelength based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
Definitions
- the present disclosure relates to an apparatus and method for segment routing, and in particular to an apparatus and method for performing segment routing in a non-packet data network comprising a plurality of nodes.
- Segment Routing is a network technology that provides enhanced packet forwarding behaviour while minimizing the need for maintaining awareness of mass volumes of network states.
- Segment routing technology has been defined for Multi Protocol Label Switching (MPLS) and Internet Protocol version 6 (IPv6) data planes.
- MPLS Multi Protocol Label Switching
- IPv6 Internet Protocol version 6
- non-packet transport networks such as optical networks are typically controlled based on fully distributed Generalized MPLS (GMPLS) control panes or a fully centralized control plane, for example an Open Flow based Software Defined Networking (SDN) solution.
- GPLS Generalized MPLS
- SDN Open Flow based Software Defined Networking
- a method in a controller node for performing segment routing in a non-packet data network comprising a plurality of nodes.
- the method comprises receiving information relating to the topology of the non-packet data network connecting the plurality of nodes, the non-packet data network forming a data plane network.
- the method comprises computing a segment routing path to be taken for non-packet traffic data through the data plane network, wherein the segment routing path is computed using segment identifiers, SIDs, relating to a data communication network, DCN, coupled to the plurality of nodes.
- the method comprises sending the computed segment routing path to an ingress node of the data plane network.
- a method for performing segment routing in a network node comprising a plurality of nodes.
- the method comprises receiving segment routing path information, the segment routing path information identifying a path through a data communication network, DCN, connecting the plurality of nodes.
- the method comprises mapping the segment routing path information to a data plane network connecting the plurality of nodes.
- the method comprises computing a path in the data plane network using the segment routing path information.
- a controller node for performing segment routing in a non-packet data network comprising a plurality of nodes, the controller node comprising a processor and a memory, said memory containing instructions executable by said processor.
- the controller node is operative to receive information relating to the topology of the non-packet data network connecting the plurality of nodes, the non-packet network forming a data plane network.
- the controller node is further operative to compute a segment routing path to be taken for non-packet traffic data through the data plane network, wherein the segment routing path is computed using segment identifiers, SIDs, relating to a data communication network, DCN, coupled to the plurality of nodes.
- the controller node is further operative to send the computed segment routing path to an ingress node of the data plane network.
- a network node for performing segment routing, the network node forming part of a non-packet data network comprising a plurality of nodes, the network node comprising a processor and a memory, said memory containing instructions executable by said processor.
- the network node is operative to receive segment routing path information, the segment routing path information identifying a path through a data communication network, DCN, connecting the plurality of nodes.
- the network node is further operative to map the segment routing path information to a data plane network connecting the plurality of nodes.
- the network node is further operative to compute a path in the data plane network using the segment routing path information.
- a computer program product having computer readable code embodied therein, the computer readable code being configured such that, on execution by a suitable computer or processor, the computer or processor performs the method as defined in the appended claims.
- FIG. 1A illustrates an example of a node segment in segment routing
- FIG. 1B illustrates an example of an adjacent segment in segment routing
- FIG. 2 shows an example of a method according to an embodiment, which may be carried out by a controller node
- FIG. 3 illustrates an example of communication system according to an embodiment
- FIG. 4 illustrates an example of a communication system and a label stack computed by a controller node
- FIG. 5 illustrates an example of a communication system in which the paths to be taken by traffic data sent with the label stack of FIG. 4 are shown;
- FIG. 6 shows an example of a method according to an embodiment, which may be carried out by a network node
- FIG. 7 shows an example of a method which may be carried out in a controller node, an ingress node and an intermediate node of a network, according to an embodiment.
- FIG. 8 illustrates an example of a controller node according to an embodiment
- FIG. 9 illustrates an example of a network node according to an embodiment
- FIG. 10 illustrates another example of a controller node according to an embodiment, for performing segment routing
- FIG. 11 illustrates another example of a network node according to an embodiment, for performing segment routing.
- FIG. 1A illustrates an example of a node segment in segment routing.
- the nodes labelled A-Z are connected by a data communication network.
- a packet is injected into the network at node A with the active segment “ 65 ”. This indicates the node Z.
- the node Z will have advertised its global node segment (i.e. 65 ), and all remote nodes A to G will have installed the node segment to Z in the segment routing data plane along the shortest path to Z.
- the packet can then use Equal Cost Multipath (ECMP) to compute the shortest path between the nodes A and Z.
- ECMP Equal Cost Multipath
- the packet can be routed from node A to node Z via nodes B, C and D, or from node A to node Z via nodes E, F and G (both of which represent an equivalent shortest path).
- FIG. 1B illustrates an example of an adjacency node segment in segment routing.
- the nodes A to Z are connected by a data communication network.
- a packet is injected into the network at node C with an active segment “ 9003 ”.
- node C will have allocated a local segment for its data link adjacency C-F.
- C may advertise its adjacency segment in the Interior Gateway Protocol, IGP.
- IGP Interior Gateway Protocol
- node C is the only node to install the adjacency segment in the segment routing data plane.
- Segment routing such as node segment routing according to FIG. 1A , or adjacency segment routing according to node 1 B, may be used in packet networks.
- the embodiments described herein provide methods and apparatus for extending segment routing concepts also to non-packet networks, for example Optical Transport Networks (OTN), Time Division Networks (TDM) and Wavelength Division Multiplexing (WDM).
- OTN Optical Transport Networks
- TDM Time Division Networks
- WDM Wavelength Division Multiplexing
- the embodiments consist of providing a binding between a data communication network (DCN) based on a segment routing control plane and a data plane which does not allow for the support of segment routing.
- DCN data communication network
- the embodiments are focused on the example of an OTN data plane, the embodiments may be used with any data plane, for example a data plane with an Internet Protocol version 6 (IPv6) DCN.
- IPv6 Internet Protocol version 6
- FIG. 2 shows an example of a method according to a first embodiment, and in particular a method is a controller node for performing segment routing in a non-packet data network comprising a plurality of nodes (for example a method in an software defined network, SDN, controller 30 as described later in FIGS. 3 and 4 ).
- a method is a controller node for performing segment routing in a non-packet data network comprising a plurality of nodes (for example a method in an software defined network, SDN, controller 30 as described later in FIGS. 3 and 4 ).
- step 501 the method comprises receiving information relating to the topology of a non-packet data network connecting a plurality of nodes, the non-packet data network forming a data plane network.
- the information may comprise, for example, any of the following: information from an operator, preconfigured policy information, network availability information and/or traffic engineering capability information.
- step 503 the controller 30 computes a segment routing path to be taken for non-packet traffic data through the data plane network, wherein the segment routing path is computed using segment identifiers, SIDs, relating to a data communications network, DCN coupled to the plurality of nodes.
- this computation may comprise generating a stack of segment identifiers, SIDs relating to the segment routing path.
- the computation may also comprise computing a path using node segment routing and extending a segment identifier with a traffic type identifier.
- the computation may comprise computing a path using adjacent segment routing, and extending a segment identifier with a traffic type identifier and a data plane adjacency identifier.
- the method in the controller comprises sending the computed segment routing path to an ingress node of the data plane network.
- this may comprise downloading a stack of segment identifiers, SIDs, defining a segment routing path to the ingress node.
- the downloading may occur, for example, using a Path Computational Element Protocol, PCEP.
- the DCN may be configured to implement an internet protocol comprising one or more segment routing extensions, for example a DCN based on IPv6 having segment routing extensions.
- the controller may comprise a topology database which may be populated using internet gateway protocol traffic engineering, IGP-TE.
- the data plane network may be an optical transport network (OTN), or a time division multiplexing (TDM) network or a wavelength division multiplexing (WDM) network, or any other form of non-packet transport network.
- OTN optical transport network
- TDM time division multiplexing
- WDM wavelength division multiplexing
- FIG. 3 illustrates a communication system generally indicated 200 , comprising a controller node 30 , for example a software defined network (SDN) controller node 30 , which may be adapted to perform the method described in FIG. 2 above.
- the communication system 200 comprises a data communication network (DCN) 40 , which is shown in the figure using dotted lines.
- the DCN 40 connects a plurality of nodes 20 (for example nodes 20 1 to 20 8 shown in the example, which are also labelled as server nodes S 1 to S 8 ).
- the DCN 40 may be based on IPv6 with Segment Routing (SR) extensions.
- SR Segment Routing
- Each of the plurality of nodes 20 is able to process DCN packets, for example IPv6 packets with SR extensions.
- DCN packets for example IPv6 packets with SR extensions.
- the communication system 200 of this example therefore provides an IPv6 DCN for the transport nodes 20 , (with such an IPv6 DCN being capable of performing DCN packet processing at software level).
- the plurality of nodes 20 are also connected by a transport data plane (DP), i.e. a data plane network 50 .
- the data plane network 50 is shown with bold lines in FIG. 3 .
- This data plane network 50 may comprise, for example, an optical transport network (OTN) or time division multiplexing (TDM) network, or a wavelength divisional multiplexing (WDM) network.
- OTN optical transport network
- TDM time division multiplexing
- WDM wavelength divisional multiplexing
- the SDN controller 30 is connected to the ingress node 20 1 of the DCN.
- the DCN is run as a segment routing control plane implementing, for example, segment routing protocols such as IGP-TE (internet gateway protocol—traffic engineering), OSPF-TE (open shortest path first—traffic engineering) or ISIS-TE (intermediate system to intermediate system—traffic engineering) with SR extensions, segment routing identifiers (SIDs), and path computational element protocol (PCEP).
- IGP-TE internet gateway protocol—traffic engineering
- OSPF-TE open shortest path first—traffic engineering
- ISIS-TE intermediate system to intermediate system—traffic engineering
- PCEP path computational element protocol
- the IGP-TE is used to populate a topology database of the SDN controller 30 (path computation element) with the segment identifiers (SIDs) implemented in the DCN.
- the SDN controller 30 receives information relating to the topology of the data plane network 50 connecting the plurality of nodes 20 .
- the SDN controller 30 is able to compute a segment routing path to be taken for non-packet traffic data through the data plane network 50 , wherein the segment routing path is computed using segment identifiers, SIDs, relating to the DCN coupled to the plurality of nodes.
- a path computation element protocol may be used to download the computed segment routing path from the SDN controller 30 to the ingress node 20 1 of the data plane network 50 (transport network).
- a stack of labels may be sent via PCEP to the ingress node 20 1 .
- the stack may comprise Adjacency Segment or Node Segment as computed by the PCE of the controller.
- a binding is provided between a DCN 40 based on a segment routing control plane and a data plane (data plane network 50 ) which does not otherwise allow for the support of segment routing.
- IPv6 segments are used over the transport DCN, with a binding being generated between the DCN and the transport data plane, such that the data plane is managed as if it was run by a segment routing control plane.
- FIG. 4 illustrates a communication system generally indicated 200 , similar to that of FIG. 3 , which will be used to describe the use of node segment and adjacent segment routing in more detail, according to an embodiment.
- FIG. 4 shows an example of a label stack 70 computed by the SDN controller 30 , which may be sent to an ingress node 20 1 of the communications network 200 .
- This figure shows the same networks and plurality of nodes 20 as described in FIG. 3 .
- the corresponding features have been given the same reference numerals.
- the SDN controller 30 has sent a label stack 70 to the ingress node 20 1 of the network.
- the label stack contains node segments “ 10 ” and “ 11 ” and an adjacent segment “ 1000 ”. These segments are designed to instruct the node at which they are received which node to forward the data onto, over the data plane network 50 (but wherein the path has been computed in a control plane of the DCN 40 ).
- the segment identifier is extended with traffic type (e.g. ODU 2 , ODU 1 , etc.) to be carried out.
- traffic type e.g. ODU 2 , ODU 1 , etc.
- the node which receives the node segment then computes the path to reach the node indicated by that particular label. It will then perform the cross-connection needed to reach the next hop with the required traffic type.
- the traffic will be sent to the next hop over the data plane network 50 .
- ECMP is used to provide the path to the next hop.
- the node will also forward the unchanged label stack onto the next hop. However, this will be sent over the DCN 40 .
- Each node receiving a node segment may perform the same operation, regardless of whether it is an ingress node or an intermediate node.
- the SID is extended also with a data plane adjacency identifier (ID) in addition to the traffic type (such as ODU 2 , ODU 1 , etc).
- ID data plane adjacency identifier
- a data plane adjacency ID is the reference to the interface to be used to forward the traffic on the data plane network 50 and, usually, it does not follow the OSPF path.
- the adjacency segment is used to steer the traffic on a configured interface.
- an interface can be flexible, for example defining a bundle of interface ⁇ ports, such that the node can be allowed to decide which one to use for the forwarding.
- the definition of an interface can be more stringent, for example where traffic engineering specifies a given interface ⁇ port. Again the traffic is sent over the data plane network 50 . In both cases the node may perform the required cross-connection to forward traffic to the next hop, and, as for node segment, forward on the DCN the IPv6 packet with the label stack.
- FIG. 5 illustrates a communication system generally indicated 200 in which the paths to be taken by the traffic data sent with the label stack in FIG. 4 are shown.
- this figure shows the same networks (DCN 40 and data plane network 50 ), SDN controller 30 , and the plurality of nodes 20 as described in FIGS. 3 and 4 .
- the corresponding features have been given the same reference numerals.
- LSP Label Switched Paths
- the ingress node 20 1 receives the label stack, reads the external label and takes consequent actions as described below depending if it is a node or adjacency segment.
- the ingress node 20 1 reads the external label, i.e. node segment “ 10 ” which indicates that the traffic should be forwarded to the node 20 4 .
- the traffic therefore follows the path indicted by the arrow 80 which is calculated, in this example, by OSPF-TE.
- the node 20 4 reads the adjacency segment “ 1000 ” which indicates that the traffic should be forwarded to the node 20 5 .
- the traffic therefore follows the path indicated by the arrow 90 .
- the node 20 5 reads the node segment “ 11 ” which indicates that the traffic should be forwarded to the node 20 8 .
- the traffic therefore follows the path indicated by the arrow 100 . Again, this path may be calculated by OSPF-TE.
- the segment routing through the DCN may follow a standard Segment Routing implementation of stack management.
- the stack may drop the external label after each hop such that the next label in the stack becomes the external label representing the next hop.
- the stack may be preserved entirely, and instead a pointer may indicate a current label to be used for forwarding in a particular hop. In the latter example, the information regarding the path taken can be preserved for the entire forwarding process.
- FIG. 6 is an example of a method according to an embodiment, for performing segment routing in a network node, the network node forming part of a non-packet data network comprising a plurality of nodes.
- the method may be performed in any of the nodes 20 1 to 20 8 of FIGS. 3 to 5 above, which form part of a data plane network 50 (and which are coupled to a DCN 40 ).
- the method comprises receiving segment routing path information, the segment routing path information identifying a path through a data communications network, DCN, connecting a plurality of nodes.
- segment routing path information may comprise node segments and/or adjacency segments as described previously.
- segment routing path information may be an SID label stack identifying a path through the data communication network, DCN connecting the nodes.
- the method comprises mapping the segment routing path information to a data plane network connecting the plurality of nodes. In this way there is a form of binding between the control plane of the DCN and the data plane of the non-packet network.
- step 605 the method comprises computing a path in the data plane network using the segment routing path information.
- this computation may involve mapping the SID label stack to the data plane network and then computing the path through the data plane network.
- the method performed in the network node may comprise receiving a segment identifier, SID, label stack, the SID label stack identifying a path through the data communication network, DCN, connecting the plurality of nodes, and mapping the SID label stack to the data plane network connecting the network of nodes.
- the method further comprises computing the path indicated by the SID label stack through the data plane network.
- the method may comprise: receiving a segment identifier, SID, label stack; reading an external label of SID label stack, wherein the external label has been extended with a traffic type identifier; computing a path to reach a node indicated in the external label, by performing a cross connection needed to reach the next hop with the required traffic type; and forwarding traffic data with an unchanged label stack to the next hop on the data communication network.
- the method may comprise: receiving a segment identifier, SID, label stack; reading an external label of SID label stack, wherein the external label has been extended with a traffic type identifier and a data plane adjacency identifier; computing a path to reach a node indicated in the external label, by performing a cross connection needed to reach the next hop with the required traffic type; and forwarding traffic data with the label stack to the next hop on the data communication network.
- the data plane adjacency identifier provides a reference to an interface to be used to forward the traffic on the data plane network.
- the adjacency SID may be dropped when forwarding the traffic data to the next hop.
- the interface may comprise a bundle of interfaces or ports, and wherein the network node is configured to decide which interface or port is to be used for forwarding. This has an advantage of providing greater flexibility, by allowing the network node itself to decide which interface/port to use.
- the interface comprises an interface or port that is pre-specified, for example an interface or port that is pre-specified using a traffic engineering protocol.
- the node which carries out the method described in FIG. 6 may be an ingress node of the network or an intermediate node. If the node is an ingress node then in step 601 the segment routing path information is received from a controller. Alternatively, if the node is an intermediate node of the network, such as nodes 20 2 to 20 7 then the segment routing path information is received from the previous node in the chain.
- FIG. 7 is a more detailed flow chart of a method which may be carried out in an SDN controller, an ingress node and an intermediate node of a network.
- step 701 path computation is performed. In some examples, this path computation takes place in an SDN controller 30 .
- a path computation element protocol (PCEP) stack comprising information relating to the segment routing path for particular data traffic is pushed to the ingress node of the communication network.
- PCEP path computation element protocol
- the PCEP stack may comprise a stack of SIDs associated with a particular path through the communication network.
- Steps 703 to 709 illustrate a method carried out by the ingress node of the communication network.
- step 703 the ingress node receives the PCEP stack and processes the external SIDs in the PCEP stack. If the SID is an adjacent segment the method passes to step 704 where the traffic type and interface identification are processed, as determined from the PCEP stack.
- the PCEP stack routing identifier is then mapped to the data plane in step 705 (which effectively binds the route determined in the control plane of a DCN to a path to be followed in a data plane network).
- the process then passes to step 708 where a cross-connection is made according to the information provided in the traffic field type, and the interface indicated in the PCEP stack. In some examples there may be a bundle of interfaces indicated in the PCEP stack, in this case only one of these interfaces is selected.
- the packet is then forwarded to the next hop.
- step 703 if it is determined that the SID is a node segment, the method passes to step 706 where the traffic type information is processed, as determined from the PCEP stack.
- the PCEP stack routing identifier is then mapped to the data plane in step 707 , and the path to the data plane node is computed. In some embodiments this path is computed by using OSPF-TE.
- step 708 the process then passes to step 708 where a cross-connection is made according to the determined paths.
- step 709 the node forwards the packet (including the PCEP stack containing the SID labels) to the next hop indicated by the DCN.
- the steps 710 to 719 describe a method which may be carried out in an intermediate or end node of the communication network.
- step 710 the intermediate node receives a segment routing (SR) packet from the previous node.
- SR segment routing
- the node processes the external SID in the label (e.g. PCEP) stack. If the SID is an adjacent segment the method passes to step 714 where the traffic type and interface identification are processed, as determined from the PCEP stack. The PCEP stack routing identifier is then mapped to the data plane network, and the process then passes to step 718 where a cross-connection is made according to the information provided in the traffic field type, and the interface indicated in the PCEP stack. In some examples there may be a bundle of interfaces indicated in the PCEP stack, in this case only one of these interfaces is selected.
- the label e.g. PCEP
- step 713 If it is determined in step 713 that the external SID is a node segment, the method passes to step 716 where the traffic type is processed, as determined from the PCEP stack.
- the PCEP stack routing identifier is then mapped (binding) to the data plane in step 717 and the path to the data plane node is computed. In some embodiments this path is computed by using OSPF-TE.
- the process then passes to step 718 where a cross-connection is made according to the determined paths.
- step 719 the node forwards the packet (including the PCEP stack containing the SID labels) to the next hop, as indicated by the DCN network.
- FIG. 8 is a block diagram showing a controller node 800 according to an embodiment, for performing segment routing in a non-packet data network comprising a plurality of nodes.
- the controller node 800 comprises a processor 801 and a memory 803 .
- the memory 803 contains instructions executable by said processor 801 .
- the controller node 800 is operative to receive information relating to the topology of the non-packet data network connecting the plurality of nodes, the non-packet network forming a data plane network.
- the controller node 800 is also operative to compute a segment routing path to be taken for non-packet traffic data through the data plane network, wherein the segment routing path is computed using segment identifiers, SIDs, relating to a data communication network, DCN, coupled to the plurality of nodes.
- the controller node 800 is further operative to send the computed segment routing path to an ingress node of the data plane network.
- controller node may be further operative to perform any of the method steps described herein for a controller node.
- FIG. 9 illustrates a network node 900 according to an embodiment, for performing segment routing.
- the network node 900 may form part of a non-packet data network comprising a plurality of nodes.
- the network node 900 comprises a processor 901 and memory 903 , the memory 903 containing instructions executable by the processor 901 .
- the network node 900 is operative to receive segment routing path information, the segment routing path information identifying a path through a data communication network, DCN, connecting the plurality of nodes.
- the network node 900 is further operative to map the segment routing path information to a data plane network connecting the plurality of nodes.
- the network node 900 is further operative to compute a path in the data plane network using the segment routing path information.
- network node may be further operative to perform any of the method steps described herein for a network node.
- FIG. 10 illustrates a controller node 1000 according to another embodiment, for performing segment routing in a non-packet data network comprising a plurality of nodes.
- the controller node 1000 comprises a first module 1001 configured to receive information relating to the topology of the non-packet data network connecting the plurality of nodes, the non-packet network forming a data plane network.
- the controller node 1000 further comprises a second module 1003 configured to compute a segment routing path to be taken for non-packet traffic data through the data plane network, wherein the segment routing path is computed using segment identifiers, SIDs, relating to a data communication network, DCN, coupled to the plurality of nodes.
- the controller node 1000 further comprises a third module 1005 configured to send the computed segment routing path to an ingress node of the data plane network.
- FIG. 11 illustrates a network node 1100 according to another embodiment, for performing segment routing.
- the network node 1100 may form part of a non-packet data network comprising a plurality of nodes.
- the network node 1100 comprises a first module 1101 configured to receive segment routing path information, the segment routing path information identifying a path through a data communication network, DCN, connecting the plurality of nodes.
- the network node 900 further comprises a second module 1103 configured to map the segment routing path information to a data plane network connecting the plurality of nodes.
- the network node 1100 further comprises a third module 1105 configured to compute a path in the data plane network using the segment routing path information.
- a computer program product having computer readable code embodied therein.
- the computer readable code is configured such that, on execution by a suitable computer or processor, the computer or processor performs the method as described herein, and as defined in the appended claims.
- segment routing in the embodiments described above also allows Traffic Engineering (TE) mechanisms to be used in embodiments comprising non-packet networks.
- TE Traffic Engineering
- the embodiments described herein take advantage of various aspects for enabling segment routing to be used in a non-packet transport network.
- the embodiments may utilize a DCN based on IPv6 with SR extensions, as defined in the Internet Engineering Task Force specification version three, “https://tools.ietf.org/html/draft-ietf-spring-segment-routing-03”.
- the embodiments may also take advantage of transport nodes being able to process IPv6 packets with SR extensions. There is no need to implement a packet switching capability on the transport nodes, but merely have the packet processing capability at the DCN layer.
- the evolution towards an IPv6 DCN for transport nodes is increasing, and DCN packet processing is usually perform at software level.
- the embodiments may also take advantage of OSPF-TE running in the transport network.
- OSPF-TE can be used to feed the centralized PCE (e.g. hosted into the SDN controller) with the topology, network availability and TE capabilities.
- the embodiments may also take advantage of a SDN controller with PCEP.
- the SDN controller is able to compute paths based on the OSPF-TE information and the inputs from an operator (or pre-configured policies). Such paths may be encoded as IPv6 Segments and pushed to the ingress node, e.g. via PCEP (which is an example way of pushing segments in segment routing).
- the embodiments described herein provide a binding of packet DCN messages (e.g. IPv6 messages with Segment Routing enabled) with a non-packet transport data plane. This allows the implementation of the Segment Routing paradigm in networks that by nature are not able to support Segment Routing.
- the embodiments also define extensions to IPv6 segment routing, namely “traffic type” and “data plane adjacency ID” used to identify the data plane resources to be used to forward the traffic.
Abstract
Description
Claims (18)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2015/050709 WO2016204662A1 (en) | 2015-06-16 | 2015-06-16 | Apparatus and method for segment routing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20180198706A1 US20180198706A1 (en) | 2018-07-12 |
US10728141B2 true US10728141B2 (en) | 2020-07-28 |
Family
ID=53502814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/736,194 Active 2035-06-24 US10728141B2 (en) | 2015-06-16 | 2015-06-16 | Apparatus and method for segment routing |
Country Status (3)
Country | Link |
---|---|
US (1) | US10728141B2 (en) |
EP (1) | EP3311538B1 (en) |
WO (1) | WO2016204662A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9537718B2 (en) | 2013-03-15 | 2017-01-03 | Cisco Technology, Inc. | Segment routing over label distribution protocol |
US9762488B2 (en) | 2014-03-06 | 2017-09-12 | Cisco Technology, Inc. | Segment routing extension headers |
US10263881B2 (en) | 2016-05-26 | 2019-04-16 | Cisco Technology, Inc. | Enforcing strict shortest path forwarding using strict segment identifiers |
WO2019011114A1 (en) * | 2017-07-14 | 2019-01-17 | Huawei Technologies Co., Ltd. | A method for establishing segment routing for ipv6 tunnel |
JP7176428B2 (en) * | 2019-02-06 | 2022-11-22 | 日本電信電話株式会社 | Control device, control method and program |
US11140074B2 (en) | 2019-09-24 | 2021-10-05 | Cisco Technology, Inc. | Communicating packets across multi-domain networks using compact forwarding instructions |
US11632325B2 (en) | 2020-03-20 | 2023-04-18 | Juniper Networks, Inc. | Utilizing domain segment identifiers for inter-domain shortest path segment routing |
US11356354B2 (en) * | 2020-04-21 | 2022-06-07 | Ciena Corporation | Congruent bidirectional segment routing tunnels |
US11165691B1 (en) * | 2020-05-19 | 2021-11-02 | Juniper Networks, Inc. | Assignment of segment identifiers in segment routing |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6111881A (en) | 1997-12-29 | 2000-08-29 | Nortel Networks Corporation | Signaling protocol for rerouting ATM connections in PNNI environments |
US6148000A (en) | 1996-10-02 | 2000-11-14 | International Business Machines Corporation | Merging of data cells at network nodes |
EP1881643A1 (en) | 2005-09-30 | 2008-01-23 | Huawei Technologies Co., Ltd. | A method for protection switching of the pseudo wire in the packet switch network and the device thereof |
US20100020797A1 (en) | 2006-12-14 | 2010-01-28 | Nortel Networks Limited | Method and apparatus for exchanging routing information and establishing connectivity across multiple network areas |
WO2013021304A1 (en) | 2011-08-11 | 2013-02-14 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing ospf in split architecture networks |
US20130195111A1 (en) | 2012-01-30 | 2013-08-01 | Telefonaktiebolaget I. M Ericsson (publ) | Shortest Path Bridging in a Multi-Area Network |
US20140112188A1 (en) | 2012-10-22 | 2014-04-24 | Avaya Inc. | Architecture For Virtualization And Distribution Of Routing Information Used In A Transport Network |
US20140169370A1 (en) * | 2012-10-05 | 2014-06-19 | Cisco Technology, Inc. | Segment Routing Techniques |
US20140321323A1 (en) | 2008-11-14 | 2014-10-30 | Rockstar Consortium Us Lp | Service Instance Applied to MPLS Network |
US8918631B1 (en) * | 2009-03-31 | 2014-12-23 | Juniper Networks, Inc. | Methods and apparatus for dynamic automated configuration within a control plane of a switch fabric |
US9450864B2 (en) * | 2013-10-11 | 2016-09-20 | Futurewei Technologies, Inc. | Using PCE as SDN controller |
US9503363B2 (en) * | 2015-03-16 | 2016-11-22 | Cisco Technology, Inc. | Segment routing label switch paths in network functions virtualization communications networks |
US9537753B2 (en) * | 2014-03-03 | 2017-01-03 | Cisco Technology, Inc. | Opaque profile identifiers for path computation element protocol |
US9660897B1 (en) * | 2013-12-04 | 2017-05-23 | Juniper Networks, Inc. | BGP link-state extensions for segment routing |
-
2015
- 2015-06-16 US US15/736,194 patent/US10728141B2/en active Active
- 2015-06-16 WO PCT/SE2015/050709 patent/WO2016204662A1/en active Application Filing
- 2015-06-16 EP EP15733939.1A patent/EP3311538B1/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148000A (en) | 1996-10-02 | 2000-11-14 | International Business Machines Corporation | Merging of data cells at network nodes |
US6111881A (en) | 1997-12-29 | 2000-08-29 | Nortel Networks Corporation | Signaling protocol for rerouting ATM connections in PNNI environments |
EP1881643A1 (en) | 2005-09-30 | 2008-01-23 | Huawei Technologies Co., Ltd. | A method for protection switching of the pseudo wire in the packet switch network and the device thereof |
US20100020797A1 (en) | 2006-12-14 | 2010-01-28 | Nortel Networks Limited | Method and apparatus for exchanging routing information and establishing connectivity across multiple network areas |
US20140321323A1 (en) | 2008-11-14 | 2014-10-30 | Rockstar Consortium Us Lp | Service Instance Applied to MPLS Network |
US8918631B1 (en) * | 2009-03-31 | 2014-12-23 | Juniper Networks, Inc. | Methods and apparatus for dynamic automated configuration within a control plane of a switch fabric |
WO2013021304A1 (en) | 2011-08-11 | 2013-02-14 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing ospf in split architecture networks |
US20130195111A1 (en) | 2012-01-30 | 2013-08-01 | Telefonaktiebolaget I. M Ericsson (publ) | Shortest Path Bridging in a Multi-Area Network |
US20140169370A1 (en) * | 2012-10-05 | 2014-06-19 | Cisco Technology, Inc. | Segment Routing Techniques |
US20140112188A1 (en) | 2012-10-22 | 2014-04-24 | Avaya Inc. | Architecture For Virtualization And Distribution Of Routing Information Used In A Transport Network |
US9450864B2 (en) * | 2013-10-11 | 2016-09-20 | Futurewei Technologies, Inc. | Using PCE as SDN controller |
US9660897B1 (en) * | 2013-12-04 | 2017-05-23 | Juniper Networks, Inc. | BGP link-state extensions for segment routing |
US9537753B2 (en) * | 2014-03-03 | 2017-01-03 | Cisco Technology, Inc. | Opaque profile identifiers for path computation element protocol |
US9503363B2 (en) * | 2015-03-16 | 2016-11-22 | Cisco Technology, Inc. | Segment routing label switch paths in network functions virtualization communications networks |
Non-Patent Citations (2)
Title |
---|
Filsfils, Clarence, et al., "Segment Routing Architecture: draft-ietf-spring-segment-routing-03," Network Working Group Internet-Draft, Internet Engineering Task Force (IETF) Specification, https://tools.ietf.org/html/draft-ietf-spring-segment-routing-03, May 28, 2015, 19 pages. |
International Search Report and Written Opinion for International Patent Application No. PCT/SE2015/050709, dated Jun. 13, 2016, 20 pages. |
Also Published As
Publication number | Publication date |
---|---|
EP3311538B1 (en) | 2019-03-27 |
WO2016204662A1 (en) | 2016-12-22 |
US20180198706A1 (en) | 2018-07-12 |
EP3311538A1 (en) | 2018-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10728141B2 (en) | Apparatus and method for segment routing | |
EP3414874B1 (en) | Border gateway protocol for communication among software defined network controllers | |
US9729348B2 (en) | Tunnel-in-tunnel source address correction | |
EP3249865B1 (en) | Method and devices for constructing label and forwarding label packet | |
US8942256B1 (en) | Advertising with a layer three routing protocol constituent link attributes of a layer two bundle | |
CN111713079A (en) | Packet network interworking including segment routing | |
EP1885081B1 (en) | Method, system and path computation element for processing distributed path computation requests | |
US9444712B2 (en) | Bandwidth on-demand services in multiple layer networks | |
EP3264695A1 (en) | Bandwidth management for resource reservation protocol lsps and non-resource reservation protocol lsps | |
CN110870261B (en) | PECP segmented routing path segmented label binding extension | |
EP3484074B1 (en) | Data center optical transport failure protection | |
EP2541847B1 (en) | Method and system for establishing an associated bidirectional label-switched path | |
US9571387B1 (en) | Forwarding using maximally redundant trees | |
EP2685685A1 (en) | Method and related apparatus for establishing link-diverse traffic paths in a telecommunications network | |
CN113452610B (en) | Seamless end-to-end segmented routing method across metropolitan area network and area border router | |
EP3484107B1 (en) | Parameter notification and obtaining methods and devices, and storage medium | |
EP3975489A1 (en) | Label deduction with flexible-algorithm | |
US10554543B1 (en) | Migrating data traffic between label switched paths (LSPs) based on per-LSP protocol priority value | |
EP3890253B1 (en) | Transport endpoint segments for inter-domain segment routing | |
EP3846392B1 (en) | Cross-domain bidirectional tunnel creation method, communication method and apparatus, and storage medium | |
CN105743787B (en) | Control method and system for label request information and up-down cursor label exchange router | |
CN117527668A (en) | Data transmission method, device, network equipment and storage medium | |
Karlsson | Performance evaluation of the centralized and the distributed computation model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL), SWEDEN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CAVIGLIA, DIEGO;CECCARELLI, DANIELE;LOMBARDI, GIANLUCA;REEL/FRAME:044388/0769 Effective date: 20150616 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |