
- •Table of Contents
- •About the Technical Reviewers
- •Acknowledgments
- •Introduction
- •Objectives
- •Audience
- •Organization
- •Approach
- •Features and Text Conventions
- •Command Syntax Conventions
- •Icons Used in This Book
- •Origins and Recent History of the Internet
- •Network Access Points
- •Routing Arbiter Project
- •The Very High-Speed Backbone Network Service
- •Transitioning the Regional Networks from the NSFNET
- •NSF Solicits NIS Managers
- •Other Internet Registries
- •Internet Routing Registries
- •The Once and Future Internet
- •Looking Ahead
- •Frequently Asked Questions
- •References
- •ISP Services
- •Looking Ahead
- •Frequently Asked Questions
- •History of Internet Addressing
- •IP Address Space Depletion
- •Looking Ahead
- •Frequently Asked Questions
- •References
- •Overview of Routers and Routing
- •Routing Protocol Concepts
- •Segregating the World into Autonomous Systems
- •Looking Ahead
- •Frequently Asked Questions
- •References
- •How BGP Works
- •BGP Capabilities Negotiation
- •Multiprotocol Extensions for BGP
- •TCP MD5 Signature Option
- •Looking Ahead
- •Frequently Asked Questions
- •References
- •Building Peer Sessions
- •Sources of Routing Updates
- •Overlapping Protocols: Backdoors
- •The Routing Process Simplified
- •Controlling BGP Routes
- •Route Filtering and Attribute Manipulation
- •BGP-4 Aggregation
- •Looking Ahead
- •Frequently Asked Questions
- •References
- •Redundancy
- •Symmetry
- •Load Balancing
- •Looking Ahead
- •Frequently Asked Questions
- •References
- •Interaction of Non-BGP Routers with BGP Routers
- •BGP Policies Conflicting with Internal Defaults
- •Policy Routing
- •Looking Ahead
- •Frequently Asked Questions
- •Route Reflectors
- •Confederations
- •Controlling IGP Expansion
- •Looking Ahead
- •Frequently Asked Questions
- •References
- •Route Instabilities on the Internet
- •BGP Stability Features
- •Looking Ahead
- •Frequently Asked Questions
- •Building Peering Sessions
- •Route Filtering and Attribute Manipulation
- •Peer Groups
- •Sources of Routing Updates
- •Overlapping Protocols: Backdoors
- •BGP Attributes
- •BGP-4 Aggregation
- •Looking Ahead
- •Redundancy, Symmetry, and Load Balancing
- •Following Defaults Inside an AS
- •Policy Routing
- •Route Reflectors
- •Confederations
- •Controlling Route and Cache Invalidation
- •BGP Outbound Request Filter Capability
- •Route Dampening
- •Looking Ahead
- •Interesting Organizations
- •Research and Education
- •Miscellaneous
- •Books
- •Internet Request For Comments
- •When to Use BGP ORF
- •Configuration
- •EXEC Commands
- •Closing Remarks
- •The Motivation Behind the New Command-Line Interface
- •Organizing Command Groups in the New Configuration
- •Peer Groups
- •Route Maps
- •Redistribution
- •Route Reflector
- •Aggregation
- •List of BGP Commands
- •Upgrading to the AF Style
Internet Routing Architectures, Second Edition
Looking Ahead
The Internet has come a long way from the NSFNET backbone to the information highway of the 21st century—and there are no signs of its slowing down. And how could the Internet slow down when thousands of users come online every day, attracted by the most advanced applications technology affords?
Routing protocols have struggled to keep up with the demand, from the early days of EGP to the latest in BGP. BGP started as a simple exterior routing protocol and has evolved into a de facto standard, gluing the Internet together. Indeed, every hook and tweak that BGP can offer has been used, and still it seems that more capabilities are requested every day. As a result, new protocols and new techniques will emerge. Whether they will make routing easier or more complicated, more robust or shakier, is yet to be seen. One thing is certain: Common sense will never go away, and as long as it is the basis of all your designs, you will be the master of your domain.
Because I couldn't possibly cover all the potential benefits and caveats of every BGP-related IOS command, I strongly suggest that you consult the appropriate Cisco documentation or support personnel if a question or problem arises. I have included a current set of IOS BGP configuration parameters in Appendix A, "BGP Command Reference," for additional reference. Appendix B, "References for Further Study," provides references and pointers to interesting online resources, as well as useful books. Appendix C, "BGP Outbound Route Filter (ORF)," contains BGP ORF information. Finally, Appendix D, "Multiprotocol BGP (MBGP)," includes information on Multiprotocol BGP (MBGP).
page 383
Internet Routing Architectures, Second Edition
Part V: Appendixes
The appendixes in this part of the book provide additional references for further reading, an up to date Cisco IOS™ BGP command reference, and information regarding IOS™ modifications intended to provide a more intuitive BGP command line interface.
page 384
Internet Routing Architectures, Second Edition
Appendix A. BGP Command Reference
The commands listed in Table A-1 of this appendix are the commands used to configure and monitor Border Gateway Protocol (BGP). For full documentation on complete command syntax (arguments, parameters, and so on), command default settings, command modes, command history, usage guidelines, configuration examples, and lists of related commands, consult the CCO document at
http://www.cisco.com/univercd/cc/td/doc/product/software/ios121/121cgcr/ip_r/iprprt2/1rdbg p.htm#xtocid141910.
|
Table A-1. BGP Commands |
Command |
Description |
aggregate-address |
To create an aggregate entry in a BGP routing table, use the aggregate-address router |
|
configuration command. To disable this function, use the no form of this command. |
auto-summary |
To restore the default behavior of automatic summarization of subnet routes into |
(BGP) |
network-level routes, use the auto-summary router configuration command. To disable |
|
this feature and send subprefix routing information across classful network boundaries, |
|
use the no form of this command. |
bgp always-compare- |
To allow the comparison of the Multi Exit Discriminator (MED) for paths from |
med |
neighbors in different autonomous systems, use the bgp always-compare-med router |
|
configuration command. To disallow the comparison, use the no form of this command. |
bgp bestpath as-path |
To prevent the router from considering as-path as a factor in the algorithm for choosing |
ignore |
a route, use the bgp bestpath as-path ignore router configuration command. To allow |
|
the router to consider as-path in choosing a route, use the no form of this command. |
bgp bestpath med- |
To enable MED comparison among paths learned from confederation peers, use the bgp |
confed |
bestpath med-confed router configuration command. To prevent the software from |
|
considering the MED attribute in comparing paths, use the no form of this command. |
bgp bestpath |
To have Cisco IOS software consider a missing MED attribute in a path as having a |
missing-as-worst |
value of infinity, making the path without a MED value the least desirable path, use the |
|
bgp bestpath missing-as-worst router configuration command. To return the router to |
|
the default (assign a value of 0 to the missing MED), use the no form of this command. |
bgp client-to-client |
To restore route reflection from a BGP route reflector to clients, use the bgp client-to- |
reflection |
client reflection router configuration command. To disable client-to-client reflection, |
|
use the no form of this command. |
bgp cluster-id |
To configure the cluster ID if the BGP cluster has more than one route reflector, use the |
|
bgp cluster-id router configuration command. To remove the cluster ID, use the no |
|
form of this command. |
bgp confederation |
To specify a BGP confederation identifier, use the bgp confederation identifier router |
identifier |
configuration command. To remove the confederation identifier, use the no form of this |
|
command. |
bgp confederation |
To configure the autonomous systems that belong to the confederation, use the bgp |
peers |
confederation peers router configuration command. To remove an autonomous system |
|
from the confederation, use the no form of this command. |
bgp dampening |
To enable BGP route dampening or change various BGP route-dampening factors, use |
|
the bgp dampening global configuration command. To disable the function or restore |
|
the default values, use the no form of this command. |
bgp default local- |
To change the default local preference value, use the bgp default local-preference |
preference |
router configuration command. To return to the default setting, use the no form of this |
|
command. |
bgp deterministic |
To have Cisco IOS software compare the MED variable when choosing from among |
med |
routes advertised by the same subautonomous system within a confederation, use the |
page 385

