goose报文分析_第1页
goose报文分析_第2页
goose报文分析_第3页
goose报文分析_第4页
goose报文分析_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GOOSE 报文详解Goose报文在网络上传输时采用的是 OSI 模型,但只用到 OSI 网络模型七层中的四层, 应用层、表示层、数据链路层和物理层,传输层和网络层为空。应用层定义协议数据单元 PDU ,经过表示层编码后,不采用 TCP/IP 协议,而是直接映射到数据链路层和物理层。这 种映射方式的目的是避免通信堆栈造成传输延时,从而保证报文传输、处理的快速性。GOOSE 报文在 MAC 层的帧结构包括:源 MAC 地址、目的地址即组播地址、报文类 型、四字节 Tag、APPID 、报文长度、四字节的保留和 GOOSEPDU 。Goose 具体报文格式如 图 0 所示 0 。图 0 Goose

2、 报文格式Goose 举例报文 (十六进制 ):01 0C CD 01 00 51 00 1E 4F D3 AE 41 81 00 80 42 88 B8 00 33 00 90 00 00 00 00 61 81 85 8008 67 6F 63 62 52 65 66 31 81 05 00 00 00 27 10 82 07 64 61 74 53 65 74 31 83 05 67 6F 49 4431 84 08 4E F2 85 E1 F7 CE D9 00 85 05 00 00 00 00 01 86 05 00 00 00 00 01 87 01 00 88 05 00 00

3、 00 00 01 89 01 00 8A 05 00 00 00 00 09 AB 36 83 01 00 84 03 03 00 00 91 08 00 00 00 00 0000 00 00 83 01 00 84 03 03 00 00 91 08 00 00 00 00 00 00 00 00 83 01 00 84 03 03 00 00 91 08 00 00 00 00 00 00 00 00分析如下 (可结合 Ethereal 解析 ):1、01 0C CD 01 00 51目的 MAC 地址2、00 1E 4F D3 AE 41源 MAC 地址3、81 00 80 42GO

4、OSE 报文支持 IEEE 802.1Q/P 优先级技术, IEEE 802.1Q 为 VLAN 技术的标准, IEEE 802.1P 为报文优先级标准。这 4 个字节共同组成 goose 报文的 tag 位。 Tag 是有两个字节的 TPID( 标签协议标识 ) 和 2 个字节的 TCI( 标签控制信息 ) 组成。 TPID 配置为 0x8100 表示 goose 报文加入了优先级标 识。 TPID 和 TCI 组成如图 1 所示:图 1: PID 和 TCI 组成TCI中12位VID ,1位CFI和3位Priority(优先级)。12位VID 可以配置 4096个VLAN , CFI 一般

5、配置为 0,3位Priority 可以分为 8个优先级:其中只配置了 0-4 级, 5、6、7及保 留未来使用。4、88 B8以太网类型值0x88 B8为goose,0x88 B9为GSE,0x88 BA 为采样值。如图 3所示图 3 以太网类型值分配5、00 33APPID两字节的最高两位对照图 3 解释。所以此处 APPID=51(D)6、00 90长度=144(D)长度字节数包含从 APPID 开始以太网 PDU 头和 APDU( 应用协议数据单元 )的长度。长 度是 8+m, m 是 APDU 的长度, m<1492。为什么是 8+m ?这个 8个字节分别是 APPID 2 个字

6、节,长度 2个字节,以及后面的保 留 1、保留 2 各两个字节。对应到本帧报文的 8 个字节为: 00 33 00 90 00 00 00 00 。7、00 00 00 00保留 1、保留 2。为将来的应用扩展使用,缺省值为 0。8、61 81 85GoosePDU开始 (APDU 应用协议数据单元 )搞清楚这个,得看 ASN.1 编码,此处稍作解释。 ASN.1 的传输基于八位位组的字节序 列来进行的,它的编码规则遵循标记 TAG( 也有称 TYPE) 、长度 LENGTH 、值 VALUE 的格 式,简称 TLV ,如图 4 所示。图 4 ASN.1 编码格式对图 4 解释:TAG:一般占

7、 1 或者 2 个字节。 TAG 的组成如图 5 所示,图 5 TAG 编码格式Bit7 Bit6 不解释,如上图。Bit5 :=0表示 VALUE 为简单结构,即只包含数值内容。 =1表示VALUE 为复合结构, 即 VALUE 还包含了 TLV 结构,直至 TLV 结构中 Bit5 为 0.Bit40 :由于最高的 3 位(7、6、5)作为它用,因此 TAG(bit40) 只能表示到 11111(b)=31(D) 。 若想表示 >31是,此时TAG就要占 2个字节(第1个字节后面的被称为扩展字节 )。此时 TAG 编码格式如图 6 所示。图 6 大于 31 时 TAG 编码对图 6

