N 个路由器,但只有一个有效的动态网关

网络工程 路由 转变 网络
2022-02-21 13:25:20

我无法为这种情况找出一个好的策略。

每个客户端有一个路由器,所有路由器都在同一个网络中。每个路由器都可以连接到不同网络中的外部路由器,但一次只能连接一个(这是物理限制,因此我们可以认为每个路由器中都有一个开关,可以每 5 秒更改一次,但是它们总是同步的,以确保只有一个关闭)。


                  ------------
                  | router X |                         10.0.0.0/24
                  ------------
                         |
     ____________________|_________________
     |                   |                |
     |                   |                |
      / off switch1      | on switch2      / off switchN
     |                   |                |
     |                   |                |
------------       ------------     ------------
| router 1 |-------| router 2 |-----| router N |       20.0.0.0/24
------------       ------------     ------------
     |                   |                |
     |                   |                |
------------       ------------     ------------
| client a |       | client b |     | client N |
------------       ------------     ------------

router X假设只有一个关闭的开关,客户端如何能够发送/接收数据?

到目前为止,我的想法是:

  • 动态更改客户端的网关,即当 switch2 为 ON 时,gw forclient aclient Nwill be router 1,此外,router 1router N作为第 2 层交换机运行。

这里的问题是客户依赖于他们收到新 gw 通知的想法,这可能最终会丢失数据、非同步行为以及它是动态设计的想法。

  • 虚拟网关。所有客户端都具有相同的虚拟网关,因此路由器必须相互协商(基于 ON 开关)才能知道哪个是主网关(真正的网关)。

我见过的最相似的想法是 VRRP、CARP 等协议,但它们略有不同,我不需要广告就可以知道主服务器是否还活着,因为限制在路由器之外,此外,客户端没有连接到同一个路由器,所以从站仍然必须工作。然而,这是我最接近“虚拟网关”概念的想法。

  • NAT。每个客户端的每个路由器都会修改数据包并将它们传递给网关。

这里的限制是速度,我更愿意避免每个路由器都必须修改数据的想法。

还有其他想法或建议吗?

谢谢,

1个回答

我很确定这是任何 XY 问题,但无论如何。也许你应该告诉我们更多关于你的情况(在你的问题中)。

只需将网络中的每个路由器 1..N 自己的 IP 地址分配给路由器 X。如果每个客户端 A..N 都位于唯一的 IP 子网中,那么您将在路由器 X 上设置到那些(远程)子网的路由。对于非直接路径,通过相邻的具有更高度量的路由器设置辅助路由。(如果所有客户端网络相同或重叠,最简单的解决方案是在路由器 1..N 上进行 NAT,但这不是一个好主意。)

实际上,物理交换是相当无用的,因为网络的目的是允许 N:M 通信。如果您需要控制来自/到客户端 1..N 的流量,路由器 X 就是您要做的点(逻辑上)。显然,您应该在路由器 1..N 和路由器 X 之间放置一个网络交换机。

为了应对与路由器 X 的连接失败,您可以将默认路由设置为具有更高指标的邻居路由器,以便在可用时使用直接连接。当然,您还需要为所有远程客户端子网提供路由,因此设置 OSPF 将负责所有路由交换。

VRRP 不会轻易工作,因为您需要 N 个不同的故障转移组,这可能是一场噩梦——而且根本不需要这样做。VRRP 可用于提供端节点(默认)网关冗余。路由器可以自己处理,只要它们知道所需的路线和距离。

请注意, 20.0.0.0/24 不是 RFC 1918 即。私人网络,但它属于微软。您只能使用私人地址或您正式拥有的地址。