GOOSE报文解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GOOSE报文解析

GOOSE报文的结构,基于ISO/IEC 8802-3的帧格式

普通报文:

目的MAC+ 源MAC+ (TPID+ TCI) + 以太网类型+ APPID+APDU数据的长度(m+8)

TPID为0x8100 以太网类型为0x88B8(对于GOOSE报文)

TCI为用户优先级+CFI+VID

+ 00 00 + APDU(长度为m)

00 00 为保留位

注:( ) 中的部分可以不写,但强烈建议以以太网传输的时候,加入….

APDU Head : 格式为61 81 + GOOSEPDU的长度,从80开始算起

广播报文:

目的MAC + 源MAC + 以太网类型+ APPID + APDU数据的长度(m+8)

(目的MAC为FF FF FF FF)

+ 00 00 + APDU(长度为m)

ASN.1 的BE R编码形式为:

TLV形式,即Tag + Length + Value 的形式

Tag 与数据类型标记的编码一致

Length 表示后面Value的长度

Value 应用ASCII码进行编码解析

对于Tag 的解析:

Bit 7,6 Type of Tag

Bit 5 Primitive or Constructed Flag

Bit 4-0 Tag V alue

ASN.1 数据类型

83BOOL型

84 BIT-String 型

91 UTC 型(时间)

85 Int 型

86 Unsigned 型

8a Visble-String 型

翟大厨的报文分析:

0000: 01 00 00 00 00 0708 00 06 86 48 42 81 0040 03

目的MAC 源Mac TPID TCI

0010: 88 B800 0700 9000 00 00 0061 81 8580 2550

以太网类型APPID 长度保留位APDU Head gocbRef (80 表示数据类型Tag,25表示数据长度,从50开始都是后续数据)

0020: 32 41 31 4A 31 51 36 50 72 6F 74 65 63 74 69 6F

0030: 6E 2F 4C 4C 4E 30 24 47 53 45 70 72 6F 74 65 63

0040: 74 69 6F 6E81 02 05 0082 25 50 32 41 31 4A 31

timeAllowtoLive(81表示类型) dataSet(82表示类型)

0x0500---1280

0050: 51 36 50 72 6F 74 65 63 74 69 6F 6E 2F 4C 4C 4E

0060: 30 24 47 53 45 70 72 6F 74 65 63 74 69 6F 6E 83

goID(83表示类型)

0x37 对应ASCII码中的‘7’

0070: 01 3784 08 00 00 00 00 00 00 00 0085 01 0186

t(84表示类型) stNum(85表示类型) Num 为1

表示时间:01/01/1970_00:00:00.000000q00

0080: 03 02 70 A187 01 0088 01 01 89 01 008A 01 04numDatSetEntries(8A表示类型)值4 sqNum(86表示类型) test(87表示类型) ConfRev(88表示类型) ndsCom(89表示类型)

0x0270A1---159905 00 表示FALSE 为1 00表示FALSE

0090: AB 10 83 01 00 84 03 02 00 00 83 01 00 84 03 02

allData(AB表示类型)

allData为一个数据的集合10表示后面的数据长度内部分解为不同的小的数据集

如:83 01 00 83 (数据类型为boolean型) 01(数据长度为1) 00 (表示数据内容,对于boolean型表示为FALSE)

84 03 02 00 0084(数据类型为bit-string型)03(数据长度为03) 02 00 00(表示数据内容)

00A0: 00 00

注:其中numDatSetEntries表示了allData中的数据链的个数

报文解析出来为:

GoosePdu {

gocbRef "P2A1J1Q6Protection/LLN0$GSEprotection",

timeAllowedtoLive 1280,

datSet "P2A1J1Q6Protection/LLN0$GSEprotection",

goID "7",

t 01/01/1970_00:00:00.000000q00,

stNum 1,

sqNum 159905,

test FALSE,

confRev 1,

ndsCom FALSE,

numDatSetEntries 4,

allData {

boolean FALSE,

bit-string '00000000000000'B,

boolean FALSE,

bit-string '00000000000000'B }

}

Comgoose 中报文分析:

0000 01 0c cd 01 00 0401 0c cd 01 10 1088 b800 04

相关文档
最新文档