MPLS Fundamentals
Luc De Ghein, CCIE
No. 1897
Cisco Press
800 East 96th Street
Indianapolis, IN 46240 USA
ii
MPLS Fundamentals
Luc De Ghein
Copyright© 2007 Cisco Systems, Inc.
Published by:
Cisco Press
800 East 96th Street
Indianapolis, IN 46240 USA
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or
mechanical, including photocopying, recording, or by any information storage and retrieval system, without written permission from
the publisher, except for the inclusion of brief quotations in a review.
Printed in the United States of America 1 2 3 4 5 6 7 8 9 0
First Printing November 2006
Library of Congress Number: 2004101984
ISBN: 1-58705-197-4
Warning and Disclaimer
This book is designed to provide information about Multiprotocol Label Switching (MPLS). Every effort has been made to make this
book as complete and as accurate as possible, but no warranty or fitness is implied.
The information is provided on an “as is” basis. The authors, Cisco Press, and Cisco Systems, Inc., shall have neither liability nor
responsibility to any person or entity with respect to any loss or damages arising from the information contained in this book or from
the use of the discs or programs that may accompany it.
The opinions expressed in this book belong to the author and are not necessarily those of Cisco Systems, Inc.
Feedback Information
At Cisco Press, our goal is to create in-depth technical books of the highest quality and value. Each book is crafted with care and precision, undergoing rigorous development that involves the unique expertise of members from the professional technical community.
Readers' feedback is a natural continuation of this process. If you have any comments regarding how we could improve the quality of
this book, or otherwise alter it to better suit your needs, you can contact us through e-mail at
[email protected]. Please make
sure to include the book title and ISBN in your message.
We greatly appreciate your assistance.
Corporate and Government Sales
Cisco Press offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales. For more information,
please contact: U.S. Corporate and Government Sales 1-800-382-3419
[email protected]
For sales outside of the U.S. please contact:
International Sales
1-317-581-3793
[email protected]
iii
Trademark Acknowledgments
All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capitalized. Cisco Press
or Cisco Systems, Inc. cannot attest to the accuracy of this information. Use of a term in this book should not be regarded as affecting
the validity of any trademark or service mark.
Publisher: Paul Boger
Team Coordinator: Vanessa Evans
Cisco Representative: Anthony Wolfenden
Book Designer: Louisa Adair
Cisco Press Program Manager: Jeff Brady
Cover Designer: Louisa Adair
Executive Editor: Mary Beth Ray
Composition: Tolman Creek
Managing Editor: Patrick Kanouse
Indexer: Tim Wright
Development Editor: Allison Beaumont Johnson
Project Editor: Seth Kerney
Copy Editor: Karen A. Gill
Technical Editors: Mohammad Miri, Ivan Pepelnjak, Hari Rakotoranto
iv
About the Author
Luc De Ghein, CCIE No. 1897, is an escalation engineer for Cisco Systems in EMEA. Luc has been
in the networking industry for 13 years and has been with Cisco for more than 11 years. He provides
escalation support to Cisco engineers worldwide and teaches others about IP routing protocols and
MPLS technologies. Luc has been a speaker at several Networkers conferences. During the past 7
years, Luc has specialized in the area of MPLS technologies. Before moving to his current position,
Luc was a Technical Assistance Center (TAC) customer support engineer for two and a half years,
specializing in routing. He has been an escalation engineer for routing and MPLS technologies for
more than eight years. Since 1996, Luc has been a Cisco Certified Internetwork Expert (CCIE). He
is certified as both a Routing and Switching CCIE and as a Service Provider CCIE.
v
About the Technical Reviewers
Mohammad Miri is currently employed by Alcatel NA. He has more than 14 years of experience
in design and implementation of IP networks for Telecom and Mobile providers involving
broadband, narrowband, and MPLS and traffic engineering applications over IP. He received his
computer science degree in 1989.
Ivan Pepelnjak, CCIE No. 1354, is a 25-year veteran of the networking industry. He has more than
10 years of experience in designing, installing, troubleshooting, and operating large service provider
and enterprise WAN and LAN networks and is currently chief technology advisor at NIL Data
Communications focusing on advanced IP-based networks and web technologies. His books
published by Cisco Press include EIGRP Network Design Solutions and MPLS and VPN
Architectures (volumes I and II).
Hari Rakotoranto is currently product manager for GMPLS in ITD at Cisco Systems, Inc. He also
works closely with service providers and interoperability bodies (ISOCORE and EANTC) in the
field of MPLS on technology deployment and overseeing of future directions. Hari has worked as a
software engineer and pre- and post-sales technical consultant on different technologies, including
Layer 2/3 switches, routing protocols, network management, and UNIX kernel design. He is an
active member of ITU-T SG13, focusing mainly on MPLS, MPLS OAM, and MPLS Management.
vi
Dedication
This book is dedicated to my wife Ania, and to my sons Robbe and Lander.
vii
Acknowledgments
I wish to acknowledge a few people who made this book possible. First, I wish to acknowledge my
employer Cisco Systems for providing a great working and learning place. Second, I wish to express
my gratitude to the technical reviewers, Mohammad Miri, Ivan Pepelnjak, and Hari Rakotoranto,
for their feedback, guidance, suggestions, time, and effort in reviewing this book and ensuring its
technical accuracy. Third, I'm grateful for the Cisco Press team—Jim Schachterle, Raina Han,
Dayna Isley, Mary Beth Ray, Jill Batistick, Karen A. Gill, Seth Kerney, and Allison Johnson—for
their support in getting this book published and for their patience with me. Last, but not least, I'd
like to thank my family for their support and understanding.
viii
Contents at a Glance
Introduction
xxi
Part I
Fundamentals of MPLS 2
Chapter 1
The Evolution of MPLS 4
Chapter 2
MPLS Architecture 24
Chapter 3
Forwarding Labeled Packets 42
Chapter 4
Label Distribution Protocol 66
Chapter 5
MPLS and ATM Architecture 104
Chapter 6
Cisco Express Forwarding 146
Part II
Advanced MPLS Topics 170
Chapter 7
MPLS VPN 172
Chapter 8
MPLS Traffic Engineering 248
Chapter 9
IPv6 over MPLS 328
Chapter 10
Any Transport over MPLS 382
Chapter 11
Virtual Private LAN Service 434
Chapter 12
MPLS and Quality of Service 456
Chapter 13
Troubleshooting MPLS Networks 492
Chapter 14
MPLS Operation and Maintenance 522
Chapter 15
The Future of MPLS 578
Part III
Appendixes 586
Appendix A Answers to Chapter Review Questions 588
Index
608
ix
Contents
Introduction
Part I
xxi
Fundamentals of MPLS 2
Chapter 1
The Evolution of MPLS
4
Definition of MPLS 5
Pre-MPLS Protocols 5
Benefits of MPLS 6
Bogus Benefit 6
The Use of One Unified Network Infrastructure 7
Better IP over ATM Integration 7
BGP-Free Core 8
Peer-to-Peer VPN Model Versus Overlay VPN Model 10
Overlay VPN Model 10
Peer-to-Peer VPN Model 12
Optimal Traffic Flow 16
Traffic Engineering 17
History of MPLS in Cisco IOS 19
Tag Switching to MPLS 19
MPLS Applications 21
Summary 21
Chapter Review Questions 22
Chapter 2
MPLS Architecture
24
Introducing MPLS Labels 25
Label Stacking 26
Encoding of MPLS 27
MPLS and the OSI Reference Model 28
Label Switch Router 29
Label Switched Path 29
Forwarding Equivalence Class 30
Label Distribution 32
Piggyback the Labels on an Existing IP Routing Protocol
Running a Separate Protocol for Label Distribution 33
Label Distribution with LDP 34
Label Forwarding Instance Base 35
MPLS Payload 36
MPLS Label Spaces 36
Different MPLS Modes 38
Label Distribution Modes 38
Label Retention Modes 38
LSP Control Modes 39
33
x
Summary 40
Chapter Review Questions
Chapter 3
40
Forwarding Labeled Packets
42
Forwarding of Labeled Packets 43
Label Operation 43
IP Lookup Versus Label Lookup 44
Load Balancing Labeled Packets 49
Unknown Label 51
Reserved Labels 51
Implicit NULL Label 51
Explicit NULL Label 53
Router Alert Label 53
OAM Alert Label 54
Unreserved Labels 54
TTL Behavior of Labeled Packets 55
TTL Behavior in the Case of IP-to-Label or Label-to-IP
TTL Behavior in the Case of Label-to-Label 56
TTL Expiration 57
MPLS MTU 59
MPLS MTU Command 60
Giant and Baby Giant Frames 60
Giant Frames on Switches 61
MPLS Maximum Receive Unit 62
Fragmentation of MPLS Packets 63
Path MTU Discovery 63
Summary 64
Chapter Review Questions 64
Chapter 4
Label Distribution Protocol
66
LDP Overview 68
LDP Operation 69
The Discovery of LSRs That Are Running LDP 69
LDP Session Establishment and Maintenance 73
Number of LDP Sessions 76
Advertising of Label Mappings 77
Label Withdrawing 81
Housekeeping by Means of Notification 83
Targeted LDP Session 84
LDP Authentication 86
Controlling the Advertisement of Labels via LDP 87
MPLS LDP Inbound Label Binding Filtering 90
LDP Autoconfiguration 92
MPLS LDP-IGP Synchronization 93
55
xi
How MPLS LDP-IGP Synchronization Works 95
MPLS LDP-IGP Synchronization Configuration 95
MPLS LDP Session Protection 100
Summary 103
Chapter Review Questions 103
Chapter 5
MPLS and ATM Architecture
104
Brief Introduction to ATM 106
Label Encoding 110
Label Advertisement 111
Downstream-on-Demand Label Advertisement
LDP Control Mode for ATM 122
LDP for LC-ATM 124
Label Space 124
Loop Detection by LDP 125
Loop Detection by Hop Count TLV 125
TTL Manipulation 127
Loop Detection by Path Vector TLV 129
LDP Address Messages 130
Blocking Label Requests 130
Aggregate Labels 131
VC-Merge 132
Non MPLS-Aware ATM Switches 135
Label Switch Controller 138
Multi-Virtual Circuit Tagged Bit Rate 139
MPLS CoS 142
Frame Mode ATM 143
Reducing the Number of LVCs 144
Summary 145
Chapter Review Questions 145
Chapter 6
Cisco Express Forwarding
146
Overview of Cisco IOS Switching Methods 147
Process Switching 148
Fast Switching 148
CEF Switching 149
Why Is CEF Needed in MPLS Networks? 149
What Are the Components of CEF? 150
The Adjacency Table 151
The CEF Table 152
Operation of CEF 153
Distributed CEF (DCEF) 154
CEF Switching Packets in Hardware 155
116
xii
Load Balancing in CEF 156
Unequal Cost Load Balancing 159
Labeling IP Packets by CEF 161
Load Balancing Labeled Packets 163
Troubleshooting CEF 164
Summary 167
Chapter Review Questions 168
Part II
Advanced MPLS Topics 170
Chapter 7
MPLS VPN
172
Introduction to MPLS VPN 173
Definition of a VPN 173
VPN Models 174
MPLS VPN Model 174
Architectural Overview of MPLS VPN 176
Virtual Routing Forwarding 176
RD 179
RTs 180
VPNv4 Route Propagation in the MPLS VPN Network
Packet Forwarding in an MPLS VPN Network 187
BGP 188
BGP Multiprotocol Extensions and Capabilities 189
BGP Extended Community: RT 192
VPNv4 Routes 193
BGP Carrying the Label 194
RRs 197
RR Group 198
BGP Route Selection 200
BGP Multipath 200
Using Multiple RDs 203
Packet Forwarding 204
PE-CE Routing Protocols 207
Connected Routes 207
Static Routing 208
RIP Version 2 208
OSPF 209
OSPF VRF Configuration 211
OSPF Metric Propagation 213
BGP Extended Communities for OSPF 214
OSPF Network Design 215
Sham Link 216
Down Bit and Domain Tag 219
EIGRP 220
Configuration 222
185
xiii
Pre-Bestpath POI 223
EIGRP PE-CE with Backdoor Links 225
IS-IS 226
eBGP 230
Autonomous System Override 231
allowas-in 232
Hub-and-Spoke 233
SOO 235
VRF Access 237
Internet Access 237
Internet in a VPN 237
Internet Access Through the Global Routing Table 238
Internet Access Through the Global Routing Table with Static Routes
Internet Access Through a Central VRF Site 240
Multi-VRF CE 241
OSPF VRF-Lite Command 243
CE Management 243
Summary 246
Chapter Review Questions 246
Chapter 8
MPLS Traffic Engineering
248
The Need for MPLS TE 249
Overview of the Operation of MPLS TE 252
Distribution of TE Information 255
Requirements for the IGP 255
OSPF Extensions for TE 256
IS-IS Extensions for TE 261
Flooding by the IGP 264
Routing and Cost of a TE LSP 266
Link TE Attributes 266
Maximum Reservable Bandwidth 267
Attribute Flags 267
TE Metric 267
Shared Risk Link Groups 268
Maximum Reservable Sub-Pool Bandwidth
MPLS TE Tunnel (Trunk) Attributes 268
TE Tunnel Path Calculation 269
Path Setup Option 269
IP Explicit Address Exclusion 272
Setup and Holding Priority 273
Reoptimization 274
Periodic Reoptimization 274
Event-Driven Reoptimization 275
Manual Reoptimization 275
268
239
xiv
Dual TE Metrics 275
PCALC 279
RSVP 279
RSVP and Labels 280
Record Route Object 282
Other Information Carried by RSVP 284
Putting It All Together 285
Shared Explicit Style 288
RSVP Messages 289
PathTear 289
ResvTear 289
PathErr 289
ResvErr 290
Link Manager 290
FRR 291
FRR—Link Protection 292
FRR—Node Protection 297
SRLG Used by Backup Tunnels 302
Multiple Backup Tunnels 303
Forwarding Traffic onto MPLS TE Tunnels 303
Static Routing 304
Policy-Based Routing 304
Autoroute Announce 305
Forwarding Adjacency 306
Direct Mapping of AToM Traffic onto TE Tunnels 309
Class-Based Tunnel Selection 309
Cost Calculation of IGP Routes over TE Tunnels 311
Default Cost Calculation 311
Adjusting the Cost Calculation 319
Load Balancing 320
MPLS TE and MPLS VPN 321
TE Tunnels Between PE Routers 321
TE Tunnel with P Router as Tail End Router 321
VRF-to-TE Tunnel Routing 324
Summary 325
Chapter Review Questions 326
Chapter 9
IPv6 over MPLS
328
Introduction to IPv6 329
The Driving Forces for IPv6 329
Overview of the IPv6 Protocol 330
The IPv6 Header 330
The IPv6 Addressing 332
Other IPv6 Novelties 333
xv
Overview of IPv6 Unicast Routing in Cisco IOS 334
IPv6 RIP (RIPng) 334
OSPF for IPv6 or OSPFv3 337
IS-IS for IPv6 342
EIGRP for IPv6 345
Multiprotocol BGP Extensions for IPv6 348
CEFv6 351
Carrying IPv6 over an MPLS Backbone 352
MPLS VPN Network Using IPv6 over IPv4 Tunnels on the CE Routers
Carrying IPv6 over an MPLS Backbone (6PE) 354
Operation of 6PE 355
Configuration of 6PE 358
Verifying 6PE Operation 361
Carrying IPv6 in VPNs Across an MPLS Backbone (6VPE) 364
Operation of 6VPE 364
Configuration of 6VPE 366
Verifying 6VPE Operation 372
IPv6 Internet Access Through 6VPE 377
Supported Features for 6VPE 378
Remarks for Both 6PE and 6VPE 378
Route Reflectors 378
Turning Off TTL Propagation on the PE Routers 379
Load Balancing Labeled IPv6 Packets 379
PHP 379
BGP Functionality 379
Summary 380
Chapter Review Questions 380
Chapter 10
Any Transport over MPLS
382
Understanding the Need for AToM 384
Transporting Layer 2 Frames 384
AToM Architecture 386
Data Plane of AToM 387
Signaling the Pseudowire 388
C-Bit 390
PW Type 390
Group ID 391
PW ID 392
Interface Parameters 392
Signaling the Status of the Pseudowire
The Control Word 393
Control Word Functions 394
Pad Small Packets 394
392
353
xvi
Carry Control Bits of the Layer 2 Header of the Transported Protocol 394
Preserve the Sequence of the Transported Frames 395
Facilitate the Correct Load Balancing of AToM Packets in the MPLS Backbone Network
396
Facilitate Fragmentation and Reassembly 396
MPLS MTU in the MPLS Backbone 397
The Basic AToM Configuration 398
Transported Layer 2 Protocols 402
HDLC 402
PPP 403
Frame Relay 403
DLCI-to-DLCI 403
Port-to-Port Mode (Port Trunking) 405
ATM 408
ATM AAL5 408
ATM Cell Relay 411
Single Cell Relay Mode 411
Packed Cell Relay Mode 414
Ethernet 416
Ethernet Frame Format 416
EoMPLS Forwarding 417
VLAN ID Rewrite 418
EoMPLS Scenario Examples 418
Dot1q Tunneling (QinQ) over AToM 424
AToM Tunnel Selection 426
AToM and QoS 429
Summary 432
Chapter Review Questions 432
Chapter 11
Virtual Private LAN Service
434
The Need for VPLS 435
VPLS Architecture 437
VPLS Data Plane 439
VPLS Signaling 440
The Basic VPLS Configuration 441
Verifying the VPLS Operation 443
VPLS and Tunneling Layer 2 Protocols 446
Tunneling Cisco Discovery Protocol 446
Tunneling Spanning Tree Protocol 447
Trunk Port Between the CE and PE 449
Hierarchical VPLS 450
H-VPLS with Dot1q Tunneling (QinQ) in the Access Layer
H-VPLS with MPLS in the Access Layer 452
450
xvii
Quality of Service 452
Limiting MAC Addresses 454
Routing Peering 454
Summary 455
Chapter Review Questions 455
Chapter 12
MPLS and Quality of Service
456
DiffServ with IP Packets 458
DiffServ with MPLS Packets 461
Default MPLS QoS Behavior in Cisco IOS 462
DiffServ Tunneling Models 466
Pipe Model 467
Short Pipe Model 467
Uniform Model 468
Advantages of the DiffServ Tunneling Models 469
How to Implement the Three DiffServ Tunneling Models 472
Recoloring the Packet 472
MQC Commands for MPLS QoS 475
Moving MPLS QoS from the PE to the CE Router 480
Implementing the DiffServ Tunneling Models in Cisco IOS 482
The Table-Map Feature 487
The Use of MPLS QoS for Ethernet over MPLS 490
Summary 490
Chapter Review Questions 491
Chapter 13
Troubleshooting MPLS Networks
492
Label Stack Depth 493
Verifying Label Switched Path 494
Tracerouting in MPLS Networks 495
Tracerouting in an IP Network 495
Label-Aware ICMP 497
TTL Behavior in MPLS Networks 498
Tracerouting in MPLS Networks 499
Problems with Tracerouting in MPLS Networks 503
mpls ip ttl-expiration pop Command 504
no mpls ip propagate-ttl 505
MPLS MTU 510
Ping 511
Debug MPLS Packets 511
Debugging Load Balancing of Labeled Packets 514
Verifying MPLS on the Interface 516
Verifying Number of Bytes Label Switched 517
xviii
MPLS-Aware Netflow 518
Summary 521
Chapter Review Questions 521
Chapter 14
MPLS Operation and Maintenance
522
Requirements of MPLS OAM 523
Detection and Diagnosis of Control and Data Plane Defects 524
Detection of a Defect in a Label Switched Path (LSP) 524
OAM Packets Flowing on the Same Path as MPLS Data Traffic 525
Path Characterization 525
Measurement of SLAs 525
OAM Interworking 526
MIBs 526
Accounting 526
Router Alert Option and Router Alert Label 526
Router Alert Label 528
OAM Alert Label 529
MPLS LSP Ping 529
LSP Ping Protocol Details 531
Target FEC Stack 534
Downstream Mapping 536
Interface and Label Stack TLV 538
Errored TLVs TLV 539
Reply TOS Byte 539
LSP Ping Operation 539
LSP Verification 540
MPLS Ping in Cisco IOS 541
MPLS LSP Traceroute 545
MPLS Traceroute in Cisco IOS 546
Router Alert Label 551
Load Balancing 552
VCCV 555
IP Service Level Agreement 558
VRF-Aware IP SLA 561
Netflow Accounting 563
SNMP/MIBs 564
Context-Based Access for SNMP over MPLS VPN 571
MPLS VPN MIBs 572
Syslog 573
OAM Message Mapping 575
Summary 577
Chapter Review Questions 577
xix
Chapter 15
The Future of MPLS
578
New MPLS Applications 579
Work at IETF 580
MPLS Control Word 580
FCS Retention 581
AToM Fragmentation and Reassembly
Circuit Emulation 581
GMPLS 582
OAM Protocols 582
MPLS Labeled Multicast 584
The Proliferation of MPLS 584
Summary 585
581
Part III Appendixes 586
Appendix A
Answers to Chapter Review Questions
Index
608
588