BGP Dynamic Neighbors

Last Updated: November 21, 2012

BGP dynamic neighbor support allows BGP peering to a group of remote neighbors that are defined by a range of IP addresses. Each range can be configured as a subnet IP address. BGP dynamic neighbors are configured using a range of IP addresses and BGP peer groups.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Information About BGP Dynamic Neighbors

BGP Dynamic Neighbors

Support for the BGP Dynamic Neighbors feature was introduced in Cisco IOS Release 12.2(33)SXH on the Cisco Catalyst 6500 series switches. BGP dynamic neighbor support allows BGP peering to a group of remote neighbors that are defined by a range of IP addresses. Each range can be configured as a subnet IP address. BGP dynamic neighbors are configured using a range of IP addresses and BGP peer groups.

After a subnet range is configured for a BGP peer group and a TCP session is initiated by another router for an IP address in the subnet range, a new BGP neighbor is dynamically created as a member of that group. After the initial configuration of subnet ranges and activation of the peer group (referred to as a listen range group ), dynamic BGP neighbor creation does not require any further CLI configuration on the initial router. Other routers can establish a BGP session with the initial router, but the initial router need not establish a BGP session to other routers if the IP address of the remote peer used for the BGP session is not within the configured range.

To support the BGP Dynamic Neighbors feature, the output for the show ip bgp neighbors, show ip bgp peer-group, and show ip bgp summary commands was updated to display information about dynamic neighbors.

A dynamic BGP neighbor will inherit any configuration for the peer group. In larger BGP networks, implementing BGP dynamic neighbors can reduce the amount and complexity of CLI configuration and save CPU and memory usage. Only IPv4 peering is supported.

How to Configure BGP Dynamic Neighbors

Implementing BGP Dynamic Neighbors Using Subnet Ranges

In Cisco IOS Release 12.2(33)SXH, support for BGP dynamic neighbors was introduced. Perform this task to implement the dynamic creation of BGP neighbors using subnet ranges.

In this task, a BGP peer group is created on Router B in the figure below, a global limit is set on the number of dynamic BGP neighbors, and a subnet range is associated with a peer group. Configuring the subnet range enables the dynamic BGP neighbor process. The peer group is added to the BGP neighbor table of the local router, and an alternate autonomous system number is also configured. The peer group is activated under the IPv4 address family.

The next step is to move to another router--Router E in the figure below--where a BGP session is started and the neighbor router, Router B, is configured as a remote BGP peer. The peering configuration opens a TCP session and triggers Router B to create a dynamic BGP neighbor because the IP address that starts the TCP session (192.168.3.2) is within the configured subnet range for dynamic BGP peers. The task moves back to the first router, Router B, to run three show commands that have been modified to display dynamic BGP peer information.

Figure 1 BGP Dynamic Neighbor Topology


Before You Begin

This task requires Cisco IOS Release 12.2(33)SXH, or a later release, to be running.


Note


This task supports only IPv4 BGP peering.



SUMMARY STEPS

1.    enable

2.    configure terminal

3.    router bgp autonomous-system-number

4.    bgp log-neighbor-changes

5.    neighbor peer-group-name peer-group

6.    bgp listen [limit max-number]

7.    bgp listen [limit max-number | range network / length peer-group peer-group-name]

8.    neighbor {ip-address | ipv6-address | peer-group-name} ebgp-multihop [ttl]

9.    neighbor peer-group-name remote-as autonomous-system-number [alternate-as autonomous-system-number...]

10.    address-family ipv4 [mdt | multicast | unicast [vrf vrf-name]]

11.    neighbor {ip-address | peer-group-name} activate

12.    end

13.    Move to another router that has an interface within the subnet range for the BGP peer group configured in this task.

14.    enable

15.    configure terminal

16.    router bgp autonomous-system-number

17.    neighbor {ip-address| peer-group-name} remote-as autonomous-system-number [alternate-as autonomous-system-number...]

18.    Return to the first router.

19.    show ip bgp summary

20.    show ip bgp peer-group [peer-group-name] [summary]

21.    show ip bgp neighbors [ip-address]


DETAILED STEPS
  Command or Action Purpose
Step 1
enable