|
Internet Routing Architectures, Second Edition |
|
|
|
bgp deterministic med router configuration command. To disallow the comparison, use |
|
the no form of this command. |
bgp fast-external- |
To immediately reset the BGP sessions of any directly adjacent external peers if the link |
fallover |
used to reach them goes down, use the bgp fast-external-fallover router configuration |
|
command. To disable this function, use the no form of this command. |
bgp log-neighbor- |
To enable logging of BGP neighbor resets, use the bgp log-neighbor-changes router |
changes |
configuration command. To disable the logging of changes in BGP neighbor |
|
adjacencies, use the no form of this command. |
clear ip bgp |
To reset a BGP connection using BGP soft reconfiguration, use the clear ip bgp EXEC |
|
command at the system prompt. |
clear ip bgp |
To clear BGP route dampening information and unsuppress the suppressed routes, use |
dampening |
the clear ip bgp dampening EXEC command. |
clear ip bgp flap- |
To clear BGP flap statistics, use the clear ip bgp flap-statistics EXEC command. |
statistics |
|
clear ip bgp peer- |
To remove all the members of a BGP peer group, use the clear ip bgp peer-group |
group |
EXEC command. |
clear ip prefix-list |
To reset the hit count of the prefix list entries, use the clear ip prefix-list router |
|
configuration command. |
default-information |
To allow the redistribution of network 0.0.0.0 into the BGP, use the default- |
originate (BGP) |
information originate router configuration command. To disable this function, use the |
|
no form of this command. |
default-metric (BGP) |
To set default metric values for the Border Gateway Protocol BGP routing protocol, use |
|
the default-metric router configuration command. To return to the default state, use the |
|
no form of this command. |
distance bgp |
To allow the use of external, internal, and local administrative distances that could be a |
|
better route to a node, use the distance bgp router configuration command. To return to |
|
the default values, use the no form of this command. |
distribute-list in |
To filter networks received in updates, use the distribute-list in router configuration |
|
command. To disable this function, use the no form of this command. |
distribute-list out |
To suppress networks from being advertised in updates, use the distribute-list out |
|
router configuration command. To disable this function, use the no form of this |
|
command. |
ip as-path access-list |
To define a BGP-related access list, use the ip as-path access-list global configuration |
|
command. To disable use of the access list, use the no form of this command. |
ip bgp-community |
To display BGP communities in the format AA:NN (autonomous system-community |
new-format |
number/2-byte number), use the ip bgp-community new-format global configuration |
|
command. To reenable the previous display format for BGP communities (NN:AA), use |
|
the no form of this command. |
ip community-list |
To create a community list for BGP and control access to it, use the ip community-list |
|
global configuration command. To delete the community-list, use the no form of this |
|
command. |
ip prefix-list |
To create an entry in a prefix list, use the ip prefix-list global configuration command. |
|
To delete the entry, use the no form of this command. |
ip prefix-list |
To add a text description of a prefix list, use the ip prefix-list description global |
description |
configuration command. To remove the text description, use the no form of this |
|
command. |
ip prefix-list |
To enable the generation of sequence numbers for entries in a prefix list, use the ip |
sequence-number |
prefix-list sequence-number global configuration command. |
match as-path |
To match a BGP autonomous system path access list, use the match as-path route-map |
|
configuration command. To remove a path list entry, use the no form of this command. |
match community- |
To match a BGP community, use the match community-list route-map configuration |
list |
command. To remove the community list entry, use the no form of this command. |
neighbor |
To set the minimum interval between the sending of BGP routing updates, use the |
advertisement- |
neighbor advertisement-interval router configuration command. To remove an entry, |
interval |
|
page 386

