BACnet协议详解——初识BACnet架构

BACnet协议架构

国际标准化组织在制定计算机网络通讯协议标准时定义了一个模型,称为开放系统互联参考模型(OSI(ISO 7498)。模型的目的是解决计算机与计算机之间普遍的通信问题。下图给出了这七层的体系架构图。
开放系统互连基本参考模型
对于这种发生在两个应用程序之间的通信,看起来两个程序似乎是通过各自的应用接口直接相连。而真正的通信只发生在物理层。
实现OSI模型协议所需的费用较高,在绝大部分楼宇自动控制系统中,并不需要实现OSI模型的所有内容。如果只选择OSI模型中需要的层次,形成一个简化的模型,作为楼宇自动控制系统的协议体系结构,就可以减少报文的长度,降低通信处理的开销,并且也满足楼宇自动控制系统的需要。

BACnet简化的架构

BACnet建立在包含四个层次的简化分层体系结构上,这四层相当于OSI模型中的物理层、数据链路层、网络层和应用层,如下图所示。BACnet标准定义了自己的应用层和简单的网络层,对于其数据链路层和物理层,提供了以下九种选择方案(Ethernet (ISO 8802-3)、ARCNET (ATA 878.1)、MS/TP、PTP、LonTalk、BACnet/IP、BACnet/IPv6、ZigBee、BACnet/SC)
在这里插入图片描述

简化的四层BACnet体系结构选取
  • 物理层提供了连接设备和传输数据载波信号的方式,显然在BACnet协议中,物理层是必不可少的
  • 数据链路层负责将数据组织成帧(frame)或分组(packet)、管理通讯介质的访问、寻址,以及完成一些差错校正和流量控制的任务,这些都是BACnet协议所需要的,因此数据链路层也是必不可少的
  • 在一个BACnet的互联网中,当两个或者多个网络使用了不同的MAC层时,便需要区别局部地址和全局地址,这样才能将报文路由到正确的网络上去。在BACnet协议中,通过定义了一个包含必要的寻径和控制信息的网络层头部,来完成这种简化了的网络层功能
  • 由于绝大部分事务处理都是简短的,会话层的服务极少用到,再考虑到设置单独的会话层所带来的开销,所以BACnet标准中不包括单独的会话层
  • 由于在BACnet应用层中定义了一个固定的编码方案,因此一个独立的表示层也变得不再需要
  • 协议的应用层为应用程序提供了完成各自功能所需的通信服务

BACnet 网络的拓扑结构

  • 就 LAN (local area network)拓扑而言,每个 BACnet 设备都连接到电气介质或物理网段。
  • 一个 BACnet 网段由一个或多个通过中继器在物理层连接的物理网段组成。
  • BACnet 网络由一个或多个通过网桥互连的网段组成,网桥是在物理层和数据链路层连接网段的设备,可以根据 MAC 地址执行消息过滤。
  • 同一个BACnet网络里采用的是一种LAN技术。
  • 多个 BACnet 网络,可能采用不同的 LAN 技术,可以通过 BACnet 路由器互连以形成 BACnet 互联网络。

在这里插入图片描述

安全

BACnet 系统的主要安全威胁是那些有意或无意地修改设备配置或控制参数的人。 由于计算机故障或配置错误而引起的问题不在安全考虑范围之内。 安全措施的一个重要位置是人机界面。 由于人机界面不是通信协议的一部分,供应商可以根据需要自由地为该界面添加密码保护、审计跟踪或其他控制。 此外,对本标准未明确要求“可写”的任何属性的写访问可能仅限于仅在虚拟终端模式下进行的修改或完全禁止。 这允许供应商使用他们认为适当的复杂安全机制来保护关键属性。建议 BACnet 设备支持更新设备的固件和软件。 固件和软件升级程序是本地事务。

最后声明

此blog只是自己的一个学习总结,同时也是创造一个和大家一起学习沟通的平台。

猜你喜欢

转载自blog.csdn.net/u012850592/article/details/128495235