Example:

DeviceB> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
  • The configuration is entered on router B.
 
Step 2
configure terminal


Example:

DeviceB# configure terminal

 

Enters global configuration mode.

 
Step 3
router bgp autonomous-system-number


Example:

DeviceB(config)# router bgp 45000

 

Enters router configuration mode for the specified routing process.

 
Step 4
bgp log-neighbor-changes


Example:

DeviceB(config-router)# bgp log-neighbor-changes

 

(Optional) Enables logging of BGP neighbor status changes (up or down) and neighbor resets.

  • Use this command for troubleshooting network connectivity problems and measuring network stability. Unexpected neighbor resets might indicate high error rates or high packet loss in the network and should be investigated.
 
Step 5
neighbor peer-group-name peer-group


Example:

DeviceB(config-router)# neighbor group192 peer-group

 

Creates a BGP peer group.

  • In this example, a peer group named group192 is created. This group will be used as a listen range group.
 
Step 6
bgp listen [limit max-number]


Example:

DeviceB(config-router)# bgp listen limit 200

 

Sets a global limit of BGP dynamic subnet range neighbors.

  • Use the optional limit keyword and max-number argument to define the maximum number of BGP dynamic subnet range neighbors that can be created.
Note    Only the syntax applicable to this task is used in this example. For the complete syntax, see Step 7.
 
Step 7
bgp listen [limit max-number | range network / length peer-group peer-group-name]


Example:

DeviceB(config-router)# bgp listen range 192.168.0.0/16 peer-group group192

 

Associates a subnet range with a BGP peer group and activates the BGP dynamic neighbors feature.

  • Use the optional limit keyword and max-number argument to define the maximum number of BGP dynamic neighbors that can be created.
  • Use the optional range keyword and network / length argument to define a prefix range to be associated with the specified peer group.
  • In this example, the prefix range 192.168.0.0/16 is associated with the listen range group named group192.
 
Step 8
neighbor {ip-address | ipv6-address | peer-group-name} ebgp-multihop [ttl]


Example:

DeviceB(config-router)# neighbor group192 ebgp-multihop 255

 

Accepts and attempts BGP connections to external peers residing on networks that are not directly connected.

 
Step 9
neighbor peer-group-name remote-as autonomous-system-number [alternate-as autonomous-system-number...]


Example:

DeviceB(config-router)# neighbor group192 remote-as 40000 alternate-as 50000

 

Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.

  • Use the optional alternate-as keyword and autonomous-system-number argument to identify up to five alternate autonomous system numbers for listen range neighbors.
  • In this example, the peer group named group192 is configured with two possible autonomous system numbers.
Note    The alternate-as keyword is used only with the listen range peer groups, not with individual BGP neighbors.
 
Step 10
address-family ipv4 [mdt | multicast | unicast [vrf vrf-name]]


Example:

DeviceB(config-router)# address-family ipv4 unicast

 

Enters address family configuration mode to configure BGP peers to accept address-family-specific configurations.

 
Step 11
neighbor {ip-address | peer-group-name} activate


Example:

DeviceB(config-router-af)# neighbor group192 activate

 

Activates the neighbor or listen range peer group for the configured address family.

  • In this example, the neighbor 172.16.1.1 is activated for the IPv4 address family.
Note    Usually BGP peer groups cannot be activated using this command, but the listen range peer groups are a special case.
 
Step 12
end


Example:

DeviceB(config-router-af)# end

 

Exits address family configuration mode and returns to privileged EXEC mode.

 
Step 13
Move to another router that has an interface within the subnet range for the BGP peer group configured in this task.  

--

 
Step 14
enable


Example:

DeviceE> enable

 

Enables privileged EXEC mode.

  • Enter your password if prompted.
  • The configuration is entered on Router E.
 
Step 15
configure terminal


Example:

DeviceE# configure terminal

 

Enters global configuration mode.

 
Step 16
router bgp autonomous-system-number


Example:

DeviceE(config)# router bgp 50000

 

Enters router configuration mode for the specified routing process.

 
Step 17
neighbor {ip-address| peer-group-name} remote-as autonomous-system-number [alternate-as autonomous-system-number...]


Example:

