一种IEC61850报告数据传输报文的自校验方法与流程

文档序号:12278042阅读:541来源:国知局

本发明涉及通信技术领域,特别是一种数据传输过程中的报文校验方法。



背景技术:

IEC61850标准是基于通用网络通信平台的变电站自动化系统唯一国际标准,是由国际电工委员会第57技术委员会(IEC TC57)的3个工作组10,11,12(WG10/11/12)负责制定的。IEC61850标准的应用,使得智能变电站的工程实施变得规范、统一和透明,不论是哪个系统集成商建立的智能变电站工程,都可以通过SCD(系统配置)文件了解整个变电站的结构和布局,对于智能化变电站发展具有不可替代的作用。

IEC61850作为下一代变电站的无缝通信协议标准,充分借鉴了变电站通信、计算机、工业控制等领域的长期经验,采用面向对象思想对变电站涉及的设备与通信服务进行了功能建模、数据建模,并规范了一套抽象的通信接口,使协议拥有足够的开放性以适应未来的变电站通信发展的要求。IEC61850的关键在于实现协议中规范的ACSI(Abstract Communication Service Interface)到MMS(Manufacturing Message Specification)或其它中间件的映射。

ACSI的产生来源于人们对现实设备的实践经验抽象,主要定义了各类通信服务与通信对象及参数,与下层通信系统独立,与采用的通信协议和具体的实现方法无关。ACSI主要设定了各类服务模型:连接服务模型、变量访问服务模型、数据传输服务模型、设备控制服务模型、文件传输服务模型、时钟同步服务模型等,这些服务模型定义了通信对象以及如何对这些对象进行访问,实现了客户应用端和服务器应用端的通信,完成实时数据的访问和检索、对设备的控制、时间报告和记录、设备的自我描述等等。

IEC61850报告服务是一项非常重要的ACSI服务,可以将装置的遥测和遥信数据通过数据集的方式,打包发给客户端请求方;客户端通过向装置的IEC61850服务端发送报表控制块(RCB)来请求返回报告。

ACSI报告通过SCSM(系统通讯服务映射)映射到MMS中的InformationReport。MMS是ISO/IEC9506标准所定义的用于工业控制系统的通讯报文规范,传输数据采用ASN.1编码。MMS传输的数据单元为PDU(protocol data unit),报告服务打包为UnconfirmedPDU中的UnconfirmedService,UnconfirmedPDU数据将按ASN.1中BER编码方式,在TCP/IP上进行传输。

在实践中,经常会出现数据值在网络传输或者经MTU(综合处理单元,用于集中多个装置的数据统一报送主站)等节点转发后数据值变化的错误,而目前IEC61850的数据传输过程中,无法检查报告报文在传输过程中是否出现错误,因此也就无法保证数据接收端接收报文的正确性。



技术实现要素:

本发明需要解决的技术问题是提供一种IEC61850报告数据传输报文的自校验方法,为数据接收方提供数据校验的手段,提高数据报文传输的正确鉴别率。

为解决上述技术问题,本发明所采取的技术方案如下。

一种IEC61850报告数据传输报文的自校验方法,具体包括以下步骤:

A.MMS服务器端对MMS的UnconfirmedPDU结构进行扩展,增加对InformationReport报文结构的MD5校验码,进一步生成带校验码的报告报文;

B.在TCP/IP上进行传输带校验码的报告报文;

C.MMS客户端收到带校验码的报告报文后,解析Unconfirmed-PDU,获得128位MD5码和带校验码的InformationReport报文TLV;

D.比较步骤C得出的MD5码和VALUE值,如相等,则数据传输正确,InformationReport数据可信;如不等,则数据传输有异常,InformationReport数据不可信。

上述一种IEC61850报告数据传输报文的自校验方法,步骤A具体包括以下步骤:

A1.生成正常的InformationReport结构数据及Unconfirmed-PDU;

A2.对InformationReport结构数据进行MD5计算,产生128位MD5码;

A3.根据MD5码,生成InformationReport-MD5字节串的TLV;

A4.修正PDU的TLV中长度值;

A5.完成带MD5校验码的Unconfirmed-PDU组装,生成带校验码的报告报文。

上述一种IEC61850报告数据传输报文的自校验方法,步骤C具体包括以下步骤:

C1.解析Unconfirmed-PDU,获得InformationReport结构报文;

C2.计算InformationReport结构报文的MD5,得到128位MD5码;

C3.解析Unconfirmed-PDU,取出informationreport-md5报文TLV,获得VALUE值。

由于采用了以上技术方案,本发明所取得技术进步如下。

