10/08/2019

Router Server

References:

Router Server = Internet Exchange (IX) Route Server = eBGP RR
  • Used in internet exchange
  • eBGP RR, so no need a full mesh eBGP peering among all parties
  • Reduces configuration complexity and CPU/memory overhead on border routers
Requirements:
  • AS_PATH transparency:
    • RS doesn't append its own AS# in the AS_PATH
    • RS-client doesn't enforce first AS
  • Nexthop transparency: 
    • doesn't change NRLI's NH
  • MED transparency: 
    • doesn't change path MED
  • Path hiding:
    • Per RFC 4271, BGP only advertises the best path, and a later update will be considered as an implicit withdrawal of the existing path.  
    • In RFC 7947, it does mention the "path hiding". So the RS only advertises the best path, which could slow down the convergence time
EOS configurations:

service routing protocols model multi-agent  <<  must multi-agent
!

route-map rtmap-no-change-med permit 10
   set metric +0     << keep metric unchanged
!
router bgp 10
   router-id 10.255.255.251
   neighbor RS-Client peer group
   neighbor RS-Client next-hop-unchanged   << NH unchanged
   neighbor RS-Client as-path prepend-own disabled  << no own as#
   neighbor RS-Client route-map rtmap-not-change-med out << rtmap
   neighbor RS-Client password 7 xLcnzAMGHkI=
   neighbor RS-Client send-community
   neighbor RS-Client maximum-routes 12000
   neighbor 10.10.10.11 peer group RS-Client
   neighbor 10.10.10.11 remote-as 11
!

How many prefixes received? Considering the following scenario:
  • 3 peers advertising ONE prefix 
  • 2 route servers
  • And all 3 peers also have bilateral peering  
  • Then should be 5
Router1.15:19:15#sh ip bgp 11.111.1.1
BGP routing table information for VRF default
Router identifier 180.255.255.1, local AS number 65100
BGP routing table entry for 11.111.1.1/32
 Paths: 5 available
  12 111
    10.10.10.12 from 10.10.10.12 (10.255.255.12)  << from R2
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:19 ago, valid, external, ECMP head, ECMP, best, ECMP contributor
      Rx SAFI: Unicast
  11 111
    10.10.10.11 from 10.10.10.11 (10.255.255.11)  << from R1
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:19 ago, valid, external, ECMP, ECMP contributor
      Rx SAFI: Unicast
  11 111
    10.10.10.11 from 10.10.10.251 (10.255.255.251) << R1 vis RS1
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:19 ago, valid, external, ECMP, ECMP contributor
      Rx SAFI: Unicast
  11 111
    10.10.10.11 from 10.10.10.252 (10.255.255.252) << R1 via RS2
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:19 ago, valid, external, ECMP, ECMP contributor
      Rx SAFI: Unicast
  13 333 111
    10.10.10.13 from 10.10.10.13 (10.255.255.13)    << R3
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:19 ago, valid, external
      Rx SAFI: Unicast

Let's shut down the private peering to R2. So you can see the RS1 and RS2 don't advertise R2's path. 

Router.15:26:31(config-router-bgp)#sh ip bgp 11.111.1.1
BGP routing table information for VRF default
Router identifier 180.255.255.1, local AS number 65100
BGP routing table entry for 11.111.1.1/32
 Paths: 4 available
  11 111
    10.10.10.11 from 10.10.10.252 (10.255.255.252) << RS2
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:02 ago, valid, external, best
      Rx SAFI: Unicast
  11 111
    10.10.10.11 from 10.10.10.251 (10.255.255.251) << RS1
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:02 ago, valid, external
      Rx SAFI: Unicast
  11 111
    10.10.10.11 from 10.10.10.11 (10.255.255.11)   << R1
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:02 ago, valid, external
      Rx SAFI: Unicast
  12 111
    10.10.10.12 from 10.10.10.12 (10.255.255.12)   << R2
      Origin IGP, metric 100, localpref 100, weight 0, received 00:00:02 ago, valid, external
      Rx SAFI: Unicast

No comments:

Post a Comment