控制工程师论坛

现场总线

几种工业以太网协议的传输机制和通信模式比较

chenwh78
chenwh78

2009-06-04

传统的TCP/IP参考模型被分为四个层次:应用层、传输层、网络互连层和主机到网络层。各个层次上均有相应的标准协议。这些协议的结合使用构成了整个基于TCP/IP模型的网络应用。
  这组广泛的协议中,绝大多数在工业以太网的方案中得到了应用。其中主机到网络层主要涉及到的是OSI模型的第一、二层。之后是相当重要的网络互连层和传输层协议。它们是整个TCP/IP协议簇的核心,在OSI模型中居于第三、四层。
  由于传输机制和通信模式的问题主要关联到OSI网络模型的第四层——网络传输层,所以本文重点讨论在传输层中这几种主流工业以太网的差异,其余各层仅作涉及,不做详细论述。

  UDP和TCP机制
  在工业以太网应用中,网络互连层和传输层协议共同构成了整个系统的通信栈。不同的工业以太网方案在通信栈的构成方式、应用模型上有一定的差别,这种差别也是我们讨论的重点。其中最为典型的一个问题就是:传输层使用TCP还是使用UDP的问题?
  首先我们看一下TCP/IP协议中关于TCP/UDP的说明:
  TCP&UDP分别是Transmission Control Protocol和User Datag

ram Protocol的英文缩写。关于两者之间最广为人知的区别就是:是否面向连接。而从工业以太网的角度,事实上,这种区别所造成的对网络性能的影响才是一个关键。具体说来:
  TCP作为基于连接的协议,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来。而且为确保正确地接收数据,TCP 会为每个封包都加上一个顺序码,  并且要求在目标计算机成功收到数据时发回一个确认(即 ACK)。如果在某个时限内未收到相应的 ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。但是,接收计算机可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。
  以上的连接、包计数、接收确认握手等机制确实能使TCP协议做到为应用程序提供可靠的通信连接,使一台网络终端发出的字节流无差错地发往网络上的其他终端。但是这些操作却影响到了网络在速度上的性能。
  而UDP是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!它也没有TCP 的封包所具有顺序码, 接收端亦不会有响应产生及进行检查以确认是否收到重复或遗失的封包。这些都决定了UDP是作为一种不可靠的协议存在的。但是UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。
  从工业以太网的角度出发,应当从数据通信的需求上对UDP或TCP的选择问题做一个结论。首先我们来看一看在工业环境中,网络上传输的数据具有的特性。
  工业环境中待传输的信息类型包括实时过程控制数据、设备状态、监控数据、系统故障诊断数据、报警数据等。这些数据通常在量上并不大。这个特点在以往的现场总线体系中有充分的体现,例如,LonWorks现场总线的数据包长度只有12个bit,EIB现场总线数据包长度只有22个bit,等等。
  而这些数据对实时的传输的要求也不尽相同。具体说来,I/O数据对实时性要求最高。而组态、参数设置、诊断等则不太要求过高的实时性而更偏向可靠的数据传输。
  对数据传输的要求不同决定了协议的选择,在工业以太网的方案中,可以采取的方式是:
  对于对实时性要求较高的实时I/O数据,采用UDP/IP协议来传送,这时可以获得UDP的如下几个好处:
  (1) 数据发送前不用建立连接,减少了开销和延迟,这一点控制系统来说是非常重要的。
  (2) UDP没有采用可靠交付,数据收发双方不用维护很多的用于记录连接状态的表。
  (3) UDP 数据报首部很短,只有8字节,处理方便。
  (4) UDP取消了拥塞控制,所以发送方不会降低发送速度,这点在实时应用上非常重要。
  而对实时性要求不太高的显式信息则采用TCP/IP来传送。这样减少了UDP方式的传输负担,也更容易实现。

回帖

评论2

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China