iBGP Full Mesh Review

  • eBGP 使用 AS_PATH 来防环
  • iBGP RFC4271 指定相同AS内的Router 必须要Full Meshed,以实现防环 —— 这里一直没想明白,Full Mesh,从iBGP 收到的路由不会再发给 iBGP

iBGP Scalability Issue

  • Full Mesh 不适用于大的网络
  • n/2 * (n-1) => 5个路由器需要维持10个连接,10个Router需要维持45个连接
  • 2种解决办法
    • BGP Route Reflector
    • BGP Confederation

BGP Route Reflector

  • RFC1966
  • 3个角色
    • Route Reflector
    • Route Reflector Client
    • 什么都不是
  • 3个规则

Rule 1

  • 如果收到来自非 RR Client 的路由,会把这条路由宣告给 Client,而不会宣告给非 RR Client

Rule 2

  • 如果收到来自 RR Client 的路由,会把这个路由发送给所有人 —— 包括 originator
    • 包括originator 这个现象没有看到

Rule 3

  • 如果收到来自 eBGP 的路由,会把这个路由发送给所有人 —— 不包含 originator

RR Loop Prevention

  • RFC1966
  • Orininator_ID && Cluster_List
  • Orininator_ID 是个可选的,非传递的路由属性。由第1个收到路由的 RR产生,值被设置为产生这条路由的Router的Router-ID,而且不会被覆盖
  • Cluster_List 也是非传递的路由属性,由RR进行更新,值默认为BGP Router 的 RID,每经过1个RR,就会叠加上RR的 RID,和AS_PATH 类似
    • 疑问:既然是非传递,为什么其他Router还能看到。这个”非传递的“怎么理解