服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-08-24 更新于 2026-08-24 简米科技 3,334 字 8 分钟阅读

BGP社区属性如何配合路由优选实现流量走向控制?,BGP社区属性路由优选

导读BGP社区属性(Community)是控制路由传播和优选的关键标记,通过修改本地优先级、MED等选路参数,能精确引导流量从指定链路出入,是多出口网络优化成本和效率的黄金手段,社区属性本质是一个32位标记,附加在路由上随BGP更新传递,与路由策略配合,设备能识别标记并执行预设动作,如修改本地优先级、设置MED、控……

BGP社区属性(Community)是控制路由传播和优选的关键标记,通过修改本地优先级、MED等选路参数,能精确引导流量从指定链路出入,是多出口网络优化成本和效率的黄金手段。

社区属性本质是一个32位标记,附加在路由上随BGP更新传递,与路由策略配合,设备能识别标记并执行预设动作,如修改本地优先级、设置MED、控制路由发布,这样一来,流量走向就能按意图被精细指挥,近年来,随着多线BGP网络和云互连需求增长,社区属性成为流量工程中最灵活的工具,尤其适合多运营商接入场景。

BGP社区属性是什么?理解它的工作原理

社区属性扮演“标签”角色,不直接参与选路比较,但通过路由策略间接影响所有选路因子,标准社区格式为两个16位数值,如100:1,私有社区通常基于AS号定义,常见预定义社区包括NO_EXPORT(不传出AS)、NO_ADVERTISE(不向任何邻居通告)等。

社区属性如何影响路由优选

社区属性本身不参与路由优选比较,但路由策略可以基于它修改关键属性:

  • 本地优先级(Local Preference):出站流量控制的核心,值越高越优先。
  • MED(Multi-Exit Discriminator):入站流量控制,引导邻居进入的路径。
  • AS_PATH:通过增加AS号影响选路,社区属性可触发此操作。

在上游路由器上,当收到携带community 100:10的路由时,将其本地优先级设为200,而其他路由设为100,流量会优先选择携带该标记的路由。

配置社区属性:从标记到策略

以华为设备为例,配置分为两步:定义社区标记,编写路由策略引用社区。

第一步:使用route-policy或ip community-filter定义社区。

ip community-filter 10 permit 100:10
route-policy SET_COMMUNITY permit node 10
 apply community 100:10

第二步:在BGP进方向调用策略,为路由打标。

BGP社区属性如何配合路由优选实现流量走向控制?,BGP社区属性路由优选

bgp 100
 peer 1.1.1.1 route-policy SET_COMMUNITY import

第三步:定义匹配社区并执行动作的策略。

route-policy LOCAL_PREF permit node 10
 if community-filter 10 match
 apply local-preference 200

第四步:在BGP对等体出方向调用。

bgp 100
 peer 2.2.2.2 route-policy LOCAL_PREF export

通过这种组合,可以精确控制从邻居接收的路由如何影响本地选路,或者向邻居发布的路由携带哪些标记。

配合路由优选控制流量走向的两种场景

社区属性最强大的应用在于流量走向控制,分为入站和出站两个方向。

入站流量控制:让外部流量从指定链路进入

当有多个运营商接入时,希望来自特定区域的流量从特定链路进入,可以通过社区属性向上游运营商传递信号,让他们调整MED或本地优先级。

向中国电信邻居发布路由时带上community 100:10,电信路由器识别后降低该路由的MED值,从而让电信流量优先从该链路进入,实际配置中需要与运营商协商社区标记含义,多数情况下,运营商提供标准社区映射表,如中国电信常使用AS号+入口编号的格式。

出站流量控制:引导内部流量从指定出口发出

在企业网络内,通过BGP的本地优先级控制出站路径,当从不同运营商收到相同前缀时,使用社区属性标记来自不同运营商的路由,然后设置不同本地优先级。

  • 从联通收到的路由打上community 100:1,本地优先级设为150。
  • 从电信收到的路由打上community 100:2,本地优先级设为120。
  • 从移动收到的路由打上community 100:3,本地优先级设为100。

