Title: Introduction to MPLS and Traffic Engineering
1Introduction to MPLS and Traffic Engineering
2Outline
- Traditional IP Routing
- Forwarding and routing
- Problems with IP routing
- Motivations behind MPLS
- MPLS Terminology and Operation
- MPLS Label, LSR and LSP, LFIB Vs FIB
- Transport of an IP packet over MPLS
- More MPLS terminology
- Traffic Engineering with MPLS
- Nomenclature
- Requirements
- Examples
3Outline
- Traditional IP Routing
- Forwarding and routing
- Problems with IP routing
- Motivations behind MPLS
- MPLS Terminology and Operation
- MPLS Label, LSR and LSP, LFIB Vs FIB
- Transport of an IP packet over MPLS
- More MPLS terminology
- Traffic Engineering with MPLS
- Nomenclature
- Requirements
- Examples
4Forwarding and routing
- Forwarding
- Passing a packet to the next hop router
- Routing
- Computing the best path to the destination
- IP routing includes routing and forwarding
- Each router makes the forwarding decision
- Each router makes the routing decision
- MPLS routing
- Only one router (source) makes the routing
decision - Intermediate router make the forwarding decision
5IP versus MPLS routing
- IP routing
- Each IP datagram is routed independently
- Routing and forwarding is destination-based
- Routers look at the destination addresses
- May lead to congestion in parts of the network
- MPLS routing
- A path is computed in advance and a virtual
circuit is established from ingress to egress - An MPLS path from ingress to egress node is
called a label switched path (LSP)
6How IP routing works
Searching Longest Prefix Match in FIB (Too Slow)
7Problems with IP routing
- Too slow
- IP lookup (longest prefix matching) was a major
bottleneck in high performance routers - This was made worse by the fact that IP
forwarding requires complex lookup operation at
every hop along the path - Too rigid no flexibility
- Routing decisions are destination-based
- Not scalable in some desirable applications
- When mapping IP traffic onto ATM
8IP routing rigidity example
D
1
1
A
A
B
S
B
1
2
C
- Packet 1 Destination A
- Packet 2 Destination B
- S computes shortest paths to A and B finds D as
next hop - Both packets will follow the same path
- Leads to IP hotspots!
- Solution?
- Try to divert the traffic onto alternate paths
9IP routing rigidity example
D
1
4
A
A
B
S
B
1
2
C
- Increase the cost of link DA from 1 to 4
- Traffic is diverted away from node D
- A new IP hotspot is created!
- Solution(?) Network Engineering
- Put more bandwidth where the traffic is!
- Leads to underutilized links not suitable for
large networks
10Motivations behind MPLS
- Avoid slow IP lookup
- Led to the development of IP switching in 1996
- Provide some scalability for IP over ATM
- Evolve routing functionality
- Control was too closely tied to forwarding
- Evolution of routing functionality led to some
other benefits - Explicit path routing
- Provision of service differentiation (QoS)
11IP routing versus MPLS routing
Traditional IP Routing
Multiprotocol Label Switching (MPLS)
2
1
S
D
3
5
4
MPLS allows overriding shortest paths!
12Outline
- Traditional IP Routing
- Forwarding and routing
- Problems with IP routing
- Motivations behind MPLS
- MPLS Terminology and Operation
- MPLS Label, LSR and LSP, LFIB Vs FIB
- Transport of an IP packet over MPLS
- More MPLS terminology
- Traffic Engineering with MPLS
- Nomenclature
- Requirements
- Examples
13MPLS label
- To avoid IP lookup MPLS packets carry extra
information called Label - Packet forwarding decision is made using
label-based lookups - Labels have local significance only!
- How routing along explicit path works?
IP Datagram
Label
14Routing along explicit paths
- Idea Let the source make the complete routing
decision - How is this accomplished?
- Let the ingress attach a label to the IP packet
and let intermediate routers make forwarding
decisions only - On what basis should you choose different paths
for different flows? - Define some constraints and hope that the
constraints will take some traffic away from
the hotspot! - Use CSPF instead of SPF (shortest path first)
15Label, LSP and LSR
- Label
- Router that supports MPLS is known as label
switching router (LSR) - An Edge LSR is also known as LER (edge router)
- Path which is followed using labels is called LSP
16LFIB versus FIB
- Labels are searched in LFIB whereas normal IP
Routing uses FIB to search longest prefix match
for a destination IP address - Why switching based on labels is faster?
- LFIB has fewer entries
- Routing table FIB has very large number of
entries - In LFIB, label is an exact match
- In FIB, IP is longest prefix match
17Mpls Flow Progress
D
R1
R2
LSR4
LSR1
D
destination
LSR6
LSR3
LSR2
R1 and R2 are regular routers
LSR5
1 - R1 receives a packet for destination D
connected to R2
18Mpls Flow Progress
D
R1
R2
LSR4
LSR1
D
destination
LSR6
LSR3
LSR2
LSR5
2 - R1 determines the next hop as LSR1 and
forwards the packet (Makes a routing as well as
a forwarding decision)
19Mpls Flow Progress
R1
R2
LSR4
LSR1
D
31
D
destination
LSR6
LSR3
LSR2
LSR5
3 LSR1 establishes a path to LSR6 and PUSHES
a label (Makes a routing as well as a forwarding
decision)
20Mpls Flow Progress
R1
R2
LSR4
LSR1
D
destination
LSR6
LSR3
D
17
LSR2
Labels have local signifacance!
LSR5
4 LSR3 just looks at the incoming label LSR3
SWAPS with another label before forwarding
21MPLS Flow Progress
R1
R2
LSR4
LSR1
D
destination
LSR6
LSR3
D
17
LSR2
Path within MPLS cloud is pre-established LSP
(label-switched path)
LSR5
5 LSR6 looks at the incoming label LSR6 POPS
the label before forwarding to R2
22MPLS and explicit routing recap
- Who establishes the LSPs in advance?
- Ingress routers
- How do ingress routers decide not to always take
the shortest path? - Ingress routers use CSPF (constrained shortest
path first) instead of SPF - Examples of constraints
- Do not use links left with less than 7Mb/s
bandwidth - Do not use blue-colored links for this request
- Use a path with delay less than 130ms
23CSPF
- What is the mechanism?
- First prune all links not fulfilling constrains
- Now find shortest path on the rest of the
topology - Requires some reservation mechanism
- Changing state of the network must also be
recorded and propagated - For example, ingress needs to know how much
bandwidth is left on links - The information is propagated by means of routing
protocols and their extensions
24More MPLS terminology
Upstream
Downstream
172.68.10/24
LSR1
LSR2
25Label advertisement
- Always downstream to upstream label advertisement
and distribution
Downstream
Upstream
171.68.32/24
LSR2
LSR1
26Label advertisement
- Label advertisement can be downstream unsolicited
or downstream on-demand
Downstream
Upstream
171.68.32/24
LSR2
LSR1
Downstream
Upstream
171.68.32/24
LSR1
LSR2
27Label distribution
- Label distribution can be ordered or unordered
- First we see an example of ordered label
distribution
Label
28Label distribution
- Label distribution can be ordered or unordered
- Next we see an example of unordered label
distribution
Label
Label
29Label retention modes
- Label retention can be conservative or liberal
?
Destination
Label
LSR1
Label
30Label operations
- Advertisement
- Downstream unsolicited
- Downstream on-demand
- Distribution
- Ordered
- Unordered
- Retention
- Liberal
- Conservative
31Outline
- Traditional IP Routing
- Forwarding and routing
- Problems with IP routing
- Motivations behind MPLS
- MPLS Terminology and Operation
- MPLS Label, LSR and LSP, LFIB Vs FIB
- Transport of an IP packet over MPLS
- More MPLS terminology
- Traffic Engineering with MPLS
- Nomenclature
- Requirements
- Examples
32Traffic Engineering
- Traffic Engineering with MPLS
- (Application of CSPF)
33What is traffic engineering?
- Performance optimization of operational networks
- optimizing resource utilization
- optimizing traffic performance
- reliable network operation
- How is traffic engineered?
- measurement, modeling, characterization, and
control of Internet traffic - Why?
- high cost of network assets
- service differentiation
34Traffic engineering
- Recall the IP hotspot problem
- The ability to move traffic away from the
shortest path calculated by the IGP (such as
OSPF) to a less congested path - IP changing a metric will cause ALL the traffic
to divert to the less congested path - MPLS allows explicit routing (using CSPF) and
setup of such explicitly computed LSPs
35MPLS-TE How to do it?
- LSPs are set up by LSRs based on information they
learn from routing protocols (IGPs) - This defeats the purpose!
- If we were to use shortest path, IGP was okay
36MPLS TE How we actually do it?
- MPLS TE Requires
- Enhancements to routing protocols
- OSPF-TE
- ISIS-TE
- Enhancement to signaling protocols to allow
explicit constraint based routing - RSVP-TE and CR-LDP
- Constraint based routing
- Explicit route selection
- Recovery mechanisms defined
37Signaling mechanisms
- RSVP-TE
- Extensions to RSVP for traffic engineering
- BGP-4
- Carrying label information in BGP-4
- CR-LDP
- A label distribution protocol that distributes
labels determined based on constraint based
routing - RSVP-TE and CR-LDP both do label distribution and
path reservation use any one of them!
38RSVP-TE
Basic flow of LSP set-up using RSVP
39RSVP-TE PATH Message
- PATH message is used to establish state and
request label assignment - R1 transmits a PATH message addressed to R9
40RSVP-TE RESV Message
- RESV is used to distribute labels after reserving
resources - R9 transmits a RESV message, with label3, to R8
- R8 and R4 store outbound label and allocate an
inbound label. They also transmits RESV with
inbound label to upstream LSR - R1 binds label to forwarding equivalence class
(FEC)
41Rerouting LSP tunnels
- When a more optimal route/path becomes
available - When a failure of a resource occurs along a TE
LSP - Make-before-break mechanism
- Adaptive, smooth rerouting and traffic transfer
before tearing down the old LSP - Not disruptive to traffic
42Recovering LSP tunnels
LSP Set-up
43Protection LSP set up
44Protection LSP
45References
- RFC 2702 Requirements for Traffic Engineering
Over MPLS - RFC 3031 Multiprotocol Label Switching
Architecture - RFC 3272 Overview and Principles of Internet
Traffic Engineering - RFC 3346 Applicability Statement for Traffic
Engineering with MPLS - MPLS Forum (http//www.mplsforum.org)