BGP Dynamic Neighbors

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 ActionPurpose
    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 . 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

    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.