Table Of ContentBGP Design and Implementation
Randy Zhang, CCIE No. 5659
Micah Bartell, CCIE No. 5069
Cisco Press
Cisco Press
800 East 96th Street, 3rd Floor
Indianapolis, IN 46240 USA
ii
BGP Design and Implementation
Randy Zhang, CCIE #5659
Micah Bartell, CCIE #5069
Copyright © 2004 Cisco Systems, Inc.
Cisco Press logo is a trademark of Cisco Systems, Inc.
Published by:
Cisco Press
800 E. 96th St., 3rd Floor
Indianapolis, IN 46240
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 and 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 December 2003
Library of Congress Cataloging-in-Publication Number: 202105327
ISBN: 1-58705-109-5
Trademark Acknowledgments
All terms mentioned in this book that are known to be trademarks or service marks have been appropriately capital-
ized. 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.
Warning and Disclaimer
This book is designed to provide information about Border Gateway Protocol (BGP). Every effort has been made to
make this book as complete and 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 authors 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 of the pro-
fessional technical community.
Reader 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 be 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
Publisher John Wait
Editor-In-Chief John Kane
Cisco Representative Anthony Wolfenden
Cisco Press Program Manager Sonia Torres Chavez
Cisco Marketing Communications
Manager Tom Geitner
Cisco Marketing Program Manager Edie Quiroz
Acquisitions Editor Amy Moss
Managing Editor Patrick Kanouse
Development Editor Dayna Isley
Project Editor Marc Fowler
Copy Editor Gayle Johnson
Technical Editors Juan Alcaide
Jonathan Looney
Vaughn Suazo
Team Coordinator Tammi Barnett
Book Designer Gina Rexrode
Cover Designer Louisa Adair
Production Team Octal Publishing, Inc.
Indexer Tim Wright
iv
About the Authors
Randy Zhang, Ph.D., CCIE No. 5659, is a network consulting engineer at Cisco Systems Advanced Services (AS),
supporting Cisco strategic service provider and enterprise customers. He has helped many of these customers in
large-scale BGP and MPLS designs, migrations, and implementations. Before joining the AS group, he was a
senior software QA engineer for IP routing and MPLS for Cisco 6x00 series IP DSL switches, among many other
projects. He has written more than 30 publications on a variety of subjects.
Micah Bartell, CCIE No. 5069, is a network consulting engineer at Cisco Systems. He is a member of the ISP
Experts team in Advanced Services, providing support to Cisco strategic service provider and enterprise customers.
He is a recognized expert in the area of large-scale IP network design, with a strong focus on BGP, IS-IS, and IP
multicast. He is involved in standards work through the International Standards Organization (ISO) and the Internet
Engineering Task Force (IETF). He most recently served as editor for ISO/IEC IS 10589.
About the Technical Reviewers
Juan Alcaide joined Cisco in 1999 in a joint effort with Duke University to study BGP scalability. Since then, he
has been working in the routing protocol team at the Cisco Technical Assistance Center. Currently, he works as a
consultant, offering support to large ISPs.
Jonathan Looney, CCIE No. 7797, is a senior network engineer for Navisite, Inc., where he designs and imple-
ments custom network solutions for customers as well as the 15 data centers the company owns. He has more than
five years of experience implementing and maintaining BGP in both enterprise and service provider environments.
Before working for Navisite, he worked for both an ISP and a large university, where he designed and maintained
the company’s networks.
Vaughn Suazo, CCIE No. 5109, is 12-year veteran in the technology field with experience in server technologies,
LAN/WAN networking, and network security. He has achieved certifications as a dual CCIE for Routing and
Switching and Security. His career at Cisco began in 1999, where he worked directly with network service provider
customers and provided engineering support. Before working at Cisco, he worked with technology companies, pro-
viding customers with network design consulting, pre- and post-deployment support, and network audits for many
enterprise and commercial companies in the Tulsa and Oklahoma City areas.
v
Dedications
Randy Zhang:
To Susan, Amy, and Ally, for their enduring love, support, and patience.
Micah Bartell:
To my parents, Merlin and Marlene, for all their support over the years.
vi
Acknowledgments
This book has been the result of the efforts of many for whom we are ever so grateful. We would like to express our
deep gratitude to many colleagues who provided detailed technical reviews within tight schedules—specifically,
Rudy Davis, Tony Phelps, Soumitra Mukherji, Eric Louzau, and Chuck Curtiss. We also want to thank Mike Sneed
and Dave Browning for their encouragement and support.
We are very thankful to the kind folks at Cisco Press who made this book a reality. John Kane has patiently guided
us throughout the project at every stage. John’s encouragement and guidance have made the project a bit less chal-
lenging. Dayna Isley and Amy Moss, two talented editors, helped put various editing and reviews in the proper pro-
cess and provided us with detailed comments and suggestions in revising the manuscript. We also want to thank
Brett Bartow, Chris Cleveland, and Tammi Ross for their support and coordination in the initial part of the project.
Our thanks also go to the three technical reviewers—Juan Alcaide, Jonathan Looney, and Vaughn Suazo. Their
helpful comments and suggestions resulted in much improvement.
Randy Zhang: My special thanks go to my family, friends, colleagues, and many others for their help and encour-
agement over the years.
Micah Bartell: I would like to thank my family and friends—specifically, Adam Sellhorn and Jeff McCombs—for
their support during this project. I would also like to thank Tom Campbell and the rest of the guys from the Global
Internet NOC for making networking so much fun right from the start. Finally, and most importantly, I would like
to thank God for giving me the talent and opportunity to write this book.
vii
Contents at a Glance
Introduction ix
Part I Understanding Advanced BGP 3
Chapter 1 Advanced BGP Introduction 5
Chapter 2 Understanding BGP Building Blocks 13
Chapter 3 Tuning BGP Performance 61
Chapter 4 Effective BGP Policy Control 109
Part II Designing BGP Enterprise Networks 155
Chapter 5 Enterprise BGP Core Network Design 157
Chapter 6 Internet Connectivity for Enterprise Networks 221
Part III Designing BGP Service Provider Networks 251
Chapter 7 Scalable iBGP Design and Implementation Guidelines 253
Chapter 8 Route Reflection and Confederation Migration Strategies 307
Chapter 9 Service Provider Architecture 387
Part IV Implementing BGP Multiprotocol Extensions 433
Chapter 10 Multiprotocol BGP and MPLS VPN 435
Chapter 11 Multiprotocol BGP and Interdomain Multicast 515
Chapter 12 Multiprotocol BGP Support for IPv6 561
viii
Part V Appendixes 581
Appendix A Multiprotocol BGP Extensions for CLNS Support 583
Appendix B Matrix of BGP Features and Cisco IOS Software Releases 599
Appendix C Additional Sources of Information 605
Appendix D Acronym Glossary 611
Index 619
ix
Table of Contents
Introduction xxii
Part I Understanding Advanced BGP 3
Chapter 1 Advanced BGP Introduction 5
Understanding BGP Characteristics 5
Reliability 5
Stability 6
Scalability 7
Flexibility 8
Comparing BGP and IGP 9
Chapter 2 Understanding BGP Building Blocks 13
Comparing the Control Plane and Forwarding Plane 13
BGP Processes and Memory Use 14
BGP Path Attributes 16
ORIGIN 17
AS_PATH 17
NEXT_HOP 18
MULTI_EXIT_DISC 19
LOCAL_PREF 19
COMMUNITY 20
ORIGINATOR_ID 21
CLUSTER_LIST 21
Understanding Internal BGP 21
Path Decision Process 24
BGP Capabilities 27
BGP-IGP Routing Exchange 31
Routing Information Base 32
Switching Paths 33
Process Switching 33