设为首页收藏本站language 语言切换
查看: 441|回复: 1
收起左侧

[分享] Community属性在BGP中的应用

[复制链接]
 成长值: 63415
发表于 2024-5-20 13:40:30 | 显示全部楼层 |阅读模式
本帖最后由 小乔 于 2024-5-20 13:43 编辑

Community属性介绍
团体属性是一组有相同特征的目的地址的集合。团体属性用来简化路由策略的应用和降低维护管理的难度,利用团体可以使多个AS中的一组BGP设备共享相同的策略。团体是一个路由属性,在BGP对等体之间传播,且不受AS的限制。BGP设备在将带有团体属性的路由发布给其它对等体之前,可以先改变此路由原有的团体属性。
  • Community属性是一组4个字节的数值,RFC1997规定前两个字节表示AS号,后两个字节表示基于管理目的设置的标示符,格式为AA:NN。
  • Community属性是一种BGP路由标记,用于简化路由策略的执行。可以将某些路由分配一个特定的Community属性值,之后就可以基于Community值而不是每条路由来抓取路由并执行相应的策略了。
图10-16 Community属性的应用场景

                               
登录/注册后可看大图


在图10-16中,AS100内有大量的路由被引入BGP,这些路由分别用于语音通话和视频监控两种业务。路由通过BGP通告给AS200。现在AS200的设备基于某种需求,需要分别对语音通话和视频监控的路由执行不同的策略,那么怎么匹配这些路由呢?可以用ACL或者ip-prefix逐条匹配路由,但是由于路由前缀非常多,这样工作量太大,效率低下。
可以使用Community属性来解决这个问题。在AS100引入这些路由的时候,就分别打上相应的Community值用来区分语音通话的路由和视频监控的路由,凡是语音通话的路由,就打上标记100:1,凡是视频监控的路由就打上标记100:2,那么这些属性值随着路由传递给了AS200,在AS200上需要分别对语音通话和视频监控的路由做策略的时候,只需要抓取相应Community值即可。例如抓取100:1的community值也就抓取了所有语音业务的路由。
BGP定义了一些公认的团体属性,这些团体属性可以直接使用,常见的如表10-7所示:
表10-7 BGP公认团体属性[td]
团体属性名称
说明
internet
缺省情况下,所有的路由都属于internet团体。具有此属性的路由可以被通告给所有的BGP对等体。
no-advertise
具有此属性的路由在收到后,不能被通告给任何其他的BGP对等体。
no-export
具有此属性的路由在收到后,不能被发布到本地AS之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子AS。
no-export-subconfed
具有此属性的路由在收到后,不能被发布到本地AS之外,也不能发布到联盟中的其他子AS。


设置路由的Community属性
要使用团体属性过滤器,前提是路由携带了Community属性。通过下面这个举例来看一下如何设置路由的Community属性。
图10-17 设置路由前缀的Community属性

                               
登录/注册后可看大图


需求描述
如图10-17所示,在AS100内的LSW1上通过BGP发布两条路由:10.1.1.0/24和10.1.2.0/24。在LSW1的BGP进程中,使用出方向(export)路由策略,修改10.1.1.0/24这条路由的Community属性为100:1,这样下游设备就可以根据这个Community属性执行相应的策略。
配置方法
LSW1上的关键配置:
#ip ip-prefix huawei index 10 permit 10.1.1.0 24  //定义一个前缀列表,匹配目标路由#route-policy RP permit node 10                  //定义一个路由策略,设置目标路由的团体属性 if-match ip-prefix huawei apply community 100:1route-policy RP permit node 20                  //用于允许剩余所有路由通过#bgp 100 router-id 1.1.1.1 peer 192.168.12.2 as-number 200 # ipv4-family unicast  undo synchronization  network 10.1.1.0 255.255.255.0                //发布路由  network 10.1.2.0 255.255.255.0                //发布路由  peer 192.168.12.2 enable  peer 192.168.12.2 route-policy RP export      //对BGP对等体的export方向绑定路由策略  peer 192.168.12.2 advertise-community         //配置将团体属性发布给对等体#
LSW2上的关键配置:
#bgp 200 router-id 2.2.2.2 peer 192.168.12.1 as-number 100 peer 192.168.23.2 as-number 300 # ipv4-family unicast  undo synchronization  peer 192.168.12.1 enable  peer 192.168.23.2 enable  peer 192.168.23.2 advertise-community        //配置将团体属性发布给对等体#
值得注意的是,默认情况下,Community属性是不会随路由前缀更新给BGP peer的,因此在LSW1和LSW2上都需要通过peer advertise-community配置将团体属性发布给对等体功能。
结果验证
完成上述配置之后,在LSW3上查看一下BGP路由,结果如下:
<LSW3> display bgp routing-table 10.1.1.0 BGP local router ID : 3.3.3.3 Local AS number : 300 Paths:   1 available, 1 best, 1 select BGP routing table entry information of 10.1.1.0/24: From: 192.168.23.1 (2.2.2.2) Route Duration: 01h08m07s   Direct Out-interface: Vlanif23 Original nexthop: 192.168.23.1 Qos information : 0x0 Community:<100:1>     //这个团体属性就是在LSW1上通过路由策略设置,并传递到下游的 AS-path 200 100, origin igp, pref-val 0, valid, external, best, select, active, pre 255 Not advertised to any peer yet
从LSW3的BGP路由表项可以看到,在LSW1上设置路由的Community属性以后,经过路由传递,到达LSW3上的时候携带一个Community属性,这样,在LSW3上就可以根据这个标记执行某些策略了。
关于设置BGP路由的Community属性,还有更详细的设置方法,这里就不再列举,举几个常见的例子,供大家参考,如表10-8所示:
表10-8 设置BGP路由的Community属性举例[td]
命令
功能
apply community 100
团体名更改为100。
apply community 100 150
团体名更改为100或150,即BGP路由属于两个团体。
apply community 100 150 additive
在原来基础上追加100和150两个团体属性。即BGP路由属于三个团体。
apply community none
删除BGP路由的团体属性。


