Home > Articles > Introduction to BGP

Introduction to BGP

Chapter Description

In this sample chapter from Routing TCP/IP, Volume II: CCIE Professional Development, 2nd Edition, author Jeff Doyle covers the basic operation of BGP, including its message types, how the messages are used, and the format of the messages. You also learn about the various basic attributes BGP can associate with a route and how it uses these attributes to choose a best path. Finally, this chapter shows you how to configure and troubleshoot BGP peering sessions.

Troubleshooting Exercises

  1. Routers R1 and R3 in Figure 2-31 can ping each other’s loopback 0 interfaces. The network operator configures an IBGP peering between both routers, as shown in Example 2-27. However, the IBGP session is not getting established. The command bgp log-neighbor-changes was configured on both routers, and the output from the show logging and the show ip bgp neighbors commands is shown in Example 2-28. What is likely to be preventing the IBGP peering from coming up?

    02fig31.jpg

    Figure 2-31 Topology for Troubleshooting Exercise 1

    Example 2-27 Configuring an IBGP Peering Between R1 and R3

    ! R1
    !
    router bgp 1
      bgp log-neighbor-changes
      neighbor 192.168.0.3 remote-as 1
      neighbor 192.168.0.3 update-source loopback 0
      neighbor 192.168.0.3 description R3
      neighbor 192.168.0.3 password Ch2_Troublesh00ting_ExcerSizE
    !
    ! R3
    !
    router bgp 1
      bgp log-neighbor-changes
      neighbor 192.168.0.1 remote-as 1
      neighbor 192.168.0.1 update-source loopback 0
      neighbor 192.168.0.1 description R1
      neighbor 192.168.0.1 password Ch2_Troublesh00ting_ExcerSizE
    !

    Example 2-28 show logging and show ip bgp neighbors Output

    R1
    R1#show logging
    Syslog logging: enabled (12 messages dropped, 9 messages rate-limited,
                    0 flushes, 0 overruns, xml disabled, filtering disabled)

    No Active Message Discriminator.



    No Inactive Message Discriminator.


        Console logging: level debugging, 117 messages logged, xml disabled,
                         filtering disabled
        Monitor logging: level debugging, 0 messages logged, xml disabled,
                         filtering disabled
        Buffer logging:  level debugging, 126 messages logged, xml disabled,
                         filtering disabled
        Logging Exception size (8192 bytes)
        Count and timestamp logging messages: disabled
        Persistent logging: disabled

    No active filter modules.

    ESM: 0 messages dropped

        Trap logging: level informational, 59 message lines logged

    Log Buffer (8192 bytes):

    *Sep  4 01:21:00.311: %SYS-5-CONFIG_I: Configured from console by console
    *Sep  4 01:21:20.835: BGP: 192.168.0.3 went from Idle to Active
    *Sep  4 01:21:20.843: BGP: 192.168.0.3 open active delayed 30866ms (35000ms max, 28%
      jitter)
    *Sep  4 01:21:51.711: BGP: 192.168.0.3 open active, local address 192.168.0.1
    *Sep  4 01:21:51.891: BGP: 192.168.0.3 open failed: Destination unreachable; gateway
      or host down, open active delayed 31701ms (35000ms max, 28% jitter)
    *Sep  4 01:22:23.595: BGP: 192.168.0.3 open active, local address 192.168.0.1


    R1#show ip bgp neighbors
    BGP neighbor is 192.168.0.3,  remote AS 1, internal link
      BGP version 4, remote router ID 0.0.0.0
      BGP state = Active
      Last read 00:03:33, last write 00:03:33, hold time is 180, keepalive interval is
      60 seconds
      Message statistics:
        InQ depth is 0
        OutQ depth is 0
                             Sent       Rcvd
        Opens:                  0          0
        Notifications:          0          0
        Updates:                0          0
        Keepalives:             0          0
        Route Refresh:          0          0
        Total:                  0          0
      Default minimum time between advertisement runs is 0 seconds

     For address family: IPv4 Unicast
      BGP table version 1, neighbor version 0/0
      Output queue size: 0
      Index 1, Offset 0, Mask 0x2
      1 update-group member
                                     Sent       Rcvd
      Prefix activity:               ----       ----
        Prefixes Current:               0          0
        Prefixes Total:                 0          0
        Implicit Withdraw:              0          0
        Explicit Withdraw:              0          0
        Used as bestpath:             n/a          0
        Used as multipath:            n/a          0

                                       Outbound    Inbound
      Local Policy Denied Prefixes:    --------    -------
        Total:                                0          0
      Number of NLRIs in the update sent: max 0, min 0

      Connections established 0; dropped 0
      Last reset never
      No active TCP connection
    R3
    R3#show logging
    Syslog logging: enabled (12 messages dropped, 9 messages rate-limited,
                    0 flushes, 0 overruns, xml disabled, filtering disabled)

    No Active Message Discriminator.



    No Inactive Message Discriminator.


        Console logging: level debugging, 115 messages logged, xml disabled,
                         filtering disabled
        Monitor logging: level debugging, 0 messages logged, xml disabled,
                         filtering disabled
        Buffer logging:  level debugging, 124 messages logged, xml disabled,
                         filtering disabled
        Logging Exception size (8192 bytes)
        Count and timestamp logging messages: disabled
        Persistent logging: disabled

    No active filter modules.

    ESM: 0 messages dropped

        Trap logging: level informational, 55 message lines logged
    Log Buffer (8192 bytes):

    *Sep  4 01:20:55.003: %SYS-5-CONFIG_I: Configured from console by console
    *Sep  4 01:21:28.723: BGP: 192.168.0.1 went from Idle to Active
    *Sep  4 01:21:28.731: BGP: 192.168.0.1 open active delayed 34023ms (35000ms max, 28%
      jitter)
    *Sep  4 01:22:02.755: BGP: 192.168.0.1 open active, local address 192.168.0.3
    *Sep  4 01:22:02.811: BGP: 192.168.0.1 open failed: Destination unreachable; gateway
      or host down, open active delayed 25843ms (35000ms max, 28% jitter)
    *Sep  4 01:22:28.655: BGP: 192.168.0.1 open active, local address 192.168.0.3
    *Sep  4 01:22:28.831: BGP: 192.168.0.1 open failed: Destination unreachable; gateway
      or host down, open active delayed 27833ms (35000ms max, 28% jitter)
    *Sep  4 01:22:56.667: BGP: 192.168.0.1 open active, local address 192.168.0.3
    *Sep  4 01:22:56.859: BGP: 192.168.0.1 open failed: Destination unreachable; gateway
      or host down, open active delayed 33383ms (35000ms max, 28% jitter)

    R3#show ip bgp neighbors
    BGP neighbor is 192.168.0.1,  remote AS 1, internal link
      BGP version 4, remote router ID 0.0.0.0
      BGP state = Active
      Last read 00:03:57, last write 00:03:57, hold time is 180, keepalive interval is
      60 seconds
      Message statistics:
        InQ depth is 0
        OutQ depth is 0
                             Sent       Rcvd
        Opens:                  0          0
        Notifications:          0          0
        Updates:                0          0
        Keepalives:             0          0
        Route Refresh:          0          0
        Total:                  0          0
      Default minimum time between advertisement runs is 0 seconds

     For address family: IPv4 Unicast
      BGP table version 1, neighbor version 0/0
      Output queue size: 0
      Index 1, Offset 0, Mask 0x2
      1 update-group member
                                     Sent       Rcvd
      Prefix activity:               ----       ----
        Prefixes Current:               0          0
        Prefixes Total:                 0          0
        Implicit Withdraw:              0          0
        Explicit Withdraw:              0          0
        Used as bestpath:             n/a          0
        Used as multipath:            n/a          0

                                       Outbound    Inbound
      Local Policy Denied Prefixes:    --------    -------
        Total:                                0          0
      Number of NLRIs in the update sent: max 0, min 0

      Connections established 0; dropped 0
      Last reset never
      No active TCP connection
  2. Refer to Figure 2-32. R1 and R2 have been configured to establish an IBGP connection, but the connection is not coming up. Upon inspecting the logging buffer, the logs in Example 2-29 were found. Why is the IBGP session not coming up?

    02fig32.jpg

    Figure 2-32 Topology for Troubleshooting Exercise 2

    Example 2-29 Logs Lack an IBGP Session

    R1#
    *Sep  4 02:49:20.575: BGP: 192.168.0.2 open failed: Connection timed out; remote
      host not responding, open active delayed 457ms (1000ms max, 87% jitter)
    *Sep  4 02:49:21.035: BGP: 192.168.0.2 open active, local address 192.168.0.1
    R1#
    *Sep  4 02:49:21.287: %TCP-6-BADAUTH: No MD5 digest from 192.168.0.2(179) to
      192.168.0.1(43661)
  3. In an attempt to rectify the problem in Exercise 2, the network operator changed the BGP configuration on one of the routers. Now he receives the log messages shown in Example 2-30. Why is the IBGP session not coming up, and what is the difference between the log messages in this exercise and Exercise 2?

    Example 2-30 Logs Still Missing an IBGP Session

    R1#
    *Sep  4 02:51:16.003: BGP: 192.168.0.2 open active, local address 192.168.0.1
    R1#
    *Sep  4 02:51:21.007: BGP: 192.168.0.2 open failed: Connection timed out; remote
      host not responding, open active delayed 30634ms (35000ms max, 28% jitter)
    R1#
    *Sep  4 02:51:21.739: %TCP-6-BADAUTH: Invalid MD5 digest from 192.168.0.2(28677) to
      192.168.0.1(179)
  4. In Figure 2-33, routers R1 and R2 are in AS1. R3 is in AS2. OSPF is the IGP for AS1 and area 0 spans the whole AS. Routers R1 and R2 have been configured to peer over their loopback addresses. R1 peers with R3 over the physical link addresses. The configurations for all three routers are listed in Example 2-31. Interface Loopback0 of R3 (192.168.0.3) is shown in the output of show ip bgp on router R2, but the route is not being installed in the IP routing table. What is the reason for this? And what are two ways to fix this issue, and which method is considered to be best practice configuration?

    02fig33.jpg

    Figure 2-33 Topology for Troubleshooting Exercise 4

    Example 2-31 Router Configurations for Troubleshooting Exercise 4

    ! R1
    !
    interface Serial1/0
     ip address 10.0.0.1 255.255.255.252
    !
    interface Serial1/1
     ip address 172.16.0.1 255.255.255.252
    !
    interface Loopback 0
     ip address 192.168.0.1 255.255.255.255
    !
    router ospf 1
     log-adjacency-changes
     network 10.0.0.1 0.0.0.0 area 0
     network 192.168.0.1 0.0.0.0 area 0
    !
    router bgp 1
     no synchronization
     bgp log-neighbor-changes
     neighbor 192.168.0.2 remote-as 1
     neighbor 192.168.0.2 update-source Loopback0
     neighbor 172.16.0.2 remote-as 2
     no auto-summary
    !
    ! R2
    !
    interface Serial1/0
     ip address 10.0.0.2 255.255.255.252
    !
    interface Loopback 0
     ip address 192.168.0.2 255.255.255.255
    !
    router ospf 1
     log-adjacency-changes
     network 10.0.0.2 0.0.0.0 area 0
     network 192.168.0.2 0.0.0.0 area 0
    !
    router bgp 1
     no synchronization
     bgp log-neighbor-changes
     neighbor 192.168.0.1 remote-as 1
     neighbor 192.168.0.1 update-source Loopback0
     no auto-summary
    !
    ! R3
    !
    interface Serial1/1
     ip address 172.16.0.2 255.255.255.252
    !
    interface Loopback 0
     ip address 192.168.0.3 255.255.255.255
    !
    router bgp 2
     no synchronization
     bgp log-neighbor-changes
     network 192.168.0.3 mask 255.255.255.255
     neighbor 172.16.0.1 remote-as 1
     no auto-summary
    !
  5. Reference Figure 2-33 in Exercise 4. The network operator fixed the problem that was stopping the bgp route from being installed in the IP routing table on R2. Now the route is in both the BGP table and the IP routing table. However, the ping from R2 to R3 is still not successful. What may be the reason for this and how would you fix it?

There are currently no related articles. Please check back later.