标准化网络架构下的工业以太网交换机配置诊断方法
曹怡云 祁鹿敏 俞鑫
上汽通用汽车有限公司 上海市
前言
随着工业自动化控制智能化的提高,工业以太网的应用日益广泛,对比传统总线有通讯效率高、传输速率大、兼容性强等诸多的明显优势,但是也存在配置复杂,专业性强,检查点分散等推广壁垒。工业以太网交换机作为工业以太网架构中的重要环节,其配置直接关系到网络架构的优劣,更决定了工业网络通讯质量的好坏。
1. 概述及分类
交换机是拥有多个网络端口,用于转发电/光信号的设备。交换机可连接多个物理段的设备,转发数据帧的同时,自行学习和维护 MAC 地址信息。在某些较大的系统中,根据功能或区域划分,可以通过交换机设置VLAN(虚拟局域网),将一个网段划分成多个不同的子网,不同子网之间相互隔离,减少线路上的广播流量,有效阻止网络风暴等问题的扩散,提高整体网络的安全性和稳定性。
工业以太网交换机品牌、型号众多,配置项复杂多样。如图1 所示,根据OSI 通信参考模型,交换机主要分为2 类,一类是工作于数据链路层的二层交换机,另一类工作于网络层的三层交换机。二层交换机基于MAC地址寻址,三层交换机增加了路由的功能,可以在不同网段通过IP 地址寻址。
图1 OSI 通信参考模型

2. 常见的标准化网络架构
图2 是汽车制造自动化控制中常见的标准化网络架构,主要包括:1)使用工业以太网通讯的设备,如 PLC、现场IO、阀岛、HMI、机器人、变频器、IO 箱等;2)直接连接设备的二层交换机,交换机之间可使用环形连接,也可使用星形连接。同一个系统中的设备,一般位于同网段内,设备之间可直接通讯;3)连通不同网段的三层交换机,同样按照应用需求,交换机可使用环形或星形连接,不同网段的设备可以通过三层交换机路由通讯;4)数据传输介质,大多数应用场景使用网线电信号传输即可满足需求,远距离可采用光纤通讯。传输介质属于 OSI 通信模型中的物理层,数据通过应用层的工业以太网通讯协议(例如 ProfiNet、Ethernet/IP、ModbusTCP/IP 等),加以正确的交换机配置,实现网络通讯。
图2 网络架构图

3. 交换机主要配置参数
由于不同行业、不同应用环境的交换机配置差异性较大,故本文仅述在汽车制造自动化控制领域常用的交换机配置参数。
3.1 二层交换机
配置属性分为三大类:基础配置、安全配置和二层通讯配置。
其中基础配置类主要包括交换机名称、型号、IP 地址、子网掩码、网关(若网络中没有三层交换机,网关可暂不设置)、固件版本、端口属性、端口数量这些具体配置属性。
安全配置类主要包括交换机的访问方式设置:读写权限、Telnet、SNMP、HTTPS、SSH 等,用户组管理一般也归在安全配置中。
二层通讯配置类主要包括IGMP 组播管理、VLAN 虚拟局域网配置表、冗余环网协议设置,环网端口设置、环网管理员设置、冗余切换时间设置,快速生成树协议等具体配置属性。
3.2 三层交换机
基于二层交换机的配置参数上,三层交换机增加了路由功能。与二层不同的是,网关是路由功能的必需项。三层通讯配置类主要包括全局路由协议、OSPF 动态路由协议或静态路由表、路由配置表这些具体配置属性。路由方式既可以设置为基于交换机端口的路由、也可以设置为基于VLAN 虚拟局域网的路由。
4 配置诊断方法
通过以下方法步骤,用任意编程语言,结合可视化界面可以快速诊断出交换机配置是否符合应用要求。需要注意的是,在设计标准化网络架构时,建议使用相同品牌和系列的交换机,不同品牌和系列,数据存储格式往往差别很大,编程测试的工作量会随着品牌系列的混杂度成倍增加。
4.1 梳理需求
首先确定工业以太网具体应用需求。基于标准化网络架构,区分交换机工作于二层网络还是三层网络。梳理应用所需的交换机各类配置属性以及对应的正确参数值,按照配置属性类型和对应关系类型分类列出。如上章节所述,配置属性类型主要有4 大类:基础配置,安全配置,二层通讯配置,三层通讯配置。
“属性:参数”对应关系类型有多种:
a) 是非关系,例如Telnet 模式,有打开/关闭两种状态。b) 一对多关系,例如属性是线路切换时间,对应参数有100ms/200ms/500ms 等。c) 间接关系,该配置参数与应用场景以及其他配置参数存在关联,例如OSPF 动态路由协议只在路
能开启的状态下才存在意义,这种情况则需梳理出其中的逻辑关系,便于编程。间接关系有的逻辑较为简单,可直接看出。有的关系较为复杂,需要归类总结,将其中关系线性回归为公
式方程,才能进行后续的编程诊断。
4.2 数据清洗
换机一般通过特定软件或者浏览器进行配置。这类配置文件中,基本以“键:值”存放配置信息。
“键”就是配置属性名,在配置文件中是以变量名存在;“值”就是参数信息,有时为了存储数据方便以及精减配置文件的大小,数据是以 *0 ,1,2,3”这类格式存在,经过软件和浏览器的翻译,将“0,1,2,3”显示成实际的参数和文字。
以常见的“.xml”格式为例,如图3 所示,“< >”符号内的变量名是“键”,代表配置属性;两个“< >”之间的数据是“值”,代表参数信息。格式上的行缩进代表了配置文件中的框架,表达不同功能块下的参数,以区分同名的变量名。
图3 某种交换机配置文档内容

