了解 BGP 社区

网络工程 路由 BGP 路线 路由过滤器 路线地图
2022-02-05 03:59:22

让我们采用这个基本拓扑:

RTR A ---- RTR B

路由器 A 和 B 具有 eBGP 连接。

在路由器 B,我们可以有一个路由图,上面写着:

match: community-list xyz
action: permit/deny etc

问题:

  • 社区 xyz 最初是如何在路由器 A 上标记的?

  • 例如。如果路由器 A 有一条直连或静态路由,它正在向路由器 B 通告,那么该路由是否会被标记为团体?

  • 路由器 A 如何决定使用社区标签标记哪些路由 我们如何说“在广告之前标记所有路由”

在 arista 中,我们启动了一个社区列表: ip community-list permit blah 1223:12323

  • 该语句的真正作用是什么(仅此语句,没有在任何路线图中添加/使用它)?
  • 这个声明是否意味着我们将用社区标记所有路线
1个回答

社区通常通过路由映射应用于前缀。在您的示例中,RouterA 可能具有以下内容:

route-map to-router-b permit 10
 description Tag Prefixes with Community
 match ip address prefix-list my-prefixes
 set community 65530:1234 additive

以上将在路由器 B 的出口前缀上添加一个额外的 BGP 社区(假设上述路由映射设置在路由器 B 邻居上)。

需要注意的一点是,社区始终是手动的(减去扩展社区和一些边缘情况),这意味着以 BGP 社区结尾的任何前缀都经过了具有手动创建的路由映射的某个地方。

回复:您的第二个问题,默认情况下,这些不会被标记为任何社区,但是,最简单的方法是将路由映射应用于BGP 层次结构下的redistribute connectedand语句,如下所示:redistribute static

router bgp 65530
  address-family ipv4
    redistribute connected route-map tag-with-community
    redistribute static route-map tag-with-community

route-map tag-with-community permit 10
  match ip address prefix-list my-prefixes
  set community 65530:1111

我对 Arista 的了解很少,但如果它与 Cisco 类似,那么除非专门应用于路线图或类似的,否则社区列表将无济于事。处理大量社区时,社区列表会很方便。例如,假设我决定用 65530:111X 之类的东西标记所有内部前缀,其中 X 是每个地理位置的不同数字,我可以创建一个社区列表以包含以下内容:

ip community-list expanded All-My-Prefixes permit _65530:111._

然后,这将匹配我所有的内部前缀,而不管最后一位数字如何。