Segment routing is a new routing mechanism where the source node specifies a forwarding path by encoding it in the packet header as ordered list of instructions. These instructions are called segments. The most general segment instruction is to forward packet to a certain node through the shortest path or through certain link, but segment can also be used for example to forward packet through certain service or service chain.
Segment Routing can be implemented using either MPLS or IPv6 forwarding plane. In MPLS case the segment is encoded as label and segment list as stack of labels. Node processes the top segment (label) and when the segment is completed, the related label is popped. This means that the Segment Routing can use the existing MPLS forwarding paradigm without any change.
Segment Routing IPv6 forwarding plane uses a new routing header where segments are encoded as IPv6 addresses. Destination address of the packet indicates the current active segment. When a segment is completed, the segments left field in routing header is decremented and destination address is updated to next segment in the segment list.
Segment Routing uses existing IGPs IS-IS and OSPF for distributing segments withing IGP domain. These segments are called IGP segments and they are associated with prefixes and adjacencies in the IGP domain. IGP segment distribution is implemented using extensions for IS-IS and OSPF.
Segment Routing has the following advantages:
Simplification. Because IGP is used to distribute labels, no separate protocols are needed (LDP, RSVP). This simplifies configuration, operations and troubleshooting.
Network state reduction. Unlike RSVP, Segment Routing doesn’t need to signal path or maintain state on every intermediary node on a path. The source node encodes the path as segments and intermediary nodes forward the packet based on the segment instructions. This enables Segment Routing to scale to much greater number of tunnels compared to RSVP.
Native ECMP. Segment Routing supports native Equal Cost Multipath forwarding and ECMP aware traffic engineering path computation algorithms.
Fast reroute. Topology Independent Fast Reroute (TI-LFA) provides simple method for providing sub 50msec protection from link or node failures in any topology. Optimal backup path is automatically calculated by IGP and doesn’t require pre-signaling of detour paths.
Traffic engineering. Segment Routing Traffic Engineering (SRTE) provides simple and scalable method for engineering traffic flows. Path can defined explicitly or computed dynamically using constraints such as metric, disjointness or SRLG.
Interworking with existing networks. Segment Routing can interwork with existing LDP networks using mapping server. Co-existence with other label distribution protocols on a same network is also possible.
Segment Routing is emerging as a popular Software Defined Networking (SDN) technology for service providers and large data centers. It is simple yet powerful and can be seamlessly integrated with existing networks. In the next post I will explain the different segment types.