论基于TCP的数据流拥塞控制技术

来源 :网络与信息 | 被引量 : 0次 | 上传用户:zhaolong0804
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  1 引言
  随着多媒体技术和网络技术的飞速发展,可视电话、远程教育、视频会议等流媒体应用逐渐发展成为Internet的主要业务。但面对流媒体应用的蓬勃发展,Internet并不能为其提供良好的传输环境,流媒体传输时数据包的延迟和丢失,导致流媒体播放时不清晰、不同步、播放停顿等质量问题。网络工作者研究发现,产生上述问题的主要原因是流媒体应用使用的传输协议缺乏比较有效的拥塞控制机制,使其传输时的数据流不能满足流媒体传输的要求。因此,自从上个世纪80年代出现第一次拥塞崩溃以来,TCP拥塞控制策略就在不断地进行完善和改进。TCP拥塞控制算法的目标是最大限度利用网络带宽,同时不产生数据流传输中的拥塞现象。
  
  2 TCP拥塞控制过程
  首先要意识到存在的两个潜在的问题:网络容量和接收方的容量,然后单独处理每一个问题。为此,每个发送方维护两个窗口:第一个是接收方的准许窗口,第二个是拥塞窗口。每个窗口反映了发送方可以传递的字节数量。
  当一个连接建立起来的时候,发送方将拥塞窗口初始化为该连接上当前使用的最大数据段长度。然后,它发送一个最大的数据段。如果该数据段在定时器过期之前被确认,则它将拥塞窗口增加一个数据段的字节数,从而使拥塞窗口变成两倍的最大数据段长度,然后发送两个数据段。如果这两个数据段中的每一个都被确认了,则拥塞窗口再增加两个最大数据段长度。当拥塞窗口达到n个数据段的时候,如果有n个数据段都被及时确认的话,拥塞窗口增加这n个数据段对应的字节数。实际上,每一批被确认的突发数据段都会使拥塞窗口加倍。
  
  拥塞窗口一直呈指数增长,直到发生超时,或者到达接收方窗口的大小。这里的思想是,如果一定大小的突发数据,比如说1024、2048和4096字节,都被正常地传送过去。但是,8192字节的突发数据却发生超时,则拥塞窗口应该被设置为4096以避免拥塞。但是拥塞窗口保持在4096上,则无论接收方准许窗口有多大,发送方都不会发送超过4096字节的突发数据。这个算法被称为慢启动算法,所有的TCP实现都要求支持该算法。
  除了接收方准许窗口和拥塞窗口以外,它还使用了第三个参数: 一个阀值,初始时该参数为64KB。当一次超时发生的时候,阀值被设置为当前拥塞窗口的一半,而拥塞窗口被重置为一个最大数据段。然后使用慢启动算法来决定网络的处理能力,不过当增长到阀值的时候便停止。从这个点开始,每一次成功的传输都会使拥塞窗口线性地增长(即每次突发数据仅增长一个最大数据段),而不是成倍地增长。实际上,这个算法是在猜测,将拥塞窗口减小一半可能是可以接受的,然后再从这点开始慢慢地往上增长。
  
   3 传统的TCP拥塞控制算法不适用的原因
  (1)传统的TCP拥塞控制机制在高速网络中反应性比较差,这是因为TCP在高速网络中对分组丢失的反应要敏感得多。这主要是由于它的拥塞避免算法是基于AIMD的。所以一个分组的丢失在高速网络中所造成的后果是很严重的:一个分组丢失被检测出来之后,TCP连接就会将带宽减半(积式减少),这样就会不止花上几百毫秒或是多达几秒钟,甚至花上几分钟或是几个小时来恢复所有的可用带宽(和式增加),因此TCP连接会花费大多数时间在拥塞避免算法上。
  (2)传统的TCP总是把分组丢失解释为拥塞,而假定链路错误造成的分组丢失是可以忽略的。但是当数据传输速率比较高时,链路错误是不能忽略的。由链路错误引起的分组丢失和由网络拥塞引起的分组丢失的可能性是相同的。因此,当一个TCP分组丢失后我们不应该认为就是出现了网络拥塞,拥塞的判断需要两个连续的分组丢失。
  (3)传统的TCP不能使用网络链路的所有容量。这主要是由于在AIMD算法中,TCP从一个分组丢失到带宽的恢复所用的时间比较长。且高速远距离网络的造价是比较高的,所以对容量的浪费是不可原谅的。
  
  4 对传统TCP拥塞控制机制的发展及改进
  4.1 对慢启动的改进
  慢启动(slow start)算法通过逐渐增加cwnd的大小来探测可用的网络容量,防止连接开始时采用不合适的发送量导致网络拥塞。但在网络实际容量大时,会造成浪费。为此可采用大的初始窗口,大的初始窗口避免了延迟ACK机制下单个报文段初始窗口的等待超时问题,缩短了小TCP流的传输时间和大延迟链路上的慢启动时间。
  在慢启动阶段,在每个RTT时间内,cwnd增加一倍,这样当cwnd增加到一定的值时,就可能导致以网络能够处理的最大容量的2倍来发送数据,从而淹没网络,但这个方法的效果是有限的。而Smooth-start较为平滑地从慢启动过渡到拥塞避免阶段,减少了报文段丢失和突发通讯量,提高了TCP拥塞控制的性能。
  4.2 对重传与恢复的改进
  为了避免不必要的重传超时,有人提出了一种受限传输机制:如果接收方的广播窗口允许的话,发送方接收到一个或者两个重复的ACK后,继续传输新的数据报文段。受限的传输机制允许具有较小窗口的TCP连接进行错误恢复,而且避免了不必要的重传。
  有很多情况下,TCP发送方可能会误判数据报文段丢失,然后调用拥塞控制规程减少拥塞窗口的大小。如果TCP的发送方在重传数据报文段一个RTT后,发现接收方接收到了重传数据报文段的两个拷贝,则可以推断重传是不必要的。这时,TCP的发送方可以撤销对拥塞窗口的减少。除了恢复拥塞窗口,TCP发送方还可以调整重复确认门限或者重传超时参数,来避免由于多次不必要的重传而浪费带宽。
  4.3 对公平性的改进
  在拥塞避免阶段,如果没有发生丢包事件,则TCP发送方的cwnd在每个RTT时间内大约可以增加一个报文段大小,但这样会造成具有不同RTT时间或窗口尺寸的多个连接在瓶颈处对带宽竞争的不公平性,RTT时间或窗口小的连接,相应的cwnd增长速度也相对缓慢,所以只能得到很小一部分带宽。要解决上述问题,可以通过在路由器处使用公平队列和TCP友好缓存管理来进行控制以增加公平性。然而如没有路由器的参与,要增加公平性,就要求TCP发送端的拥塞控制进行相应的改变,在拥塞避免阶段使共享同一资源的各个TCP连接以相同速度发送数据,从而确保了各个连接间的公平性。
  
  5 结论
  本文在研究和分析各种基于TCP的数据流拥塞控制算法和参考有关文档的基础上,对以TCP为核心的拥塞控制机制进行了发展,其中避免不必要的重传超时、撤销不必要的拥塞控制等是随着网络技术的发展而对TCP的改进,这些改进将使TCP的性能在不同的网络中取得更好的性能。
  
  参考文献
  [1] 庄卓.基于TCP的拥塞控制策略及改进[D]. 广西师范大学,2006.
  [2] 谭连生,尹敏.计算机通信网络中基于速率的端对端拥塞控制.通信学报, 2003,24(8).
  [3] 连云凯.高速网络的TCP拥塞控制策略及改进[D]. 广西师范大学,2007.
