BGP路由协议的那些事?(下)
上期问题:在BGP联盟内部的EBGP和IBGP对等体互相传递路由时,LP属性和MED属性是如何变化的呢?
还记得我们说BGP联盟的规则时,有两条关于LP属性和MED属性的规则怎么说来着:
1:路由的LOCAL_PREF属性在整个联盟中都被保留,而不仅仅是在为它们赋值的成员AS之内。
2:被宣告到联盟之内的路由的MED属性在整个联盟中都被保留。
由于在外界看来,BGP联盟实际上是一个AS,所以其LP属性和MED属性在整个BGP联盟中是被保留的。
上回说到交换机触类旁通,以MED属性和LP属性解决了出口流量控制的难题
如果遇到下图中的情况,该怎么办呢?
遇到这种情况我们可以使用“团队属性”
题外话:何为团队属性(Community)?
团队属性也是BGP路由属性的一种,利用团队属性可以将路由策略应用于一组路由。大家可以回忆一下,我们用LP、MED、AS_PATH属性来解决BGP路由的各种问题的时候,无一例外都要用到路由策略,而路由策略很多都是基于前缀来进行处理的。当需要处理路由特别多的时候,我们的配置和维护工作量就会大幅度增加,在大型网络中,这种配置和维护的成本是难以接受的。所以我们可以对需要做同一策略的路由标识一个相同的团队属性,这样就可以基于团队属性来对路由实施策略了。
我们还是以遇到的问题为例,先将场景简化一下:
这里我们要求R3发给R4的北京路由均打上LP属性值100,而发给R4的上海路由均打上LP属性值200。如何通过团队属性来实现这个目的呢?
一般的做法是,我们先要求R1通过路由策略,将发给R3的北京路由打上团队属性100:1。而发给R3的上海路由打上团队属性200:1。
注意:团队属性的团体号取值有两种形式:
1:整数形式,取值范围是0~4294967295
2:AA:NN形式,AA和NN的取值范围均为0~65535
我们要求R2也同样在将路由发给R3时打上团队属性。这样,我们在R3上就可以通过路由策略,将携带团队属性100:1的路由打上LP属性值100,将携带团队属性200:1的路由打上LP属性值200,这样配置和管理的工作量就小了很多。下面看一下具体配置。
R1的关键配置:
#
bgp 1
peer 11.1.1.2 as-number 100
#
ipv4-family unicast
undo synchronization
network 1.1.1.0 255.255.255.0
network 2.2.2.0 255.255.255.0
peer 11.1.1.2 enable
peer 11.1.1.2 route-policy R1 export /对R3出方向使用路由策略R3
peer