路由反射器和联盟

路由反射器
为保证IBGP对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个AS内部有n台设备,那么建立的IBGP连接数就为n(n-1)/2。当设备数目很多时,设备配置将十分复杂,而且配置后网络资源和CPU资源的消耗都很大。在IBGP对等体间使用路由反射器可以解决以上问题
● 路由反射器RR(Route Reflector):允许把从IBGP对等体学到的路由反射到其他IBGP对等体的BGP设备,类似OSPF网络中的DR。
● 客户机(Client):与RR形成反射邻居关系的IBGP设备。在AS内部客户机只需要与RR直连。
● 非客户机(Non-Client):既不是RR也不是客户机的IBGP设备。在AS内部非客户机与RR之间,以及所有的非客户机之间仍然必须建立全连接关系。
● 始发者(Originator):在AS内部始发路由的设备。Originator_ID属性用于防止集群内产生路由环路。
● 集群(Cluster):路由反射器及其客户机的集合。Cluster_List属性用于防止集群间产生路由环路

路由反射器发布路由规则:
● 从非客户机学到的路由,发布给所有客户机。
● 从客户机学到的路由,发布给所有非客户机和客户机(发起此路由的客户机除外)。
● 从EBGP对等体学到的路由,发布给所有的非客户机和客户机。

Cluster_List属性:反射器和他的客户机组成一个集群,防止集群间产生路由环路,AS内唯一的标识
● 当一条路由第一次被RR反射的时候,RR会把本地Cluster ID添加到Cluster List的前面。如果没有Cluster_List属性,RR就创建一个。
● 当RR接收到一条更新路由时,RR会检查Cluster List。如果Cluster List中已经有本地Cluster ID,丢弃该路由;如果没有本地Cluster ID,将其加入Cluster List,然后反射该更新路由。

Originator_ID属性:Originator ID由RR产生,使用Router ID的值标识路由的始发者,用于防止集群内产生路由环路
● 当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID属性。
● 当设备接收到这条路由的时候,将比较收到的Originator ID和本地的Router ID,如果两个ID相同,则不接收此路由。

备份路由反射器:集群中的所有RR必须使用相同的Cluster ID,以避免RR之间的路由环路
路由反射器和联盟
路由反射器RR1和RR2在同一个集群内,配置了相同的Cluster ID。
● 当客户机Client1从EBGP对等体接收到一条更新路由,它将通过IBGP向RR1和RR2通告这条路由。
● RR1和RR2在接收到该更新路由后,将本地Cluster ID添加到Cluster List前面,然后向其他的客户机(Client2、Client3)反射,同时相互反射。
● RR1和RR2在接收到该反射路由后,检查Cluster List,发现自己的Cluster ID已经包含在Cluster List中。于是RR1和RR2丢弃该更新路由,从而避免了路由环路

联盟
为了解决IBGP的全互联,除了路由反射器之外,还可以用联盟,把一个AS划分为多个子AS;
每个子AS内建立IBGP全连接;AS间建立EBGP的关系,但联盟外部AS仍认为联盟是一个AS。

配置联盟后,原AS号将作为每个路由器的联盟ID
两个好处:一是可以保留原有的IBGP属性,包括Local Preference属性、MED属性和NEXT_HOP属性等;
二是联盟相关的属性在传出联盟时会自动被删除,即管理员无需在联盟的出口处配置过滤子AS号等信息的操作

BGP团体属性:
团体属性是一组有相同特征的目的地址的集合,没有物理上的边界,与其所在的AS无关
包含有团体属性的路由,表示该路由是一个路由团体中的一员,该路由团体具有某种或者多种相同特征

BGP的公认团体属性:
路由反射器和联盟

BGP路由聚合:
由于BGP用于大规模网络,导致BGP路由表过于庞大;使用BGP路由聚合可以解决这个问题
1、静态聚合:
(1)使用静态路由聚合,下一跳指向NULL0,防止路由环路
(2)再把聚合路由network到BGP路由表发布给BGP邻居
2、自动聚合:BGP发言者将不再发布子网路由(不发明细),而是发布自然网段的路由
只有通过import引入的路由才能自动聚合
协议视图下:summary automatic命令
3、手动聚合:动聚合允许管理者采取灵活的路由聚合和发布策略
对BGP路由表存在的路由进行聚合,并且能指定掩码
协议视图下:aggregate命令
注:既有import引入的路由,也有network引入的路由,只能使用手动聚合

团体属性过滤:community-filter
与团体属性配合使用,过滤带有一类团体属性的路由
执行命令:ip community-filter……

路径属性过滤:as-path-filter
过滤指定的AS路径的一类路由,AS路径过滤列表使用regular expression(正则表达式)来对路由所携带的AS路径属性域进行匹配
执行命令:ip as-path-filter…..
常用正则表达式:
路由反射器和联盟