Post on 18-Dec-2015
This teaching material is a part of e-Photon/ONe Master study in Optical Communications and Networks
Course and module:
Author(s):
This tutorial is licensed under the Creative Commonscreativecommons.org/licenses/by-nc-sa/3.0/
http://www.e-photon-one.org
Optical Core Networks
MPLS - basics
Piero Castoldi, Scuola Superiore Sant’Anna, castoldi@sssup.it
Revision: 16/2/2008
2 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Outline
• MPLS fundamentals
• Label Encapsulation
• Label Distribution methods
CREDIT: some figures are taken from the presentation “MPLS tutorial” by Peter Ashwood-Smith Bilel N. Jamoussi
Revision: 16/2/2008
3 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
What is MPLS?
MPLS stands for “Multi-Protocol Label Switching”
MPLS is an IETF–specified framework that provides for the efficient control of traffic flows through the network regardless of transport media.
MPLS controls the way of mapping Layer 3 data flow onto Layer 2 traffic between adjacent network nodes without concern how Layer 2 or Layer 3 traffic is transported (That’s why it called ‘Multiple Protocol’)
MPLS supports the IP, ATM, and frame-relay Layer-2 protocols, even though it is appreciate as a more effective means of deploying IP networks across ATM-based WAN backbones.
MPLS incorporate best properties in both packet routing (IP) and circuit switching (ATM)
Packet Routing Hybrid Circuit switching
IP ATMMPLS + IP
Revision: 16/2/2008
4 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Multi Protocol Label Switching
(MPLS) fundamentals
Revision: 16/2/2008
5 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
“Label Substitution”, what is it? (1)
• BROADCAST: Go everywhere, stop when you get to B, never ask for directions.
• HOP BY HOP ROUTING: Continually ask who’s closer to B go there, repeat … stop when you get to B. “Going to B? You’d better go to X, it is on the way”.
• SOURCE ROUTING: Ask for a list (that you carry with you) of places to go that eventually lead you to B. “Going to B? Go straight 5 blocks, take the next left, 6 more blocks and take a right at the lights”.
One of the many ways of getting from A to B:
Revision: 16/2/2008
6 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label Substitution, what is it? (2)• Have a friend go to B ahead of you using one of the last two techniques. At every road (link) he reserves a lane just for you. At every intersection (node) they post a big sign that says for a given lane which way to turn and what new lane to take.
LANE#1
LANE#2
LANE#1 TURN RIGHT USE LANE#2
Revision: 16/2/2008
7 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
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.
• TDM - label is called a timeslot its implied, like a lane.
• X25 - a label is an LCN
• Proprietary TAG etc..
• GMPLS allows to use a “color substitution” where label is a light frequency (color) ..
Revision: 16/2/2008
8 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
What is a “LABEL”?
A property that uniquely identifies a flow on a logical or physical interface
Revision: 16/2/2008
9 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label Switched Path (LSP)
#7
#99
#9
#3 Right #7
#99 RIGHT #9#7 LEFT #99
#9 LEFT #4072
#3IP
#4072 IP
Revision: 16/2/2008
10 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Optical or Generalized Label Switched Path (G-LSP)
RED RIGHT BLUE
WHITE RIGHT ORANGEBLUE LEFT WHITE
ORANGE LEFT RED
IP
IP
RED
BLUE
WHITE
ORANGE
RED
Revision: 16/2/2008
11 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label concept
Value: Label value 20 bitsExp: Experimental Use, 3 bitsS: Bottom of stack, 1 bitTTL: Time To Live, 8 bits
Value: Label value 20 bitsExp: Experimental Use, 3 bitsS: Bottom of stack, 1 bitTTL: Time To Live, 8 bits
Total: 32 bit = 4 byte
Value Exp S TTL IP packetMPLS label
MPLS generates a short fixed-length label that acts as a shorthand representation of an IP packet’s header
The label is attached in front of a IP packet.
! Packets are switched, not routed, based on labels
Revision: 16/2/2008
12 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Basic operation
LER LERLSR LSR
Relative meaning of label (only within the link):
each MPLS-capable router (LSR) changes the packet label
LSR: Label Switching Router
LER: Label Edge Router (Useful
term not in standards) Ingress
Router and Egress Router
LSR: Label Switching Router
LER: Label Edge Router (Useful
term not in standards) Ingress
Router and Egress Router
IP forwarding IP forwardingLabel Switching
IP1 IP1#L1 IP1#L2 IP1#L3 IP1
Revision: 16/2/2008
13 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
FEC Forwarding Equivalence Class
IP1IP1#L1
• FEC = “A subset of packets that are all treated the same way by an edge router”
• 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), in MPLS it is only done once at the network ingress
Packets are destined for different address prefixes, but can bemapped to common pathPackets are destined for different address prefixes, but can bemapped to common path
IP2IP2#L1
IP1#L2
IP2#L2
IP1#L3
IP2#L3
LER LERLSR LSR
IP1
IP2
Revision: 16/2/2008
14 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label stacking
Hierarchical use of the labels
Only outer label is used to forward packets
Creation of tunnel between non-neighbouring router => MPLS Domain
Scalability: the expansion of the network doesn’t increase the number of labels => This drastically reduces the size of routing tables in LSRs
IPL1L2L3…
MPLS Domain 1
MPLS Domain 2
MPLS Domain 3
Revision: 16/2/2008
15 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
MPLS features Label swapping:
Bring the speed of layer 2 switching to layer 3
Separation of forwarding plane and control plane
Forwarding hierarchy via Label stackingIncrease the scalability
Constraint-based routingTraffic Engineering
Fast reroute
Facilitate the virtual private networks (VPNs)
Enables Traffic Engineering and QoSProvides an opportunity for mapping DiffServ fields onto an MPLS label
Facilitate the elimination of multiple layersResolve the problems of IP over ATM, in particular: Complexity of control and management and scalability issues
Revision: 16/2/2008
16 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
So what is MPLS?
• Hop-by-hop or source routing to establish labels
• Possible use of labels native to the media (colors)
• Multi level label substitution transport
Revision: 16/2/2008
17 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Routers Do Both Routing and Switching
• Routing Deciding the next hop based on the
destination address. A Layer 3 (L3) function.
• Switching Moving a packet from an input port to an
output port and out. A layer 2 function. INPUT PORTS OUTPUT PORTS
• So we can avoid performing the layer 3 function.• What benefit does this provide?• In what situations would this benefit not be very significant?
Revision: 16/2/2008
18 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
MPLS: Flexible Forwarding
LSP to IPLABEL SWITCHINGIP to LSP
IP IP #L1 IP #L2 IP #L3 IP
IP DA
IP: Packets are forwarded based on Destination Address (DA)
MPLS: Route at edge and switch in core• Map packets to LSP based on (Source Address, Destination Address, protocol, port, DSCP,
interface, etc.) and forward packets based Label
IP DA IP DA IP DA IP DA
Revision: 16/2/2008
19 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
MPLS-based Solutions
• IP Traffic Engineering Constraint-based Routing making routing adapt to latest network loading
• Virtual Private Networks Controllable tunneling mechanism
• L2/L3 Integration Easy software implementation in current routers
• L1/L3 Integration Use of MPLS to control Optical Cross Connects (OXC) -> GMPLS
• Enable QoS in IP Networks Support IP Diffserv + ATM-style QoS
Revision: 16/2/2008
20 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
MPLS Terminology
• LDP: Label Distribution Protocol
• LSP: Label Switched Path
• FEC: Forwarding Equivalence Class• LSR: Label Switching Router
• LER: Label Edge Router (useful term not in standards), can be
Ingress Router, Egress Router, Transit Router
Revision: 16/2/2008
21 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
#216
#612
#5#311
#14
#99
#963
#462
- An LSP is actually part of a tree from every source to that destination (unidirectional).
- LDP builds that tree using existing IP forwarding tables to route the control messages.
#963
#14
#99
#311
#311
#311
Label Switched Path (LSP)
Revision: 16/2/2008
22 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Topology dissemination in standard IP
47.1
47.247.3
Dest Out
47.1 147.2 2
47.3 3
1
23
Dest Out
47.1 147.2 2
47.3 3
Dest Out
47.1 147.2 2
47.3 3
1
23
1
2
3
• Destination based forwarding tables as built by OSPF, IS-IS, RIP, etc.
Revision: 16/2/2008
23 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
IP forwarding using hop-by-hop control
47.1
47.247.3
IP 47.1.1.1
Dest Out
47.1 147.2 2
47.3 3
1
23
Dest Out
47.1 147.2 2
47.3 3
1
2
1
2
3
IP 47.1.1.1
IP 47.1.1.1IP 47.1.1.1
Dest Out
47.1 147.2 2
47.3 3
Revision: 16/2/2008
24 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
MPLS Label Distribution use-case
47.1
47.247.3
12
31
2
1
2
3
3IntfIn
Dest IntfOut
LabelOut
3 47.1 1 0.50 Mapping: 0.40
Request: 47.1
Mapping: 0.50
Request: 47.1
Revision: 16/2/2008
25 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label Switched Path (LSP)
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
47.1
47.247.3
1
2
31
2
1
2
3
3IntfIn
Dest IntfOut
LabelOut
3 47.1 1 0.50
IP 47.1.1.1
IP 47.1.1.1
Revision: 16/2/2008
26 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Benefits and Limitations
• Why might this approach be better than normal IP forwarding that does not use MPLS? Remember, all packets still travel the same paths.
ANSWER: The label look-up allows ultra-fast forwarding of FEC
• What else might we be able to do with MPLS that could be even more powerful? See next two slides
Revision: 16/2/2008
27 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
#216
#14
#462
- ER-LSP follows route that source chooses. In other words, the control message to establish the LSP (label request) is source routed.
#972
#14 #972
A
B
C
Route={A,B,C}
Explicited Routed LSP or ER-LSP (1)
Revision: 16/2/2008
28 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
IntfIn
LabelIn
Dest IntfOut
3 0.40 47.1 1
IntfIn
LabelIn
Dest IntfOut
LabelOut
3 0.50 47.1 1 0.40
47.1
47.247.3
1
2
3
1
2
1
2
3
3
IntfIn
Dest IntfOut
LabelOut
3 47.1.1 2 1.333 47.1 1 0.50
IP 47.1.1.1
IP 47.1.1.1
Explicited Routed LSP or ER-LSP (2)
Revision: 16/2/2008
29 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
ER LSP - advantages
•Operator has routing flexibility (policy-based, QoS-based)•Can use routes other than shortest path•Can compute routes based on constraints in exactly the same manner as ATM based on distributed topology database (traffic engineering)
Revision: 16/2/2008
30 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
ER LSP - discord!
• Two signaling options proposed in the standards: CR-LDP, RSVP extensions:
— CR-LDP = LDP + Explicit Route— RSVP ext = Traditional RSVP + Explicit Route + Scalability Extensions
• Little difference in mechanisms, but RSVP is the winner (in terms of market).
• Survival of the fittest not such a bad thing.
Revision: 16/2/2008
31 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label encapsulation
Revision: 16/2/2008
32 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label Encapsulation
MPLS Encapsulation is specified over various media types. Outermost labels may use existing format (VPI/VCI, etc.), while inner label(s) use a new “shim” label format.
ATM FR Ethernet PPP
VPI VCI DLCI “Shim Label”
Medium
Label
“Shim Label” …….
IP or other non-IP PAYLOAD
Optical
λ
Revision: 16/2/2008
33 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
MPLS Link Layers
•MPLS is intended to run over multiple link layers
•Specifications for the following link layers currently exist:
• PPP/LAN: uses ‘shim’ header inserted between L2 and L3 headers
• ATM: label contained in VCI/VPI field of ATM header
• Frame Relay: label contained in DLCI field in FR header
Translation between link layers types must be supported
MPLS intended to be “multi-protocol” below as well as aboveMPLS intended to be “multi-protocol” below as well as above
Revision: 16/2/2008
34 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
MPLS Encapsulation - PPP & LAN Data Links
Label Exp. S TTL
Label: Label Value, 20 bits (0-16 reserved)Exp.: Experimental, 3 bits (was Class of Service)S: Bottom of Stack, 1 bit (1 = last entry in label stack)TTL: Time to Live, 8 bits
Layer 2 Header(eg. PPP, 802.3)
•••Network Layer Header
and Packet (eg. IP)
4 Octets
MPLS ‘Shim’ Headers (1-n)
1n
•Network layer must be inferable from value of bottom label of the stack•Note: The label at the bottom of the stack is the “top” label.
MPLS on PPP links and LANs uses ‘Shim’ Header Inserted Between Layer 2 and Layer 3 Headers
MPLS on PPP links and LANs uses ‘Shim’ Header Inserted Between Layer 2 and Layer 3 Headers
Label StackEntry Format
Revision: 16/2/2008
35 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
MPLS Encapsulation -> ATM
ATM LSR constrained by the cell format imposed by existing ATM standardsATM LSR constrained by the cell format imposed by existing ATM standards
VPI PT CLP HEC
5 Octets
ATM HeaderFormat VCI
AAL-5 Trailer
•••Network Layer Header
and Packet (eg. IP)
1n
AAL-5 PDU Frame (nx48 bytes)
Generic Label Encap.(PPP/LAN format)
ATMSAR
ATM HeaderATM Payload • • •
48 Bytes
48 Bytes
Label LabelOption 1
Option 2 Combined Label
Option 3 LabelATM VPI (Tunnel)
• Top 1 or 2 labels are contained in the VPI/VCI fields of ATM header - Option 1 uses two labels.
- 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
Revision: 16/2/2008
36 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
MPLS Encapsulation -> Frame Relay
•••n 1
DLCIC/R
EA
DLCIFECN
BECN
DE
EA
Q.922Header
Generic Encap.(PPP/LAN Format) Layer 3 Header and Packet
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
Revision: 16/2/2008
37 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label distribution
methods
Revision: 16/2/2008
38 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label Distribution Protocol (LDP) - Purpose
Label distribution ensures that adjacent routers havea common view of FEC <-> label bindings
Routing Table:
Addr-prefix Next Hop47.0.0.0/8 LSR2
Routing Table:
Addr-prefix Next Hop47.0.0.0/8 LSR2
LSR1 LSR2 LSR3
IP Packet 47.80.55.3
Routing Table:
Addr-prefix Next Hop47.0.0.0/8 LSR3
Routing Table:
Addr-prefix Next Hop47.0.0.0/8 LSR3
For 47.0.0.0/8use label ‘17’
Label Information Base:
Label-In FEC Label-Out17 47.0.0.0/8 XX
Label Information Base:
Label-In FEC Label-Out17 47.0.0.0/8 XX
Label Information Base:
Label-In FEC Label-OutXX 47.0.0.0/8 17
Label Information Base:
Label-In FEC Label-OutXX 47.0.0.0/8 17
Step 1: LSR creates bindingbetween FEC and label value
Step 2: LSR communicatesbinding to adjacent LSR
Step 3: LSR inserts labelvalue into forwarding base
Common understanding of which FEC the label is referring to!
Label distribution can either piggyback on top of an existing routing protocol,or a dedicated label distribution protocol (LDP) can be created
Label distribution can either piggyback on top of an existing routing protocol,or a dedicated label distribution protocol (LDP) can be created
Revision: 16/2/2008
39 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label Distribution - Methods
LSR1 LSR2
Label Distribution can take place using one of two possible methodsLabel Distribution can take place using one of two possible methods
Downstream (unsolicited) Label Distribution
Label-FEC Binding
• LSR2 and LSR1 are said to have an “LDP adjacency” (LSR2 being the downstream LSR)
• LSR2 discovers a ‘next hop’ for a particular FEC
• LSR2 generates a label for the FEC and communicates the binding to LSR1
• LSR1 inserts the binding into its forwarding tables
• If LSR2 is the next hop for the FEC, LSR1 can use that label knowing that its meaning is understood
LSR1 LSR2
Downstream-on-Demand Label Distribution
Label-FEC Binding
• LSR1 recognizes LSR2 as its next-hop for an FEC
• A request is made to LSR2 for a binding between the FEC and a label
• If LSR2 recognizes the FEC and has a next hop for it, it creates a binding and replies to LSR1
• Both LSRs then have a common understanding
Request for Binding
Both methods are supported, even in the same network at the same timeFor any single adjacency, LDP negotiation must agree on a common method
Revision: 16/2/2008
40 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
#963
#14
#99
#311
#311
#311
Downstream (unsolicited) Label Distribution
#462
D
#311
D
#963D
#14 D
#99D
#216
D
#612 D
#5 D
Revision: 16/2/2008
41 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
#963
#14
#99
#311
#311
#311
Downstream on-demand Label Distribution
#462
D
#311
D
#963D#14 D
#99D
#216
D
#612 D
#5 D
D?
D? D?D?
D?
D?
D?
D?
Revision: 16/2/2008
42 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Distribution Control: Ordered vs. Independent
Independent LSP ControlIndependent LSP Control Ordered LSP ControlOrdered LSP Control
Next Hop(for FEC)
OutgoingLabel
IncomingLabel
MPLS path forms, as associationsare made between FEC next-hopsand incoming and outgoing labels
• Each LSR makes independent decision on when to generate labels and communicate them to upstream peers
• Communicate label-FEC binding to peers once next-hop has been recognized
• LSP is formed as incoming and outgoing labels are spliced together
• Label-FEC binding is communicated to peers if: - LSR is the ‘egress’ LSR to particular FEC - label binding has been received from
upstream LSR
• LSP formation ‘flows’ from egress to ingress
FeaturesFeatures
ComparisonComparison
• Labels can be exchanged with less delay• Does not depend on availability of egress node• Granularity may not be consistent across the nodes at
the start• May require separate loop detection/mitigation method
• Requires more delay before packets can be forwarded along the LSP
• Depends on availability of egress node• Mechanism for consistent granularity and freedom from
loops• Used for explicit routing and multicast
Both methods are supported in the standard and can be fully interoperable
Revision: 16/2/2008
43 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
#963
#14
#99
#311
#311
#311
Independent mode
#462
D
#311
D
#963D
#14 D
#99D
#216
D
#612 D
#5 D
Revision: 16/2/2008
44 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Label Retention Methods
LSR1
LSR2
LSR3
LSR4
LSR5
Bindingfor LSR5
Binding for LSR5
Bindingfor LSR5An LSR may receive label
bindings from multiple LSRs
Some bindings may comefrom LSRs that are not thevalid next-hop for that FEC
Liberal Label Retention Conservative Label Retention
LSR1
LSR2
LSR3
LSR4
Label Bindingsfor LSR5
Valid Next Hop
LSR4’s LabelLSR3’s LabelLSR2’s Label
LSR1
LSR2
LSR3
LSR4
Label Bindingsfor LSR5
Valid Next Hop
LSR4’s LabelLSR3’s LabelLSR2’s Label
• LSR maintains bindings received from LSRs other than the valid next hop
• If the next-hop changes, it may begin using these bindings immediately
• May allow more rapid adaptation to routing changes
• Requires an LSR to maintain many more labels
• LSR only maintains bindings received from valid next hop
• If the next-hop changes, binding must be requested from new next hop
• Restricts adaptation to changes in routing
• Fewer labels must be maintained by LSR
Revision: 16/2/2008
45 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Liberal retention mode
#462
D
#311
D
#963D
#14 D
#99D
#216
D
#612 D
#5 D
#422D
#622 D
These labels are kept incase they are needed after a failure.
Revision: 16/2/2008
46 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Conservative retention mode
#462
D
#311
D
#963D
#14 D
#99D
#216
D
#612 D
#5 D
#422D
#622 D
These labels are released the moment they are received.
Revision: 16/2/2008
47 (47)
Authors: Piero Castoldi Course: Optical Core NetworksModule: MPLS basics
Suggested reading
• B. Davie, Y. Rekhter, “MPLS – Technology and Applications”, Morgan Kaufmann, 2000, ISBN 1-55860-656-4.
• E. Gray, “MPLS: Implementing the Technology”, Addison-Wesley, Reading, MA, 2001, ISBN 0-201-65762-7.