Wednesday, February 13, 2013

A tip on BGP route-refresh

Okay we've all at one point have came across configuration lines similar to  next 2 lines;

neighbor upwan soft-reconfiguration inbound

or

neighbor 1.1.1.1 soft-reconfiguration inbound

How about route-refresh?  And how can we deploy this?

Yes, most current BGP speakers support this features. If you remember my earlier BGP post and the one about BGPs message-types and the route-refresh. Will a route-refresh is just that; " a refresh of routes from your peer ".

If you don't specify the soft-reconfiguration in, during your configuration, and during the  BGP neighborship open, the 2 BGP speakers involve, will share  there BGP capabilities;

e.g ( a show ip bgp neighbor output )

Neighbor capabilities:
    Route refresh: advertised and received(new)
    Address family IPv4 Unicast: advertised and received
  Message statistics:
    InQ depth is 21
    OutQ depth is 0
                         Sent       Rcvd
    Opens:                  3          3
    Notifications:          1          0
    Updates:                5   22589985
    Keepalives:        297084     309223
    Route Refresh:          1          0
    Total:             297094   22899211
  Default minimum time between advertisement runs is 30 seconds



Notice how this neighbor supports route-refresh ?   A soft reconfiguration in, over write the route-refresh capability.

Per the RFC,

   "A BGP speaker may send a ROUTE-REFRESH message to its peer only if it
   has received the Route Refresh Capability from its peer. "

rfc2918

Okay so what do you think happens if we clear a ip bgp neighbor ? Will we take our BGP peer down ?  Will let's find out;

cr01-rtr1#show ip bg sum  | i 2828
207.239.160.111 4  2828 22956753  297110 127749440    0    0 10:10:34   435016


We have  435k +  bgp prefixes learned from this neighbor.  Let's clear this neighbor;

cr01-rtr1#clear ip bgp 207.239.160.111  in  

and
   
cr01-rtr1#show ip bg sum  | i 2828       
207.239.160.111 4  2828 22964409  297114 127749676    7    0 10:12:09   434998


Notice we didn't go down , and we still have an active session ?

How about our show  ip bgp neighbor cmd output after the above actions;

( output shorten )

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:                  3          3
    Notifications:          1          0
    Updates:                5   22724302
    Keepalives:        297106     309245
    Route Refresh:          2          0
    Total:             297117   23033550


So as  you can see, we sent a route-refresh to our neighbor. Without the route-refresh, we would have to exec the soft-reconfiguration in and maintain a cached copies of the BGP table from our neighbor at an added memory consumption, & if we didn't want to teardown our BGP sessions in order to refresh our BGP routes.

Once again most current routers, support  the route-refresh feature  by the today's implementation of BGP ver4.

By using the "show ip bgp neighbor cmd"  ( ios ) or "show bgp  ipv4 unicast neighbors cmd" ( ios-XR), we can validate if our neighbors supports route-refresh.

The clear ip bgp in vrs  clear ip bgp soft in ; is the only difference between those two methods ( route-refresh  vrs soft-reconfiguration in )


Ken Felix
Freelance Network/Security Engineer
kfelix at hyperfeed dot com





No comments:

Post a Comment