用户中心

资讯 > 嵌入式系统

查询/响应类联网设备的三种传输层协议分析

2006.12.10阅读 3253

  随着查询/响应类应用联网设备的不断增加,以及带宽竞争的加剧,高效实现互动数据交换就显得十分迫切。在臃肿的网络上www.cechina.cn,响应时间、存储器的使用、可靠性和互动性是选择传输协议时需要考虑的多个重要因素,本文就从这几个方面说明三种不同的传输层协议对上述指标的影响,并说明具备T/TCP功能的联网设备可能是未来的发展趋势。

  目前,连接上网的嵌入式设备的数量和种类都在迅速增加。许多数据通讯应用方面的要求涉及频繁的查询-响应,或者在客户端设备与服务器设备之间小型数据(小到可以放在单一而不拆分的IP包中)的互动数据交换(transaction)类型互换。本文中“客户端”指启动这种信息交换的设备,而“服务器”是指响应该请求的设备。客户同服务器的关系可以是多对一,一对多或者是多对多的关系。

  联网设备通常都采用IP(互联网络协议)作为网络层协议。传输应用中一个至关重要的选择就是传输层协议的应用。本文着重讨论这种选择所面临的若干问题以及注意事项,特别是(但不仅仅是)在嵌入式设备中,要注意存储器、网络带宽、响应时间、可靠性以及互动性等问题。根据这些情

CONTROL ENGINEERING China版权所有,传输层协议将分别考虑三种可能的选择:UDP、TCP以及T/TCP.

  用于互动数据交换的TCP扩充

  一般来说,传输控制协议(TCP)和用户数据包协议(UDP)是读者比较熟悉的,而用于互动数据交换的TCP扩充协议(T/TCP)还不太为人所知,本段简要介绍有关该协议的概况。

  T/TCP并不是一种新的协议。该协议在1994年就以RFC1644标准的形式给出了定义。在标准版TCP的基础上,通过增加某些新功能来实现互动数据交换应用的优化,从而构成了T/TCP。在T/TCP中使用了所有的标准版TCP的机制及基本结构。T/TCP后向兼容TCP。T/TCP不论是在客户端还是在服务器端,当与一个不支持T/TCP协议的对等设备通讯时,就会自动适配为标准版TCP。

  T/TCP连接中的每一个IP包(TCP术语中称为一个区段)都会用一个32位的连接计数(connection count)来标识,该连接计数对每个连接来说都是唯一的。绝大多数情况下,它能防止旧的区段破坏后续连接。一个称为“CC”的TCP数据头选项可以携带T/TCP连接计数。

  对持续时间较短---小于一个数据段最长寿命(MSL)---的连接来说,CC选项的一个好处就是它可以缩短或者避免出现TCP的TIME_WAIT状态。TIME_WAIT状态提供保护TCP数据流不被破坏的一种机制,这种机制通过复制同一个连接以往数据段的早期副本来实现。TCP连接的一端驻留在TIME_WAIT状态来维持两个MSL---一个MSL通常持续两分钟---的时间间隔,这样可以防止当所有的副本信息段在网络上仍然处于有效期时创建同一连接的新副本。T/TCP的CC选项确保TIME_WAIT状态可以被截短到最多高达一个连接往返时间(RTT)的八倍。更重要的是,同一连接的新副本可以立即创建,也就是说,TIME_WAIT状态可以完全消除。

  T/TCP会维护每一个相互作用的远程主机的协议信息的缓存。这个缓存包括往返时间、最大信息段长度以及堵塞窗口等相关信息。因此,这些信息无需在每一次连接中重新创建,T/TCP连接可以根据这些参数立即运行。

  标准TCP连接总是以一个不携带任何数据信息的三段同步(SYN)序列开始CONTROL ENGINEERING China版权所有,而以同样不携带任何数据信息的一个三段结束(FIN)序列来中止。SYN与FIN之间的数据段携带需要交换的信息。如果需要发送数据的总量可以整合在单一的数据段中,那么T/TCP就可以将SYN、FIN以及数据功能组合为单个信息段(single segment),所以完整的一个T/TCP连接仅需要三个数据段就可以打开和关闭。

  用于T/TCP的插座API是标准TCP插座API的最小扩充。通过将两个现有的API功能“send to”和“send”进行了扩展控制工程网版权所有,可以确保应用端整合各种要求,从而打开连接、传输数据和关闭连接传输方向以便被单API调用。

  在客户端一方CONTROL ENGINEERING China版权所有,三区段连接的最小持续时间与一个简单的往返时间为同一数量级。这里,通常假定与往返时间相比,服务器处理请求并且发送响应需要花费的时间很小。

  存储器的使用

  由于生产成本较高,所以嵌入式设备的存储器通常都比较有限,因此进行软件设计时必须牢记这一约束条件。

  标准TCP之所以可靠,一个原因是一旦连接中止,那么启动连接中止的一端(通常是客户端)就会进入TIME_WAIT状态,并且维持这一状态的时间较长,通常为二倍MSL。在这段时间内,不会创建同一连接的新

版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688