使用Community-filter匹配BGP路由
上一小节,介绍了如何设置BGP路由的Community属性,当上游的设备设置了Community属性以后,这个属性会随着路由传递下来,这样下游的设备就可以根据这个属性执行相应的策略。BGP提供了一个工具:community-filter,即团体属性过滤器。下面通过一个例子来看一下如何使用团体属性过滤器。
图10-18 使用community-filter匹配BGP路由

                               
登录/注册后可看大图


需求描述
如图10-18所示,AS100内的LSW1发布三条BGP路由,Community属性的设置如图所示,这个Community属性随着路由的传递到达AS300内的LSW3设备上。执行策略之前先看一下LSW3的BGP路由表:
<LSW3> display bgp routing-table BGP Local router ID is 3.3.3.3  Status codes: * - valid, > - best, d - damped,               h - history,  i - internal, s - suppressed, S - Stale               Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 3      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn *>   10.1.1.0/24        192.168.23.1                          0      200 100i *>   10.1.2.0/24        192.168.23.1                          0      200 100i *>   10.1.3.0/24        192.168.23.1                          0      200 100i
可以看到,LSW3上的BGP路由表里有三条路由。现在LSW3上根据团体属性执行路由策略,允许携带100:999属性的路由通过,其他的路由不允许通过。
配置方法
设置Community属性的方法上面已经讲过,不再赘述,这里只看一下如何使用community-filter过滤路由。
LSW3上的关键配置:
#ip community-filter 1 permit 100:999     //允许包含团体属性100:999的路由#route-policy huawei permit node 10       //通过路由策略调用团体属性过滤器 if-match community-filter 1#bgp 300 router-id 3.3.3.3 peer 192.168.23.1 as-number 200 # ipv4-family unicast  undo synchronization  peer 192.168.23.1 enable  peer 192.168.23.1 route-policy huawei import   //对peer使用入方向路由策略#
结果验证
完成上述配置以后,查看LSW3的BGP路由表:
[LSW3] display bgp routing-table BGP Local router ID is 3.3.3.3  Status codes: * - valid, > - best, d - damped,               h - history,  i - internal, s - suppressed, S - Stale               Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 2      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn *>   10.1.1.0/24        192.168.23.1                          0      200 100i *>   10.1.2.0/24        192.168.23.1                          0      200 100i
由于定义的community-filter匹配包含团体属性为100:999的路由,因此10.1.1.0/24,10.1.2.0/24这两条路由将在LSW3上允许,其他BGP路由被禁止通过。
针对这个场景,再给出如下几个常用的community-filter的配置方法,供大家参考:
Case1:
ip community-filter 1 permit 100:1 100:999 //需要100:1 100:999这两个团体属性都有才能匹配。因此匹配10.1.1.0/24这条路由。
Case2:
ip community-filter 1 permit 100:1ip community-filter 1 permit 100:2//只要community属性中包含100:1或者100:2就能匹配到。因此匹配10.1.1.0/24和10.1.2.0/24这两条路由。
Case3:
ip community-filter 1 permit internet//默认所有路由携带internet属性,所以这样会匹配所有的路由。

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-3 00:56 , Processed in 0.067776 second(s), 13 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表