支持流量检测的EPA网桥STP协议研究与实现
2011-05-11武贵路黄术东
刘 杰,武贵路,周 涛,黄术东,凃 朴
(1. 重庆邮电大学,重庆 400065;2. 四川文理学院,达州 635000)
支持流量检测的EPA网桥STP协议研究与实现
刘 杰1,武贵路1,周 涛1,黄术东1,凃 朴2
(1. 重庆邮电大学,重庆 400065;2. 四川文理学院,达州 635000)
0 引言
基于STP协议的EPA网桥设备可通过减少EPA各网段竞争与碰撞来改善网络性能与安全性。当网络中EPA网桥相互通信时,工作在网桥中的STP可以保证任意两个LAN之间只有唯一路径。EPA网桥中的STP协议生成“树形”传输链路,EPA网桥中的其他链路将被阻塞,成为备份链路,有效的避免了网络风暴的发生。为了提高工业以太网的实时性,在EPA网桥中引入流量检测模块,起到提高网络带宽,增强网络实时性等作用。
1 EPA网桥
依据EPA标准采用的分层化网络安全管理措施, EPA网桥[1]是实现EPA网络内各个微网段之间、现场设备层与过程监控层之间及远程网络间的互连设备。EPA网桥至少两个EPA接口,可进行冗余配置。EPA网桥是可组态设备,通过上位机根据不同EPA网桥ID来判断设备属于哪个EPA网桥及异常时的故障定位和隔离;同时,通过组态EPA网桥对接收到满足特殊要求的EPA报文进行过滤处理并转发,否则丢弃。
由于STP协议可减少网络中各网段的竞争与碰撞,因此在EPA网桥中加入STP模块将改善网络性能,降低遭受由环网所致的“网络风暴”或其他安全风险。EPA网络是一种工业级且对实时性要求较高的以太网,所以需要在消除“网络风暴”等影响的同时尽可能提高网络带宽增强网络实时性。为此,在具有STP协议的EPA网桥中引入网络流量检测功能。考虑到EPA网桥作为一种嵌入式设备,计算处理能力有限,为减少网桥资源开销,所以在网桥中通过设置报文计数器来检测流经该网桥的网络流量,并在运行该检测程序前,我们通过一些经验判断设定阈值,当流经此网桥流量(报文目的地址是非广播报文)超过该阈值,便将阻塞端口打开,如果经过一段时间流量又低于阈值,就重新回到阻塞端口状态。因此,除根端口和选取端口外,其余端口是打开或阻塞是根据流量变化情况是否超过阈值而动态变化的。另外也可通过上位机组态软件感知,适时做出打开阻塞端口的决定,达到提高网络带宽,平衡网络负载,增强整个网络实时性。
2 EPA网桥STP协议与流量检测实现
2.1 EPA网桥模块结构
STP模块[2]的功能划分关系和流量检测模块如图1所示。
图1 STP模块功能划分
从功能上而言,STP模块划分为STP主模块、定时器模块和管理接口模块。STP主模块完成STP算法和协议的所有操作。定时器模块为算法的正常运行提供定时服务,结构比较简单。STP管理接口模块减少STP与管理子系统的耦合,增强模块可移植性,对外提供一个透明、操作简单的接口。流量检测模块工作在数据链路层或网络层,通过设置一个报文计数器来计数目的地址是非广播的报文数量,起到检测流经该网桥网络流量的作用。
2.2 STP模块软件实现
根桥的选择。首先都假定自己为EPA根桥;然后广播配置BPDU报文。此时报文中的Root Identifier与Bridge Identifier相同;当收到另一EPA网桥的配置BPDU报文时,比较报文中的Root Identifier,若值大,则丢弃;否则,更新自身各参数值,并以新值继续向选取端口广播配置BPDU。
根端口的选择:EPA网桥根路径花费值最低、优先级最高、端口号最小的原则选择根端口。
决定LAN的选取EPA网桥:同一LAN中,开始所有EPA网桥都认为自己是选取EPA网桥;然后按根路径花费最小、优先级最高的原则决定选取EPA网桥。只有选取EPA网桥可以接收和转发帧,其它EPA网桥端口设为阻塞状态。
决定选取端口:选取EPA网桥与该LAN相连的端口为选取端口。若多个端口与LAN相连则取最低标识的端口。
除根端口和选取端口外,其它端口将置为阻塞状态。在决定根EPA网桥、EPA网桥根端口、以及LAN的选取EPA网桥和选取端口后,STP的拓扑结构也就决定了。
当EPA网桥检测到网络拓扑结构发生变化时,它会发送拓扑变化BPDU,根网桥收到此报文后会发送配置BPDU。所有EPA网桥都将收到配置BPDU报文并且老化自己过滤数据库中的地址。然后网络按前述步骤重新确定网络拓扑结构。这一过程中EPA网桥中的流量检测功能也会发挥应有的作用提高网络的实时性。
3 实验与分析
3.1 测试系统平台
在实验室测试平台上搭建如图2所示故障容错测试。通过人为制造网络故障并分析EPA网桥的响应时间来检验EPA网桥的故障容错能力。结构中两个网段(网段1和2)通过两个EPA网桥连接,网段1的计算机通过EPA网桥与网段2的EPA设备通信。EPA网桥A有最低的标识符,被选为根桥。端口A1是网段1的选取端口,端口A2是网段2的选取端口。EPA网桥B的端口B1被阻塞,端口B2为根端口。
图2 故障容错测试系统
除此之外,通过在具有STP协议功能的EPA网桥中引入流量检测模块,根据非广播报文流量是否超过预设流量阈值,适时地打开或阻塞网桥端口。
3.2 测试结果与测试分析
开启EPA网桥中STP模块功能,通过PC机察看抓取的网络中的数据报文,网络正常稳定运行。经过一段时间后,关闭EPA网桥中的STP模块的功能,继续观察抓取的网络中的数据报文情况[3],可以很明显发现网络中数据包流量明显不断增大,最终导致网络风暴,严重影响正常通信。
根据设备上线工作后EPA网桥端口B1接收发送UDP报文的情况,测出设备发送与EPA网桥转发UDP报文时间相差约2s,报文采用广播发送方式。两个EPA网桥于网络链路中同时工作时,根据BPDU报文来选用不同端口(如端口A1与端口B1)。当端口A1发生异常情况后,抓包可以容易看出,备份链路端口B1立即开始工作,切换时间平均约6s优于IEEE802.1D的故障探测到网络收敛的时间(大于30s)。
此外,通过人为模拟发送大量测试报文用以测试EPA网桥工作状态和网络实时性,实验发现阈值的选取至关重要。如果阈值选取得当则能显著提高网络带宽、增强实时性;反之,效果不明显。这也是接下来需要做的进一步研究。
4 结束语
本文介绍将网络流量检测和STP协议应用于EPA网桥构建和利用冗余链路的方法,解决实际工业控制网络中“网络风暴”、实时性和网络收敛速度慢的问题,并对具体实现进行测试,测试结果表明基本满足工业要求。
[1]向敏,徐洋,杨震斌,张晓辉.基于EPA技术的网桥设计[J].工业控制计算机,2006,19(12):1-2.
[2]吕俏,刘启文,石冰心.STP协议原理的算法与实现[J].华中理工大学学报,2008,28(1):65-67.
[3]刘洪霞,赵保华.基于协议实现的网络安全测试[J].小型微型计算机系统,2007,28(4):619-621.
Support traffic measurement EPA Bridges STP research and implementation
LIU Jie1, WU Gui-lu1, ZHOU Tao1, HUANG Shu-dong1, TU Pu2
针对EPA实时以太网在现场环网结构下易存在网络风暴和网络收敛速度慢而导致占用网络带宽并影响网络实时性等弊端,文章研究EPA网桥,设计实现了STP协议软件模块,以解决EPA环网引起的网络风暴问题,改善网络收敛时间并增加流量检测模块,根据网络流量适时打开网桥阻塞端口,提高网络带宽和增强网络实时性。通过搭建实验平台对支持流量检测EPA网桥STP协议进行测试分析,结果表明所提方法能够缩短EPA网络收敛为“树形”的时间并且可以基本满足工业以太网络中实时可靠性要求。
EPA网桥;流量检测;STP;实时性
刘杰(1985 -),男,硕士生,研究方向为工业控制网络。
TP393.1
A
1009-0134(2011)4(上)-0051-03
10.3969/j.issn.1009-0134.2011.4(上).17
2010-09-10