C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

亚星游戏官网-yaxin222  大元帅

注册:2004-8-101175

爱心徽章,06年为希翼小学奉献爱心纪念徽章 爱心徽章,09年为家园助学活动奉献爱心纪念徽章 家园09年十大网友 爱心徽章,2010年为家园助学活动奉献爱心纪念徽章 爱心徽章,2011年为家园助学活动奉献爱心纪念徽章

发表于 2004-12-26 16:07:00 |显示全部楼层
互联网传输协议的性能优化




  1 前言

  为了提高互联网中传输协议的性能,研究人员在传输控制协议(TCP)流量控制机制和TCP友好控制机制方面做了大量的卓有成效的研究工作,特别是近几年来,针对传输协议在移动互联网中的性能优化,提出了很多改进方法。因特网工程任务组(IETF)于2000年10月提出一个新的可靠性传输协议——流控制传输协议(SCTP),这个协议对TCP的一些弱点进行了改进,具有极好的扩展性。本文结合近几年有关TCP和SCTP的研究,对传输层协议在移动无线环境下的性能优化方案进行分析。

  2 移动网络中TCP的改进算法

  经过多年改进,TCP已经能有效地适应有线传输,但是在移动和无线环境中,TCP的性能并不理想。

  2.1 TCP在移动环境中遇到的问题

  TCP是为固定网络设计的,而在现在的固定网络中由于差错造成的丢包率远小于1%,因此TCP认为丢包是一种拥塞的指示信息,并且会启用慢启动或快速重传机制降低发送速率。但是在移动网络中,丢包的主要原因是无线链路信道较高误码率造成的差错丢包和移动终端断连造成的连续丢包。这样,当大家在移动网络中应用TCP协议的时候,TCP的拥塞控制机制无法将链路错误或切换造成的丢包与拥塞造成的丢包加以区分,这使得TCP常常启用拥塞控制,严重影响了传输性能。此外,切换的时延会进一步降低TCP的性能,使得通信恢复的时间更长。因此针对TCP协议在移动无线网络中性能改进的研究主要集中在两个方面,一个是解决无线链路丢包问题,一个是解决移动终端断连特别是移动切换问题。

  2.2 解决无线链路丢包的TCP改进算法

  改进无线链路丢包的算法可以分为3种:本地重传恢复、分离连接控制和端到端的解决方案。本地重传恢复机制的典型算法为Snoop重传算法,其主要思想是在无线接入点增加本地重传功能,缩短重传的时间和避免TCP进入拥塞控制处理;分离连接控制的典型算法是分段TCP(I-TCP)算法,它把TCP连接分成有线链路段和无线链路段,无线链路段处理无线链路上出现的丢包问题,对TCP源端起到屏蔽作用;端到端的解决方案中,TCP源端可以意识到无线链路的存在,并针对无线网络丢包的特点采用显式的丢包通知(ELN)、选择确认、TCP探测等技术来改进TCP端到端的性能。端到端控制算法的优势在于不需要在网络中间增加额外的处理,能够保证TCP流端到端的流量特性,但缺点在于只能加快对丢包的恢复速度,对于丢包造成的源端超时没有办法控制;分离连接控制算法的优势在于源端不会因为无线链路误码率高而减小速率,可以很好地屏蔽无线链路的丢包,但缺点是破坏了TCP连接的端到端特性,在无线接入点需要增加较大的开销来保持两段连接;本地重传恢复算法可以较好地屏蔽无线链路段的误码丢包,避免重复ACK导致的源端快速重传控制,但对于源端重传计时器超时的问题仍不能避免。

  2.3 解决移动终端断连的TCP改进算法

  针对移动终端断连的改进算法按实现方式可以分为两类:分离连接的控制和端到端的控制。分离连接控制的典型代表是移动传输控制协议(M-TCP)机制,端到端控制的典型代表为Freeze-TCP机制。这两种算法虽然实现方式不同,但解决断连的原理是一致的。当移动终端断连发生时,TCP源端进入保活(Persist)状态,并冻结发送窗口和各种计时器,直到链路恢复后继续发送,这样避免了TCP源端因超时而触发拥塞控制处理。

  分离连接控制方式给网络中间节点增加了两个连接段的数据收发开销,且破坏了TCP连接的端到端的流量特性;而端到端控制方式虽然避免了以上问题,但需要给功率较小和计算能力较弱的移动终端增加预测断连的功能,这不仅给移动终端的预测提出了更加复杂的难题,而且当预测不准确时反而会降低移动应用的性能。

  以上各类算法都是分别针对无线链路的高误码率和移动终端的断连来设计的,较少能够同时解决以上两种问题。

  3 TCP友好控制机制的研究

  目前基于数据报协议(UDP)的实时多媒体应用日益增多,但互联网中存在大量的UDP应用会导致对TCP的不公平性。因为TCP会随着网络带宽的变化调节数据的发送速率,在拥塞时降低自己的带宽需求,而UDP则无视拥塞的存在,继续按照需要的带宽发送数据。如果不考虑网络的实际容量而大量发送非拥塞控制的UDP应用,很容易导致网络过载和高丢失率,还会大量侵占TCP应用的带宽。因此,基于UDP的应用需要增加相应的控制机制,做到与TCP应用公平地分享网络资源,使网络具有较高的利用率和较低的丢包率。这就是Sally Floyd等人提出的TCP友好(TCP-friendly)控制机制的概念。

  TCP友好数据流是长期的到达速率不大于任何在同等网络条件下TCP数据流速率的应用流,非TCP友好流则正好相反。根据采用拥塞控制和不采用拥塞控制还可将应用分为响应流和非响应流。非响应流一定是非TCP友好流,而非TCP友好流不一定是非响应流。针对这种TCP友好的概念,研究人员陆续提出了许多TCP友好控制机制,主要分成两类:基于TCP的加性增乘性降(AIMD)窗口机制的拥塞控制和基于建模的TCP友好控制机制。

  基于AIMD的控制机制的优势在于它的工作原理以及稳定性、公平性等特性已经被大家所熟识,实现非常简单。但它的缺陷在于每个丢包都引起发送速率的减少,发送速率改变的幅度过大,应用流的突发性强、抖动大,只适用于希翼以TCP友好方式尽快发送数据而对实时性要求不是很高的应用。该算法的另一个问题在于,如何针对不同性能要求的应用设计合适的参数还没有通过理论分析或实验得到理想的依据。

  基于建模的友好控制机制一方面可以使实时多媒体流不再像非响应流那样侵略性地抢占可获得的带宽,而是根据丢失事件速度的减小而平滑地增加发送速率;另一方面,它的应用流量也不会因为单个包的丢失而将速率减半造成抖动,只是在多个连续的丢失事件发生后才将速率减小为一半,比较适合实时媒体流的流量控制。

  随着TCP协议在移动互联网中的改进,TCP应用的流量特性也发生了改变,TCP友好控制机制需要进行新的设计和改进,才能真正适合移动互联网的网络环境。

  4 流控制传输协议

  流控制传输协议(SCTP)最初是被设计用来在IP 网上传输公众交换电话网(PSTN)信令的,但SCTP本身所具有的许多特性使得它具有更广泛的应用。

  4.1 SCTP的可扩展性

  设计SCTP的初衷并不是设计一个同TCP竞争的传输协议。然而随着研究的深入,不断有新的特性被加入SCTP(这些特性中的大多数都是为了解决使用TCP/IP协议过程中发现的问题),使得SCTP更适合在不同的环境中工作。

  SCTP的通用头部相当的简洁,这使得SCTP数据报文很容易进行处理,然而SCTP报文内部却有着较为复杂和精巧的结构。每个SCTP报文都有12字节的通用头部,后面是一个或多个数据块(Chunk)。一个Chunk是一个有其特定标记和含义的独立结构,但是所有Chunk有着相同的TLV(类型-长度-内容)结构。SCTP报文的Chunk结构具有很好的可扩展性,使得增加对新功能的支撑成为一件非常容易的事情。

  TCP的主要问题就是其扩展性很差。当初在设计TCP时,一个很重要的设计原则是提高传输效率,减小首部开销。但是现在连接100 Mbit/s的以太网已经非常普遍,比30年前的速率提高了上千倍。 因而对于当今的传输协议而言,首部多一个或少一个字节不是重要问题,而简洁、良好的扩展性以及减小报文处理的开销则成为设计的关键。TLV结构的处理明显快于去检查一个字节内部的特定比特位的值。此外,这种结构(如同IPv6)具有优异的扩展性,为此付出额外几个字节的开销是值得的。

  4.2 SCTP的特点

  与TCP 类似,SCTP也是一种可靠的传输层协议,因此它具有很多与TCP相似的特性,如:在传输数据之前要在SCTP主机之间建立关联(相当于TCP中的连接),SCTP对接收到的数据进行确认,通过慢启动、拥塞避免、快速重传和快速恢复等拥塞控制机制向上层提供无差错的、无重复的数据传输等。但是,SCTP还具有一些TCP所没有的特点:

  (1)多穴主机

  SCTP和TCP最大的区别在于多穴主机(Multi-Homing)。为了增加通信的健壮性,SCTP关联两端的主机可以具有多个可达的IP地址。SCTP这一特性的优点是可以提高传输的可靠性。比如在通信过程中,当SCTP主机探测到对端的某一个地址不可达时,它会自动选择另一个地址继续进行数据传输。

  (2)面向消息

  SCTP的用户以消息的形式将数据递交给SCTP,这一特点使它可以在传输层就对用户消息进行拆分和重组,这样就减轻了应用层的负担,也为多流发送提供了可能。

  (3)多流机制

  多流机制的优点是可以减轻单流中存在的队头阻塞现象,因为如果一个流中某消息的丢失阻塞了其他消息的递交,其他流中的消息还可以递交给上层协议。利用SCTP的多流机制可以把没有先后次序关系的消息放在不同的流中传输,而把必须按序递交的消息放在同一个流中传输。

  (4)可选的有序递交

  在SCTP中,用户可以选择将数据按顺序发送或不按顺序发送。而在TCP中用户数据是严格有序发送的,用户别无选择。

  4.3 SCTP的两个重要扩展

  自从SCTP正式颁布之后,目前的实现都是实验性质的,真正商用化的SCTP App还没有开发出来、但是已经有很多扩展的建议提交给IETF讨论。其中的两个重要扩展是:

  (1)增加和删除地址

  SCTP的一个主要的特点就是在一个关联中使用多个源和目的地址的能力,但是这些地址必须在关联建立阶段协商好。增加和删除地址(ADDIP)草案扩展了SCTP的动态增删地址的能力,这种能力不仅可以支撑网卡的热插拔,也可以支撑网络链路的动态增减。ADDIP草案已经演进了很多版,有些SCTP的实现已经包含了ADDIP功能。

  (2)部分可靠功能的SCTP

  部分可靠功能的SCTP(PRSCTP)草案对SCTP进行了扩展,使PRSCTP可以同时为上层协议提供可靠和非可靠的传输服务。PRSCTP通过为消息分配生命期对用户消息进行区分,从而对不同的消息提供不同可靠性的传输服务。在某消息生命期内,消息将被当作一个可靠消息进行传输,此时消息得到的传输服务与基本SCTP中提供的相同。而一旦该消息到期,消息将失去PRSCTP 对其的可靠传输而被发送端丢弃。PRSCTP草案的提出使得SCTP能够有效支撑更广泛的应用,而不仅仅是支撑信令。

  5 SCTP在移动网络中的性能优化

  尽管仿真结果表明,对于超文本传送协议(HTTP)和文件传送协议(FTP)等应用,SCTP的性能略优于TCP,特别是在网络状况差的情况下,但SCTP在移动环境中面临与TCP同样的问题。

  5.1 无线链路上SCTP的性能评价和改进

  仿真结果显示,作为一个可靠传输协议,SCTP的性能足以同TCP-Reno和TCP-Sack的性能相比美。但是,SCTP的拥塞控制策略继承于TCP,所有的丢包都被认为是网络拥塞造成的,从而导致其在无线链路上性能很低。尤其是在广域网环境中,端到端的时延很大,错误丢包会造成SCTP的效率非常低,无法有效地利用无线带宽资源。因此,要在移动网络中应用SCTP协议需要对其做一些改进,以适应无线链路的差错丢包。这方面的研究与针对TCP的相应改进有很多共同点。

  5.2 SCTP支撑移动切换的性能优化

  仿真结果显示,在移动网络中切换对于SCTP的性能有很大负面影响。由于切换造成时延和丢包,超时重传和慢启动几乎无法避免。而且在切换时间较大的情况下,可能造成多次超时和慢启动,SCTP的二进制指数退避算法会使得切换后恢复的过程更加漫长。因此有必要对SCTP进行改进以减少切换造成的负面影响。

  结合SCTP的ADDIP扩展,大家提出了一种优化SCTP切换时性能的方法,其主要思想为:将移动节点地址的变化通过ADDIP扩展功能通知给SCTP,那么每当移动节点更新地址的时候就认为发生了切换,SCTP马上选用新的地址作为主地址进行传输,而不是等待超时才开始重新传输数据,这样即节约了网络资源,又可以更快地进行通信恢复。SCTP的这种能力并不依赖于移动IP技术,但鉴于移动IP的规范比较成熟,大家可以基于移动IP实现SCTP对移动切换的支撑,并且结合移动预测进一步提高SCTP切换的性能。

  5.3 PRSCTP对移动多媒体应用的支撑

  多媒体应用需要网络提供连续、平稳、有序、实时的服务保障,它对传输层服务的要求是既保证传输的实时性又在一定程度上保证传输的可靠性。TCP的完全可靠传输机制和UDP的完全非可靠的传输机制都不能满足这种要求。

  利用PRSCTP对不同的消息提供不同可靠性传输服务的特点,可以有效支撑移动环境下的多媒体应用,比如MPEG-4流媒体的传输。

  为支撑视音频的实时传输,IETF设计了实时传送协议(RTP),它位于UDP协议之上,不能单独作为一个层次存在,通常利用低层的UDP协议实现组播或单播视音频数据的传输。在移动和无线环境下,RTP/UDP/IP的使用带来了协议头部开销大、带宽利用率低的问题。并且RTP是一种应用型的传输协议,它并不提供任何传输可靠性的保证和流量的拥塞控制机制。而PRSCTP在试图用一种协议为用户同时提供不同可靠级的传输服务方面做出了有效的尝试。

  6 结束语

  由于SCTP有很多TCP没有的性能,并且具有极好的扩展性,它被认为有可能在未来取代TCP成为通用的传输层协议。随着移动互联网技术的发展,SCTP对移动多媒体应用的支撑也会更加显示其优越性。

  优化传输层协议的性能对于保障互联网的服务质量具有重要意义,有关研究从未停止过。继SCTP后,IETF 又公布了一个新的传输层协议草案数据报拥塞控制协议(DCCP),并成立了专门的工作组进行研究。

  DCCP是一个可以进行拥塞控制的非可靠传输协议,其目标是试图在一个协议中提供多种拥塞控制机制,在通信开始时由用户进行协商选择。除预留和自定义方式外,目前DCCP定义了两种拥塞控制机制:TCP-Like和TFRC (TCP-Friendly Rate Control)。TCP-Like类似TCP 的AIMD 机制,而TFRC是TCP友好的速率控制机制。DCCP协议草案的提出为希翼使用一种协议同时提供多种传输服务的应用展现了一种新的服务模式,对未来网络中传输协议的研究及对多媒体应用的支撑提供了一个新的切入点。


举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-9-21 04:24 , Processed in 0.313390 second(s), 16 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图