1 问题描述
随着以太网技术在工业网络的大量普及,工业以太网现场的规模逐步扩大,如图 1 网络,除了传统的工业控制设备外,例如高清摄像头等视频系统也会连接在现场的网络中。而类似高清摄像头等此类设备,数据流量很大,会占用大量的带宽,如果不对网络加以管理,有可能造成网络的堵塞,严重的影响通讯。
<图 1 网络>
2 测试
对于大数据流量对带宽的占用,我们可能无法很直观的体会出来,这里我们通过一个测试:通过 SNMP 软件(简单网络管理协议)观察 PLC 端口的输入流量。如图 2,这里使用的是 ZOHO(卓豪)公司的 ManageEngine 网络管理软件。
ManageEngine 网络管理软件可以通过 SNMP 协议访问 PLC 以太网接口的 MIB 变量,“ifInOctets”/“ifOutOctets”分别表示端口的输入/输出字节数。
<图 2 SNMP 管理软件>
如图3,在网络上没有大数据流量时,输入(红色)/输出(绿色)端口状态曲线。
<图 3 PLC 端口一般状态的趋势图>
如果此时,网络中接入视频信号,比如 VLC 播放器,可以通过组播发送数据流,如图 4。通过 Wireshark 的软件抓包可以看到,此时网络上会有大量的 UDP 组播数据包存在,如图5。
<图 4 VLC 发送组播数据流>
<图 5 组播数据流>
这样的情况下,网络中如果使用了不支持组播管理的交换机(比如 Scalance X300 以下);或者交换机支持组播管理,但是没有激活。组播报文将会以泛洪的形式在交换机的每个端口转发。
对于 PLC 的端口,很显然并不会作为视频的最终用户,但是此时也会收到组播数据包。如图6,接收到组播数据流的 PLC 端口流量趋势图,端口的流量会有很明显的增加。那可以试想,如果此时接入的是数据流更大的高清视频,而且是很多路,则带来的后果可想而知。
<图 6 PLC 端口接收到组播的趋势图>
3 解决方案
因此,为了解决上面测试中 UDP 组播数据包泛洪转发的问题,首先应该在选型中使用支持组播管理的交换机。SCALANCE X 交换机在组播管理上使用 “IGMP Snooping”功能,通过对交换机端口接收到的 Report 报文进行分析,并在交换机中建立相应的组播 MAC 地址与端口的对应表项,从而实现组播数据包的二层快速转发静态指定。
如图 7,在交换机管理页面中激活“IGMP Snooping”功能;如果网络中有多台交换机,至少有一台激活“IGMP Querier”,如图 8。
<图 7 SCALANCE X 交换机“IGMP Snooping”>
<图 8 SCALANCE X 交换机“IGMP Querier”>
此时,如图 9,在交换机会生成组播 MAC 地址和端口的对应表,组播报文只会在成员的端口上转发。
<图 9 SCALANCE X 交换机“Multicast Groups”>
也可以在交换机“Blocking Mask”中,如图 10,禁止某个端口上转发未知的组播报文来抑制组播的泛洪转发。
<图10 SCALANCE X 交换机“Blocking Mask”>
4 总结
通过上面的分析,不难看出大数据流量对工业网络的影响,因此必须对网络进行优化和管理,可以在以下方面注意:
如图 11,通过 VLAN 划分广播域,减小不必要的广播报文
<图 11 交换机划分 VLAN>