8、解释:此时字节 1 中 Bit75 不变, Bit40 全为 1,字节 2 表示真正的 TAG 值,可表示 0255。 LENGTH:紧跟 TAG 后面的 length,它描述后续的 VALUE 值是由多少个字节数所构成。 若 VALUE 长度 127,则LENGTH 占 1个字节,字节最高位为 Bit7=0 ;若VALUE 长度 >127,则 LENGTH 第 1 个字节最高位 Bit7=1 , Bit60 表示的是 LENGTH 本身 所占的字节数, 从第 2 个字节开 始到最后 1个字节表示的是 VALUE 的长度。如图 7 所示。图 7 LENGTH 编码格式VALUE :值。实

9、际所要传递的编码内容, 具体编码规则,根据不同的标记类型, 采用不用的编码 规范。因此,结合上述, 对 61 81 85解释为: TAG=0x61 ,APPLICATION 应用,复合结构, tag 值为 1。 0x81最高位为 1,表示 VALUE 长度 >127,LENGTH 本身长度为 1,即: 0x85。后 续 VALUE 长度为 0x85=133(D) 个字节。9、之后的字节排列顺序如图 8 所示图 8 IECGoosePDU 报文格式10、80 08 67 6F 63 62 52 65 66 31gocbRef 字符串ASN.1 编码格式 TLV。80为 TAG ,08 为

10、LENGTH ,后面的为 VALUE , 67 6F 63 62 52 65 66 31 转换成字符为 gocbRef1。11、81 05 00 00 00 27 10 timeAllowedtoLive(报文存活时间,单位 ms)ASN.1 编码格式 TLV 。81 为 TAG ,05 为 LENGTH ,后面的为 VALUE ,00 00 00 27 10 转成 10 进制为 10000,即 10s。Goose 接收方的中断时间一般定为大于 2* timeAllowedtoLive 即报 Goose 中断告警由于 Goose 报文的重要性,即使外部状态不再变换,也应重发。此参数提示订阅者等

11、 待下一报文到来的最长时间。当等待事件大于 timeAllowedtoLive 值仍未收到有效报文时, 订阅者认为通信联系失去,采用预先定义的默认值取代。12、82 07 64 61 74 53 65 74 31 datSet字符串ASN.1 编码格式 TLV 。82 为 TAG ,07 为 LENGTH ,后面的为 VALUE , 64 61 74 53 65 74 31 转换成字符为 datSet1。13、83 05 67 6F 49 44 31 goID 字符串ASN.1编码格式 TLV 。83为TAG ,05为LENGTH ,后面的为 VALUE , 67 6F 49 44 31 转换

12、成字符为 goID1 。14、84 08 4E F2 85 E1 F7 CE D9 00t,stnum 加 1 时的时间,精确到毫秒。Goose 报文产生时的时标。通常作为驱动事件的发生时标( 若有特殊要求,驱动事件的发生时标可另外包含在数据集中 )。ASN.1 编码格式 TLV 。84 为 TAG ,08 为 LENGTH ,后面的为 VALUE 。第 8 个字节代表品质因数。15、85 05 00 00 00 00 01 86 05 00 00 00 00 01stnum 值 85 05 00 00 00 00 01sqnum 值 86 05 00 00 00 00 01装置发送方:后面

13、allData 数据跟上一次的 allData 值不一致时 stnum+1, sqnum=0。一 致时 stnum 不变, sqnum+1 。上电第 1帧时 stnum=1,sqnum=1。stnum、sqnum 加到最大值 时都从 1 开始。装置接收方:上电时 stnum=sqnum=0 。16、87 01 00test 位当装置检修压板投入时,装置发送的 GOOSE 报文中的 test 应置位。 Goose 接收装置应 将接收的 Goose 报文中的 test 位与装置自身的检修压板状态比较, 只有两者一致时才将信号 作为有效进行处理或动作。17、88 05 00 00 00 00 01c

14、onfRev()配置版本号 (配置次数 )。表示 Data-Set 配置改变的计数器,例如当 Data-Set 里某个成员 被删除或成员重新排序等均会导致 confRev 数值改变。18、89 01 00ndsCom表示此控制块配置的必要性,当属性 dataset值为 NULL 时, ndsCom 值应为 TRUE,表 示此控制块需进一步配置。19、8A 05 00 00 00 00 09numDatSetEntries表示 allData 中有多少个数据项,此处表示有 9 个20、AB 36从这开始到结束为 allData 内容TAG=0xAB ,上下文关联,复合结构,即 VALUE 也是有 TLV 组成。LENGTH=0x36=54(D)21、83 01 00 84 03 03 00 00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论