III. 与其它Internet协议共存
EtherNet/IP网络的主要优势在于大多数用户能够通过利用现有的以太网技术知识和网络设施,让它们发挥最大的作用,获得更多的投资回报。
目前,众多厂商都能提供以太网设备,使得组建网络的费用大大降低。因此,用户更希望能够利用目前市面上已有的网络设备,从而控制系统成本。
如果EtherNet/IP网络需要采用指定厂商的特殊物理介质来构建,那么它的优势就不复存在。同样道理,如果 EtherNet/IP网络需要一个专门的网络环境来运行,或者不能与现有的企业网络相连接,那么它的优势也会黯然失色。因此,EtherNet/IP网络必须能够与现有的Internet和Intranet网络协议共存。这就意味着,在任何地方都要使用TCP/IP协议。
A. 以太网通讯协议
以太网技术本身只定义了物理介质和介质的访问方式(CSMA/CD),并采用简单的数据帧格式和源/目标通讯模式来完成局域网设备之间的数据交换。就其本身而言,以太网缺少更为复杂的功能来实现局域网的全部应用要求。正因为如此,在实际使用过程中,还需要让以太网支持一个或多个通讯协议,让它们作为以太网的上层协议,负责数据传输,实现网络管理等功能。因此,这种上层的通讯协议决定了网络所支持的功能,以及什么样的设备能够连接网络,怎样实现网络设备之间的互操作。
曾经有许多协议在以太网上应用过,例如DECnet™、Novell IPX™、MAP™、TOP、OSI Stack、AppleTalk™以及TCP/IP。在这些协议中,TCP/IP协议最为引人瞩目,因为为它不仅实现了全球Internet的互联,还能用于构建企业内部的Intranet网络,实现企业信息的共享和数据交换。TCP/IP作为Internet的协议,不仅可以运行在以太网上,还支持其它物理介质。当然,以太网也支持其它协议。但是,由于TCP/IP协议与以太网的结合,实现了Intranet和Internet的无缝集成。所以,它们之间的关系也就越来越密切。在工业现场,无论是现在,还是在不远的将来,TCP/IP协议迟早都会成为在以太网中占有统制地位的“中间层”协议,如图3所示。
B. TCP/IP协议的起源与特点
多年来,世界上主流的计算机平台都提供对TCP/IP协议的支持。现在,它已经内置到Windows NT™、Windows 2000等操作系统中,成为用户构建计算机网络的首选协议。在许多公司,可能拥有数台工作站、网络打印机、服务器、中型甚至大型计算机,单单某一家厂商很难提供所有这些设备。因此,这些设备都采用了统一的TCP/IP协议,使得它们都能够集成到局域网中。
TCP/IP协议也采用了分层结构,它与OSI七层网络参考模型的对应关系如图3所示。从图3可以看出,以太网技术只定义了物理层和数据链路层。网际协议(IP)对应于第三层——网络层,TCP传输控制协议和UDP用户数据报协议对应于第四层——传输层。在基于TCP/IP协议的网络中,用户服务协议属于第七层——应用层。TCP/IP协议组没有OSI网络参考模型的第五层和第六层。
OSI网络参考模型中的每一层都需要使用其下一层协议所提供的服务。比如,一个TCP连接需要在以太网上向另外的设备发送一个数据包。首先,它需要将这个数据包交给IP协议进行处理,由IP协议将这个数据包发送给以太网接口,并确定这个数据包传送到了目标设备。同时,作为接收方,IP协议要通过以太网接口接收数据包,然后将其交给TCP协议进行处理,建立通讯连接。
TCP/IP协议的最底层是网络层,也是IP协议所在的层面。IP协议用于在两个网络设备之间,采用无连接和无确认应答的方式发送数据包。因此,IP协议并不能对数据的传输提供担保,而需要由传输层协议或者应用层协议来完成这一任务。IP协议可以运行在以太网和多种其它局域网或广域网中,这正是IP协议能够实现企业内部Intranet网络和Internet无缝连接的原因。
在网络层中,还有地址解析协议(ARP)。ARP协议用于实现IP地址到以太网地址的映射,以及维护网络设备中的地址映射表。当某一设备要将一个IP数据包传送给其它设备时,发送设备首先会尝试使用本地广播报文去询问目标IP地址的设备,然后将其以太网地址返回给发送设备。这一应答结果将被存入发送设备内部的地址映射表,方便以后使用。值得注意的是,以太网广播报文只能在集线器、交换机和网桥之间传输,不能穿透路由器。因此,以太网广播报文被限制在一个子网内,而不可能扩散到全球范围的Internet网络中。
IP地址是32位的二进制数字,由独立的InterNIC网络信息中心负责分配,在某一网络中不能重复。任何企业网内部的设备需要和外界通讯,都必须使用事先分配好的IP地址。这与以太网地址不同,以太网地址是由生产厂商固定在以太网硬件设备中的地址,不能进行更改。用户可以根据自身企业信息系统的相关规定和要求,配置网络设备的IP地址和子网。有时候可能需要改变网络设备的IP地址,但是应该在此之前做好心细的规划,防止网络上某一设备已经占用了特定的IP地址,从而造成IP地址冲突,使得已有的网络不能正常工作。
如果一个内部的局域网通过路由器与Internet相连接,那么这些设备的IP地址必须属于已分配给它使用的IP地址段。如果内部局域网不与Internet相连接,那么它的IP地址分配就可以按照自己的要求来进行。随着Internet的普及和广泛应用,可用的IP地址资源已经濒临枯竭。目前,人们正在研究使用新的IP地址形式,也就是IPv6,它支持48位二进制的IP地址形式,这样一来,就有充足的IP地址供人们使用。
与以太网地址类似的是,IP地址也分为非广播(单目标)、多点传送(目标组)和广播(网络上的每个设备都能接收)地址。因此,IP地址必须通过相应的IP软件和以太网驱动程序将其映射成对应的以太网地址。
TCP/IP协议制定了TCP(传输控制协议)和UDP(用户数据报协议)两种协议用于数据传输。它们都属于OSI七层网络参考模型中的传输层。TCP协议是一种面向连接的协议,用于确保数据的可靠传输。一旦在两个设备之间建立起TCP连接,TCP协议将用于拆分、组装数据包,检测错误、数据重新发送,通常用于在两个网络设备之间提供高质量的数据传输。TCP协议能够确保数据从一个网络设备传输到其它网络设备。一旦由于某种原因造成传输失败,TCP协议将确保TCP连接的收发双方应用程序能够得知这一故障。TCP协议将数据以字节流的形式提供给它上一层的应用层协议。同时,应用层还要对字节流数据进行识别和分割。
TCP协议只适合于非广播(点对点)传输方式,通常在Telnet(终端仿真)、FTP(文件传输)以及HTTP(Web服务)等应用中采用。在工业自动化应用中,TCP协议通常用于计算机向PLC下载梯形图程序,或者人机界面软件对PLC数据进行读写,以及两台PLC之间的点对点信息交换。
UDP是一种非常简单的传输协议,它采用无连接的通讯方式,用于在两个网络设备之间进行简单的数据报文收发。它并不能保证数据能够从一个网络设备发送到另外一个,也没有数据重发功能,甚至不知道目标设备是否已经收到了数据。因此,需要应用层协议实现设备之间的握手信号或者连接管理,通常在较小流量要求的服务中才使用UDP协议,例如SNMP(简单网络管理协议)和NFS(网络文件系统)。UDP协议与TCP协议相比,传输能力和资源占用都比较低,因而能够进行更小、更简单、更快捷的数据传输。UDP协议支持非广播、多点传送和广播三种不同的传输方式。在工业自动化应用中,UDP协议通常用于网络管理、对可靠性要求不高的数据传输,或者由应用程序的其它功能实现自身的可靠性,比如在网络设备中采用闪存芯片进行编程。
有关TCP/IP协议及其应用的技术资料已经被归档,称为请求评注(RFC),由Internet工程任务组(IETF)负责维护。IETF是一个独立性的组织,用于制定Internet的各种标准协议。所有RFC资料都是公开的,用户可以从IETF的网站免费下载。
C. 应用层协议及互操作性
TCP/IP协议提供一系列的服务,无论是在局域网中,还是在广阔的Internet中,都可以保证两个设备之间的相互通讯。但是,单独采用TCP/IP协议并不能确保网络设备的通讯效率,它只能保证应用层信息能够成功地在两个设备之间进行传输。
为了提高通讯效率,需要在相应的网络设备上安装兼容的应用软件。应用软件必须相互懂得对方所提供的服务,能够在TCP/IP(UDP/IP)协议的基础上,使用通用的报文格式进行通讯。RFC资料提供了Internet常用