|
Internet Routing Architectures, Second Edition |
|
|
|
use the no form of this command. |
|
|
neighbor default- |
To allow a BGP speaker (the local router) to send the default route 0.0.0.0 to a neighbor |
originate |
for use as a default route, use the neighbor default-originate router configuration |
|
command. To send no route as a default, use the no form of this command. |
neighbor description |
To associate a description with a neighbor, use the neighbor description router |
|
configuration command. To remove the description, use the no form of this command. |
neighbor distribute- |
To distribute BGP neighbor information as specified in an access list, use the neighbor |
list |
distribute-list router configuration command. To remove an entry, use the no form of |
|
this command. |
neighbor ebgp- |
To accept and attempt BGP connections to external peers residing on networks that are |
multihop |
not directly connected, use the neighbor ebgp-multihop router configuration command. |
|
To return to the default, use the no form of this command. |
neighbor filter-list |
To set up a BGP filter, use the neighbor filter-list router configuration command. To |
|
disable this function, use the no form of this command. |
neighbor maximum- |
To control how many prefixes can be received from a neighbor, use the neighbor |
prefix |
maximum-prefix router configuration command. To disable this function, use the no |
|
form of this command. |
neighbor next-hop- |
To disable next hop processing of BGP updates on the router, use the neighbor next- |
self |
hop-self router configuration command. To disable this feature, use the no form of this |
|
command. |
neighbor password |
To enable Message Digest 5 (MD5) authentication on a TCP connection between two |
|
BGP peers, use the neighbor password router configuration command. To disable this |
|
function, use the no form of this command. |
neighbor peer-group |
To configure a BGP neighbor to be a member of a peer group, use the neighbor peer- |
(assigning members) |
group router configuration command. To remove the neighbor from the peer group, use |
|
the no form of this command. |
neighbor peer-group |
To create a BGP peer group, use the neighbor peer-group router configuration |
(creating) |
command. To remove the peer group and all of its members, use the no form of this |
|
command. |
neighbor prefix-list |
To distribute BGP neighbor information as specified in a prefix list, use the neighbor |
|
prefix-list router configuration command. To remove an entry, use the no form of this |
|
command. |
neighbor remote-as |
To add an entry to the BGP neighbor table, use the neighbor remote-as router |
|
configuration command. To remove an entry from the table, use the no form of this |
|
command. |
neighbor route-map |
To apply a route map to incoming or outgoing routes, use the neighbor route-map |
|
router configuration command. To remove a route map, use the no form of this |
|
command. |
neighbor route- |
To configure the router as a BGP route reflector and configure the specified neighbor as |
reflector-client |
its client, use the neighbor route-reflector-client router configuration command. To |
|
indicate that the neighbor is not a client, use the no form of this command. When all the |
|
clients are disabled, the local router is no longer a route reflector. |
neighbor send- |
To specify that a "communities" attribute should be sent to a BGP neighbor, use the |
community |
neighbor send-community router configuration command. To remove the entry, use the |
|
no form of this command. |
neighbor shutdown |
To disable a neighbor or peer group, use the neighbor shutdown router configuration |
|
command. To reenable the neighbor or peer group, use the no form of this command. |
neighbor soft- |
To configure the Cisco IOS software to start storing updates, use the neighbor soft- |
reconfiguration |
reconfiguration router configuration command. To not store received updates, use the |
|
no form of this command. |
neighbor timers |
To set the timers for a specific BGP peer or peer group, use the neighbor timers router |
|
configuration command. To clear the timers for a specific BGP peer or peer group, use |
page 387

