我有一个关于 BGP 的问题。
什么时候需要BGP?
我记得读到自治系统之间的通信需要 BGP,但这总是正确的吗?
例如,在数据包跟踪器中,我可以有一个运行 EIGRP 的自治系统,但我可以简单地使用静态路由将该自治系统连接到运行 OSPF 的本地 ISP 路由器。
所以我正在努力寻找需要 BGP 的地方。
任何帮助,将不胜感激。
-Artekis
我有一个关于 BGP 的问题。
什么时候需要BGP?
我记得读到自治系统之间的通信需要 BGP,但这总是正确的吗?
例如,在数据包跟踪器中,我可以有一个运行 EIGRP 的自治系统,但我可以简单地使用静态路由将该自治系统连接到运行 OSPF 的本地 ISP 路由器。
所以我正在努力寻找需要 BGP 的地方。
任何帮助,将不胜感激。
-Artekis
当您需要在两个自治系统之间进行路由时,需要 BGP 的通用声明是相当具有误导性的。在很多情况下,您可以选择使用 BGP,甚至可能需要使用它。
在服务提供商世界中,BGP 被大量使用,因为它是Internet的路由协议 - 但听起来您的问题是关于企业的。在这种情况下,您可能需要在与 Internet 和有时 WAN 连接的服务提供商接口时使用 BGP,或者您可以选择在内部运行 BGP,因为就路由策略而言,它是最灵活的路由协议。
它在企业中的一些使用示例:
您的企业控制着一块可移植的公共 IP 空间。在这种情况下,“可移植”意味着该空间已由区域互联网注册机构(如 ARIN)注册到您的组织。您的组织托管使用来自此地址空间的寻址的 Internet 可访问服务。您通常有两种选择可以让全世界知道如何找到您:
您的服务提供商可以通过 BGP 和静态路由返回到您的环境,将此空间通告给 Internet。
您可以与您的服务提供商对等并通过 BGP 向他们通告空间。如果您有多个 ISP,这是唯一的选择。您可以向两个服务提供商宣传该空间,然后使用各种策略或属性操作来控制传入流量所采用的路径。
在这种情况下,服务提供商可能每个都向您通告默认路由(而不是完整的 Internet 路由表),并且您可能希望在 ISP 之间对出站 Internet 流量进行负载平衡。在这种情况下,您可能需要操纵 BGP 以确保流量采用您想要的路径,并且返回流量会通过它离开的同一 ISP 影响返回。这是超高水平,但希望你能看懂。
大多数情况下,当您拥有用于 WAN 连接的 MPLS 链接时,您实际上并未对 MPLS 执行任何操作。MPLS 将在服务提供商的提供商边缘 (PE) 路由器上终止,并且它们将通过 /30 点对点连接上的常规以太网链路连接到您的客户边缘 (CE) 路由器。在这种情况下,您通常必须将 IGP(内部网关协议,例如 OSPF、EIGRP 等)路由重新分配到 BGP 中以与服务提供商共享。他们将通过 MPLS 网络将这些路由传递到远程站点的 PE,PE 将与该站点的 CE 建立 BGP 对等关系,此时,您将了解那里的路由并将它们重新分配回远程站点的 IGP . 同样的事情也会发生在另一个方向。
BGP 在这里不是必需的,但它通常是服务提供商想要运行的东西,以在他们与客户的所有连接中保持一致。
如上所述,您可以在网络内部运行 BGP,称为 IBGP。它实际上是完全相同的协议,但是当您在同一 AS 中的路由器之间运行 BGP 时,BGP 的一些行为将发生变化。无论如何,这真的是关于控制。您可能拥有用于 WAN 连接或什至可以在其上运行 OSPF 的 VPN 链接的第 2 层虚拟网络,但在某些设计中,您可能需要对路由策略进行更多控制以在这些路径上实现您想要的行为,在这种情况下,BGP 可能成为工作的正确工具。
抱歉有点宽泛,但每个案例都非常不同。当您刚开始学习网络时,尤其是从 Cisco 学习网络时,他们会简化一切以帮助您理解概念。在某种程度上,我认为他们在暗示某些通用语句是“规则”方面走得太远了,甚至对您进行测试,就好像它们是 100% 严格的规则一样。
我能给出的最好建议是按照他们的方式学习它,以了解概念并通过证书,但要保持思想开阔。如果你想在你的网络学习和训练中添加一些不太正式、更真实的东西,一定要拿起一些 O'Reilly 的书(与你正在学习的主题相关),上面有动物。你可以很便宜地在互联网上使用它们。
与其描述您将在哪里使用 BGP,不如让我描述一下原因:
其他协议(如 EIGRP 或 OSPF)假定到达某处的最佳方式是最快的链路——即具有最高带宽的链路。因此,它们具有用于选择路由的简单度量。
在许多情况下,尤其是在不同组织(自治系统)之间,选择特定路径的原因可能与带宽无关。这可能是由于预先安排了谁将承载什么流量的协议,或者基于某些财务协议。您可能希望将一些流量路由到一个邻居,但将不同的流量路由到另一个邻居。
BGP 的主要优势在于,它让您可以更好地控制自己通告的路由以及从邻居那里接受的通告。BGP 使您可以更好地控制路由选择和邻居的路由选择。这是 BGP 成为 Internet 路由协议的主要原因之一。
简而言之,BGP 主要用于多宿主场景,即当您连接到两个提供商并希望实现故障转移以及应用策略映射时。它作为 EGP (eBGP) 工作,实际上它是唯一的 EGP。
另一种情况是将 BGP 用作 IGP (iBGP),它与同一 AS 内的路由器建立对等互连,但由于路由复杂性和资源负担,不建议这样做。只有在特定情况下才需要 iBGP。
以数据包跟踪器为例,它与现实世界不同,在现实世界中,连接到 ISP 并不是路由的结论。这仅仅是开始,然后是应用策略、使用 QoS 调整链路性能、确定流量优先级等等。
除非您在小型组织中工作,其唯一目标是在没有预先路由的情况下将任何类型的流量转发到 ISP,否则您可能不想依赖静态路由和 EIGRP。
BGP 是在自治系统之间交换路由的标准方式。
如果您只有一个到 Internet 的链接,那么您就没有真正的理由与您的 ISP 动态交换路由。他们可以指向你方向的静态路由,你指向他们的默认网关,这就是它的结束。
如果您多宿主到同一 ISP 的多个 PoP 或多个 ISP,您希望动态地向您的 ISP 通告您的前缀。这样做的原因是,如果一个 ISP 链接出现故障,您希望重新路由您的流量。
如果您多宿主到不同的 ISP,那么您可能还需要考虑通过 BGP 接收路由。有时 ISP 会丢失通往部分 Internet 的路由,如果您只是使用默认网关,您将看不到这一点,而如果您要导入完整表,流量应该会转移。另一方面,导入完整表可能会使旧/更便宜的路由器不堪重负。
如果您正在建立对等关系,那么您肯定需要与 BGP 交谈以找出对等方准备接收流量的前缀。