Segment Routing – Introduction
MPLS environments have a number of control and data plane elements. In a BGP free core, it operates at network edges participating in full mesh or route reflection design. BGP is used to pass customer routes, Interior Gateway Protocol (IGP) to pass loopbacks and Label Distribution Protocol (LDP) to label the loopbacks. LDP or RSVP establish MPLS label-switched paths ( LSPs ) throughout network domain. Labels are assigned to the BGP next hops on every router where the IGP in the core provides reachability for remote PE BGP next hops.
As you can see there are a number of control plane elements that interact to provide complete end-to-end reachability. The control plane is performed on a hop-by-hop basis, which creates network state and potential for synchronization problems between LDP and IGP.
Packet loss can occur in two scenarios when the actions of IGP and LDP are not synchronized. Firstly, when an IGP adjacency is established, the router begins to forward packets using the new adjacency before the actual LDP exchange occurs between peers on that link. Secondly, when a LDP session terminates, the router continues to forward traffic using the existing LDP peer link. This issue is resolved by implementing network kludges and turning on auto synchronization between IGP and LDP. Additional configurations are needed just to get these two-control planes operating safely.
Keep Complexity to Edges
In 2002, IETF published RFC: RFC 3439 – Some Internet Architectural Guideline and Philosophy. Its states “In short, the complexity of the Internet belongs at the edges and the IP layer of the Internet should remain as simple as possible.” When applying this concept to traditional MPLS-based networks we need a way to bring additional network intelligence and enhanced decision-making to network edges. Segment Routing is a way to bring intelligence to the edge and Software Defined Networking (SDN) concepts to MPLS-based architectures.
Solution – Segment Routing
Segment Routing is a new architecture built with SDN in mind. The idea to separate data and control plane is all about network simplification. SDN is a great concept and; now, we need to take this concept and integrate it to today’s networks. SDN concept of simplification is a driver for the introduction of Segment Routing.
Segment Routing utilizes the basics of MPLS but with less protocols, less-protocol interaction and less state and is applied to MPLS architecture with no change to the forwarding plane. Existing devices that currently switch based on labels may only need a software upgrade. The overall concept is based on source routing. Source chooses the path you take through the network. It steers a packet through an ordered list of instructions, called segments. Like MPLS, Segment Routing is based on label switching but without LDP or RSVP. Labels are called segments and we still have push, swap, pop actions. You do not keep state in the middle of the network as the state is in the packet instead. In the packet header you put a list of segments. A segment is basically an instruction – if you want to go to C use A-B-C.
With Segment Routing Per flow state is only maintained at the ingress node to the domain
It is all about getting the concept of a flow, mapping it to a segment and putting that segment on a dedicated path. It keeps the properties of resilience ( fast reroute) but simplifies the approach with less protocols. It provides enhanced packet forwarding behavior while minimizing the need to maintain network state.
Two type of initial segments defined: Nodel and Adjacency
Nodel label: Nodel label is globally unique to each node. For example node labeled “Dest” has label 65 assigned to it so any ingress network traffic with label 65 goes straight to Dest. By default, it will take the best path.
Adjacency label: locally significant label that takes packets to an adjacent path. It forces packets through a specific link and offers more specific path forwarding than a nodel label.
A New Business Model
Segment Routing aims to address current issues and brings forward a new business model. It aims to address the pain points of current MPLS/IP networks, in terms of simplicity, scale and ease of operation. Preparing the network with an SDN approach allows application integration directly on top of it.
Segment Routing allows you to take certain traffic types and make a routing decision based on that traffic class. It permits you to take traffic that you think is important such as Video or Voice to go a different way than best efforts traffic. Traffic paths can be programmed end-to-end for a specific class of customer. It moves away from the best-path model by looking at the network and making a decision at source. Very similar to MPLS but you are using the labels in a different way.
SDN Controller & Network Intelligence
Controller-based networks sit perfectly with this technology. It’s a very centralized and controller application methodology. The SDN controller gathers network telemetry information, makes a decision based on a predefined policy and pushes information to nodes to implement data path forwarding. Network intelligence such as link utilization, path response time, packet drops, latency, and jitter are extracted from the network and analyzed by the controller. The intelligence now sits at the edges. The packet takes a path based on the network telemetry information extracted by the controller. The end result is ingress node can push a label stack to destination, so it will take a specific path.
The path that you have chosen at the edge of the network based on telemetry information.
Additional information on SR at IPspace.net