Internet Routing Architectures, Second Edition
the no form of this command.
neighbor update- |
To have the Cisco IOS software allow internal BGP sessions to use any operational |
source |
interface for TCP connections, use the neighbor update-source router configuration |
|
command. To restore the interface assignment to the closest interface, which is called |
|
the best local address, use the no form of this command. |
neighbor version |
To configure the Cisco IOS software to accept only a particular BGP version, use the |
|
neighbor version router configuration command. To use the default version level of a |
|
neighbor, use the no form of this command. |
neighbor weight |
To assign a weight to a neighbor connection, use the neighbor weight router |
|
configuration command. To remove a weight assignment, use the no form of this |
|
command. |
network (BGP) |
To specify the list of networks for the BGP routing process, use the network router |
|
configuration command. To remove an entry, use the no form of this command. |
network backdoor |
To specify a backdoor route to a BGP border router that will provide better information |
|
about the network, use the network backdoor router configuration command. To |
|
remove an address from the list, use the no form of this command. |
network weight |
To assign an absolute weight to a BGP network, use the network weight router |
|
configuration command. To delete an entry, use the no form of the command. |
router bgp |
To configure the BGP routing process, use the router bgp global configuration |
|
command. To remove a routing process, use the no form of this command. |
set as-path |
To modify an autonomous system path for BGP routes, use the set as-path route-map |
|
configuration command. To not modify the autonomous system path, use the no form of |
|
this command. |
set comm-list delete |
To remove communities from the community attribute of an inbound or outbound |
|
update, use the set comm-list delete router configuration command. To negate a |
|
previous set comm-list delete command, use the no form of this command. |
set community |
To set the BGP COMMUNITIES attribute, use the set community route-map |
|
configuration command. To delete the entry, use the no form of this command. |
set dampening |
To set the BGP route dampening factors, use the set dampening route-map |
|
configuration command. To disable this function, use the no form of this command. |
set ip next-hop |
To indicate where to output packets that pass a match clause of a route map for policy |
(BGP) |
routing, use the set ip next-hop route-map configuration command. To delete an entry, |
|
use the no form of this command. |
set metric-type |
To set the MED value on prefixes advertised to External Border Gateway Protocol |
internal |
(EBGP) neighbors to match the Interior Gateway Protocol (IGP) metric of the next hop, |
|
use the set metric-type internal route-map configuration command. To return to the |
|
default, use the no form of this command. |
set origin (BGP) |
To set the BGP origin code, use the set origin route-map configuration command. To |
|
delete an entry, use the no form of this command. |
set weight |
To specify the BGP weight for the routing table, use the set weight route-map |
|
configuration command. To delete an entry, use the no form of this command. |
show ip bgp |
To display entries in the BGP routing table, use the show ip bgp EXEC command. |
show ip bgp cidr- |
To display routes with nonnatural network masks (that is, classless interdomain routing, |
only |
or CIDR), use the show ip bgp cidr-only privileged EXEC command. |
show ip bgp |
To display routes that belong to specified BGP communities, use the show ip bgp |
community |
community EXEC command. |
show ip bgp |
To display routes that are permitted by the BGP community list, use the show ip bgp |
community-list |
community-list EXEC command. |
show ip bgp |
To display BGP dampened routes, use the show ip bgp dampened-paths EXEC |
dampened-paths |
command. |
page 388

