基于TCP端口的拥塞控制算法研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:weihan0533
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着计算机网络的快速发展,人们对网络资源的要求也越来越高,尤其是近年来如语音,图像等多媒体流在网络上大量涌现,网络拥塞问题也随之变得严重,而网络拥塞也一直是计算机网络研究的重点和热点问题之一。该文将阐述目前基于TCP/IP协议的几种典型拥塞控制算法,并指出其优缺点,同时给出两种拥塞控制方法的比较。
  关键词:拥塞控制;TCP/IP协议
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2165-02
  Based on TCP Port Congestion Control Algorithm
  LIANG Feng
  (College of Computer, Chongqing University of Posts and Telecommunications, Chongqing 400065, China)
  Abstract: With the rapid development of computer networks, network resources on the requirements of increasingly high, especially in recent years, such as voice, video streaming, and other multi-media network in a large number of network congestion has become a serious problem, and Network congestion has been the focus of research computer network and one of the hot spots. This article is currently based on TCP/IP protocol of the typical congestion control algorithms, and pointed out its strengths and weaknesses, both at the same time give congestion control methods.
  Key words: congestion control; TCP/IP protocol
  
  1 引言
  
  网络拥塞是当今计算机网络中一个比较突出和严重的问题,拥塞控制便显得极为重要。当用户对网络资源的需求大于网络本身所提供的资源时就发生拥塞。其表现为数据包分组延时增加,丢弃数增多,上层应用性能下降等[1]。TCP源端的拥塞控制算法一般都包括四个过程[2-3],即慢启动阶段,拥塞避免,快速重传和快速恢复。其基础就是加性增和乘性减(AIMD: additive-increasemultiplicative-decrease)。
  慢启动阶段:为了防止在启动一个连接时向网络发送过多的数据包而造成不必要的数据丢失和网络拥塞,所以在刚建立连接时,发送方将拥塞窗口(cwnd)的大小设置为一个TCP段的最大字节数(mss),若发送方获得一个来自接收方的对已接收的数据应答ACK时,则cwnd增加一个报文段,即cwnd=cwnd+mss。可见cwnd将随往返时间(RTT)呈指数增长。
  拥塞避免: 随着发送窗口的不断增大,当发送方收到3个相同的ACK确认或收到的ACK超时时,则网络将发生拥塞(TCP这一假设是基于:由传输引起的数据包破坏和丢失的概率很小,小于1%),此时就进入拥塞避免。慢启动阈值ssthresh将被设置为当前cwnd的一半。再当数据包发生超时,cwnd被置为1,如果cwndssthresh,则cwnd执行拥塞避免算法,即cwnd在每次收到一个ACK确认时只增加1/cwnd个数据包( 这里假定资料包的大小为1)。可见cwnd是按线性方式增长。
  快速重传和快速恢复:当接收方收到3个或以上重复ACK就认为该数据包丢失,马上重传该数据包,并将阈值ssthresh设为当前发送窗口(cwnd)的一半进入快速重传,有利于提高吞吐量。而不需要等到重传定时器超时才重传,且重传时将发送窗口cwnd设置为1,进入慢启动阶段,这样过大的减小发送窗口,降低了吞吐量。
  
  2 基于窗口的TCP拥塞控制存在的问题和改进
  
  公平性问题:在Internet中存在有连接的TCP和无连接的UDP在发生拥塞时会采用不同的措施。TCP采用了拥塞控制机制,当发送端收到的ACK超时或3个相同的ACK时,就认为网络发生拥塞,同时采取相应的拥塞控制策略。最直观的是减少源端发送数据包数,以缓解拥塞。而无连接的UDP没有采用拥塞控制机制,当发生拥塞时,由于没有采用拥塞控制,源端不会减少数据包发送,这样UDP会占用更多的网络资源,而TCP则相应获得越来越少的网络资源,形成网络资源分配的不公平,资源分配的不公平反过来又进一步加重网络拥塞,甚至导致拥塞崩溃。
  恢复时间长:高带宽下,源端为获得较高的单流吞吐量,必须保持一个较大的拥塞窗口。然而产生拥塞时,目前TCP拥塞避免算法中的窗口调节机制,需要较长的恢复时间,不能有效地利用可用带宽,严重降低了网络资源的利用率。
  随着网络多媒体流的不断增加,TCP拥塞控制的公平性问题显得十分突出,就此有很多网络研究者提出了一些改进算法,比较著名的TCP Westwood,TCPW协议的关键思想在于TCP发送端通过检测返回的确认帧(ACKS)的速度来持续测量网络有效带宽,在发送端自适应修改拥塞窗口的控制算法,与在发生拥塞时根据AIMD的盲目执行拥塞窗口相比,在一个拥塞事件发生时,TCPW具有更快的恢复机制——端到端可用带宽的计算与估计来自适应地设置一个与发生拥塞时有效带宽一致的慢启动阈值和cwnd,并且对随机抖动不敏感,有利于多媒体流的传播。
  基于公式的拥塞控制,其原理是通过一个丢失事件率等为参数的公式来计算发送速率上限,发送方以此公式的计算结果为依据来对自身的发送速率进行调整,并保证发送速率不会超过这个值——目的是改进TCP数据流的剧烈抖动性。Padhye等人提出的较为合理的公式:
  
  其中s是TCP的报文大小,l是丢失率,t0是超时时间,b为一个应答所接收到的报文的报文数,一般为2,tRtt为往返时间。
  TFRC(TCP Friendly Rate Control)算法采用Padhye提出的TCP平均速率计算公式作为拥塞控制公式,其目的是使TFRC流与TCP流在相同环境下强占带宽的能力相同,从而能使TCP流公平竞争。
  
  3 基于网络端的拥塞控制
  
  目前,基于网络端的拥塞控制主要是先进先出(FIFO)的丢尾(Drop Tail)算法,称为被动队列管理(Passive queue management,),该算法容易产生全局同步、死锁、满队列问题。所以就有了主动队列管理策略 (Active queue management):通过主动的丢弃或标记分组来维持一个稳定的队列目标长度,达到减小排队时延和保证较高吞吐量的目的。
