MPLS. MultiProtocol Label Switching. Purpose. Tarik Cicic University of Oslo December 2001
MPLS Tarik Cicic University of Oslo December 2001
MultiProtocol Label Switching • • • • •
Purpose history technology overview traffic engineering ou...
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
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