本发明利用TLV的传输过程中扩展灵活特性,对IEC61850中Unconfirmed-PDU定义进行扩展,增加对InformationReport报文数据的MD5校验码,使得数据接收方收到报文数据的时候,可以对报文进行校验,如果校验成功,则收到的数据是可信的;如果校验失败,则收到的数据不可信,说明数据在传输过程中有可能发生了错误;可大大提高数据报文传输的正确鉴别率。本发明不仅为数据接收方提供了一种数据校验的手段,而且还不会影响现有的IEC61850设备与实现了InformationReport报文数据的MD5校验码设备之间的IEC61850通迅,兼容性良好。

具体实施方式

一种IEC61850报告数据传输报文的自校验方法,该方法是在MMS的UnconfirmedPDU结构的基础上进行扩展,对InformationReport报文结构增加MD5校验码为informationReportMd5,类型是OCTET STRING(字节串);然后在客户端进行解析后,比较校验码和VALUE值,从而来判断数据传输的正确性。

下面将结合具体实施例对本发明进行进一步详细说明本方法的具体步骤。

A.MMS服务器端对MMS的UnconfirmedPDU结构进行扩展,增加对InformationReport报文结构的MD5校验码,进一步生成带校验码的报告报文。具体步骤如下。

A1.生成正常的InformationReport结构数据及Unconfirmed-PDU。

InformationReport::=SEQUENCE{

variableAccessSpecification VariableAccessSpecification,

listOfAccessResult[0]IMPLICIT SEQUENCE OF AccessResult}

正常的InformationReport结构数据如下列表所示:

A2.对InformationReport结构数据进行MD5计算,产生128位MD5码,如上列表中的框内部分,加上其前面的Tag(a0)与Length(82 02 ab)两部分,计算其md5值为:03 53 88 c1 37 c5 9d 52 00 84 20 a3 ca c4 9f b5。

A3.根据MD5码,生成InformationReport-MD5字节串的TLV。

其中:T:0x04

L:0x10

V:03 53 88 c1 37 c5 9d 52 00 84 20 a3 ca c4 9f b5

A4.修正PDU的TLV中长度值,修正后的InformationReport-MD5的字节串长度比原长度增加了18。

原长度编码为“82 02 af”,即长度为0x2af,加了md5校验码后,应为0x2c1,修正后的长度编码是“82 02 c1”。

A5.完成带MD5校验码的Unconfirmed-PDU组装,生成带校验码的报告报文,如下列表。

B.在TCP/IP上进行传输带校验码的报告报文。

Unconfirmed-PDU数据按ASN.1中BER编码方式,在TCP/IP上进行传输。BER(Basic Encoding Rules)是ASN.1中最早定义的编码规则,核心就是TLV三元组<Type、Length、Value>,也可以认为是<Tag、Length、Value>。TLV每个域都是一系列八位组,对于组合结构,其中V还可以是TLV三元组。BER传输语法是基于八位组的自定界的编码,(为了避免不同系统上的混淆,没有采用Byte为单位),因为其中L明确界定了八位组的长度。

C.MMS客户端收到带校验码的报告报文后,解析Unconfirmed-PDU,获得128位MD5码和带校验码的InformationReport报文TLV。具体步骤如下。

C1.解析Unconfirmed-PDU,获得InformationReport结构报文。

InformationReport::=SEQUENCE{

variableAccessSpecification VariableAccessSpecification,

listOfAccessResult[0]IMPLICIT SEQUENCE OF AccessResult}

C2.计算InformationReport结构报文的MD5,得到128位MD5码,即16个八位组,记为MD5_1。

C3.解析Unconfirmed-PDU,取出InformationReport-MD5报文TLV,

其中:T:0x04

L:0x10

V:MD5码(128位,16个八位组)

获得VALUE值,记为MD5_2。

D.比较步骤C得出的MD5码和VALUE值,即比较MD5_1和MD5_2,如相等,则数据传输正确,InformationReport数据可信;如不等,则数据传输有异常,InformationReport数据不可信。

本发明在UnconfirmedPDU中进行扩展,具有以下优点:1)由于informationReport结构位于在UnconfirmedService中,而InformationReport-MD5与UnconfirmedService同一层次,因此不会对InformationReport结构的完整性产生影响;2)由于TLV结构的存在,InformationReport-MD5字串的增加,因此不会影响MMS客户端程序正确识别各结构的长度;3)由于InformationReport-MD5是可选的,因此对于已经支持本扩展的MMS客户端程序,不会影响它正确处理原有MMS服务端程序发过来的不带InformationReport-MD5的字节串的报文。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1