IP packet forwarding techniques traditionally have relied on taking the shortest path to the destination IP address. But forcing different traffic types on different paths is often useful depending on application type. For example, real-time UC&C applications typically prefer low-latency, low-jitter paths, while large data applications prefer high-bandwidth paths with low packet loss. Segregating traffic according to application need is very useful. However, policy routing is painful to set up, and is static (or perhaps nearly dynamic, if you have excellent automation tools).
We've also found the need to use policy when arbitrating among multiple applications that want the same service class. Which application gets the bandwidth when a bandwidth allocation for a traffic class is full? How does the network tell the applications that no bandwidth remains in the desired traffic class? That's where software-defined networking (SDN) is desirable -- traffic forwarding selected by an application or by a traffic policy manager (see the International Multimedia Telecommunications Consortium's whitepaper on automating UC quality-of-experience services). The OpenFlow protocol has captured interest for its ability to apply policies dynamically. Now a relatively new technology offers an alternative approach: segment routing (SR).
What Is Segment Routing?
SR is an SDN technology whose packet-forwarding mechanism serves as an alternative to OpenFlow. Created by Cisco, SR is making its way through the IETF standardization process. Several vendors are implementing it, and some customers are using it.
A team of experienced networking professionals took a close look at SR in a recent one-dayTech Field Day event. You can find lots of documents about SR on the Internet, but I found that many of them gloss over important details (like assigning labels to each router/node). For some good, detailed background on SR, see:
SR uses a path-label mechanism (Multi-Protocol Label Switching, or MPLS, labels in IPv4 or a path shim header in IPv6) to specify the route packets must take through a network. The packets must go through each node in the label path, but may go through other intermediary nodes as well, making it function much like the IPv4 loose-source-routing mechanism. The loose-source-routing mechanism reduces the number of labels needed to route a packet to its desired destination. The network forwards packets along the shortest path between nodes in the label list.
Read the rest of this article on NoJitter.