什么是陆由反射器

发表时间:2020-04-06 15:19文章来源:金穗路由器

如果AS中有N路由器,则应建立IBGP连接的数量为N(N-1)/2。当IBGP对等的数量大时,网络资源和CPU资源的消耗量非常大。在使用BGP路由协议的网络中,为了确保IBGP同行之间的连接,我们需要在IBGP同行之间建立完整的连接关系。


一、路由反射器的工作步骤


当rr从ibgp接收路由时,使用bgp路由策略选择最佳路由。RR配置方便,只需要在反射器上配置,客户机不需要知道自己是客户机。rr根据rfc2796中的规则发布路由:


(1)从非客户端ibgp对等器中学到的路由分发给该rr的所有客户端。


(2)从客户端、所有非客户端和客户端获得发布到本rr的路由(发起该路由的除外)。


(3)从ebgp节点中学到的路由分发给所有非客户端和客户端。


二、路由反射器的作用


BGP路由器既不是反射器,也不是客户端,被称为非客户端,在非客户端和路由反射器之间,所有非客户端之间仍然需要建立完整的连接。


在一个AS中,一个路由器作为路由反射器RR(RROUTE反射器),另一个作为客户端。在客户端和路由反射器之间建立了一个ibgp连接,路由反射器及其客户端构成一个簇(群),路由反射器在客户端之间传输(反射)路由信息,而客户端不需要建立bgp连接。


三、Cluster_List


路由反射器的实现是基于对BGP在AS中学到的路由不会转发到AS的要求的放松,即允许IBGP同行发布AS内学到的路由。在这种情况下,引入cluster_list属性以防止as内的循环。


bgp通过禁止ibgp节点发布从内部学习的路由来防止路由循环;例如,主要措施bgp防止循环通过@path属性进行记录,并防止路由器丢弃数字时带有本地路由。


cluster_list包含一系列cluster_ids,它描述路由的反射面路径,类似于描述路径的as_path属性。Cluster_List由路由反射器产生。


(1)当RR在它的客户机之间或客户机与非客户机之间反射路由时,RR会把本地Cluster_ID添加到Cluster_List的前面。如果cluster_list为空,rr将创建一个。


(2)当RR接收到一条更新路由时,RR会检查Cluster_List.如果Cluster_List中已经有本地Cluster_ID,丢弃该路由;如果没有本地Cluster_ID,将其加入Cluster_List,然后反射该更新路由。


为了确保客户端可以从反射器中学习路由,cluster_id不能与客户端的路由器相同。如果同一个客户机会丢弃接收到的路由,cluster_list只在AS内传播,而从_list收到的cluster_list路由将被丢弃。