3. 多网关分层架构设计
在车间组网工程中,单台网关往往同时承担协议转换、路由转发、安全隔离和边缘计算等多项职责。当设备数量超过几十台、跨多个车间或需要与MES/SCADA系统对接时,单网关会迅速成为性能瓶颈和单点故障源。多网关分层架构的核心思路,是把"接入—汇聚—核心"三层网关的职责按数据流向和信任边界拆开,让每一层只做自己最擅长的事。
三层网关的功能划分
接入层网关直接面向现场设备,典型对象包括PLC、变频器、仪表、RFID读写器和视觉控制器。它的核心职责是协议适配与数据采集:把Modbus RTU/TCP、Profinet、EtherCAT、CANopen等异构协议统一转换为上层可识别的MQTT、OPC UA或Modbus TCP。接入层网关通常部署在车间现场机柜内,工作温度范围宽、防护等级高,端口数量以8~16口为主,单台覆盖半径建议不超过80米(铜缆)或300米(光纤)。它不做复杂路由,只维护本网段的设备映射表。
汇聚层网关位于车间级或产线级,负责把多个接入层网关的数据汇聚、过滤和初步处理。它需要具备VLAN划分、ACL访问控制、流量整形和边缘计算能力。例如,在一条总装线上,汇聚层网关可以对接入层上报的200个点位进行变化量过滤,只把变化超过阈值的数据上传,从而把上行流量降低60%以上。汇聚层网关通常采用工业级三层交换机或具备路由功能的边缘计算网关,端口以千兆光口和电口混合为主。
核心层网关部署在厂区中心机房或数据中心,承担跨车间路由、与上层信息系统对接、全局安全策略执行和集中管理。它需要支持BGP/OSPF等动态路由协议、硬件冗余、双电源和热插拔。核心层网关不直接连接现场设备,而是通过汇聚层网关的隧道或专线互联,形成"核心—汇聚"的骨干环网或双星型拓扑。
层级边界与数据流向
三层之间的边界不是简单的物理位置划分,而是由"信任等级"和"数据粒度"共同决定的。接入层网关处于最低信任域,它只允许本网段设备注册,禁止任何跨网段路由请求;汇聚层网关是信任边界的第一道闸门,所有来自接入层的数据必须经过ACL规则和协议白名单校验后才能上行;核心层网关则执行全局安全策略,包括车间之间的横向隔离和与MES/ERP的纵向访问控制。
数据流向遵循"上行汇聚、下行分发"原则。上行方向,接入层以1秒~10秒的周期采集设备数据,汇聚层进行变化量过滤和批量打包,核心层按业务优先级调度上传;下行方向,核心层下发的控制指令先到汇聚层,由汇聚层根据目标设备所在网段选择对应接入层网关,接入层再转换为设备原生协议写入。这种分层处理使得单台接入层网关的CPU负载通常低于30%,而核心层网关的并发连接数可控制在5000以内。
冗余设计原则
冗余设计需要区分"链路冗余"和"设备冗余"两个层面。链路冗余方面,接入层网关建议采用双上行链路分别连接两台汇聚层网关,使用STP或链路聚合实现故障切换,切换时间目标小于200ms;汇聚层之间通过光纤组成环网,运行ERPS或RSTP协议,单点断纤时业务恢复时间小于50ms;核心层网关采用双机热备(VRRP或HSRP),主备之间通过心跳线同步会话表,切换时已建立的TCP连接不中断。
设备冗余方面,核心层必须双机部署,汇聚层按车间重要性决定是否双机,接入层通常单机部署但需预留备用端口和快速更换机制。电源冗余同样重要:核心层和汇聚层网关应配置双电源模块,分别接入不同的UPS回路;接入层网关可采用PoE供电,由汇聚层交换机的PoE端口集中供电,减少现场电源故障点。
一个可参考的车间组网参数示例
假设某汽车零部件车间有3条产线,每条产线约40台设备,总设备数120台。接入层选用6台工业网关,每台覆盖20台设备,支持Modbus RTU转MQTT,采集周期500ms;汇聚层选用2台三层工业交换机,划分3个VLAN(每产线一个),启用IGMP Snooping和端口镜像,上行采用千兆单模光纤组成环网;核心层选用2台机架式网关,运行OSPF,与厂区核心交换机通过双万兆链路互联,配置VRRP虚拟IP作为汇聚层的默认网关。该示例中,接入层到汇聚层采用双绞线,汇聚层到核心层采用光纤,核心层到数据中心采用双链路聚合。实际部署时需根据现场线缆长度、电磁环境和设备协议版本调整参数。
| 层级 | 典型设备 | 核心功能 | 冗余策略 | 关键参数示例 |
|---|---|---|---|---|
| 接入层 | 工业协议网关 | 协议转换、设备接入 | 双上行、快速备件 | 8~16口,采集周期500ms~5s |
| 汇聚层 | 三层工业交换机/边缘网关 | VLAN、ACL、边缘过滤 | 环网、双机(关键车间) | 千兆光口,过滤阈值可配置 |
| 核心层 | 机架式核心网关 | 跨车间路由、安全策略 | 双机热备、双电源 | 万兆上行,并发连接≤5000 |
最后需要强调,分层架构的边界一旦确定,就不应随意打破。例如,不要让接入层网关直接与核心层网关建立路由邻居,也不要把汇聚层的ACL规则下移到接入层执行。每一层只处理自己职责范围内的数据,层与层之间通过标准接口(如MQTT Topic、OPC UA Session、VLAN Trunk)交互,这样才能在设备增减、产线调整或系统升级时保持架构的稳定性和可维护性。