其他文献
在日常办公中要求对文档进行双面打印是很常见的,在打印机没有自带双面打印功能的情况下,如何既节约人力成本,又能快速实现双面打印呢?具体情况具体分析,一起看看在下面四种情况下的双面打印法。    一、在Word2007中快速实现双面打印    Word是目前最通用的办公软件,在Word2007中要实现双面打印是很简单的。单击Office按钮,在下拉菜单中单击选择“打印”,在“打印”对话框中单击勾选“手
期刊
本文针对近期爆发的“Flash”木马病毒给出解决方案,症状是:系统进程里常驻“aa.exe”或者“bb.exe”这样的病毒进程,并经常出现“z1.exe”、“z2.exe”、“z3.exe”等类似的病毒文件;360安全卫士无法启动,系统速度变慢,网络时断时续……    首先下载两个文件和一个工具:    (1) 干净的“explorer.exe”  下载地址:  http:// up1.zol.c
期刊
不管你遇到的是什么病毒,它想霸占你的系统,侵害你的文件,大部分都要在每次系统重启时将自己加入自动运行中,如果我们有方法让它丧失这个能力,那么你将远离大多数病毒木马。     改注册表就想自动运行,不行    病毒木马一般都通过修改注册表将自己设置为自动运行,我们可以针对它们修改的三种方式,来设置相应的三种对策:    (1) 设置注册表自启动项为everyone只读权限(Run、RunOnce、R
期刊
由于我换了块板子,原来的老系统可不能用了,连安全模式都进不去了,郁闷,于是,我便翻出了箱底的XP克隆盘,开始安装XP了。  克隆XP本是一件很简单的事情,可这回终于出了问题了,克隆进度到99%就不动了,我看进度条滞在那里足足有10分钟,无奈之下重启机器,令人郁闷的事情发生了:硬盘不能启动。  没关系,没关系,再来克隆一次不就OK了?于是又把光盘放入光驱启动,可是更另人郁闷的事情接着发生了:连光盘启
期刊
中国大陆地区的游戏玩家都有这样的烦恼,在一些由台湾和香港出品的游戏中,游戏内的繁体字在中文版Windows系统下会显示成乱码。这个困扰很多游戏玩家的问题,在Vista系统也依然存在。  面对这个问题,以前比较流行的解决方法有两个:  一个是安装“繁体中文版Windows操作系统”,这个方法是最直接、有效的了。但是由于大陆地区的用户平时用上繁体中文系统的次数比较少,显得有些不是很切合实际情况。此外,
期刊
SuperCache,也就是超级缓存,计算机的速度瓶颈主要在于机械硬盘的读写速度,SuperCache就是给硬盘的读写用高速内存来做缓存,是大内存机器的提速首选,服务器的必备利器。  工作原理(个人的理解,不正确请指出):对于SuperCache而言,硬盘上没有文件的概念,只是用户指定大小的一个一个小格子,例如32k,硬盘上某个小格子里面的内容被读取了,则被缓存在内存里面,下次还读这个小格子的时候
期刊
摘要:本文介绍了Microsoft Excel中一些应用技巧与方法。  关键词:Microsoft Excel;应用;技巧    在日常办公实践中,常常用到Microsoft Excel,运用其技巧,为办公提供方便,现将其应用技巧总结如下。  1.要应用非相邻单元格或单元格区域:先选定第一个单元格或单元格区域,按下Ctrl键再选择其他单元格或单元格区域。  2.应用大范围的单元格区域:单击单元格区
期刊
经常听到电脑使用者有这样的抱怨:怎么我打开电脑自检完后屏幕一直是黑的,要半天才有XP的界面出现?我的电脑干嘛进入系统这么慢?滚动条都转了十几圈还进不了系统。为什么我的XP出现桌面后几分钟之内点击任何程序都毫无反应?这些问题都可以归结为Windows XP启动慢。如何做才能加快系统的启动速度呢?   要想解决XP启动慢的问题,首先必须了解一下系统的启动过程。Windows XP的启动过程大致可分为5
期刊
1 序言  传统ERP系统是由MRP、闭环MRP、MRPII等企业管理理论发展而来的,主要注重了企业内部管理的改革和理论变迁,无法考虑到整个市场“价值链”给企业带来的影响和冲击,特别是Internet应用的革命性变化,为广大企业客户也为许多企业管理系统供应商带来新的挑战和机会。从技术的角度讲,ERP自身的发展基本经历了三个阶段:第一阶段是主机/工作站技术阶段;第二阶段是客户机/服务器技术阶段;第三
期刊
1 引言  随着计算机网络技术和互联网的飞速发展,网络攻击和入侵事件与日俱增,特别是政府部门、军事机构、金融机构、企业的计算机网络频遭黑客袭击。攻击者对那些没有安全保护的网络进行攻击和入侵,如进行拒绝服务攻击、从事非授权的访问、肆意窃取和篡改重要的数据信息、安装后门监听程序以便随时获得内部信息、传播计算机病毒、摧毁主机等等。受攻击系统问题主要表现在操作系统、网络服务、TCP/IP协议、应用程序(如
期刊