MPLS Tarik Cicic University of Oslo December 2001 MultiProtocol Label Switching • • • • • Purpose history technology overview traffic engineering outlooks 2 Purpose • Improving the L3 (IP) services by effective utilization of switching • “MultiProtocol”: applicable to different protocols, not only IP • “Label Switching”: packet forwarding by label lookup (instead of routing table) 3 1 Label Switching IP packet Payload Header Label The label-extended packets are forwarded by Label-Switching Routers 4 Traditional routers Dest 192.34.x.x 192.x.x.x default Int. 1 2 1 IP ATM PHY 5 Label-Switching Routers VPI/VCI 131/17 12/44 42/77 IP Port 1/12/15 2/32/9 1/12/99 ATM PHY 6 2 History • Ca. 1997, Ipsilon Networks • problem: slow IP routing table lookup • dynamic label associations to “eligible” flows (“Data Trigger”) • later: labels assigned according to the routing information (before the flow starts) • now: traffic engineering in focus 7 Flow • Contiguous sequence of packets following the same network path from the source to the receiver • a flow can be distinguished using – source and destination address and port – flow ID in the header – any other combination of header fields 8 Flows and labels • Each flow has a unique label • labels can be stacked, providing an n-level hierarchy, allowing flow aggregation • example: – no label in non-MPLS network – one label in flat networks – two labels for inter/intra-domain routing • Label ”push” and ”pop”, together with ”swap” 9 3 Data trigger • Routers keep “flow statistic” • if a flow has more than x packets in y seconds – assign a label – inform the neighbor – append the label to all coming packets • else – keep routing this flow at Layer 3 10 MPLS effect on delay Routing Kernel and Switch Controller Delay = 2* Switch time + processing time ATM switch 11 Data Trigger in action L3 L2 L3 L2 L3 L2 Send Rec REDIRECT • When router R3 accepts more than x packets belonging to flow f in y seconds, it sends a “redirect” message to the upstream router R2 12 4 Data Trigger in action L3 L2 L3 L2 L3 L2 Send Rec ACK • R2 appends a label to all future packets of f. The same action is repeated between all routers 13 Data Trigger in action L3 L2 L3 L2 L3 L2 Send Rec • Routers remove the labels from the switching tables after a period of inactivity. 14 Data Trigger analyze • Simulations and analysis of traces from real-life showed that size order 80% flows would justify switching • short or bursty flows are problematic • packet counting is resource consuming • flow aggregation needs additional knowledge 15 5 Control Trigger • Labels are assigned to flows already when the appropriate routing info is available • extended routing opens for traffic engineering (network path manipulation) • a separate Label Distribution Protocol maintains the label consistency throughout the network 16 Traffic engineering • A data flow is leaded through the network using another path than the L3 routing would choose 3 5 3 4 1 5 2 3 5 2 • a 3Mb/s flow can be identified and given a label to be switched 1-3-4-5 (Label Switched Path) 17 LSP setup • Manual • together with other mechanisms: – RSVP (resource information for path computation) – DiffServ (trunks can have priorities) – recovery (protection) • two levels of routing (IP + LSP) 18 6 Traffic engineering • Solves long lasting traffic jams • routing based on traffic and resource information (in addition to topology) • periodic and triggered updates (when thresholds Tr2 Tr1 passed) 92% 90% 85% 75% 50% 19 Traffic Engineering – Policing • The flow ID can be used to support perflow routing policies • 32-bit “resource-class affinity string” + 32bit mask (CISCO) • assigns tunnels over the links 20 4-bit tunnel setup example 4 0000 1 0000 2 0000 0000 0000 5 3 • Trunk A to B = 0000, t-mask = 0011 • 1-2-3-5 and 1-2-4-3-5 are possible 21 7 4-bit tunnel setup example (2) 4 0000 1 0000 2 0000 0010 0000 5 3 • Trunk A to B = 0000, t-mask = 0011 • only 1-2-4-3-5 is possible 22 Protection • “Protection” is another name for data path recovery • idea: – create an alternative path for a flow – do not use it until the primary path fails – then quickly mark the alternative path active • research area today 23 MPLS summary • First: – designed as a performance improvement for IP networks – simple and efficient • now: – traffic engineering support – complex, becoming heavy-weight 24 8 MPLS Summary (2) • There is no a single network function which cannot be performed without MPLS • it is highly discussable if MPLS provides any performance improvement • CISCO’s “favorite” technology 25 9