一种mms信令的深度解析和内容展示的方法及系统的制作方法

文档序号:7866406阅读:540来源:国知局
专利名称:一种mms信令的深度解析和内容展示的方法及系统的制作方法
技术领域
本发明属于国际电工委员会所制定的标准《变电站通信网络和系统》(IEC 61850)的制造报文规范(MMS)在电力系统变电站自动化系统应用的领域,具体涉及一种MMS信令的深度解析及内容展示的方法。
背景技术
IEC61850是国际电工委员会TC57工作组针对解决变电站自动化系统面临的互操作性问题最新制定的《变电站通信网络和系统》系列标准。该标准得到国内外大部分主流厂家的支持,成为全球在电力系统变电站自动化领域统一的信息交互标准。制造报文规范MMS (Manufacturing Message Specification)是由国际标准化组织ISO制定的一套用于开发和维护工业自动化系统的国际标准报文规范。MMS规范了工业领域具有通信能力的智能传感器、智能电子设备、智能控制设备的通信行为,使出自不同厂商的设备之间具有互操作性,使系统集成变得简单、方便。IEC61850标准吸收并应用制造报文规范MMS,通过对真实设备及其功能进行建模的方法,实现网络环境下计算机应用程序或智能电子设备IED(Intelligent Electronic Device)之间数据和监控信息的实时交换。随着数字化变电站的逐渐推广和应用,IEC61850/MMS通讯被广泛应用于变电站自动化系统中,它采用抽象通信服务接口(ACSI)和特定通信服务映射(SCSM)的方法,在适应网络技术迅速发展的同时,能够维持信息模型和服务定义的稳定性。IEC61850规定将对象和客户/服务器服务映射到制造报文规范(丽S),丽S服务是通过丽S客户与丽S服务器间交换应用协议数据单元(APDU)来实现的。

如何对各种智能电子设备间通信的丽S报文(二进制比特流)进行深度解析,是亟待解决的一个问题。在IEC61850客户端和服务器软件开发过程中,国内厂商大都采用美国SISCO公司的MMS-EASE Lite软件包,其功能强大,但很难用于单独的报文解析,而且价格昂贵;而像MMS-Ethereal等专门用于MMS报文的抓包和解析工具,虽然也可以做到单纯的报文解析,但无法和SCD/SCL信息模型相结合而进行深度分析。