这样,访问同一目标时,流量优先走联通链路,联通不可用时走电信,最后走移动,这种策略在BGP多线机房中被广泛使用。

BGP社区属性如何配合路由优选实现流量走向控制?,BGP社区属性路由优选

场景 控制方向 常用属性 社区属性角色
入站流量控制 外部进入内部 MED、AS_PATH 触发MED或AS_PATH修改
出站流量控制 内部访问外部 Local Preference 触发Local Preference调整

社区属性与路由策略的实操作

规划社区标记方案

根据业务需求规划私有社区范围,100:1表示“来自联通”,100:2表示“来自电信”,100:10表示“高优先级出口”等,需要与对端运营商协商一致,或只在内部使用,如果涉及国内BGP网络对接,建议留下运营商标准社区含义的映射文档。

编写路由策略匹配更新

在边界路由器上创建community-filter,并编写路由策略,将所有来自联通的路由打上community 100:1,然后统一设置本地优先级150。

ip community-filter 1 permit 100:1
route-policy MATCH_CTL permit node 10
 if community-filter 1 match
 apply local-preference 150

对于需要向邻居发布社区属性的场景,使用apply community将标记附加在路由上。

部署并验证

将对等体的策略应用后,使用display bgp routing-table查看路由属性的变化,确认社区属性已生效,并且选路符合预期,通过display bgp routing-table community可以过滤显示带特定社区的路由,最后用traceroute验证流量路径,确保实际走向与设计一致。

多出口场景下BGP流量调度策略对比

社区属性方案与传统的PBR(策略路由)或直接操控AS_PATH相比,在维护成本和灵活性上有明显优势。

BGP社区属性如何配合路由优选实现流量走向控制?,BGP社区属性路由优选

维度 社区属性方案 直接修改AS_PATH 策略路由
配置复杂度
维护成本 低(统一标记) 高(需逐个修改) 高(逐流策略)
灵活性 高(可精细化匹配)
对上游依赖 需协商社区含义
推荐场景 多运营商、多出口 简单选路调整 特殊流量需求

行业共识认为,社区属性是当前多出口流量调度性价比最高的方案,尤其适合国内三大运营商互联场景,相比直接修改AS_PATH,社区属性可以避免AS_PATH长度变化带来的路由震荡,同时提供更丰富的控制粒度。

关于BGP社区属性与路由优选的常见问题

BGP社区属性会影响路由优选吗?

社区属性本身不直接参与BGP路由优选比较,但通过路由策略可以影响所有选路参数,如本地优先级、MED、AS_PATH等,社区属性是间接但强大的路由控制工具,实际部署中,社区属性往往作为路由策略的匹配条件,触发对优选属性的修改,从而间接决定选路结果。

在控制流量走向时,社区属性比AS路径过滤更灵活吗?

是的,社区属性可以携带更精细的标记,并支持多种操作,如修改优先级、过滤、打标等,而AS路径过滤只能基于AS号做匹配,社区属性还能实现跨AS的流量工程,只要双方协商好标记含义,上游运营商可以基于社区属性批量调整一组路由的MED,而无需逐个前缀配置。

配置BGP社区属性需要注意哪些问题?

确保对端设备支持社区属性传递,并开启send-community功能,规划社区值要避免冲突,私有社区通常使用私有AS号,公有AS号下建议使用IANA分配的仅用于内部的范围,社区属性默认不传递,需在配置中明确允许,同时要注意,社区属性在路由反射器环境下会按反射器规则传递,需确保反射器不意外丢弃或修改社区。

合理利用BGP社区属性,能让你以最小的配置代价实现流量走向的精准控制,无论是入站还是出站,配合路由优选机制,社区属性都是网络工程师手中最灵活的一张牌。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