其他文献
摘要:以《计算机图形学》这门课程为例,介绍多媒体CAI课件在计算机教学中的应用。文章重点论述了基于Authorware的多媒体教学软件的设计思路和交互式功能、ActiveX控件、知识对象等关键技术的实现。经过教学实践,该课件取得了较好的效果。  关键词: CAI;多媒体;Authorware;交互式;计算机  中图分类号:TP37文献标识码:A文章编号:1009-3044(2008)35-2067
期刊
摘要:模型检查工具SPIN的核心是PROMELA语言,对PROMELA语言执行方式的理解决定所描述系统模型的行为方式。该文从语义角度研究了 PROMELA语义引擎问题。首先给出PROMELA语法的抽象对象模型形式化定义,然后给出一个算法来实现PROMELA语法到抽象对象模型的映射,描述 了PROMELA指称语义。  关键词:模型检查;SPIN;PROMELA;语义  中图分类号:TP315文献标识
期刊
摘要:针对Lab Windows/CVI中的DataSocket技术和NI网络变量只能手工、静态分配采集端资源的问题。该文设计和实现了一个基于虚拟仪器的网络通信平台,使得多个客户端可以同时和多个采集端进行通信,并动态的申请和释放采集端资源。  关键词:Lab Windows/CVI;远程测控;动态资源分配  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2138
期刊
摘要:随着互联网时代的到来,网上答疑、在线考试等手段逐渐被采用;B/S结构比C/S结构具有简单、容易实现等优点;基于B/S结构,并采用ASP,NET技术,本文阐述了设计和实现教学辅助系统的过程。  关键词:B/S;ASP,NET;网上答疑;在线考试  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2008)01-100187-04
期刊
摘要:该文主要对Web前端开发中经常使用的浏览器端脚本语言JavaScript进行分析,讨论了其中闭包技术的使用,并结合IE浏览器中内存占用情况分析了不当使用闭包技术造成的内存泄漏情况及避免方法。  关键词:JavaScript;闭包;IE浏览器;内存泄漏  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)35-2134-03  Closure in JavaScrip
期刊
摘要:文章在Linux台式机上实现了AP(Access Point)及其扩展功能,并在同一台主机上架设apache服务器,用perl语言编写CGI程序,使用户可以通过HTML页面远程配置主机,从而实现对AP功能的调整。简单的配置页面,降低了用户对Linux操作系统专业知识掌握程度的要求。实验在模拟现有AP产品功能的同时,增加了不需重新启动服务器,直接完成配置修改的功能,测试结果表明,这个改动提高了
期刊
摘要:该文主要探讨了Web Services的安全性问题以及解决方案。简要介绍了Web Services安全技术,提出了实现Web Services安全性的具体实现方案:包括利用用户名/密码来设定访问权限;对客户端IP地址进行过滤;以及使用加密数据传输方式来实现Web Services的安全。  关键词:Web Services;Tomcat;Servlet;SSL协议  中图分类号:TP393文
期刊
摘要:研究基于介质访问控制协议(MAC)的分布式争用问题的主要焦点就是设计有效的具有高吞吐量性能的MAC协议。该文提出在无线局域网中基于MAC协议的有效争用方法,即改良的冲突解决算法(DCR)。该算法主要做了以下几方面的改良和创新:对所有现用网点主动的分配补偿时间,提高解决冲突的速度;当确定固定数量的连续空闲时间片被探测到时,对成功包传输的站点使用较小的争用窗口,以指数级速度减少补偿时间片和减少空
期刊
摘要:模拟退火算法是一种随机搜索算法,可应用于许多前提信息很少的问题,能渐进地收敛于全局最优解。指派问题是组合优化问题中的一种,可用模拟退火算法来解此问题。模拟退火算法解决指派问题时,需要考虑实现此算法的技术问题,例如解的形式,初始温度的计算,邻域的生成方式,解的接受和舍弃,内外循环的中止条件等。在VB编程环境下,实现了该算法的求解过程。实例仿真表明了该方法能够以一定的概率跳出局部最优而实现全局寻
期刊
摘要:针对无线ad hoc网络不能提供数据流优先级区分的问题,本文提出了一种基于802.11 DCF退避算法的改进机制,该机制通过设置不同的MAC层最小竞争窗口来实现数据流的区分服务,使发送高优先级数据流(如实时数据流)的节点更容易连接信道,从而使高优先级数据流占有更多带宽资源。数学分析表明,该策略能有效的提高高优先级数据流的传输性能。  关键词:802.11DCF; 区分服务; 马尔科夫链模型;
期刊