作为一个附带项目,我们正在为小型无人机开发一种新的内部网络,并将以 100mbit 以太网为基础,而不是通常用于此类飞机的串行通信。我们已经检查了整个网络,并证明我们可以处理除一个关键组件(主开关)之外的所有设备上的几乎所有故障模式。飞行计算机连接到一个交换机,该交换机将数据分发到网络上的所有其他设备。如果此交换机发生故障,飞机上的所有内部通信都会发生故障,这不是理想的情况!
那么,我们想知道的是,是否有可能并行运行两个相同的交换机?将电缆拼接并穿过两个交换机,这样如果一个交换机发生故障,另一个交换机仍可中继数据?我的猜测是没有,因此,接下来,是否有其他方法可以快速识别交换机故障并通过另一个交换机重新路由流量?我们所说的快速理想情况是无中断,或者从故障到网络恢复所需的时间少于 1 秒。
谢谢!我是强大网络方面的一名新手,所以任何帮助或想法我都非常感谢!
答案1
您不能仅仅通过电气方式连接。您需要在连接到网络的每个设备上安装多个网络接口,并且这些设备上的软件需要处理“故障转移”到另一个连接。大概无论如何您都希望在每个设备上安装多个以太网接口,以允许每个设备上的以太网硬件发生故障。最终,这更多的是与您的通信协议有关的问题,而不是与以太网有关的问题。
在数据中心环境中,您可能会将服务器计算机连接到冗余并行以太网交换机,然后这些交换机相互连接。处理以太网中的环路是生成树协议。此协议允许交换机检测环路并保持环路“打开”(通过停用交换机上的接口),这样帧就不会永远在交换机之间来回反弹。如果两个交换机之间的活动连接发生故障,生成树会检测到故障并激活冗余连接以重新建立通信。
对于服务器计算机而言,处理冗余网络连接是服务器计算机上的 NIC 驱动程序或操作系统的功能。它们的软件必须能够检测到某个网络接口上没有通信,并在冗余接口上正确地发送和接收流量。
通常,这种故障检测是通过某种类型的“心跳”数据包来实现的,该数据包定期从一个接口发送并由另一个接口接收。这些心跳的缺失会触发故障转移功能。您需要在连接到网络的每个设备内部实现类似的功能,以允许设备故障转移到其冗余接口。