计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000　Vol.17　No.5　P.41-43，80



LonWorks网络与LAN、Internet互连的解决方案
杨斌　杨国才　罗木平
摘  要  介绍了基于LonWorks现场总线技术的控制系统与LAN、Internet互连的一种解决方案，提出了LonTalk/IP路由器的技术方案。
关键词  LonWorks  局域网  Internet  路由器   协议
　　LonWorks是一种具有强劲实力的现场总线技术，LonWorks控制网络在开放性、互操作性等方面所具有的优良性能已使它广泛应用于楼宇自动化、家庭自动化、保安系统、办公设备、交通运输、工业过程控制等行业。实现LonWorks网络与LAN、Internet的集成将为企业综合自动化与信息化创造有利的条件。
　　．建立综合实时信息库，为企业优化控制、生产调度、计划决策提供依据。
　　．建立分布式数据库管理功能，保证数据一致性、完整性和可互操作性。
　　．有关人员可在任何地方通过Internet浏览了解企业的生产情况。
　　．能够实现对控制网络工作状态的远程监控，优化调度，也能实现控制网络的远程诊断与维护等。
　　．可进行控制网络的远程软件维护与下载新版本软件。
1  LonWorks网络与LAN、Internet互连的系统结构
　　我们可以把一个企业综合的控制系统分解为两个子系统：第一个是基于LonWorks技术的实时控制(Input/Output，IO)子系统，包括智能传感器，传动装置和微控制器；第二是基于局域网、Internet技术的信息传输(Information Transfer，IT)子系统。图1便是这样一个系统。

图1
　　IT子系统基于局域网技术(Ethernet，IEEE802.xx)和TCP/IP，而IO子系统使用LonTalk协议、LonWorks技术及支持LonMark互操作性标准。IT子系统和IO子系统之间的通讯有两种方法：一种方法是可以发展一种IT和IO之间的路由器。这种方法要求IT上的设备具有多协议栈；另一种方法是可以发展一种IT的协议与IO的协议之间的网关。本文主要是讨论一下前一种方法，即发展Ethernet (TCP/IP)网络和LonWorks网络之间的路由器(后文均称为LonTalk/IP路由器)。
2  设计方案
2.1  总体设计
　　以校园为例，在校园内管理所有建筑中的建筑控制系统就可以使用这种LonTalk/IP路由器。校园内有上百的建筑，这些建筑通常由使用TCP/IP和Ethernet (IEEE802.xx MAC技术)的主干局域网互联—这便是IT局域网。
　　而LonWorks网络是在每座独立的建筑中使用，用于控制器、传感器、传动装置等设备之间的通讯。这些建筑控制设备的监控常通过一些集中监视站点来进行。同样的，如电、蒸汽、热水、冷水等功用也常通过一个中心站点来提供。那么要想优化能源管理，就需要集中处理来自校园内各个建筑的各种信息，因而把LonWorks网络通过LonTalk/IP路由器与局域网相连也就成为了必需。
　　因此，对该路由器的需要细表如下：
　　(1)LonTalk/IP路由器通过局域网在某一域内的两个或两个以上的LonWorks网络间传递LonTalk协议报文。路由选择基于LonWorks的域和子网。如图2。

图2
　　支持的拓扑结构如图3。

图3
　　局域网可以连接多个LonWorks，但LonWorks不用来连接局域网。局域网可以包含若干局域网子网或广域网。每个LonWorks网络在某一域中包含一个或多个子网。
　　(2)某一域内路由器最多能支持255个子网，且它们各自独立。
　　(3)该路由器允许局域网上的工作站和LonWorks上的设备相互通讯。因而工作站可以从或到LonWorks的设备上去读/写网络变量。同样，工作站也可接收网络变量更新及其它从LonWorks设备传来的信息。
　　(4)LonTalk/IP路由器是网络层延迟，因而它能为高层服务，如LNS、LonWorks Windows API或BACnet的报文选路。
　　另外，该路由器支持网络层分段。LonTalk协议允许报文最长为228字节。该路由器可被用于为NFS，SNMP(能使用更长报文)等的报文选择路由。故该路由器在TCP/IP网络上出现更长的报文时需要分段和重组。
　　(5)寻址的基本要求：
　　．LonWorks上的设备(控制器)应有一个LonTalk地址，为：域.子网.结点
　　．局域网上的设备应有一个局域网地址和一个LonTalk地址。
　　(6)该路由器要通过标准IP路由器和局域网交换机来通信。路由器的通信要经过防火墙。
　　(7)该路由器支持以下物理层：
　　—Ethernet：10BaseT(Twisted Pair)，10Base2(Thin Ethernet)，100BaseTX(可选)。
　　—LonWorks：FTT10A，LPT10，P/XF-78，TP/XF-1250。
　　(8)配置：
　　目的是使路由器能自我配置，作为服务的一种替代DNS类型可用于标识出哪个路由器选路到哪个网络，而并不需在每个路由器上配置其它路由器和目的子网的局域网地址(IP地址)。配置数据应存储在不易变的存储器中。还应为自配置路由器提供自动删除旧配置数据(基于一定时间间隔)。
2.2  路由器配置
　　．选路：当收到一个LonTalk网络层协议数据单元(Network Layer Protocol Data Unit，NPDU)，不管是来自LonWorks网络或是局域网，路由器都要转发报文到目的网络。转发决策将基于目的地址域和子网。路由器用路由表来决定传送报文到哪个终端设备(局域网或LonWorks上)或局域网上的路由器。典型的路由表为如下格式(表1)。
表1

