as-path vs Community
BGP 用"属性"(Attribute)来描述路由的元信息,路由器据此做选路决策和策略控制。AS-Path 和 Community 是其中最有代表性的两个。
AS-Path(路径属性,Well-known Mandatory)
记录了这条路由从起源到当前路由器所经过的所有 AS 号序列,例如 65001 65002 65003。它的核心作用有两个:一是防环——如果路由器发现自己的 AS 号已经出现在 AS-Path 里,就直接丢弃这条路由;二是选路——在其他条件相同时,AS-Path 越短的路径越优先(跳数少通常意味着延迟更低、稳定性更好)。跨 AS 边界时每经过一个 EBGP 邻居就会在头部 prepend 自己的 AS 号,这也常被用来做流量工程——人为地多次 prepend 来"加长"路径,从而影响对端的选路偏好。
Community(可选传递属性,Optional Transitive)
本质上是给路由打的一个"标签",是一个 32 位值,通常写成 AS号:自定义编号 的格式(比如 65001:100)。Community 本身不直接影响选路算法,而是一种策略传递机制:上游给路由打上某个 Community,下游的路由策略(route-map / route-policy)匹配到这个标签后,再决定对该路由做什么操作——比如设置 Local Preference、控制是否宣告给某个邻居、修改 MED 等。可以理解为"跨 AS 的策略语言",让不同管理域之间能用约定的标签协调路由行为,而不需要暴露内部策略细节。
简单类比:
1)AS-Path 像快递单上的中转站记录,天然防环且越短越好;
2)Community 像包裹上贴的标签贴纸,本身不决定去向,但分拣系统(路由策略)看到标签后会做相应处理。
浙公网安备 33010602011771号