Multiprotocol Label Switching (MPLS)
Label Switching Motivation
• The need to evolve the routing architecture of IP networks • The need for greater performance characteristics • The seemingly ever-increasing complexity of mapping IP to ATM • Scalability • The need to add new routing functionality
A Brief History
IP Switching by Ipsilon Cell Switching Router (CSR) by Toshiba Tag Switching by Cisco Aggregate Route-base IP Switching (ARIS) by IBM • The Multiprotocol Label Switching Working Group ( IETF )
ATM IP
• • • •
Network Layer Routing Functional Components
• Forwarding
Responsible for the actual forwarding of packets from input to output across a switch or router
• Control
Responsible for construction and maintenance of the forwarding table
Conventional routing model
• In a traditional connectionless network, every router along the path makes an independent forwarding decision for every packet. • In an IP network, this process involves matching the destination address stored in the IP header of each packet with the most specific route obtained from the IP routing table. • Processor-intensive. • Occurs at every node along the end-toend path.
IP Routing
D est 4 7 .1 4 7 .2 4 7 .3 O ut 1 2 3 D est 4 7 .1 4 7 .2 4 7 .3 O ut 1 2 3
3
D est 4 7 .1 4 7 .2 4 7 .3 O ut 1 2 3
1 47.1 2
3
1 2
1 47.2 2
47.3 3
Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.
IP forwarding used by hop-by-hop control
D est 4 7 .1 4 7 .2 4 7 .3 O ut 1 2 3
D est 4 7 .1 4 7 .2 4 7 .3 O ut 1 2 3
1 47.1 1 2 IP 47.1.1.1 2 IP 47.1.1.1
D est 4 7 .1 4 7 .2 4 7 .3
O ut 1 2 3
3 IP 47.1.1.1 1
47.3 3 2 IP 47.1.1.1
47.2
Label Switching forwarding model
• Optimum paths through the network are identified in advance. • Label Switching ingress devices use information in the layer-3 header to assign the packets to one of the predetermined paths - label assignment. • The label accompanies the packet as it traverses the network. • Subsequent routers along the path use the label to determine the next hop device. • Label Switching devices only manipulate information in the label, processor-intensive analysis and classification of the layer-3 header occurs only at the ingress point.
Label Switched forwarding model
Intf Label Dest Intf Label In In Out Out 3 0.50 47.1 1 0.40
Intf Dest Intf Label In Out Out 3 47.1 1 0.50
1 47.3 3 2 IP 47.1.1.1
Intf In 3
Label Dest Intf In Out 0.40 47.1 1
IP 47.1.1.1 1 47.1 3 2
IP 47.1.1.1
.1.1 3 47.1 IP
1 2
47.2
What is a Label
A label is a short, fixed-length entity, with no internal structure. A label does not directly encode any of the information from the network layer header. For example, a label does not directly encode network layer addresses (neither source nor destination addresses)
AF LA PA TLV JFK JFK GZ JFK LA JFK ME JFK ME ME JFK JFK AF AF FEC Afghanistan
FEC Middle East FEC USA
JFK USA USA USA
A label by any other name...
There are many examples of label substitution protocols already in existence.
• ATM - label is called VPI/VCI and travels with cell. • Frame Relay - label is called a DLCI and travels with frame. • X25 - a label is an LCN • Proprietary PORS, TAG etc…
Label stack Router (LSR)
• A label stack router is an label switching node that is also capable of forwarding native layer-3 packets. • Edge LSRs are devices that implement the control and forwarding components of both label switching and conventional routing:
• An ingress node connects the label switching network with a node that does not execute label switching functionality. The ingress node handles traffic as it enters the label switching network. • An egress node connects the label switching network with a node that does not execute label switching functionality. The egress node handles traffic as it leaves the label switching network.
Route at edge, Switch in core
IP
IP
#L1
IP
#L2
IP
#L3
IP
IP Forwarding
LABEL SWITCHING
IP Forwarding
Forwarding Equivalence Classes
• Forwarding equivalency class (FEC)
• A FEC is a group of layer-3 packets that are forwarded in the same manner. • All packets in this group follow the same network path and have the same prioritization. Packets within an FEC may have different layer-3 header information. • However, to simply make a forwarding decision, these packets are indistinguishable.
• Common examples of FEC groups are:
• A set of packets that are treated by the router in the same way (sent to the same next hop).
• FEC is identified by a label.
Forwarding Equivalence Classes
LER LSR LSR LER
LSP IP1 IP1 IP2 #L1 #L1 IP1 IP2 #L2 #L2 IP1 IP2 #L3 #L3 IP2
Packets are destined for different address prefixes, Packets are destined for different address prefixes, but can be mapped to common path but can be mapped to common path
• FEC = “A subset of packets that are all treated the same way by a router” (i.e. they are all sent to the same next hop) • The concept of FECs provides for a great deal of flexibility and scalability • In conventional routing, a packet is assigned to a FEC at each hop (i.e. L3 look-up – processor intensive ).
Label switching Forwarding Algorithm
Conventional Routing architecture
Routing function Forwarding algorithm Unicast Routing Unicast Routing with ToS
Longest Match on destination + exact match on Type of Service
Multicast Routing
Longest Match on source address + exact match on source address, destination address, and incoming interface
Longest Match on destination address
Label Switching architecture
Routing function Forwarding algorithm Unicast Routing Unicast Routing with ToS Common forwarding (label swapping) Multicast Routing
Multiprotocol: above and below
Network layer protocols
IPv6
IPv4
IPX
AppleTalk
Label Switching Point-to-Point Frame Relay
Ethernet
FDDI
ATM
Link layer protocols
Label switching Control component
Procedure for Network layer routing creating binding protocols between labels (e.g., OSPF, BGP, PIM) and FECs
Procedure for distribution information about created label binding
Maintenance of forwarding table
Upstream Vs. Downstream Label Binding
Packets with label X Binding Information For label X Binding Information For label X
Packets with label X
Downstream
Upstream
Control driven vs. data driven
An LSR creates or destroys a binding between a label and an FEC as a result of a particular event. Such an event could be triggered either by data packets that have to be forwarded by the LSR or by control (routing) information (e.g., OSPF routing updates, PIM JOIN/PRUNE messages, RSVP PATH/RESV messages) that has to be processed by the LSR • Data-driven label binding: creation or destruction of binding is triggered by data packets • Control-driven label binding: creation or destruction of binding is triggered by control packets
The ability to deliver a packet to its IP destination using label switching
Destination based routing
• Mapping between the FEC and the next hop for that FEC
(provided by the routing protocol(s) running on the LSR)
LSR participates in unicast routing protocols and uses the information provided by these protocols to construct its mapping between FECs and their corresponding next hope. This mapping is used by the control component only for the purpose of constructing its forwarding table
• A local binding between the FEC and a label
The LSR takes a label from its pool of free labels. It use the label as an index to determine a particular forwarding table entry. once the entry is determined the next hop in the entry is set to the address of the next hop associated with the FEC, and the outgoing interface is set to the interface that should be used to reach the next hop
• A remote binding between the FEC and a label that is received from the next hop
LSR distribute the local binding information to other LSRs. This information consists of a set of
, where address prefix identifies a particular FEC and label defines the label value that the LSR uses for its local binding associated with the FEC
Incoming Outgoing Next tag Hop Tag
Outgoing Interface
100
?
TSR B
if1
LSR A Determines the next hop (LSR B) for the FEC associated with 192.6 Takes a label (100) from its pool of free labels
LSR A if0 if2 if1
LSR B if2 if0 if1 if2LSR E if0
if1 if0 LSR C if2
if2 if1 if0 LSR D
if1
Incoming Outgoing Next tag Hop Tag
Outgoing Interface
Incoming Outgoing Next tag Hop Tag
Outgoing Interface
100
?
LSR B
if1
6
?
LSR E
if1
LSR A if0 if2 if1
LSR B if2 if0 if1
Incoming Outgoing Next tag Hop Tag
Outgoing Interface
6
?
LSR E
if0
if2LSR E if0
if1 if0 LSR C
Incoming Outgoing Next tag Hop Tag Outgoing Interface
if2 if2 if1 if0 LSR D
Incoming Outgoing Next tag Hop Tag Outgoing Interface
if1
17
?
LSR D
if2
5
?
LSR E
if0
Each LSR starts to distribute information about its local binding to other LSRs
LSR A Incoming Outgoing Next Outgoing LSR B is next hop for 192.6; tag Hop Interface LSR A uses the information Tag (label 6) to update the 100 LSR if1 6 outgoing label entry B associated with 192.6 LSR B Sends its local binding to LSR A LSR B LSRs A, D and E Neither D nor E use B as if0 if1 if2 their next hop for 192.6
if2
if0
if1
if2LSR E if0
if1 if0 LSR C if2
if2 if1 if0 LSR D
if1
Incoming Outgoing Next tag Hop Tag
Outgoing Interface
Incoming Outgoing Next tag Hop Tag
Outgoing Interface
100
6
LSR B
if1
6
6
LSR E
if1
LSR A if0 if2 if1
LSR B if2 if0 if1
Incoming Outgoing Next tag Hop Tag
Outgoing Interface
6
?
LSR E
if0
if2LSR E if0
if1 if0 LSR C
Incoming Outgoing Next tag Hop Tag Outgoing Interface
if2 if2 if1 if0 LSR D
Incoming Outgoing Next tag Hop Tag Outgoing Interface
if1
17
5
LSR D
if2
5
6
LSR E
if0
Ordered LSP establishment
LSR A
LSR D
LSR C LSR E
label=14 FEC = 192.69 label=6 FEC = 192.69
192.69
Multiprotocol Label Switching (MPLS)
• Downstream Label assignment • On demand • Unsolicited • Labels allowed to be: • Globally unique • Unique per node
ATM
• Unique per interface
IP
MPLS Terminology
• LSP: Label Switched Path • FEC: Forwarding Equivalence Class • LSR: Label Switching Router • LER: Label Edge Router • LDP: Label Distribution Protocol
GPS TTL ATM FEC
Used Buzzwords Sale
Label stack and label hierarchies
• A labeled packet can contain more than one label. • The labels are maintained in FIFO stack. • This hierarchy is used when an MPLS node delivers a packet to a partner MPLS node, but the nodes are not consecutive routers on the hop-by-hop path for the packet. • A tunnel is created between the two MPLS nodes.
Label stack and label hierarchies
La IP Hdr Payload Lb La IP Hdr Payload
R1 Level 1 Level 2
R2
LSP tunnel
R3
R4
La IP Hdr Payload
R21
Lb La IP Hdr Payload
R22
MPLS stacks in a BGP environment
Lb La IP Hdr Payload
EBGP R4 IGP
IGP
R1
R2 EBGP
IBGP
R3
La IP hdr Payload
R21
Lb
R22 AS2 AS3
La IP Hdr Payload
AS1
LSRs and Labels
PPP Header
(Packet over SONET/SDH)
PPP Header Ethernet Hdr FR Hdr
Shim Header Shim Header Shim Header VCI
Layer 3 Header Layer 3 Header Layer 3 Header DATA
Ethernet Frame Relay
ATM Cell Header
GFC
VPI
PTI CLP HEC
Label
Subsequent cells
GFC
VPI
VCI
PTI CLP HEC
DATA
Label
MPLS Encapsulation - ATM
ATM LSR constrained by the cell format imposed by existing ATM standards ATM LSR constrained by the cell format imposed by existing ATM standards
5 Octets
ATM Header Format
Option 1 Option 2 Option 3
VPI
Label ATM VPI (Tunnel)
VCI
Label Label
PT
CLP
HEC
Combined Label
AAL 5 PDU Frame (nx48 bytes) n
•••
1 Network Layer Header and Packet (eg. IP) AAL5 Trailer
ATM SAR ATM Header ATM Payload
Generic Label Encap. (PPP/LAN format)
48 Bytes 48 Bytes
•••
• Top 1 or 2 labels are contained in the VPI/VCI fields of ATM header • One in each or single label in combined field, negotiated by LDP • Further fields in stack are encoded with ‘shim’ header in PPP/LAN format • Must be at least one, with bottom label distinguished with ‘explicit NULL’ • TTL is carried in top label in stack as a proxy for ATM header that lacks TTL
MPLS Encapsulation - Frame Relay
Q.922 Header n Generic Encap. (PPP/LAN Format) Layer 3 Header and Packet 1
•••
DLCI
C/ E R A
DLCI
FE BE D E CN CN E A
DLCI Size = 10, 17, 23 Bits
• Current label value carried in DLCI field of Frame Relay header • Can use either 2 or 4 octet Q.922 Address (10, 17, 23 bytes) • Generic encapsulation contains n labels for stack of depth n • top label contains TTL (which FR header lacks), ‘explicit NULL’ label value
MPLS Encapsulation PPP & LAN Data Links
MPLS ‘Shim’ Headers (1-n) n Layer 2 Header (eg. PPP, 802.3)
•••
1 Network Layer Header and Packet (eg. IP)
4 Octets
Label Stack Entry Format
Label
Label: Exp.: S: TTL:
Exp.
S
TTL
Label Value, 20 bits (0-16 reserved) Experimental, 3 bits (was Class of Service) Bottom of Stack, 1 bit (1 = last entry in label stack) Time to Live, 8 bits
• • • •
Network layer must be inferable from value of bottom label of the stack TTL must be set to the value of the IP TTL field when packet is first labelled When last label is popped off stack, MPLS TTL to be copied to IP TTL field Pushing multiple labels may cause length of frame to exceed layer-2 MTU • LSR must support “Max. IP Datagram Size for Labelling” parameter • any unlabelled datagram greater in size than this parameter is to be fragmented
MPLS on PPP links and LANs uses ‘Shim’ Header Inserted MPLS on PPP links and LANs uses ‘Shim’ Header Inserted Between Layer 22and Layer 33Headers Between Layer and Layer Headers
Loop Detection and Prevention
• Loop prevention: prevent the formation of a looping path before any packets are sent on it. • Loop mitigation: take steps to minimize the negative effects of loops.
Loop Detection and Prevention
• • • • Time-to-live (TTL) Hop-count object in LDP Path Vector object in LDP Colored threads
Loops and TTL
• In IP networks TTL is used to prevent packets to travel indefinitely in the network • MPLS may use same mechanism as IP, but not on all encapsulations • TTL is present in the label header for PPP and LAN headers (shim headers) • ATM cell header does not have TTL
Loops and TTL
LSR-1 LSR-2 IP packet TTL = 10 Label = 25 TTL=9 IP packet TTL = 10 Label = 39 TTL=8 IP packet TTL = 10 LSR-6 Label =21 TTL=7 LSR-4 IP packet TTL = 10 LSR-5 LSR-3
IGP domain with a label distribution protocol
IP packet TTL = 6
Egress
• Copying the IP TTL into the MPLS header when the packet is first labeled • Decrementing the MPLS TTL at each LSR • Copying the TTL from the MPLS header back into the IP TTL field when the label header is removed at the egress of the MPLS domain
Reserved Label Values
• 0. “IPv4 Explicit Null”
label encapsulation is needed but no valid label is required
• 1. “Router Alert”
tell the Router to pay more attention to packet than simply forwarding it
• 2. “IPv6 Explicit Null” • 3. “Implicit Null”
reserved for use in the Label Distribution Protocol
Label Distribution
• LDP Label distribution protocol • BGP Border gateway protocol • PIM Protocol independent multicasting • RSVP Resource reservation protocol
The protocol that allows an endpoint to request a flow with specific QoS; router along the path to the destination must agree before they approve the request
QoS CBR TE VPN
MPLS Marketing
Further topics in MPLS
• Quality of Service (QoS) • Constraint based routing (CBR) • Traffic engineering (TE) • Virtual Private Network (VPN)
Brainstorm
Traffic engineering motivation
network paths so that the resulting traffic patterns achieve a balanced utilization of resources. • Routing based on conventional interior gateway protocol (IGP) algorithms may select network paths that result in unbalanced resource utilization. • Overutilized vs. underutilized. • A limited degree of engineering can be provided by manipulating the IGP metrics associated with network links. • Difficult to manage in environments with a large number of redundant paths.
Traffic engineering: the process of selecting
Traffic engineering
• MPLS can be used in conjunction with IGP algorithms. • MPLS provides the ability to specify the specific route data packets should use to traverse the network. • By monitoring and managing these data streams, efficient utilization of network resources can be achieved. • Source routing of traditional IP routing can be used but it is processor-intensive activity.
Traffic engineering
• MPLS also provides the ability to analyze fields outside the IP packet header when determining the explicit route for a data packet. • Policies can develop based entry point. • In a traditional network, this information is only available at the ingress point.
MPLS Traffic Engineering
Find route & set-up tunnel for 20 Mb/s from POP1 to POP4 Find route & set-up tunnel for 20 Mb/s from POP1 to POP4 Find route & set-up tunnel for 10 Mb/s from POP2 to POP4 Find route & set-up tunnel for 10 Mb/s from POP2 to POP4
WAN area POP1
POP4
POP5
POP2 POP6
POP3
Quality of Service routing
There are two approaches to providing QoS routing in an MPLS environment: • The MPLS label contains class of service (CoS) information. As traffic flows through the network, this information can be used to intelligently prioritize traffic at each network hop. • The MPLS network can provision multiple paths between ingress and egress devices. Each path is engineered to provide a different level of service. Traffic is then intelligently assigned to an appropriate path as it enters the network.
MPLS-VPN What is a VPN ?
An IP network infrastructure delivering private network services over a public infrastructure • Use a layer 3 backbone • Scalability, easy provisioning • Global as well as non-unique private address space • QoS • Controlled access • Easy configuration for customers
MPLS-VPN • Provider Edge routers receive and hold routing information only about VPNs directly connected • Reduces the amount of routing information a PE router will store • Routing information is proportional to the number of VPNs a router is attached to • MPLS is used within the backbone to switch packets (no need of full routing)
MPLS-VPN Terminology
• Provider Network (P-Network)
• The backbone under control of a Service Provider
• Customer Network (C-Network)
• Network under customer control
• CE router
• Customer Edge router. Part of the C-network and interfaces to a PE router
• PE router
• Provider Edge router. Part of the P-Network and interfaces to CE routers
• P router
• Provider (core) router, without knowledge of VPN
• Border router
• Provider Edge router interfacing to other provider networks
MPLS VPN Connection Model
VPN_A 10.2.0.0 VPN_B 10.2.0.0 VPN_A 11.6.0.0 VPN_B 10.1.0.0
iBGP sessions
CE CE CE PE CE PE P P P P PE CE PE CE CE
VPN_A 11.5.0.0 VPN_A 10.1.0.0
VPN_B 10.3.0.0
• P routers (LSRs) are in the core of the MPLS cloud • PE routers use MPLS with the core and plain IP with CE routers • P and PE routers share a common IGP • PE router are MP-iBGP fully meshed
Constraint-Based Routing (CBR)
In addition to minimizing some administrative metrics (like conventional routing), constraint-based routing also selects paths that satisfy one or more constraints. Typical constraints include the available bandwidth along the path and administrative constraints.
Constraint-Based Routing
A constraint-based routing system is built from a number of components: • • • • Path selection constrained shortest path first (CSPF) Forwarding mechanism MPLS LSP setup mechanism RSVP and CR-LDP Extensions to link-state routing protocol (OSPF) distribute information about the links regarding their ability to satisfy the constraints
Path Calculation
• Modified Dijkstra at tunnel head-end Often referred to as CSPF (Constrained SPF) or PCALC (path calculation)
Path Calculation
“what’s
the shortest path to all routers?”
RtrB
• Normal SPF – find shortest path across all links
RtrF RtrE RtrG
RtrA
RtrC
RtrD
Path Calculation
“what’s
the shortest path to all routers?”
• Normal SPF – find shortest path across all links
RtrA
Path Calculation
“what’s
the shortest path to all routers?”
RtrB
• Normal SPF – find shortest path across all links
RtrA
RtrC
Path Calculation
“what’s
the shortest path to all routers?”
RtrB
• Normal SPF – find shortest path across all links
RtrA
RtrC
RtrD
Path Calculation
“what’s
the shortest path to all routers?”
RtrB
• Normal SPF – find shortest path across all links
RtrA
RtrE
RtrC
RtrD
Path Calculation
“what’s
the shortest path to all routers?”
RtrB
• Normal SPF – find shortest path across all links
RtrF RtrE RtrG
RtrA
RtrC
RtrD
Path Calculation
“what’s
the shortest path to all routers?”
RtrB
• Normal SPF – find shortest path across all links
RtrF RtrE RtrG
RtrA
RtrC
RtrD
Path Calculation
“what’s
the shortest path to all routers?”
RtrB
• Normal SPF – find shortest path across all links
RtrF RtrE RtrG
RtrA
RtrC
RtrD
Path Calculation
“what’s
the shortest path to all routers?”
RtrB
• Normal SPF – find shortest path across all links
RtrF RtrE RtrG
RtrA
RtrC
RtrD
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3 DS3 RtrG OC3 RtrC DS3 RtrD DS3 OC3 RtrE OC3 RtrF
“what’s the shortest path to router F with 40Mb available??”
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
“what’s the shortest path to router F with 40Mb available??”
RtrA
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3
“what’s the shortest path to router F with 40Mb available??”
OC3 RtrC
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3
“what’s the shortest path to router F with 40Mb available??”
OC3 RtrC DS3 RtrD
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3 DS3 OC3 RtrC DS3 RtrD RtrE
“what’s the shortest path to router F with 40Mb available??”
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3 DS3 RtrG OC3 RtrC DS3 RtrD OC3 RtrE OC3 RtrF
“what’s the shortest path to router F with 40Mb available??”
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3 DS3 RtrG OC3 RtrC DS3 RtrD DS3 OC3 RtrE OC3 RtrF
“what’s the shortest path to router F with 40Mb available??”
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3 DS3 RtrG OC3 RtrC DS3 RtrD DS3 OC3 RtrE OC3 RtrF
“what’s the shortest path to router F with 40Mb available??”
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3 DS3 RtrG OC3 RtrC DS3 RtrD OC3 RtrE OC3 RtrF
“what’s the shortest path to router F with 40Mb available??”
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3 DS3 OC3 RtrC DS3 RtrD RtrE OC3 RtrF
“what’s the shortest path to router F with 40Mb available??”
Path Calculation
• Constrained SPF – find shortest path to a specific node • Consider more than just link cost!
RtrB RtrA OC3 DS3 RtrE OC3 RtrF
“what’s the shortest path to router F with 40Mb available??”
Path Calculation • “But Wait! There’s nothing different between the two SPF results!”
Path Calculation
“what’s the shortest path to router G with 40Mb available??”
RtrB RtrA OC3 5MB RtrG OC3 RtrC DS3 RtrD DS3 OC3 RtrE OC3
• What about the 2nd path? • Available bandwidth has changed!
RtrF
Path Calculation
“what’s the shortest path to router G with 40Mb available??” • What about the 2nd path? • Available bandwidth has changed!
RtrA
Path Calculation
“what’s the shortest path to router G with 40Mb available??”
RtrB RtrA OC3
• What about the 2nd path? • Available bandwidth has changed!
OC3 RtrC
Path Calculation
“what’s the shortest path to router G with 40Mb available??”
RtrB RtrA OC3
• What about the 2nd path? • Available bandwidth has changed!
OC3 RtrC DS3 RtrD
Path Calculation
“what’s the shortest path to router G with 40Mb available??”
RtrB RtrA OC3 5MB OC3 RtrC DS3 RtrD RtrE
• What about the 2nd path? • Available bandwidth has changed!
Path Calculation
“what’s the shortest path to router G with 40Mb available??”
RtrB RtrA OC3 5MB OC3 RtrC DS3 RtrD RtrE
• What about the 2nd path? • Available bandwidth has changed!
Path Calculation
“what’s the shortest path to router G with 40Mb available??”
RtrB RtrA OC3
• What about the 2nd path? • Available bandwidth has changed!
OC3 RtrC DS3 RtrD
Path Calculation
“what’s the shortest path to router G with 40Mb available??” • What about the 2nd path? • Available bandwidth has changed!
RtrA
OC3 RtrC DS3 RtrD
Path Calculation
“what’s the shortest path to router G with 40Mb available??” • What about the 2nd path? • Available bandwidth has changed!
RtrA
RtrE
OC3 RtrC DS3 RtrD
DS3
Path Calculation
“what’s the shortest path to router G with 40Mb available??” • What about the 2nd path? • Available bandwidth has changed!
RtrF RtrA RtrE OC3 RtrG OC3 RtrC DS3 RtrD DS3 OC3
Path Calculation
“what’s the shortest path to router G with 40Mb available??” • What about the 2nd path? • Available bandwidth has changed!
RtrA
RtrE RtrG
OC3 RtrC DS3 RtrD
DS3
OC3
Path Calculation
• End result: - bandwidth used efficiently!
Node B C D E F G
Next-Hop B C C B Tunnel0 Tunnel1
Cost 10 10 20 20 30 30
RtrB RtrA OC3 DS3 RtrE OC3
RtrF
RtrG OC3 RtrC DS3 RtrD DS3 OC3
References
Rosen E, Viswanathan A. Multiprotocol Label Switching Architecture, RFC 3031, January 2001. Davie B, Rekhter Y. MPLS: Technology and Applications. Morgan Kaufmann Publishers: New York, 2000. Rodriguez A, Gatrell J, Karas J, Peschke R TCP/IP Tutorial and Technical Overview, IBM Corporation, International Technical Support Organization, August 2001 Advanced Topics in MPLS-TE Deployment, Cisco White Paper Xiao X, Hannan A, Bailey B, Ni LM. Traffic Engineering with MPLS in the Internet