目的域和子网目的端口转发的设备地址
　　　
　　　

　　目的端口可以是局域网端口或LonWorks端口。应注意，路由器不能在它接收报文的端口上传送这个报文。要转发的设备的地址可以是一个单目传送地址，多点广播地址或广播地址。
　　．配置：路由器使用路由表转发消息。而要建立路由表，路由器就需要知道LonWorks上的子网和局域网上的路由器的IP地址。这些内容都能人工配置或路由器动态地学习。
一个完全人工配置方法中，每一路由器都要使之知道它所在的LonWorks子网，其它路由器的IP地址及其相关的LonWorks子网。对一个大系统来说，这需要相当大的工作量，而且还易出错，也不值得。
　　另一个方法就是让路由器“自学习”，就像使用LonWorks技术的自学习路由器一样。一个集中式的选路方法被用来寻找局域网上的路由器。有一个集中式路由器，并配置使每个路由器都能知道该集中式路由器的IP地址。每个路由器通告集中式路由器它所在的LonWorks子网，集中式路由器则在每个路由器上建立路由表。自学习方法可以被用于确定LonWorks子网。如果路由器的传输协议支持多点广播地址，且系统中任两设备间仅有单一路径，则该方法是可行的。如果以上假设无效，则不得不考虑类似Internet RIP (Routing Information Protocol)或OSPF (Open Shortest Path First)等别的分步路由协议。
2.3  协议配置
　　异型系统的通信可以由网关(协议转换器)或由使用隧道技术的一个中继来完成。一个第3层协议转换器从协议A的网络层翻译到协议B的网络层，如图4所示(注意第3层以上的协议在两个栈中都是相同的)。

图4
　　另一种选择是使用隧道技术的路由器。隧道用来把协议A的数据报作为另外的高层通讯协议的分组从一个设备传输到另一个上面。举个例，使用隧道的LonTalk/IP路由器就用TCP传送LonTalk NPDU。隧道技术广泛用于Internet网络。图5是一个采用隧道技术使用第3层中继的图表。
以上方案中，使用隧道协议(TunnelP)在高层协议上隧道传送NPDU。用以下术语描述隧道：传送协议是用于传送有效载荷分组的高层协议。有效载荷分组是由隧道传送的数据报。隧道协议是一种简单协议，用来通过隧道传送有效载荷分组。图5所显示的路由功能决定了有效载荷分组传到哪个终端设备或路由器。

