BGP原理及应用--H3C

来源:互联网 发布:淘宝装修购买 编辑:程序博客网 时间:2024/06/04 01:01
1.BGP增强技术出现的背景:BGP主要应用于AS之间,更经常应用于大型的组网模式中,而这些大型的组网会存在着BGP对等体众多,路由表过于庞大,路由不稳定并且要建立全连接的要求,所以在配置方面会出现配置复杂等问题。
2.对于BGP对等体众多,提出了对等体组和BGP团体,对等体组是将有相同属性的(例如:都和某一台路由器建立对等体关系,或是都需要路由策略过滤路由),这样的一些路由器添加到一个对等体组中,对这个对等体组进行配置即可。
假设:有多个路由器需要和rta建立ibgp对等体,那么在rta上将这些路由器添加到一个对等体组中,建立ibgp的时候,与对等体组建立即可。
这样就简化了具体的配置,对等体组分为IBGP对等体组和EBGP对等体组。对等体组里面的成员处于同一个as的就是ibgp对等体组,处于不同as之间的成员就是ebgp对等体组
3.BGP的团体属性,对于这个团体属性,如果按照原始的通过acl匹配出数据流,再根据router-policy进行修改属性会特别麻烦,所以就直接根据路由器的团体属性进行路由属性的修改,会相对简单。
公认团体属性:
INTERNET默认就是这个,收到带有这一属性的路由后,可以被通告给所有的对等体(这条路由)
NO_EXPORT:收到这个属性的路由之后,不能发布到as之外,但是可以发布到联盟之内的其他子as。
NO_ADVERTISE:收到带有这一属性的路由之后,不能被通告给其他的任何对等体
NO_EXPORT_SUBCONFED:收到带有这一属性的路由之后,可以通告给本地的as之内,但是不能通告给其他的as,也不能通告给联盟之内的其他子as。


如果要使团体属性随着路由传递,那么需要通过配置来实现
peer ip address advertise-community


通过display bgp routing-table ipv4 +具体的路由条目来查看团体属性






针对于BGP路由表过于庞大,为了缩小路由表的规模,就可以通过BGP路由聚合的方式来减小路由表的规模


BGP的聚合分为自动聚合和手动聚合
自动聚合就和其他路由协议(RIPv1)的自动聚合一样,聚合成自然网段的,然后只发布聚合后的路由。但是自动聚合只能对通过引入的IGP路由进行聚合(就比如import-route ospf)只能对引入的IGP路由聚合




手动聚合可以对已经存在于BGP路由表中的学习到的路由,引入的路由,通过network宣告的路由进行聚合成非自然类网段的路由


也可以选择是否将具体的路由进行宣告
1.可以同时宣告具体路由和聚合路由(默认)
2.抑制具体的路由,发布聚合的路由(detail-suppressed)
3.发布聚合后的路由同时抑制部分的具体路由(也就是发布聚合后的 但是只发布一部分明细的)
4.将指定的具体路由进行聚合




针对于BGP要建立众多的BGP对等体,而且在同一个AS之内还需要建立全链接,所以可以通过在一个as之内选择一个路由器当做反射器。


其他的还有客户机和非客户机 ,但是对于客户机和非客户机来说,并不知道自己是客户机和非客户机,他们只知道跟别的路由器建立了ibgp对等体邻居关系,所以当自己这边有路由时,会将这个路由更新发送到ibgp对等体(对于客户机来说,他只会与反射器建立ibgp对等体连接)
当反射器收到之后呢,就会将从客户机收到的路由更新发送给所有的除了发送这条路由更新的客户机和非客户机,并且也会发送给自己的ebgp邻居


对于非客户机来说,因为从非客户机接收到的路由更新不会发送给非客户机,只会发送给所有的客户机和ebgp邻居,那么非客户机之间要建立全链接


如果在客户机之间建立了全链接 ,那么需要通过配置命令,来禁止客户机到客户机之间的反射


并且当反射器收到从ebgp对等体学习到的邻居的时候,会发送给所有的客户机和非客户机




BGP反射器如果只有一个,那么当这个反射器失效之后,就没办法达到目的,也就是不能建立ibgp全链接
这时就可以通过配置两个bgp反射器来进行,不需要设置备份,只需要在每一个bgp反射器上指定自己的客户机即可
而且客户机最好是和每一个反射器建立ibgp连接




这时,如果一个反射器收到了路由更新之后,将这个更新发送给ebgp对等体,然后在几经转折,又回到了这个反射器上,这时候,反射器会查看路由更新中携带的cluster-list属性,如果发现这个里面有自己的集群id,就会直接丢弃,当然在同一个as之内的反射器需要配置相同的集群id,也是为了避免一个反射器从另一个发射器学习到路由,在进行反射,导致路由更新重复学习。




对于反射器来说,收到路由更新检查cluster-list,但是对于发言者来说,是检查originator id,如果发现与自己的router id相同,那么直接丢弃(相同就意味着是自己发出去的)








为了减少ibgp连接的数量,还有一种机制,就是BGP联盟
可以理解为在一个大的as之内 划分为多个小的as,但是对外就是那么一个大的as,外面的as不知道这个as之内有啥


在这些小as之间建立ebgp对等体连接,小的每一个as之内,建立ibgp全链接。
原创粉丝点击