DeviceE(config-router)# neighbor 192.168.3.1 remote-as 45000

 

Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.

  • In this example, the interface (192.168.3.2 in the figure above) at Router E is with the subnet range set for the BGP listen range group, group192. When TCP opens a session to peer to Router B, Router B creates this peer dynamically.
 
Step 18
Return to the first router.  

--

 
Step 19
show ip bgp summary


Example:

DeviceB# show ip bgp summary

 

(Optional) Displays the BGP path, prefix, and attribute information for all connections to BGP neighbors.

  • In this step, the configuration has returned to Router B.
 
Step 20
show ip bgp peer-group [peer-group-name] [summary]


Example:

DeviceB# show ip bgp peer-group group192

 

(Optional) Displays information about BGP peer groups.

 
Step 21
show ip bgp neighbors [ip-address]


Example:

DeviceB# show ip bgp neighbors 192.168.3.2

 

(Optional) Displays information about BGP and TCP connections to neighbors.

  • In this example, information is displayed about the dynamically created neighbor at 192.168.3.2. The IP address of this BGP neighbor can be found in the output of either the show ip bgp summary or the show ip bgp peer-group command.
Note    Only the syntax applicable to this task is used in this example. For more details, see the Cisco IOS IP Routing: BGP Command Reference.
 

Examples

The following output examples were taken from Router B in the figure above after the appropriate configuration steps in this task were completed on both Router B and Router E.

The following output from the show ip bgp summary command shows that the BGP neighbor 192.168.3.2 was dynamically created and is a member of the listen range group, group192. The output also shows that the IP prefix range of 192.168.0.0/16 is defined for the listen range named group192.

Router# show ip bgp summary
BGP router identifier 192.168.3.1, local AS number 45000
BGP table version is 1, main routing table version 1
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
*192.168.3.2    4 50000       2       2        0    0    0 00:00:37        0
* Dynamically created based on a listen range command
Dynamically created neighbors: 1/(200 max), Subnet ranges: 1
BGP peergroup group192 listen range group members: 
  192.168.0.0/16 

The following output from the show ip bgp peer-group command shows information about the listen range group, group192 that was configured in this task:

Router# show ip bgp peer-group group192
BGP peer-group is group192,  remote AS 40000
  BGP peergroup group192 listen range group members: 
  192.168.0.0/16 
  BGP version 4
  Default minimum time between advertisement runs is 30 seconds
 For address family: IPv4 Unicast
  BGP neighbor is group192, peer-group external, members:
  *192.168.3.2 
  Index 0, Offset 0, Mask 0x0
  Update messages formatted 0, replicated 0
  Number of NLRIs in the update sent: max 0, min 0

The following sample output from the show ip bgp neighbors command shows that the neighbor 192.168.3.2 is a member of the peer group, group192, and belongs to the subnet range group 192.168.0.0/16, which shows that this peer was dynamically created:

Router# show ip bgp neighbors 192.168.3.2
BGP neighbor is *192.168.3.2,  remote AS 50000, external link
 Member of peer-group group192 for session parameters
 Belongs to the subnet range group: 192.168.0.0/16
  BGP version 4, remote router ID 192.168.3.2
  BGP state = Established, up for 00:06:35
  Last read 00:00:33, last write 00:00:25, hold time is 180, keepalive intervals
  Neighbor capabilities:
    Route refresh: advertised and received(new)
    Address family IPv4 Unicast: advertised and received
  Message statistics:
    InQ depth is 0
    OutQ depth is 0
    
                         Sent       Rcvd
    Opens:                  1          1
    Notifications:          0          0
    Updates:                0          0
    Keepalives:             7          7
    Route Refresh:          0          0
    Total:                  8          8
  Default minimum time between advertisement runs is 30 seconds
 For address family: IPv4 Unicast
  BGP table version 1, neighbor version 1/0
  Output queue size : 0
  Index 1, Offset 0, Mask 0x2
  1 update-group member
  group192 peer-group member
.
.
.

Configuration Examples for BGP Dynamic Neighbors

Example: Implementing BGP Dynamic Neighbors Using Subnet Ranges

