使用VTS分析bacnet协议的ReadProperty(二)

         在分析之前,可以先阅读BACnet协议书的 F.3.5 小节 : 这里介绍了部分编码值。

使用VTS分析bacnet协议的ReadProperty(二)_第1张图片

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

使用VTS分析bacnet协议的ReadProperty(二)_第2张图片

         第一个报文和第二个报文的信息是相同的,第三个和第四个也是相同的,他们的区别仅仅是发送的方向不同。由于在<一>中已经对第一个报文进行分析,这里就选取了第四个报文进行分析。

        在下图中,上图是第一个报文的信息,下图是第四个报文的信息。通过比较可知,两者的区别就在于BVLC Length的值和Network control Octet。由于这是一个应答报文,所以需要携带present-value的信息。

使用VTS分析bacnet协议的ReadProperty(二)_第3张图片使用VTS分析bacnet协议的ReadProperty(二)_第4张图片

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

          接下来重点分析以下应用层的信息:

使用VTS分析bacnet协议的ReadProperty(二)_第5张图片

          先看看第一部分的信息:

使用VTS分析bacnet协议的ReadProperty(二)_第6张图片

         在这里,定义了头部,它的值为X ' 30 '即B ‘ 0011 0000 ’,其中 BACnet-ComplexACK-PDU 在 BACnetPDU 中的枚举值为3 (BACnet协议英文版P410),后面的 ' 0000 ' 则是对这个应答报文是否分段,是否有后续报文以及使用状态进行定义。Invoke ID是调用ID,Read Property ACK 为12,在BACnet协议英文版P414 中,Object Access Services 中有定义。

       接下来是第二部分:

使用VTS分析bacnet协议的ReadProperty(二)_第7张图片

          在这里可以看出这是一个上下文特定标记及长度的值,指明了标记号,BACnet对象标识符的信息。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

使用VTS分析bacnet协议的ReadProperty(二)_第8张图片

          在Property Identifier 这个信息中。包括了标记编码的信息,指明了标记号B ‘ 0001 ’,Class的值为1表明这是一个上下文特定标记 ,并且还指明了长度为1。同时在Property Identifier还指出了Value的值为85。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

使用VTS分析bacnet协议的ReadProperty(二)_第9张图片

          在Property Value中,首先声明了这是一个paired tag , 说明了需要opening tag和closing tag成对出现,协议中定义了opening tag的标记值为B ‘ 110 ’,closing tag的标记为B ' 111 '。Real 是一个值域,需要application tag和value。







你可能感兴趣的:(bacnet)