为避免在AS内部的路由环路,BGP不会向内部BGP邻居通告它从其它内部BGP对等体中获得的路由。
 
上图中,R2会通告给R3所有它从R1学来的EBGP路由条目。但是这些路由不会通告给R4,因为R3不会在R2和R4之间传递IBGP路由。为使R4得知这些路由,R2和R4之间就必须有一对IBGP连接。
 
这些对IBGP全互连的要求造成了对每个IBGP路由器定义邻居语句的需求。在一个有100个路由器的AS中,这种情况要求定义100个邻居语句。因此,这对扩展性造成了严重的问题。
 
为克服这个问题,BGP里定义了路由反射器的概念(RR),RR是所有内部BGP(IBGP)会话的集中路由器或焦点。与路由反射器对等的路由 器称为路由反射器客户。这些客户与路由反射器相匹配并交换路由信息。路由反射器接着交换或者“反射”这一信息给所有客户,从而消除了对全互连环境的需要。
 
我们在此例中,把R3设置为路由反射器。
 
 
//// R1 ////
int f0/0
  ip ad 192.1.1.1 255.255.255.0
int lo0
  ip ad 1.1.1.1
 
router bgp 200
  no syn
  neighbor 192.1.1.2 remote-as 200
  network 1.0.0.0
 
 
//// R2 ////
int f0/0
  ip ad 192.1.1.2 255.255.255.0
 
int f0/1
  ip ad 193.1.1.2 255.255.255.0
 
router bgp 200
  no syn
  neighbor 192.1.1.1 remote-as 100
  neighbor 193.1.1.3 remote-as 200
  neighbor 193.1.1.3 next-hop-self
 
 
//// R3 ////
int f0/1
  ip ad 193.1.1.3 255.255.255.0
 
int f0/0
  ip ad 194.1.1.3 255.255.255.0
 
router bgp 200
  no syn
  neighbor 193.1.1.2 remote-as 200
  neighbor 193.1.1.2 route-reflector-client
  neighbor 194.1.1.4 remote-as 200
  neighbor 194.1.1.4 route-reflector-client
 
 
 
//// R4 ////
int f0/0
  ip ad 194.1.1.4 255.255.255.0
 
router bgp 200
  no syn
  neighbor 194.1.1.3 remote-as 200
 
 
 
验证:
show ip bgp
show ip ro