一种智能变电站过程层设备的网络风暴抑制方法

文档序号:8433669阅读:400来源:国知局
一种智能变电站过程层设备的网络风暴抑制方法
【技术领域】
[0001]本发明属于电力自动化及通信技术领域,涉及一种智能变电站过程层设备的网络风暴抑制方法。
【背景技术】
[0002]当前的智能化变电站过程层网络,设备间GOOSE和SV报文的交互,通常以点对点或者交换机的方式传输。当设备间使用交换机连接的时候,由于交换机,环路或者错误设备可以引发网络风暴。当装置间点对点连接的时候,也可能由于装置故障,由一台装置产生大量故障报文,形成接收装置接收到网络风暴数据。
[0003]在这两种方式的传输情况下,都存在着以太网网络风暴造成影响的情况。由于过程层设备的特殊性,设备需要在以太网网络风暴的情况下依然能够快速处理未被网络风暴影响的GOOSE和SV报文。
[0004]其中网络风暴的类型主要有三种报文:单播报文,组播报文和广播报文。
[0005]现有的技术和框架在使用CPU做网络过滤的情况下,不能够对这三种类型的报文组合网络风暴做很好的处理。

【发明内容】

[0006]本发明目的在于克服现有技术的不足,提供了一种智能变电站过程层设备的网络风暴抑制方法,解决了现有由于广播风暴或组播风暴对智能变电站过程层设备运行造成干扰的问题,保证了设备在网络风暴情况下正常运行。
[0007]为达到上述目的,本发明采用以下技术方案:
[0008]一种智能变电站过程层设备的网络风暴抑制方法,采用CUP1、CPU2两个CPU对GOOSE, SV的网络报文进行处理,CPUl用于GOOSE和SV的网络报文过滤,该CPU负责控制一部分设备上的网口,这些网口只负责接收SV和GOOSE报文的接收且不接收其他报文,CPUl将过滤后的GOOSE和SV报文转发给CPU2来做GOOSE和SV的网络报文的逻辑内容处理;
[0009]网络报文在CPUl上的过滤方法包括以下步骤:
[0010]a)初步过滤:
[0011]第一步,CPUl将关联的MAC控制器的寄存器进行设置,使相关网口允许组播的报文通过MAC控制器,非组播报文被丢弃;
[0012]第二步,对CPUl的MAC控制器启用哈希过滤功能,将设备计划订阅的GOOSE和SV的目标组播地址加入硬件哈希列表的配置中,将不符合此哈希键值的目标组播地址报文丢弃,即非相同键值的组播报文不能通过;
[0013]b)软件过滤:
[0014]第一步,CPUl判断收到的报文以太网类型是否GOOSE或者SV,如果不是这两类报文,则丢弃;
[0015]第二步,将报文根据目的组播地址和APPID的组合进行分组,比较收到的报文是否属于预配置的GOOSE/SV的相应分组中,如果报文不在任何分组中,则丢弃报文,否则将G00SE/SV放入相应的分组中处理;
[0016]第三步,在每个分组中对报文进行过滤处理,将接收报文与该APPID的上一帧报文的FCS值进行比较,如果相同,则丢弃该报文,如果是第一次接收此APPID的报文,则不丢弃JtGOOSE和SV比较上一帧报文与本报文的接收时间间隔,如果时间间隔小于预设的阀值,并且满足设定次数要求,则判定该报文的流量异常,将流量异常报文丢弃;
[0017]第四步,智能学习过滤,将第一次接收到的GOOSE或SV报文的关键信息位置进行学习并记录,再次接收到该报文的时候,对报文固定部分的内容进行校验,如果报文内容改变,则重新学习,如校验无改变,则判断之前的部分校验和SqNum是否相等,之后部分的校验和StNum是否相等,如果SqNum或/和StNum不一致,则重新学习,如果SqNum、StNum校验和都一致,则丢弃报文。
[0018]进一步,在软件过滤过程中,在报文流量异常的情况下,记录积累的异常时间,累计满到预定时间后,允许通过一帧报文。
[0019]进一步,所述CPUl和CPU2为同一个物理CPU的两个计算核心或是两个独立的CPU。
[0020]进一步,所述CPUl和CPU2之间的数据连接通过内部的以太网通道或通过共享内存进行数据交互。
[0021 ] 进一步,所述CPUl的MAC控制器对所配置的每一个GOOSE和SV的目标组播地址计算出一个64位哈希键值,将该哈希键值加入硬件哈希列表的配置中,启用过滤功能后,将不符合此哈希键值的目标组播地址报文丢弃。
[0022]进一步,所述智能学习过滤,具体步骤如下:
[0023]第一步,开始学习报文,记录其中stNum, sqNum的偏移,计算stNum之前的报文校验和,计算sqNum之后的报文校验和;
[0024]第二步,跳至之前学习的stNum偏移的位置,判断该处内容是否为stNum,如果标志有问题,则重新学习,否则进入下一步;
[0025]第三步,判断有无stNum变化,如果stNum无变化进入下一步,如果stNum有变化,报文将进入下一步重新过滤;
[0026]第四步,比较stNum之前的报文校验和,判断是否与之前一致,如果不一致,则重新学习,否则进入下一步;
[0027]第五步,比较sqNum之后的报文校验和,判断是否与之前一致,如果不一致,则重新学习,否则进入下一步;
[0028]第六步,如果stNum之前的报文校验和,sqNum之后的报文校验和都一致,则丢弃报文。
[0029]本发明通过对GOOSE和SV报文的多级过滤,实现了 GOOSE和SV的网络风暴过滤,相比现有技术具有以下优点:
[0030]I)通过双CPU的架构设计:
[0031]使用CPUl作为目标的组播报文“G00SE和SV报文”过滤,可以保证CPUl所负责的网口只处理这两种目标报文,同时忽略其他类型报文,从而有效的在硬件层面将高比例的非目标报文过滤。
[0032]使用CPU2对目标报文GOOSE和SV处理,有效的控制了 CPU的运算负荷,保证了目标报文的处理速度。
[0033]2)通过目的组播地址和APPID综合分组,并只对分组内容进行后续过滤,从而降低了 CPU处理报文压力。
[0034]3)通过FCS过滤的过程,可以避免某一路订阅的报文异常情况下重复发送对设备的影响。
[0035]4)通过接收时间间隔过滤,可以避免在某一路订阅报文流量异常的情况下对设备的影响。
[0036]5)通过智能学习过滤方案,极大减少了处理分支数量和简化了处理流程,可以保证CPU过滤报文的处理速度。
[0037]6)通过智能学习校验和重新学习的步骤,保证了过滤算法的可靠性;通过综合判断,保证了所有目标报文的事件和状态变化全部可靠的传递给后续CPU处理。
【附图说明】
[0038]图1是总体概念框图;
[0039]图2是硬件过滤流程图。
[0040]图3是软件过滤流程图。
[0041]图4是智能学习过滤流程图。
【具体实施方式】
[0042]下面结合图1和【具体实施方式】对本发明进行详细说明。
[0043]图1所示,为此发明的总体概念框图。包括两个主要的CPU组成,分别为CPUl和CPU2。两个CPU可以是同一个物理CPU的两个计算核心,也可以是两个独立的CPU。
[0044]其中CPUl主要负责GOOSE和SV接收网口的MAC控制器的配置和将接收到GOOSE和SV报文做初步的过滤。而其中CPU2主要负责处理经过CPUl过滤后的GOOSE和SV数据,同时该CPU也负责将GOOSE和SV的配置信息传递给CPU1。两个CPU之间的数据连接可以通过内部的以太网通道或者共享内存等来进行数据交互。
[0045]硬件过滤,如图2所示。
[0046]第一步,CPUl将关联的MAC控制器的寄存器进行设置,根据架构设计,这几个相关网口允许组播的报文通过MAC控制器,非组播报文被丢弃。
[0047]第二步,设置CPUl的MAC控制器硬件哈希过滤条件。CPUl的MAC控制器会对所配置的每一个GOOSE
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1