跳转到内容

交换机、路由器、网桥和局域网/路由器/边界路由器选择

来自维基教科书,开放的书籍,开放的世界

在边界路由器上,通常有两个边界路由器以避免单点故障。外围网络上的内部路由器和主机选择一个边界路由器来传递其互联网流量。

边界路由器选择中的核心问题


现在,我们将了解如何在至少有一个正常运行且连接可靠的边界路由器的情况下建立可靠的互联网连接。可靠性、复杂性和硬件要求可以相互权衡以满足需求。

边界路由器选择与出口选择

[编辑 | 编辑源代码]

出口选择是 BGP 用于决定使用您 AS 中哪个出口的过程。边界路由器选择是您的内部路由器和主机用于选择边界路由器的过程。边界路由器选择首先发生,因为主机或内部路由器必须选择一个边界路由器。然后,所选的边界路由器决定数据包是应该通过其连接之一退出,还是应该转发到另一个边界路由器以进行传递。

使用 IBGP 的边界路由器选择

[编辑 | 编辑源代码]

如果外围网络上的所有内部路由器和主机都与边界路由器一起运行 IBGP,那么边界路由器选择问题就可以得到很好地解决。使用 IBGP 选择边界路由器

每个边界路由器的 BGP 路由表的副本通过 IBGP 复制到内部路由器和主机中。内部路由器和主机将始终为每个目标选择最佳边界路由器,因为它们通过 IBGP 了解了该路由。由于 BGP 的存在,大多数主机都会增加很多复杂性。内部路由器中 BGP 所需的额外内存和 CPU 能力可能会使它们比不运行 BGP 的路由器贵很多。因此,大多数网络设计只会在边界路由器上运行 BGP,因此会面临边界路由器选择问题。现在,我们将讨论在不使用 BGP 的情况下选择边界路由器的网络策略。使用静态路由的边界路由器选择 主机或内部路由器选择边界路由器的最简单方法是使用静态默认路由。静态路由可能会导致选择“错误”的边界路由器。

主机选择“错误”的边界路由器

[编辑 | 编辑源代码]

假设网络有一个指向边界路由器 B 的静态默认路由,主机想要将流量传递到 ISPA 的一个客户。ISPA 正在发送客户路由,以便您的 AS 知道目标是 ISPA 的客户。在这种情况下,边界路由器 B 将通过 IBGP 从边界路由器 A 了解 ISPA 的客户路由。因此,边界路由器 B 将接收流量并立即将其重定向或转发到边界路由器 A,通过外围网络进行传递。流量将两次穿过外围网络,浪费带宽。但是,如果边界路由器 B 出现故障,那么代价就更高了。边界路由器故障时,主机无法从互联网访问

内部路由器可能会与边界路由器共享 IGP,您的 IGP 应该配置为选择至少有一个正常互联网连接的正常运行边界路由器。您的 IGP 将检测边界路由器 B 的故障,因此您的内部路由器将使用边界路由器 A 作为其默认路由。它有一个指向现在已失效的边界路由器 B 的静态默认路由。因此,它丢失了所有互联网连接。这是另一个例子,说明静态路由和可靠网络通常不兼容。

使用 HSRP 的边界路由器选择

[编辑 | 编辑源代码]

借助两个或多个路由器,可以动态共享单个 IP 地址。具有指向此地址的静态默认路由的主机将看到一个可靠的 AS 退出路径,而无需监听 BGP 或您的 IGP。HSRP 根本不是路由协议。它只是在同一多点访问网络上的路由器之间呈现“不间断”IP 地址的一种方式。HSRP 的优势在于它使主机配置简单——只需要一个常用的静态默认路由即可。它还能在几秒钟内对故障做出反应。以下是一些 HSRP 在实际应用中的示例。两个边界路由器正常运行时的 HSRP

该站点有一个 T3 用于其主互联网连接,并在另一个边界路由器上有一个 T1 作为备份。边界路由器 A 的外围网络接口被配置为具有地址 10.0.0.253。边界路由器 B 的外围网络接口被配置为具有地址 10.0.0.254。由于边界路由器 A 具有主互联网连接,因此它上面运行的 HSRP 被配置为,它通常还会在其外围网络接口上持有共享的虚拟接口地址 (10.0.0.1)。边界路由器 B 上运行的 HSRP 被配置为监控边界路由器 A 的运行状况。来自主机的互联网流量遵循指向 10.0.0.1 的静态默认路由,到达边界路由器 A,并在两个边界路由器都运行时通过 T3 退出。但是,假设边界路由器 A 出现故障

主边界路由器故障时的 HSRP

[编辑 | 编辑源代码]

在边界路由器 A 出现故障后的几秒钟内,边界路由器 B 的外围网络接口接管了共享的虚拟接口地址 (10.0.0.1)。主机中的静态默认路由现在指向边界路由器 B,无需主机进行任何操作。它的互联网流量现在通过边界路由器 B 的 T1 退出。现在假设 T3 出现故障,但边界路由器 A 继续运行。我们希望边界路由器 B 接管共享的虚拟地址,即使边界路由器 A 仍在运行。这种情况可以通过配置边界路由器 A 在其 T3 上丢失载波检测时“放弃”该地址来处理。

主互联网连接故障时的 HSRP

[编辑 | 编辑源代码]

此行为是通过优先级系统实现的。边界路由器 A 被配置为在其 T3 上丢失载波检测时降低其优先级。边界路由器 B 在发现其优先级现在是共享该地址的路由器组中最高时,会抢占对共享的虚拟接口地址的控制。(是的,两个以上的路由器可以共享一个虚拟接口地址。)

HSRP 的局限性

[编辑 | 编辑源代码]
  • 如果接口无法传递数据,但载波检测没有丢失,那么 HSRP 就帮不上忙。如果您与中心局之间的线路正常,但中心局的 DAX 出现故障,就会发生这种类型的故障。BGP 最终会注意到这种类型的故障并重新路由您的流量——只是不会像 HSRP 那样快。
  • HSRP 不会帮助您的主机选择“最佳”边界路由器。请注意,HSRP 可在所有思科路由器上使用,但低端路由器(例如,截至本文撰写之时,1600、2500、2600 和 3600 系列路由器)只能有一个 IP 地址。
  • 如果您没有从至少一个 ISP 那里获取客户路由,那么 HSRP 可能会干扰出站负载均衡。
  • HSRP 仅凭自身不足以实现可靠的互联网连接。您还需要在边界路由器以及所有 ISP 上正确配置 BGP,才能在线路和/或路由器出现故障时保持连接。

监听 IGP 的主机边界路由器选择

[编辑 | 编辑源代码]

HSRP 通常是主机选择边界路由器的最佳方式,因为它能够快速从故障中恢复并保持主机的配置简单。如果您无法使用 HSRP,那么选择边界路由器的次佳选择是让主机监听 IGP。主机最常监听 RIP,但 RIP 缓慢的收敛时间(几分钟)使其成为关注可靠性的用户不佳的 IGP。OSPF 是更好的 IGP,但比 RIP 复杂得多。

边界路由器选择和负载分担

[编辑 | 编辑源代码]

HSRP 在可靠性方面做了很多工作,但在某些情况下它可能会阻碍出站负载分担。(不幸的是,这种情况经常发生在具有 2 条 T1 线路以及超过 1 条 T1 线路输出带宽的站点上。)使用 BGP 但不使用 HSRP 的负载分担由于两个 ISP 都只发送默认路由,因此每个边界路由器将使用其互联网连接来处理接收到的所有出口流量。如果每个主机生成大约相同的出站流量,则可以实现相当好的出站负载分担。(如果两个主机一起生成的流量超过任何一条互联网连接的单独承载能力,这将特别有用。)尽管这种配置的出站负载分担可能很好,但您的出站流量可能会通过一些非常迂回的路径到达目的地。作为快速提醒,想想 HostB 发送给 ISPA 客户的流量会发生什么。它必须至少通过 ISPB(以及可能的其他几个 AS)才能到达 ISPA。如果任何一条互联网连接出现故障,BGP 将丢失它通过该连接收到的默认路由。发送到任何路由器的出口流量最终将通过剩余的(工作)互联网连接出口。

使用 BGP 和 HSRP 的负载分担

[编辑 | 编辑源代码]

可以进行两个更改来实现可靠性和良好的出站负载分担:•运行 HSRP 的边界路由器可以从一个 ISP 接收至少客户路由。但这可能需要为您的边界路由器添加更多内存。•可以使用多个 HSRP 虚拟接口地址。更高端的思科路由器可以在同一个物理接口上配置两个虚拟接口地址。其中一个地址可以在正常情况下配置为偏向边界路由器 A,而另一个地址可以在正常情况下配置为偏向边界路由器 B。两者都配置为在出现故障时使用剩余的工作连接。然后将 HostA 和 HostB 配置为使用指向不同 HSRP 虚拟接口地址的静态默认路由。但低端思科路由器每个物理接口只支持一个 HSRP 虚拟接口地址。这里可以选择升级到高端路由器或使用具有 2 个接口的低端路由器来分割外围网络。

华夏公益教科书