图5
　　LonTalk/IP路由器是使用隧道技术的第3层中继。选择隧道而非协议转换的原因如下：
　　(a)隧道更有效，(b)IT局域网上的设备是多协议栈的设备，主机应用程序使用LonTalk协议，能处理LonTalk NPDU，且(c)对报文传送的确认在IT局域网上的终端设备产生，跟在LonWorks网络上一样。
　　前面已经提到有效载荷分组将是LonTalk NPDU。如果LonTalk协议同在局域网上的工作站中一样是在路由器的软件中实现的，这是可行的。如果使用硬件解决方法来实现LonTalk协议(用LonTalk路由器或Neurons芯片)，就不可能了。在这种情况下有效载荷分组将是LonTalk链路层协议数据单元(Link Layer Protocol Data Units，LPDUs)。
　　那么用什么作传送协议呢？以下是几种候选：
　　．IP (Internet Protocol：Internet协议组的网络层协议)
　　．TCP (Transmission Control Protocol：Internet协议组的传输层协议)
　　．UDP (User Datagram Protocol：Internet协议组的非连接传输层)
　　．IP多点广播
　　这些协议的优缺点：
　　IP：IP协议是最有效的传输协议。缺点是它不能有效地支持多点广播。IP支持本地广播，直接广播(在特定网络上)和多点广播地址。而在Internet上使用多点广播地址需要IP多点广播协议(以下指IP多点广播)。而且，许多软件包不支持与IP接口的API。
　　TCP：优点是提供可靠的传递。它使用广泛且插口API在很多平台上应用。基于报文的TCP/IP也能通过防火墙传递。TCP的不足是它集中地计算带宽且不支持多点广播报文发送。
　　UDP：UDP是一种有效的协议。它应用广泛且Socket接口能很好地支持它。UDP不能有效地支持多点广播信息发送(与IP同样的问题)。UDP报文通过防火墙传输也有问题。
　　IP多点广播：IP多点广播是有助于在Internet上使用多点广播寻址的一系列协议。在主机上，映射IP多点广播地址到MAC层地址必须在MAC层使用多点广播寻址。IP多点广播标准定义了一个映射方案。为IP路由器传输多点广播报文而已加强了Internet路由协议。IGMP (Internet Group Management Protocol)被主机和路由器用来建立和管理多点广播组的成员。路由协议，远程导引多点广播路由协议 (Distance Vector Multicast Routing Protocol)被路由器用来在Internet上传输多点广播报文。这些协议已用于在局域网上的音频和视频广播，但对实时数据通讯使用尚不广。
　　需要进一步分析以确定上述协议中哪种协议能作为传送协议。
　　一个隧道协议提供以下性能：
　　．标识有效载荷分组
　　．加密和身份验证(可选)
　　．使用顺序号可靠传送(可选)
　　．流控制(可选)
　　对该路由器来说，有些可选性能并非必需的，如身份验证，因为LonTalk协议有身份验证能力。
　　有一些隧道协议是可用的，但缺乏被广泛接受的标准。其中有：(a)点对点隧道协议。它基于RFC170l (Generic Routing Encapsulation)。(b)ASHRAE SPC 135 BACnet委员会也在开发一种在IP上传送BACnet报文的协议。传送协议为UDP而有效载荷分组为BACnet NPDU，它需要更进一步的研究。
2.4  路由器管理
　　尽管在IP世界中有一系列被广泛接受的关于路由器间如何对话，如何在它们之间发送路由器配置信息的标准，但是却没有牢固的有关应用程序接口和管理路由器的标准。用户接口和管理路由器的一些方法包括：
　　—串行终端接口
　　—Telenet
　　—SNMP和RMON
　　—HTML
　　—JMAPI
　　随着这些年一些标准MIB类型的介绍，SNMP现在已被广泛承认。而HTML和JMAPI看来被更广泛接受的步伐要远快于其它几种。
两点注意如下：
　　—LonTalk/IP路由器需要在IP域中操作，但它不是IP路由器。因而它不需与IP路由器支持同样类型的路由器配置协议。
　　—路由器管理的方法不会成为影响路由器互操作性的问题。不同的路由器被允许支持不同类型的管理接口，只要它们能以某种标准化方式通讯和配置。
　　很明显，市场的压力将促使路由器生产厂家提供的管理支持要让它们的路由器能由较流行的网络管理应用程序来管理。
3   工作站通过路由器访问LonWorks
　　局域网上的工作站有一个IP地址和一个LonTalk地址。为促进自学习功能，工作站的LonTalk地址的域.子网应不同于LonWorks网络上的任何设备的域.子网。工作站是如何与路由器通信的？工作站是如何发现局域网上的路由器的？
　　一个简单的方法是给局域网上的每个工作站配一个路由器。在这个方案中，与路由器相联的LonWorks网络上只有一个设备。该方法缺点是一个域中工作站的数目必须少于255(LonWorks网络上子网的数目)。
　　另一个方法是工作站与一个指定工作站服务器路由器通信，该路由器依次与局域网上别的路由器通信。工作站服务器路由器使带域和子网的“伪LonWorks网络”由工作站的域和子网来决定。
　　前面已经提到，工作站应具有多协议栈并执行LonTalk协议。LonTalk协议和隧道一起应在软件中实现。因而工作站使用局域网网络接口卡(NIC)及TCP/IP和LonTalk协议组。
4  总结
　　本文讨论了LonTalk/IP路由器的一些相关内容。由此我们可以看出采用LonTalk/IP路由器将LonWorks网络与局域网、Internet相连是一种可行的解决方案，而且也有很广的前景。LonMark互操作性协会也正在进行这种路由器互操作性标准的研究工作。
杨斌(西南农业大学计算机系  重庆 400716)
杨国才(西南农业大学计算机系  重庆 400716)
罗木平(西南农业大学计算机系  重庆 400716)
参考文献
1，杨育红. LON网络控制技术及应用. 西安: 西安电子科技大学出版社, 1999.4
2，郑文波. 控制网络与信息网络的几种集成技术. 测控技术, 1999, (5)
3，David Gaw. LonWorks over the Internet: Technical Issues and Applications. http:\\www.coactive.com
4，Harsha Dabholkar, David Gaw. LAN Access to LonWorks Networks: Ethernet (TCP/IP) to LonTalk Routers. http:\\www.coactive.com
收稿日期：1999-10-25