4.3 找到对应变量
从图 3 也可以看出,代表配置属性的变量名往往可读性不强,一般很难和用户界面中的显示名对应起来。可以通过如下方法快速找到变量:先将原配置保存一版,再在配置界面中,修改一个目标参数,另存一版配置文档,通过文档对比软件,定位到修改点,从而找到配置文档中的变量名。
根据4.1 梳理的配置属性,找到其对应的变量名、配置文档中的参数、以及用户界面中的参数名,列出一张关系对应表,见表1。

在程序中,存在 3 组“键:值”对:
a) “键1:值1”:用来表示配置文档中的变量名与用户界面的配置属性之间的对应关系,其中的对应关系由用户自行测试找出,所有“键1:值1”形成一张变量对照列表,在生成可视化界面时,用来将变量名翻译成用户易懂的配置属性名。
b) “键2:值2”:用来表示配置文档中变量与参数的关系,将配置文档中的“键2:值2”存放在一个数组列表中,便于程序遍历。
c) “键3:值3”:用来表示配置文档中的参数与用户界面参数名之间的对应关系,其中的对应关系由用户自行测试找出,所有“键3:值3”形成一张参数对照列表,在生成可视化界面时,用来将配置文档中的参数翻译成用户易懂的实际参数名。
4.4 数据对比
数据对比是将交换机配置文档中的参数与应用要求中的配置参数进行对比,从而找到不符合项,以此来进行诊断和报警。
表1 配置属性关系对应表示例

在对比之前,先要确定正确配置参数。将需求中,各类应用场景和功能对应的交换机配置参数罗列出来,编程时注意先读取文档中的品牌、型号、固件版本等信息,不同品牌、型号、固件版本,数据格式可能不一样。根据这些信息匹配对应的正确配置参数,调用对应的程序函数进行数据抓取,是非关系与一对多关系的参数,可将抓取到的数据直接与正确配置中的参数进行对比。间接关系的参数,需要在程序中,按照既定的逻辑关系进行编程,以判断抓取到的数据是否符合应用需求。
新建一个匹配列表用于存储对比结果,与正确配置进行匹配,匹配正确为1,匹配错误为0,未抓取到数据为 null。
4.5 分析报警
针对每种对比匹配结果,罗列出可能的错误报警信息以及对应的改正措施,生成一张报警文本列表。当数据匹配不正确时,调用对应的报警文本。
报警信息根据严重程度进行优先级分类。
4.6 可视化界面
如图 4 所示,根据配置属性的分类设计可视化界面。首页默认显示交换机的基础配置信息、通过按钮可以切换到安全配置、二层通讯配置、和三层通讯配置界面。
在菜单中,可设计用户指导,导入配置文档,并通过选项引导用户输入该交换机的品牌系列、应用场景等信息,以便调用对应程序进行文档解析。
首页的报警信息栏中,滚动显示当前系统中的报警,一般将优先级最高的报警显示在最上面,同优先级则按照报警发生的时间先后排序。点击报警栏则跳转到专门的报警显示界面,显示所有的系统报警信息。
在各参数显示界面,当参数配置正确时(匹配列表对应位为1 时),参数显示框底色为绿色;当参数配置不正确时(匹配列表对应位为0 时),参数显示框底色为红色,当用户点击该显示框时,可跳出提示框,用来显示改正措施文本;当参数未获取到时(匹配列表对应位为 null 时),参数显示框底色为灰色,并显示“无数据”。
其他设置中,可以加入一些定制功能,例如保存诊断结果,打印报警列表等
5 结语
使用编程语言将此方法做成工具后,可以大幅提高交换机的配置诊断的效率,确保自动化网络设备的可靠运行。在项目过程中,可提高自动化项目网络交付物质量,提升项目验收工作效率;在运维工作中,可降低工业以太网设备故障率,减少自动化控制设备运维工作量。工业以太网是智能制造的基石,随着各类智能化自动化设备的应用推广,一个通畅稳定的网络环境更显得尤为重要。
参考文献:
【1】《计算机网络(第6 版)》 谢希仁,电子工业出版社
【2】《Hirschman 交换机配置手册》 BELDEN Inc.