我有一个系统使用 2 个冗余的点对点无线链路来访问互联网,如果其中一个出现故障,我正试图找到在它们之间切换的最快方法。
我们需要在 1 秒内切换,目标是 100 毫秒。
配置
在下面的网络图中:
每个“网桥”都是一个无线电台。无线电本身运行 ubuntu 并具有以太网接口和无线接口,它们都添加到网桥(使用“brctl”模块)。
每个路由器都是一个无处不在的边缘路由器,其中包括一个内置交换机。
在当前配置中,到路由器 2 的所有连接都插入分配给内置交换机的端口,这意味着路由器 2 目前仅充当交换机。所有 4 个网桥和两台笔记本电脑都在同一个 LAN 上,从路由器 1 上运行的 DHCP 服务器获取 IP 地址。
如果两个链接同时处于活动状态,则会出现网络环路,从而导致广播风暴。
到目前为止我已经尝试过:
1) 使用命令“brctl stp dev on”在网桥上启用生成树。不幸的是,brctl 只支持原始 STP,不支持 RSTP,这需要 45 秒才能响应链路故障。
2) 将路由器 2 替换为支持 RSTP 的交换机。这是一项改进,但在无线链路中断时仍需要大约 6 秒才能做出响应。
接下来我打算尝试什么:
1) 调整交换机上的RSTP参数。我不确定这里有多少灵活性,以及是否有任何方法可以接近速度目标。
2) 尝试使用 OSPF 路由。这让事情变得有点复杂,因为我不能把所有东西都放在同一个局域网上,而且我不知道如何为此进行设置。
3) 一些自定义解决方案,可能在无线电 Linux 内核上运行?
优化这两个链接之间的切换时间的最佳选择是什么?
