了解 BGP 社区、扩展社区和大型社区作为路由策略匹配条件
BGP 社区是共享共同属性的一组目标。社区信息作为路径属性包含在 BGP 更新消息中。此信息可识别社区成员,并使您能够对组执行作,而无需详细说明每个成员。您可以使用社区和扩展社区属性来触发路由决策,例如接受、拒绝、偏好或重新分配。
您可以通过配置(对于静态、聚合或生成的路由)或导入路由策略,将社区标记分配给非 BGP 路由。然后,当 BGP 导出路由时,可以匹配这些标记。
社区值是一个 32 位字段,分为两个主要部分。该值的前 16 位对源自社区的网络的 AS 编号进行编码,而最后 16 位则带有由 AS 分配的唯一编号。此系统试图保证 Internet 中每个 AS 具有一组全局唯一的社区值。Junos OS 使用表示法 as-number:community-value
,其中每个值都是一个十进制数。将保留 AS 值 0 和 65,535,以及这些 AS 编号中的所有社区值。每个社区或一组社区在配置层次结构中 [edit policy-options]
都会有一个名称。社区的名称可将其唯一标识给路由设备,并用作对路由进行分类的方法。例如,社区值为 64510:1111 的路由可能属于名为 AS64510-routes
的社区。社区名称还可在路由策略中用作匹配标准或作。创建社区的命令语法为:policy-options community name members [community-ids]
。这些 community-ids
值可以是单个社区值,也可以是多个社区值。当为一个社区名称分配多个值时,路由设备会将其解释为社区值的逻辑 AND。换言之,在分配社区名称之前,路由必须具有所有已配置值。
常规社区属性为四个八位位组。VPN 等网络增强功能具有可通过属性(如社区)满足的功能要求。但是,4 字节社区值无法提供足够的扩展和灵活性来适应 VPN 要求。这导致了扩展社区的创建。扩展社区是一个 8 个八位字节值,也分为两个主要部分。社区的前 2 个八位位组对类型字段进行编码,而最后 6 个八位位组以类型字段定义的格式携带一组唯一的数据。扩展社区为社区分组或分类提供了更大的范围。
BGP 扩展社区属性格式包含三个字段: type:administrator:assigned-number
。路由设备希望您使用单词 target
或 origin
表示类型字段。管理员字段对 AS 或 IPv4 地址使用十进制数字,而分配的编号字段需要不大于字段大小的十进制数字(2 个八位位组为 65,535,4 个八位位组为 4,294,967,295)。
为标准和扩展社区属性指定社区 ID 时,可以使用 UNIX 样式的正则表达式。唯一的例外是 VPN 导入策略 (vrf-import
),它不支持扩展社区属性的正则表达式。
常规 BGP 社区属性是一个可变长度属性,由一组一个或多个 4 字节值组成,这些值被拆分为 16 位值。最高有效字被解释为 AS 编号,最低有效字是由 AS 运算符分配的本地定义值。由于采用 4 字节 ASN,4 字节 BGP 常规社区和 6 字节 BGP 扩展社区无法再支持 BGP 社区属性。作员通常在 BGP 社区的本地部分对 AS 编号进行编码,这意味着有时社区的格式为 ASN:ASN。使用 4 字节 ASN ,您需要 8 个字节来编码它。虽然 BGP 扩展社区允许将 4 字节 AS 编码为全局管理员字段,但本地管理员字段只有 2 个字节的可用空间。因此,6 字节扩展社区属性也不合适。为了克服这个问题,Junos OS 允许您配置可选的传递路径属性 - 一个 12 字节 BGP 大型社区,提供最重要的 4 字节值,以作为全局管理员对自治系统编号进行编码,其余两个 4 字节分配编号用于对 RFC 8092 中定义的本地值进行编码。您可以在和[edit routing-options static route ip-address community]
层次结构级别配置 BGP 大型社区[edit policy-options community community-name members]
。BGP 大型社区属性格式有四个字段:large
global administrator:assigned number:assigned number
:。
BGP IPv6 单播地址特定扩展社区编码为一组 20 字节值。20 字节值按以下格式解释:
-
最高有效 2 字节对 Type 和 Sub-Type 值(高值(最高有效字节)和低值(第二有效字节))进行编码。
-
接下来,16 字节对 IPv6 单播地址进行编码。它是 IETF RFC 中的全局管理员。
-
最后 2 个字节对运算符定义的局部值进行编码。它是 IETF RFC 中的本地管理员。
IPv6 单播地址特定的 BGP 扩展社区属性由关键字 ipv6-target
、 ipv6-origin
表示,后 ipv6-extended
跟 IPv6 和本地管理员(用 <、> 和 和 分隔。
BGP 大型社区属性值的长度应为 12 的非零倍数。