In the following example, two BGP peer groups are created on Router B in the figure below, a global limit is set on the number of dynamic BGP neighbors, and a subnet range is associated with a peer group. Configuring the subnet range enables the dynamic BGP neighbor process. The peer groups are added to the BGP neighbor table of the local router, and an alternate autonomous system number is also configured for one of the peer groups, group192. The subnet range peer groups and a standard BGP peer are then activated under the IPv4 address family.

The configuration moves to another router--Router A in the figure below--where a BGP session is started and the neighbor router, Router B, is configured as a remote BGP peer. The peering configuration opens a TCP session and triggers Router B to create a dynamic BGP neighbor because the IP address that starts the TCP session (192.168.1.2) is within the configured subnet range for dynamic BGP peers.

A third router--Router E in the figure below--also starts a BGP peering session with Router B. Router E is in the autonomous system 50000, which is the configured alternate autonomous system. Router B responds to the resulting TCP session by creating another dynamic BGP peer.

This example concludes with the output of the show ip bgp summary command entered on Router B.

Figure 2 BGP Dynamic Neighbor Topology


Router B

enable
configure terminal
router bgp 45000
 bgp log-neighbor-changes
 bgp listen limit 200
 bgp listen range 172.21.0.0/16 peer-group group172  
 bgp listen range 192.168.0.0/16 peer-group group192   
 neighbor group172 peer-group
 neighbor group172 remote-as 45000
 neighbor group192 peer-group     
 neighbor group192 remote-as 40000 alternate-as 50000
 neighbor 172.16.1.2 remote-as 45000
 address-family ipv4 unicast 
 neighbor group172 activate
 neighbor group192 activate
 neighbor 172.16.1.2 activate
 end

Router A

enable
configure terminal
router bgp 40000
 neighbor 192.168.1.1 remote-as 45000
 exit

Router E

enable
configure terminal
router bgp 50000
 neighbor 192.168.3.1 remote-as 45000
 exit

After both Router A and Router E are configured, the show ip bgp summary command is run on Router B. The output displays the regular BGP neighbor, 172.16.1.2, and the two BGP neighbors that were created dynamically when Router A and Router E initiated TCP sessions for BGP peering to Router B. The output also shows information about the configured listen range subnet groups.

BGP router identifier 192.168.3.1, local AS number 45000
BGP table version is 1, main routing table version 1
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
172.16.1.2      4 45000      15      15        1    0    0 00:12:20        0
*192.168.1.2    4 40000       3       3        1    0    0 00:00:37        0
*192.168.3.2    4 50000       6       6        1    0    0 00:04:36        0
* Dynamically created based on a listen range command
Dynamically created neighbors: 2/(200 max), Subnet ranges: 2
BGP peergroup group172 listen range group members: 
  172.21.0.0/16  
BGP peergroup group192 listen range group members: 
  192.168.0.0/16

Additional References

Related Documents

Related Topic Document Title

Cisco IOS commands

Cisco IOS Master Command List, All Releases

BGP commands

Cisco IOS IP Routing: BGP Command Reference

Standards and RFCs

Standard/RFC Title

RFC 2918

Route Refresh Capability for BGP-4

Technical Assistance

Description Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for BGP Dynamic Neighbors

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Table 1 Feature Information for BGP Dynamic Neighbors
Feature Name Releases Feature Information

BGP Dynamic Neighbors

12.2(33)SXH

15.1(2)T

15.0(1)S

15.1(1)SG

Cisco IOS XE Release 3.1S

Cisco IOS XE Release 3.3SG

BGP dynamic neighbor support allows BGP peering to a group of remote neighbors that are defined by a range of IP addresses. Each range can be configured as a subnet IP address. BGP dynamic neighbors are configured using a range of IP addresses and BGP peer groups. After a subnet range is configured for a BGP peer group and a TCP session is initiated for an IP address in the subnet range, a new BGP neighbor is dynamically created as a member of that group. The new BGP neighbor will inherit any configuration for the peer group.

The following commands were introduced or modified by this feature: bgp listen, debug ip bgp range, neighbor remote-as, show ip bgp neighbors, show ip bgp peer-group, and show ip bgp summary.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

© 2012 Cisco Systems, Inc. All rights reserved.