首页 理论教育BACnet标准与IPv6的应用

BACnet标准与IPv6的应用

【摘要】:主要应用于IP网络的IPv6新体系必然会自然地取代BACnet应用系统中原有的IPv4体系。只要BACnet定义的互操作语义不变,无论采取何种通信标准,均能够实现BACnet的功能。其中ISO 8802.2 Type 1是不确认的UDP无连接服务,BACnet可以构建于IPv6网络之上,其网络层可以通过接口与下层的IPv6网络进行通信。当BACnet标准的下层传输协议向IPv6进行扩展时,仍然可以利用BACnet/IP体系结构,而且UDP层和BVLL层也是需要的。

BAS的管理层网络使用基于TCP/IP的以太网,控制层可以使用以太网或工业以太网作为控制网络;BACnet标准与IP网络技术有着深度的融合,随着发展,IPv6网络体系已经走进社会生活、走进许多应用领域,走进工控和楼宇自控领域并和BACnet标准更紧密地结合在一起。

1.BACnet标准与IP网络

BACnet标准委员会(SSPC 135)的IP工作组开发的扩展性强但又不失灵活性的BACnet互联协议,是一个基于IP的BACnet协议,简称为“BACnet/IP”标准。BACnet/IP标准将BACnet无缝地扩展到IP网络上,利用IP技术建立BACnet,由于BACnet除了可以使用标准中明确支持的5种局域网传输数据报文外,从扩展的意义来讲,当然可以其他的局域网技术传输数据报文。这样一来,IP网络也可以看作BACnet的局域网,并且建立在IP网络上的BACnet仍是一个BACnet,是BACnet互连网络中的一个子网。BACnet/IP直接支持基于IP的BACnet设备,用IP帧接收和发送BACnet报文,可以在IP网络上进行有效的BACnet广播,并允许在IP网络的任何位置动态地增加和减少BACnet设备。

BVLL微协议层位于BACnet的网络层与UDP之间,其作用是进行BACnet广播管理,并提供向其他通信协议扩展的扩展机制。为了充分利用IP协议栈,扩展方式利用了IP用户数据报文(UDP)进行BACnet信息的传输。

BACnet标准发布至今已经将近20年了,通信与网络技术、控制技术都在飞速地发展,尤其是以太网技术或IP网络技术凭借着诸多方面的巨大优势影响着各种各样已有的或发展迅速的有线或无线网络技术,BACnet标准及技术是关于楼宇自控网络的标准与技术,因此以太网或IP网络技术的融入是一个很自然的进程。主要应用于IP网络的IPv6新体系必然会自然地取代BACnet应用系统中原有的IPv4体系。

2.IPv6体系在BACnet标准中的应用

BACnet标准在应用层能够灵活地扩展设备互操作功能,对负责通信的下层协议也有很强的扩展功能。互操作是BACnet标准的基本目标,通信只是传输互操作语义的工具,即网络层、数据链路层、物理层都是实现互操作目标的工具。只要BACnet定义的互操作语义不变,无论采取何种通信标准,均能够实现BACnet的功能。BACnet的网络层与链路层之间只定义了一个标准接口(ISO 8802.2 Type 1),但是又没有定义具体的实现方式,这样就给出了实现方式的很大灵活性,也就是说,BA Cnet实际上支持的网络可以使用许多现有的通信网络。ISO 8802.2是逻辑链路控制层的标准,它是在不同的媒体访问控制子层之上定义的一个公共接口。该层相对独立,其作用是屏蔽不同的媒体访问控制子层的差异,为网络层提供统一的界面。其中ISO 8802.2 Type 1是不确认的UDP无连接服务,BACnet可以构建于IPv6网络之上,其网络层可以通过接口与下层的IPv6网络进行通信。

在BACnet/IP体系结构中的设备应该和BACnet上的设备具有相同的通信方式和通信规程,即除了对等的设备能通信外,还应该能进行BACnet标准的广播,因为广播功能对楼宇设备很重要。但大多数IP网络为了防止网络拥塞,通常禁止广播,这就要在BACnet的网络层和下层通信协议之间定义一个新的协议层起到适配器的作用。这个新的协议层利用下层协议提供的功能,向BACnet的网络层提供服务,这就是BVLL层。BVLL层在BACnet的网络层和下层通信协议之间起到一个接口的作用。

在BACnet/IP体系结构中,加入UDP层可以避免重新定义新类型的IP数据报,以便更好地利用已有的IPv4网络来建立BACnet。因为在IPv4数据报文的报头中,第8个字段“传输协议”用来表示此数据报文里封装的上层数据使用的是何种协议,例如上层如果是UDP的数据,则该字段就填入“17”,如果是TCP就填入“6”。IP网络不能识别协议里没有定义的“传输协议”值,对于不能识别的协议值或用户自己重新定义的IP数据报,IP路由器通常会将其丢掉。同样的道理,在IPv6的基本报头里也有这么一个字段,该字段叫“下一个报头”,该字段用来标示扩展报头或上层传输层所使用的协议。若在该字段填入“17”,同样表示IPv6数据报所封装的上层数据是UDP的数据。所以BACnet/IP在向IPv6扩展时,同样需要加入UDP层,这样上层的数据才可以利用IPv6网络来传输。

当BACnet标准的下层传输协议向IPv6进行扩展时,仍然可以利用BACnet/IP体系结构,而且UDP层和BVLL层也是需要的。即用BVLL的数据报来封装BACnet的网络层的数据报,用UDP的数据报来封装BVLL数据报,而用IPv6的数据报来封装UDP数据报,以便在IPv6网络上传输。