使用本地首选项属性影响到不同 ASN 的出站路由

网络工程 路由 BGP
2022-02-20 06:36:25

是否可以使用本地首选项属性来影响由不同 ASN 通告的给定网络的出站路由?所以,我有一个网络,例如10.10.100.0/24,我拥有,例如 AS100 和 AS200,我从两个 ASN 宣传这个网络。如果我为来自 AS100 的此路由标记更高的本地首选项,并为来自 ASN200 的此路由标记较低的首选项,并向我的邻居做广告,那么我的邻居是否总是将流量路由到 AS100?

如果这不可能,我是否可以在路由通告中使用任何其他属性来确保流量始终进入我的 AS100?

2个回答

如果您想影响到您的 AS 的路由,您实际上是在询问入站路由。

本地首选项是 AS 本地的,用于出站路由。无论您是否拥有两个 AS,您在一个 AS 中的本地首选项对不同 AS 中的路由没有影响。其他 AS 看不到您的本地偏好。您可以尝试在首选 AS 上设置较低的 MED,但另一个 AS 可能会忽略它,或者您可以尝试添加到 AS_PATH 或其他方法,但这也可以被另一个 AS 忽略。

您可以尝试影响不同 AS 中的路由,但 AS(自治系统)的重点在于它们实际上是自治的;每个 AS 制定自己的路由策略和决策,独立于任何其他 AS。AS 的管理员可以自由地遵循您的提示(MED、AS_PATH 前置等),或者完全忽略它们。

想一想,您不希望其他 AS 中的某个人在您的 AS 中指定您的路由策略。其他 AS 也是如此;他们不希望您向他们规定路由策略。

在实践中,您可能影响其他带有 AS_PATH 前缀的 AS。有些人可能会注意您的 MED。确保您的提示得到尊重的唯一真正方法是与其他 AS 达成业务协议。

为了影响出站路由器决策,您需要使用 AS PREPEND。如果您查看 BGP 路由决策排序,默认行为是选择具有最短 AS PATH 的路由。在这种情况下,您可以将 10.10.100.0/24 通告到 AS200 中,并预先添加 AS 200(通常您会预先添加 3 次)。

AS200 中的路由器示例:

ip access list standard ACL_MATCH_NET
permit 10.10.100.0 0.0.0.255

route-map RM_AS_PREPEND permit 10 
match ip address ACL_MATCH_NET
set as-path prepend 200 200 200 

router bgp 200 
network 10.10.100.0 mask 255.255.255.0
neighbor x.x.x.x remote-as xxxx
neighbor x.x.x.x route-map RM_AS_PREPEND out

请记住,上游路由器不必接受 as 路径,也可以过滤或更改您设置的路径。