goose报文分析Word文档下载推荐.doc
《goose报文分析Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《goose报文分析Word文档下载推荐.doc(6页珍藏版)》请在冰豆网上搜索。
源MAC地址
3、81008042
GOOSE报文支持IEEE802.1Q/P优先级技术,IEEE802.1Q为VLAN技术的标准,IEEE802.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一般配置为0,3位Priority可以分为8个优先级:
其中只配置了0-4级,5、6、7及保留未来使用。
4、88B8
以太网类型值
0x88B8为goose,0x88B9为GSE,0x88BA为采样值。
如图3所示
图3以太网类型值分配
5、0033
APPID
两字节的最高两位对照图3解释。
所以此处APPID=51(D)
6、0090
长度=144(D)
长度字节数包含从APPID开始以太网PDU头和APDU(应用协议数据单元)的长度。
长度是8+m,m是APDU的长度,m<
1492。
为什么是8+m?
这个8个字节分别是APPID2个字节,长度2个字节,以及后面的保留1、保留2各两个字节。
对应到本帧报文的8个字节为:
0033009000000000。
7、00000000
保留1、保留2。
为将来的应用扩展使用,缺省值为0。
8、618185
GoosePDU开始(APDU应用协议数据单元)
搞清楚这个,得看ASN.1编码,此处稍作解释。
ASN.1的传输基于八位位组的字节序列来进行的,它的编码规则遵循标记TAG(也有称TYPE)、长度LENGTH、值VALUE的格式,简称TLV,如图4所示。
图4ASN.1编码格式
对图4解释:
TAG:
一般占1或者2个字节。
TAG的组成如图5所示,
图5TAG编码格式
Bit7Bit6不解释,如上图。
Bit5:
=0表示VALUE为简单结构,即只包含数值内容。
=1表示VALUE为复合结构,即VALUE还包含了TLV结构,直至TLV结构中Bit5为0.
Bit4~0:
由于最高的3位(7、6、5)作为它用,因此TAG(bit4~0)只能表示到11111(b)=31(D)。
若想表示>
31是,此时TAG就要占2个字节(第1个字节后面的被称为扩展字节)。
此时TAG编码格式如图6所示。
图6大于31时TAG编码
对图6解释:
此时字节1中Bit7~5不变,Bit4~0全为1,字节2表示真正的TAG值,可表示0~255。
LENGTH:
紧跟TAG后面的length,它描述后续的VALUE值是由多少个字节数所构成。
若VALUE长度≤127,则LENGTH占1个字节,字节最高位为Bit7=0;
若VALUE长度>
127,则LENGTH第1个字节最高位Bit7=1,Bit6~0表示的是LENGTH本身所占的字节数,从第2个字节开始到最后1个字节表示的是VALUE的长度。
如图7所示。
图7LENGTH编码格式
VALUE:
值。
实际所要传递的编码内容,具体编码规则,根据不同的标记类型,采用不用的编码规范。
因此,结合上述,对618185解释为:
TAG=0x61,APPLICATION应用,复合结构,tag值为1。
0x81最高位为1,表示VALUE长度>
127,LENGTH本身长度为1,即:
0x85。
后续VALUE长度为0x85=133(D)个字节。
9、之后的字节排列顺序如图8所示
图8IECGoosePDU报文格式
10、8008676F636252656631
gocbRef字符串
ASN.1编码格式TLV。
80为TAG,08为LENGTH,后面的为VALUE,676F636252656631转换成字符为gocbRef1。
11、81050000002710
timeAllowedtoLive(报文存活时间,单位ms)
81为TAG,05为LENGTH,后面的为VALUE,0000002710转成10进制为10000,即10s。
Goose接收方的中断时间一般定为大于2*timeAllowedtoLive即报Goose中断告警。
由于Goose报文的重要性,即使外部状态不再变换,也应重发。
此参数提示订阅者等待下一报文到来的最长时间。
当等待事件大于timeAllowedtoLive值仍未收到有效报文时,订阅者认为通信联系失去,采用预先定义的默认值取代。
12、820764617453657431
datSet字符串
82为TAG,07为LENGTH,后面的为VALUE,64617453657431转换成字符为datSet1。
13、8305676F494431
goID字符串
83为TAG,05为LENGTH,后面的为VALUE,676F494431转换成字符为goID1。
14、84084EF285E1F7CED900
t,stnum加1时的时间,精确到毫秒。
Goose报文产生时的时标。
通常作为驱动事件的发生时标(若有特殊要求,驱动事件的发生时标可另外包含在数据集中)。
84为TAG,08为LENGTH,后面的为VALUE。
第8个字节代表品质因数。
15、8505000000000186050000000001
stnum值85050000000001
sqnum值86050000000001
装置发送方:
后面allData数据跟上一次的allData值不一致时stnum+1,sqnum=0。
一致时stnum不变,sqnum+1。
上电第1帧时stnum=1,sqnum=1。
stnum、sqnum加到最大值时都从1开始。
装置接收方:
上电时stnum=sqnum=0。
16、870100
test位
当装置检修压板投入时,装置发送的GOOSE报文中的test应置位。
Goose接收装置应将接收的Goose报文中的test位与装置自身的检修压板状态比较,只有两者一致时才将信号作为有效进行处理或动作。
17、88050000000001
confRev()
配置版本号(配置次数)。
表示Data-Set配置改变的计数器,例如当Data-Set里某个成员被删除或成员重新排序等均会导致confRev数值改变。
18、890100
ndsCom
表示此控制块配置的必要性,当属性dataset值为NULL时,ndsCom值应为TRUE,表示此控制块需进一步配置。
19、8A050000000009
numDatSetEntries
表示allData中有多少个数据项,此处表示有9个
20、AB36
从这开始到结束为allData内容
TAG=0xAB,上下文关联,复合结构,即VALUE也是有TLV组成。
LENGTH=0x36=54(D)
21、830100840303000091080000000000000000
时间t表示最后一次状态变位发生的时间,是格林威治时间,即比当前时间晚了8个小时。
时间品质反应最后一次状态变位发生时候的时间品质,而不是当前状态的时间品质。
22、830100840303000091080000000000000000
830100840303000091080000000000000000
同21