发明内容
本发明所要解决的技术问题是实现了一种基于asnlc的丽S报文深度解析服务,并提供了 MMS报文详细信息和二进制信息间对应的高可视化的可操作展示。由于MMS采用抽象语法记法一(ASN.1)来描述APDU,利用基本编码规则实现ASN.1描述的抽象语法和比特流形式的传输语法的转换,因此如何实现MMS的ASN.1解码成为实现的关键。本方法解决的技术问题所采用的技术方案是基于asnlc的IEC61850丽S信令的深度解析和内容展示的方法,其特征在于包括OSI七层协议的报文解码,其中表示层、ACSE,丽S层采用asnlc所自动生成的C语言代码来进行TLV解码;生成丽S REPORT报文的DA描述以及相应告警和事件;对七层报文解析后的可操作展示。
根据上述的基于asnlc的IEC61850 MMS信令的深度解析和内容展示的运行方法,包括
asnlc编译器的准备和使用;
解析智能电子设备的IEC61850 SCL信息模型,建立与模型匹配的内存数据库;
启动IEC61850 MMS信令的深度解析服务,包括OSI七层协议的报文解码、生成对MMSREPORT报文信息的DA描述以及相应告警和事件;
对七层报文解析后的内容进行高可视化的可操作展示。所述asnlc编译器的准备和使用进一步包括
根据PRES、ACSE、MMS层对应的协议规范手动生成抽象语法文件mms. asnl ;
使用asnlc把所述生成的抽象语法文件自动生成为相应的C语言代码。所述解析智能电子设备的IEC61850 SCL信息模型,建立与模型匹配的内存数据库进一步包括
解析基于IEC61850 SCL所定义的数据模型文件;
将所解析的数据模型转换成系统内存数据库,内存数据库包括两张表,一张表存放IED名称、访问点、rptld、数据集、数据集描述、逻辑设备、逻辑节点等信息,建立rptld与DA描述的对应关系;另一张表存放数据集、DA_ID、DA描述、顺序号等信息;
通过遍历内存数据库中的rptld得到数据集名称,然后根据数据集名称按顺序号取得所有的DA描述,按顺序填入到生成的XML串中。
`
所述OSI七层协议的报文解码进一步包括
Ethernet层解码,包括对VLAN各字段的解码;
TCP/IP层解码,其中涉及TCP报文的重组;
TPKT层解码;
CONNECTION-MODE TRANSPORT层解码,其中涉及COTP报文的重组; CONNECTION-ORIENTED SESSION 层解码;
CONNECTION-ORIENTED PRESENTATION层解码,使用asnlc自动生成的C语言代码进行TLV解码;
ACSE层解码,使用asnlc自动生成的C语言代码进行TLV解码;
丽S层解码,使用asnlc自动生成的C语言代码进行TLV解码。所述生成对丽S REPORT报文信息的DA描述进一步包括解析多个丽S报文,并结合所述内存数据库里的模型信息生成对MMS REPORT报文信息的DA描述。所述对七层报文解析后的内容进行高可视化的可操作展示进一步包括所述对MMSREPORT报文信息的DA描述最终生成一个XML串及相关的二进制信息流串,在XML串中包含了协议栈各字段的详细信息并且在每个字段中给出此字段对应的二进制串的开始位置和长度,基于所述XML串进行高可视化的可操作展示。所述高可视化的可操作展示进一步包括通过应用管理界面程序MMS⑶I为用户提供操作界面,查看MMS报文解析的详细信息、各报文字段对应的二进制信息和MMS的告警及事件,包括=TCP连接、COTP连接、TCP销毁、CTOP销毁、丽S断链、丽S解码失败、写操作等。还可以通过应用管理界面程序MMS⑶I打开历史MMS报文文件进行静态深度解析。本发明还提供一种IEC61850 MMS信令的深度解析和内容展示的系统,包括asnlc编译模块,用于asnlc编译器的准备和使用;
信息模型解析模块,用于解析智能电子设备的IEC61850 SCL信息模型,建立与模型匹配的内存数据库;
深度解析服务模块,用于启动IEC61850 MMS信令的深度解析服务,包括OSI七层协议的报文解码、生成对MMS REPORT报文信息的DA描述以及相应告警和事件;
可操作展示模块,用于对七层报文解析后的内容进行高可视化的可操作展示。所述可操作模块进一步包括应用管理界面程序丽S⑶I,用于为用户提供操作界面,查看MMS报文解析的详细信息、各报文字段对应的二进制信息和MMS的告警及事件,包括TCP连接、COTP连接、TCP销毁、CTOP销毁、丽S断链、丽S解码失败、写操作和打开历史MMS报文文件进行静态深度解析。实施本发明,具有如下有益效果
本方法实现了对MMS报文深度解析,提供了可阅读的报文详细信息与二进制原始报文信息间的高可视化的可操作 的对应关系。相较于目前市面上售价昂贵的MMS商用软件包,本方法为用户提供了一种高性价比的解决方案。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明提供的一种MMS信令的深度解析和内容展示的方法中所解析的MMS、TCP/IP及以太网的协议栈模型;
图2是本发明提供的一种MMS信令的深度解析和内容展示的方法的系统数据流 图3是本发明提供的一种MMS信令的深度解析和内容展示的系统的MMSGUI界面范例截 图4是本发明提供的一种MMS信令的深度解析和内容展示的系统结构图。
具体实施例方式下面参考附图对本发明的优选实施例进行描述。实施例一
本发明所解析的丽S、TCP/IP及以太网的协议栈模型如图1所示。其中,MMS层、ACSE 层和 CONNECTION-ORIENTED PRESENTATION 层使用 asnlc 所自动生成的C语言代码进行TLV解码,C0NNECTI0N-M0DE TRANSPORT层解码涉及COTP报文的重组,TCP/IP层解码涉及TCP报文的重组,Ethernet层解码包括对VLAN各字段的解码。实施例二
如图2所示,本发明实施例二提供了一种IEC61850 MMS信令的深度解析和内容展示的方法。首先,根据S⑶/SCL模型文件建立系统内部的内存数据库,解析基于IEC61850SCL所定义的数据模型文件,将所解析的数据模型转换成系统内存数据库的两张表,一张表存放IED名称、访问点、rptld、数据集、数据集描述、逻辑设备、逻辑节点等信息,建立rptld与DA描述的对应关系;另一张表存放数据集、DA_ID、DA描述、顺序号等信息。填写丽SREPORT报文详细信息的DA描述时,通过遍历内存数据库中的rptld得到数据集名称,然后根据数据集名称按顺序号取得所有的DA描述,按顺序填入到生成的XML串中。其次,启动MMS深度解析服务,通过PF_RING或其它适当的网络数据包捕获软件工具(如LIBPCAP等)捕获网络比特流,从中过滤出TCP端口为102的丽S报文。然后,针对丽S报文进行结合数据信息模型的深度解码,包括OSI七层协议的报文解码=Ethernet层解码,包括对VLAN各字段的解码;TCP/IP层解码,其中涉及TCP报文的重组;TPKT层解码;CONNECT ION-MODE TRANSPORT层解码,其中涉及COTP报文的重组;CONNECTION-ORIENTED SESSION层解码;C0NNECTI0N_0RIENTED PRESENTATION层解码,使用asnlc自动生成的C语言代码进行TLV解码;ACSE层解码,使用asnlc自动生成的C语言代码进行TLV解码;MMS层解码,使用asnlc自动生成的C语言代码进行TLV解码。通过解析多个丽S报文并结合内存数据库里的模型信息生成对丽S REPORT报文信息的DA描述,对丽S REPORT报文信息的DA描述最终生成一个XML串及相关的二进制信息流串,在XML串中包含了协议栈各字段的详细信息并且在每个字段中给出此字段对应的二进制串的开始位置和长度。除了 XML串,还生成二进制串、告警及事件。最后,把XML串、二进制串及告警及事件,传入MMS⑶I进行可操作性的展示。实施例三
如图3所示,本发明实施例3提供了一种丽SGUI界面范例。丽SGUI为本发明方所研制的一个软件工具,其界面主要分为三个部分。上部分为实时列表,通过列表的形式实时显示解析出来的网络中捕获到的丽S信令,每条丽S信令记录包括捕获时间、rptld、链路名称、报文长度、发送设备、发送IP、接收设备、接收IP、PDU类型、操作类型、客户端Port等信息;左下部分为原始报文,显示解析出来的报文中协议栈各字段的详细信息,图3选中了一条REPORT报文,其详细信息中包含了 DA信息,比如断路器C相位置、隔离刀闸I等;右下部分为二进制串原始数据,供对照原始报文使用。实施例四
图4是本发明提供的一种MMS信令的深度解析和内容展示的系统结构图。如图4所示,本发明实施例4提供了一种MMS信令的深度解析和内容展示的系统结构,包括asnlc编译模块,用于asnlc编译器的准备和使用;
信息模型解析模块,用于解析智能电子设备的IEC61850 SCL信息模型,建立与模型匹配的内存数据库;
深度解析服务模块,用于启动IEC61850 MMS信令的深度解析服务,包括OSI七层协议的报文解码、生成对MMS REPORT报文信息的DA描述以及相应告警和事件;
可操作展示模块,用于对七层报文解析后的内容进行高可视化的可操作展示,包括应用管理界面程序MMSGUI,用于为用户提供操作界面,查看MMS报文解析的详细信息、各报文字段对应的二进制信息和MMS的告警及事件,包括TCP连接、COTP连接、TCP销毁、CTOP销毁、MMS断链、MMS解码失败、写操作和打开历史MMS报文文件进行静态深度解析。本方法基于asnlc编译器进行开发,充分利用asnlc自身提供的工具及库支持,并在此基础上进行调整。本发明实现了对MMS报文深度解析,把IEC61850的S⑶/SCL模型信息与报文解析结合起来,并提供了报文信息与二进制信息的可操作的对应关系。报文深度解析是本方法的核心,利用asnlc生成的C代码进行TLV的解析。基于上述方法的应用管理界面程序MMS⑶I为用户提供了操作界面。可以通过其查看丽S报文解析的详细信息、各报文字段对应的二进制信息和丽S的告警及事件,主要包括TCP连接、COTP连接、TCP销毁、CTOP销毁、丽S断链、丽S解码失败、写操作等,同时MMSGUI也可以打开历史MMS报文文件来进行静态深度解析。针对本方法的核心组成部分的MMS深度解析服务说明如下
I)、TCP、COTP报文重组模块服务中设置2个状态,分别记录TCP、COTP重组的情况,内容包括已经重组的数据起始地址及数据长度,以(源IP地址、源端口、目的IP地址、目的端口)四元组区分不同的链接,根据报文内容标志(TPKT报文的标志0300、以及COTP中的isLastUnit标志)和报文的长度字段决定是否需要重组,是否应该继续进行下一层解码等操作。2),MMS解码库模块由asnlc生成的C代码及在此代码基础上对PRES、ACSE、MMS层解码封装的代码组成,本模块以动态库的形式存在,供解析服务调用。本方法已对MMS解码库做了大量的测试工作。测试结果表明,它能够很好地完成所有解码工作。3)、报文记录模块服务抓取的丽S报文以PCAP文件的形式无损记录到硬盘上,以(源IP:目的IP)为目录名建立分层次存储目录,(源IP:目的IP)下建立时间子目录,时间目录下包含该时间段的原始数据。对存储文件以(源IP:目的IP)做键,存储块偏移作为值,使用LevelDB建立文件索引,保证从海量数据中准确、快速的定位到告警事件报文。实施本发明,具有如下有益效果
本方法实现了对MMS报 文深度解析,提供了可阅读的报文详细信息与二进制原始报文信息间的高可视化的可操作的对应关系。相较于目前市面上售价昂贵的MMS商用软件包,本方法为用户提供了一种高性价比的解决方案。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种MMS信令的深度解析和内容展示的方法,其特征在于,包括 asnlc编译器的准备和使用; 解析智能电子设备的IEC61850 SCL信息模型,建立与模型匹配的内存数据库; 启动IEC61850 MMS信令的深度解析服务,包括OSI七层协议的报文解码、生成对MMSREPORT报文信息的DA描述以及相应告警和事件; 对七层报文解析后的内容进行高可视化的可操作展示。
2.根据权利要求1所述的方法,其特征在于,所述asnlc编译器的准备和使用进一步包括 根据PRES、ACSE、MMS层对应的协议规范手动生成抽象语法文件mms. asnl ; 使用asnlc把所述生成的抽象语法文件自动生成为相应的C语言代码。
3.根据权利要求2所述的方法,其特征在于,所述解析智能电子设备的IEC61850SCL信息模型,建立与模型匹配的内存数据库进一步包括 解析基于IEC61850 SCL所定义的数据模型文件; 将所解析的数据模型转换成系统内存数据库,内存数据库包括两张表,一张表存放IED名称、访问点、rptld、数据集、数据集描述、逻辑设备、逻辑节点信息,建立rptld与DA描述的对应关系;另一张表存放数据集、DA_ID、DA描述、顺序号信息; 通过遍历内存数据库中的rptld得到数据集名称,然后根据数据集名称按顺序号取得所有的DA描述,按顺序填入到生成的XML串中。
4.根据权利要求3所述的方法,其特征在于,所述OSI七层协议的报文解码进一步包括 Ethernet层解码,包括对VLAN各字段的解码; TCP/IP层解码,其中涉及TCP报文的重组; TPKT层解码; CONNECTION-MODE TRANSPORT层解码,其中涉及COTP报文的重组; CONNECTION-ORIENTED SESSION 层解码; CONNECTION-ORIENTED PRESENTATION层解码,使用asnlc自动生成的C语言代码进行TLV解码; ACSE层解码,使用asnlc自动生成的C语言代码进行TLV解码; 丽S层解码,使用asnlc自动生成的C语言代码进行TLV解码。
5.根据权利要求4所述的方法,其特征在于,所述生成对MMSREPORT报文信息的DA描述进一步包括解析多个MMS报文,并结合所述内存数据库里的模型信息生成对MMS REPORT报文信息的DA描述。
6.根据权利要求5所述的方法,其特征在于,所述对七层报文解析后的内容进行高可视化的可操作展示进一步包括所述对MMS REPORT报文信息的DA描述最终生成一个XML串及相关的二进制信息流串,在XML串中包含了协议栈各字段的详细信息并且在每个字段中给出此字段对应的二进制串的开始位置和长度,基于所述XML串进行高可视化的可操作展
7.根据权利要求6所示的方法,其特征在于,所述高可视化的可操作展示进一步包括通过应用管理界面程序MMSGUI为用户提供操作界面,查看MMS报文解析的详细信息、各报文字段对应的二进制信息和丽S的告警及事件,包括TCP连接、COTP连接、TCP销毁、CTOP销毁、丽S断链、丽S解码失败、写操作。
8.根据权利要求7所示的方法,其特征在于,通过所述应用管理界面程序MMSGUI打开历史MMS报文文件进行静态深度解析。
9.一种MMS信令的深度解析和内容展示的系统,其特征在于,包括 asnlc编译模块,用于asnlc编译器的准备和使用; 信息模型解析模块,用于解析智能电子设备的IEC61850 SCL信息模型,建立与模型匹配的内存数据库; 深度解析服务模块,用于启动IEC61850 MMS信令的深度解析服务,包括OSI七层协议的报文解码、生成对MMS REPORT报文信息的DA描述以及相应告警和事件; 可操作展示模块,用于对七层报文解析后的内容进行高可视化的可操作展示。
10.根据权利要求9所述的系统,其特征在于,所述可操作模块进一步包括应用管理界面程序MMSGUI,用于为用户提供操作界面,查看MMS报文解析的详细信息、各报文字段对应的二进制信息和MMS的告警及事件,包括TCP连接、COTP连接、TCP销毁、CTOP销毁、MMS断链、MMS解码失败、写操作和打开历史MMS报文文件进行静态深度解析。
全文摘要
一种MMS信令的深度解析和内容展示的方法,包括asn1c编译器的准备和使用;解析智能电子设备的IEC61850SCL信息模型,建立与模型匹配的内存数据库;启动IEC61850MMS信令的深度解析服务,包括OSI七层协议的报文解码、生成对MMSREPORT报文信息的DA描述以及相应告警和事件;对七层报文解析后的内容进行高可视化的可操作展示。本发明还提供一种MMS信令的深度解析和内容展示的系统。本方法实现了对MMS报文深度解析,提供了可阅读的报文详细信息与二进制原始报文信息间的高可视化的可操作的对应关系。相较于目前市面上售价昂贵的MMS商用软件包,本方法为用户提供了一种高性价比的解决方案。
文档编号H04L12/58GK103067253SQ201210483909
公开日2013年4月24日 申请日期2012年11月26日 优先权日2012年11月26日
发明者冯管印, 黄颖祺, 张宏斌, 卢赓, 林永铎, 贺计文, 李惠民, 王乐挺 申请人:深圳供电局有限公司, 济南网聪软件科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1