APP下载

BACnet报文分析

2016-03-12广东工业大学钟其源

电子世界 2016年23期
关键词:网络层原语通信协议

广东工业大学 钟其源

BACnet报文分析

广东工业大学 钟其源

所谓通信协议,是指计算机网络中各自主节点在进行数据(包括控制信息)交换时必须遵守事先约定的规程或规则。BACnet标准作为智能楼宇自控网络的通信协议,网络里各个子系统的互操作要求它们必须认识这个交流的“语言”。而很多非标准的子系统和控制器,无法接入BACnet系统上,这就需要我们找到一个“翻译“,也就是网关,协议的转换器,这时候我们就会觉得对BACnet报文分析显得尤为重要。

BACnet协议;报文分析;编码

1 序言

BACnet的报文其实就是一串数字,我们可以借助VTS软件对主流的应用服务进行分析。而要全面搞懂报文,必须深入了解BAC-net协议本身结构,因为是BACnet网络与外界Internet连接,它重新定义一个微协议层,称为虚拟链路数据层,“BVLL“,位于网络层和ip协议层之间,作用是进行BACnet广播管理,并提供向其他通信协议扩展的扩展机制,这种扩展方式利用ip用户数据包(UDP)进行BACnet信息传输,UDP是无连接服务,优点是灵活方便和比较速度,但是不能保证不丢包,VTS测试软件也是基于UDP进行数据的传输,在报文上把UDP的端口号”BAC0“放在目标地址的ip地址后。至于其他层协议的数据结构编码我将结合VTS软件和实际的例子给大家分析讲解。

2 服务原语分析

图1

现在我对本地的BACnet设备发送一个广播who-is,前面四个字节表示一个广播地址,“C0 A8 FF BA“为”192.168.1.255“,”BA C0“为UDP的端口号。接下来的四个字节为虚拟链路层的报文结构,”81 0A 00 0C“,”81”表示低层通信协议仅限为ip协议,是一种特定类型,”0A“是BVLL协议报文根据功能区分的第十种报文类型,表示用于对等设备节点间信息的单播。目前定义了12种类型,”0A“是比较主流的类型,”00 0C“表示协议报文的总长度,由以上报文数据可知道,从”81“开始到”08“的确只有12个字节长度。

接着是网络层。路由就在网络层负责转发,它如果是本地内局域网数据转播时,NPDU中的所有与地址有关的域均可以缺省,网络层可以根据数据链路层中的DA(本地MAC目的地址)和SA(本地MAC源地址)确定发送方和接收方的地址。所以在该who-is服务请求是本地广播,查询到达某一BACnet网络的路由器,类型编号为”00”,在上述报文中是“01 20 FF 00 FF”,“01”说明BAC-net协议的版本号,规定此字节为1.“X20”是控制域,即“0010 0000”表示BACnet报文类型,存在目标地址和网络号的一个正常报文,其中“FF”表示最终目的网络号,为“FFFF”时表示全局广播,“00”表示目的地址的长度为0,还有一个“FF”是Hop Count(转发计数)表示用于记录报文经过BACnet路由器的次数,因为它是一个本地广播的报文,如果DNET存在,则此域必须存在,且初始化为X”FF”。

接着到应用层的报文数据结构,这一层相对复杂,服务原语分证实服务和非证实服务,同样由数据报文的格式决定。上述报文中“10 08”为应用层的报文,其中“10”即“0001 0000”表示的是第一种类型非证实服务的请求原语,它只是单向的寻找设备,不是证实服务,没有SEG(报文分段),没有more-follows(报文分段接受窗口)。“08”是BACnet非证实服务里面包括的CHOICE第8钟类型选择。图2所示表示这类服务的框架。

图2 服务框架图

3 总结

BACnet协议里面定义35个服务原语类型,每一种类型的选择都有明确的编码规则,从上述简单的一个非证实服务,可知道里面的选择性很多,比如BVLL协议的功能、不是本地广播都会相应的改变数据报文,不过它们的对应关系还是相当明确,只要熟知了报文,对开发BACnet协议转其他协议的网关具有很好的指导作用。证实服务涉及到用户数据编码,里面有很多应用标记,上下文标记,虽然麻烦,但是规则还是差不多,根据它们的编码结构图慢慢解析就可以。

[1]梁华,刘贤德,惠晓实.基于面向对象技术的楼宇自控网络协议的实现[J].智能建筑与城市信息,2013,10(12):35-37.

[2]董春桥.BACnet标准在我国推广和应用的思考[J].智能建筑与城市信息,2013,10(12):33-35.

[3]石岩,刘贤德,惠晓实.BACnet 的服务[J].工程设计CAD与智能建筑,2000,7(2):12-16.

钟其源,广东工业大学硕士研究生,研究方向:智能楼宇。

猜你喜欢

网络层原语通信协议
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
论物联网安全威胁及其应对策略
浅谈旅游翻译中文化差异的处理
物联网技术在信息机房制冷系统中的应用
基于ZigBee协议栈的PHY服务研究
基于风险分析的安全通信协议简化研究
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介
基于原语自动生成的安全协议组合设计策略及应用研究
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair