如何使用 BGP 进行上传/下载流量工程?

网络工程 BGP
2022-02-25 13:39:33

我昨天参加技术面试,面试官问了我一个问题:

如果您有一个连接到专用 LAN 的路由器,并且还连接到两个 ISP(单多宿主设计),如下拓扑:BGP 单多宿主

假设企业路由器 E1 连接到 LAN(无论其 IP)并在每个这些 ISP 之间运行 eBGP。

您如何通过 ISP1 路由 LAN 的 UPLOAD 流量并通过 ISP2 路由您的 DOWNLOAD 流量?

我告诉他我的知识只是关于CCNA R&S和CCNP ROUTE,因为我认为这个问题对于CCNP ROUTE证书持有者来说是非常高级的。他告诉我这个问题在 CCNP ROUTE 教学大纲中。

我想知道我是否可以通过CCNP ROUTE知识回答这个问题,也想知道如何通过使用BGP属性或任何方式回答这个问题?

我希望有人可以帮助我回答这个问题。

提前致谢。

2个回答

我同意这个问题有点含糊,但如果我问了这个问题,我会寻找您对 BGP 和技术的一般理解,而不是具体的配置。

顺便说一句,如果您认为问题含糊不清,则应始终要求澄清。

要影响 E1 接收流量的方式,您可以控制向 ISP 发布的内容。因此,要让流量仅来自 ISP2,您只需向 ISP2 宣传您的网络。您还可以向 ISP2 通告特定子网,并向两个 ISP 通告更大的网络。

编辑:我忘了提到你也可以使用 AS-PATH 前置(到 ISP1)让流量使用 ISP2 而不是 ISP1(我今天早上显然没有喝足够的咖啡)。请注意,在现实生活中,这仅适用于某些 ISP。

要控制到 ISP 的流量,您可以操纵从 ISP 接收的 BGP 通告,以便出站流量使用 ISP1。例如,您可以对从 ISP1 接收的路由使用 WEIGHT 属性,以使所有流量都流向 ISP1。或者,您可以完全放弃 BGP,而使用静态路由、PBR 等。

在真实的网络中,会有很多其他因素决定您使用哪些技术。这里的重点是证明您至少知道一些操作 BGP 以控制路由的方法。

他可能会要求您不要实现此功能,而只是为了测试您对 BGP 的了解。

关于上行流量:要求 ISP1 仅通告到您的路由器的默认路由。过滤从 ISP2 收到的所有路由。

关于下游流量:通过 ISP2 宣传您的所有路由。通过 ISP1 无广告。

奖励点:不要过滤来自 ISP2 的所有路由,而是创建一个策略,说明它应该接收默认路由,只有一个度量高于来自 ISP1 的度量。如果您有更具体的路由,则首选这些路由,因此如果您有 /23,则将 /23 通告给 ISP1,将两个 /24 通告给 ISP2。如果其中一个 ISP 失败,这些将涵盖您。

其他方法是针对上游流量的本地偏好和权重(cisco 专有)和针对下游流量的 MED,但您必须询问您的 ISP 是否被接受。