工控网络为了保证高可用一般采用分层冗余的网络设备和链路设计. 基础的网络拓扑如下图所示:

在最上层由两个防火墙提供网络安全防护. 防火墙的高可用一般有路由模式和桥接模式两种. 路由模式又由主备和双主两种热备模式. 我们一般采用路由模式中的双主模式, 使用心跳线将两个防火墙连接起来, 在一台防火墙出现问题时, 另一台防火墙可以及时接管路由转发工作, 向用户提供透明的切换, 提高网络可靠性.

往下一层是交换层, 采用MLAG连接两台核心交换机. MLAG是交换机虚拟化方式的一种, 核心交换机之间使用peer-link链路相互探活, 共同处理交换任务. 其中一台交换机发生故障时, 另一台交换机拥有完全流量处理能力. MLAG的组合方式可以认为是堆叠的升级版. 堆叠具有配置、设计相对简单的优点, 但灵活度、可靠性、升级复杂程度均不如MLAG;MLAG相比于堆叠虽然配置复杂度较高, 但其控制面解耦、组网灵活度高的特点使其可靠性更强. 因此如果没有特殊的需求, 为了保证设备的高可用默认选择MLAG的方式就可以.

防火墙和核心交换机之间两两连接, 任意一台防火墙故障, 另一台防火墙会处理所有流量, 并将流量传输给下一层的两台核心交换机. 任意一台核心交换机故障, 上层的两个防火墙将会传输所有流量到剩余的一台正常工作的核心交换机. 因为MLAG相连, 所以对于上层防火墙来讲, 底层的两台核心交换机在逻辑上是一台交换机, 防火墙和核心交换机的故障转移是自动进行的.

再往下一层是服务器层. 现在一般采用所谓”超融合”的方式对网络 + 计算 + 存储进行三层虚拟化. 每个物理服务器单独包含一定量的计算 + 存储资源, 通过超融合内部交换机相连. “超融合”软件平台将物理网络 + 物理计算资源 + 物理存储均做虚拟化处理, 形成网络池 + 计算池 + 存储池. 现代的虚拟化软件为了支持故障自动转移和虚拟机自动漂移, 需要将网络 + 计算 + 存储冗余多份, 例如使用SAN的方式提供存储池. 这里需要注意的是为了实现虚拟存储的高可用, 会首先将1/3的物理空间留作备用, 每份数据保存两个副本, 最终实际存储池的可用容量会变成物理容量的66% * 50% = 33%. 也就是说, 如果物理磁盘容量为10T, 那么最终虚拟机可用总存储为3.3T.

每台服务器均同时向上连接两个核心交换机, 配备同时工作的至少两个物理网卡, 通过链路聚合的方式形成一个逻辑接口以提高链路的可用性. 保证服务器的网络在一个网卡出问题时, 另一个网卡能正常提供网络服务. 因为服务器和两个核心交换机均相连, 因此和<防火墙-交换机>的方式类似, 也保证了<服务器-交换机>之间链路的冗余.

外围互联设备按照可用性的要求可以选择单线或者双线连接防火墙. 例如为了保障5G基站和服务器连接的高可用, 一般采用双线连接.

以上的分层冗余工控网络架构对一般小型企业保障网络设备和链路的高可用性应该足够用了.