BACnet初学者教程,第二章:BACnet/IP的一些基本设计标准

第二章:BACnet/IP的一些基本设计标准

平时调试BACnet协议,一个好用的 BACnet 调试工具和模拟器必不可少,推荐一款:

官网地址:BACnet Explorer

最基本的考虑是,BACnet/IP 设备在网络活动方面应该在概念上与所有其他 BACnet 设备一样表现:

  • 它们应该能够直接与网络上的对等设备进行通信;
  • 它们应该能够利用网络上所有对等设备接收的本地广播;
  • 它们应该能够向位于具有不同网络号的网络上的设备发送远程广播;
  • 并且全局广播应该仍像现在一样工作。

同样,B/IP 网络上的路由器应响应相同的网络层消息并执行与当前路由器相同的功能。希望您在看完这些后,这些假设的含义会变得清晰。

以下是我们所使用的 BACnet 设备的两个基本假设:

  • 设备具有唯一地址,在本例中为 IP 地址,并且它们知道该地址是什么。
  • 设备不知道,或者至少不需要知道其 BACnet 网络号(除非设备是 BACnet 路由器)。

BACnet/IP 使用用户数据报协议 (UDP),这是一种无连接协议。选择 UDP 的原因如下:

  • UDP 得到了很好的支持,并且为所有操作系统提供了简洁的 API。

    在新的平台上利用现有代码库的能力非常重要,因此套接字库通常是最先移植的软件组件之一,其余所有 IP 服务都会随之移植。

  • TCP 是一种面向连接的协议,其开销比 UDP 大得多,并且不允许"一对多"消息。

    其他面向流的协议(如 ATM)也存在同样的问题。IP over ATM 试图通过为数据包建立到"新"目的地的连接(称为"调用")并保持连接打开一段时间(在某种意义上是缓存连接)来解决部分问题。这对于基于 UDP 的 SNMP 等无连接协议来说是个坏消息,因为每个数据包都有调用设置和关闭开销。

  • 定义一种新的 IP 数据包类型(具有新的协议值)不会带来任何实质性的优势,而且相对于使用 UDP 来说还会带来一些潜在的缺点。

    虽然扩展操作系统的内核是可能的,但大多数应用程序开发人员都希望尽可能避免嵌入软件,因为嵌入软件会引发操作系统和平台相关的所有问题。这还会降低编写可移植代码的能力。例如,伯克利套接字库在所有常见 IP 平台上都以某种形式得到支持,而新的 IP 协议类型则不会得到支持。

  • 新的 IP 协议类型可能无法路由。

    虽然按某些标准来看,BACnet/IP 设备和支持的市场可能非常庞大,但它的规模和规模可能永远无法达到其他互联网软件应用程序的规模。现有的路由器制造商可能很乐意提供自定义数据包类型的路由,但需要付费。

  • 当前的防火墙不会放行新的数据包类型。

    即使先前假设防火墙不需要允许 BACnet/IP 数据包通过,与现有技术的配合也是一个考虑因素。

在本次演示中,我们将展示 UDP 提供了构建几乎任何架构的 BACnet/IP 互联网络所需的所有功能。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.redisant.cn

相关推荐
北京天拓四方4 小时前
边缘计算网关:连接中心计算与边缘设备的重要桥梁-天拓四方
物联网·其他·边缘计算·iot
AI服务老曹5 小时前
结合人工智能,大数据,物联网等主流技术实现业务流程的闭环整合的名厨亮灶开源了
大数据·人工智能·物联网
千千道15 小时前
STM32的寄存器深度解析
stm32·单片机·物联网
Roun316 小时前
科技前沿:Web3与物联网的智能连接
科技·物联网·web3·去中心化
蓝染-惣右介17 小时前
【若依RuoYi-Vue | 项目实战】帝可得后台管理系统(一)
java·后端·物联网·vue·springboot
隔窗听雨眠21 小时前
物联网智能项目
物联网
GIS数据转换器1 天前
时空大数据平台:激活新质生产力的智慧引擎
大数据·人工智能·物联网·3d·gis
神一样的老师1 天前
面向物联网基础的智能农业环境的节能边缘-雾-云计算架构
物联网·架构·云计算
牧码岛1 天前
物联网之Arduino编程语言、条件语句、循环语句、变量、数组、函数
c++·嵌入式硬件·物联网
白总Server1 天前
pptp解说
前端·javascript·vue.js·物联网·网络协议·数据库架构·idc