Internet Routing Architectures, Second Edition
show ip bgp filter-list To display routes that conform to a specified filter list, use the show ip bgp filter-list privileged EXEC command.
show ip bgp flap- |
To display BGP flap statistics, use the show ip bgp flap-statistics EXEC command. |
statistics |
|
show ip bgp |
To display routes with inconsistent originating autonomous systems, use the show ip |
inconsistent-as |
bgp inconsistent-as privileged EXEC command. |
show ip bgp |
To display information about the TCP and BGP connections to neighbors, use the show |
neighbors |
ip bgp neighbors EXEC command. |
show ip bgp paths |
To display all the BGP paths in the database, use the show ip bgp paths EXEC |
|
command. |
show ip bgp peer- |
To display information about BGP peer groups, use the show ip bgp peer-group EXEC |
group |
command. |
show ip bgp regexp |
To display routes matching the regular expression, use the show ip bgp regexp |
|
privileged EXEC command. |
show ip bgp |
To display the status of all BGP connections, use the show ip bgp summary EXEC |
summary |
command. |
show ip prefix-list |
To display information about a prefix list or prefix list entries, use the show ip prefix- |
|
list EXEC command. |
synchronization |
To enable the synchronization between BGP and your Interior Gateway Protocol (IGP) |
|
system, use the synchronization router configuration command. To enable the Cisco |
|
IOS software to advertise a network route without waiting for the IGP, use the no form |
|
of this command. |
table-map |
To modify metric and tag values when the IP routing table is updated with BGP learned |
|
routes, use the table-map router configuration command. To disable this function, use |
|
the no form of the command. |
timers bgp |
To adjust BGP network timers, use the timers bgp router configuration command. To |
|
reset the BGP timing defaults, use the no form of this command. |
page 389