首页 >> 职场知识>> 毕业论文                                                                    

计算机应用论文:基于TCP的拥塞控制技术研究

类别:毕业论文  时间:2024-04-29   已浏览: 3097 次
摘要 本文就数据流在拥塞控制方面的发展进行了研究,在介绍TCP基本机制的基础上,对TCP拥塞控制的改进机制进行了讨论,探讨了网络拥塞出现的原因及TCP拥塞控制的基本策略,论述了TCP拥塞控制的改进方案,并提出了其进一步的研究方向。
关键词:TCP 拥塞控制 重传 重传超时
RESEARCH ON CONGESTION CONTROL SCHEMES OF TCP
(Abstract: This paper first introduces the basic congestion control mechanism of TCP,and discusses the problems such as improvement and the congestion control of TCP.The problems in TCP include avoiding unnecessary retransmit timeouts,undoing unnecessary congestion control,explicit congestion notification,and data corruption notification.It has also put forward the research direction further.
Key words:TCP;congestion control;retransmit;retransmission timeout
1. 引言
TCP是Internet上通用的传输层协议之一,是目前应用最广泛的传输控制协议,其核心是拥塞控制机制。基于Internet的交换机的通信信道、处理速度及缓冲存储空间通常是网上所有主机共享的资源,也是网络系统潜在的瓶颈。随着信源主机数以及信源业务端业务量的不断增多,瓶颈处就有可能发生资源竞争,从而导致网络拥塞。TCP的一个重要组成部分是执行拥塞控制和拥塞恢复的算法集合。TCP拥塞控制算法的目标是最大限度利用网络带宽,同时不产生数据流传输中的拥塞现象。因此,自从上个世纪80年代出现第一次拥塞崩溃以来,TCP拥塞控制策略就在不断地进行完善和改进。
2. 传统的TCP拥塞控制机制
传统的TCP中的拥塞控制机制主要是基于Van Jacobson提出的"慢启动"算法、"拥塞避免"算法和一个用于估计周转RTT(round trip time)的算法。
慢启动算法通过观察到新分组进入网络的速率应该与另一端返回确认的速率相同而进行工作。慢启动为发送方的TCP增加了另一个窗口:拥塞窗口(congestion window), 记为cwnd。当与另一个网络的主机建立TCP连接时,拥塞窗口被初始化为1个报文段(即另一端通告的报文段大小)。每收到一个ACK,拥塞窗口就增加一个报文段(cwnd以字节为单位,但是慢启动以报文段大小为单位进行增加)。发送方取拥塞窗口与通告窗口中的最小值作为发送上限。拥塞窗口是发送方使用的流量控制,而通告窗口则是接收方使用的流量控制。发送方开始时发送一个报文段,然后等待ACK。当收到该ACK时,拥塞窗口从1增加为2,即可以发送两个报文段。当收到这两个报文段的ACK时,拥塞窗口就增加为4,这是一种指数增加的关系。在某些点上可能达到了互联网的容量,于是中间路由器开始丢弃分组。拥塞避免算法是一种处理丢失分组的方法。该算法假定由于分组受到损坏引起的丢失是非常少的(远小于1%),因此分组丢失就意味着在源主机和目的主机之间的某处网络上发生了拥塞。有两种分组丢失的指示:发生超时和接收到重复的确认。拥塞避免算法和慢启动算法是两个目的不同、独立的算法。但是当拥塞发生时,我们希望降低分组进入网络的传输速率,于是可以调用慢启动来作到这一点。在实际中这两个算法通常在一起实现。1990年出现的TCP Reno版本增加了"快速重传"算法、"快速恢复"算法,避免了当网络拥塞不够严重时采用"慢启动"算法而造成过大地减小发送窗口尺寸的现象。
3. 拥塞控制的四个阶段
a.慢启动阶段(slow start):发送方一开始便向网络发送多个报文段,直至达到接收方通告的窗口大小为止。当发送方和接收方处于同一个局域网时,这种方式是可以的。但是如果在发送方和接收方之间存在多个路由器和速率较慢的链路时,就有可能出现一些问题。一些中间路由器必须缓存分组,并有可能耗尽存储器的空间。
b.拥塞避免阶段(congestion avoidance):当发现超时或收到3个相同ACK确认帧时,则表示有丢包事件,此时网络已发生拥塞现象,此时要进行相应的拥塞控制。将慢启动阈值设置为当前拥塞窗口的一半;如检测到超时,拥塞窗口就被置为l。如果拥塞窗口小于或等于慢启动阈值,TCP重新进人慢启动阶段;如果拥塞窗口大于慢启动阈值,TCP执行拥塞避免算法。
c.快速重传阶段(fast retransmit):当TCP源端收到到三个相同的ACK副本时,即认为有数据包丢失,则源端重传丢失的数据包,而不必等待RTO超时。同时将ssthresh设置为当前cwnd值的一半,并且将cwnd减为原先的一半。
d.快速恢复阶段(fast recovery) :当"旧"数据包离开网络后,才能发送"新"数据包进入网络,即同一时刻在网络中传输的数据包数量是恒定的。如果发送方收到一个重复的ACK,则认为已经有一个数据包离开了网络,于是将拥塞窗口加1。
4. 对传统TCP拥塞控制机制的发展及改进
4.1 对慢启动的改进  
慢启动(slow start)算法通过逐渐增加cwnd的大小来探测可用的网络容量,防止连接开始时采用不合适的发送量导致网络拥塞。然而有时该算法也会浪费可用的网络容量,因为慢启动算法总是从cwnd=l开始,每收到一个ACK,cwnd增加l,对RTT时间长的网络,为使cwnd达到一个合适的值,需要花很长的时间,特别是网络实际容量很大时,会造成浪费。为此可采用大的初始窗口,大的初始窗口避免了延迟ACK机制下单个报文段初始窗口的等待超时问题,缩短了小TCP流的传输时间和大延迟链路上的慢启动时间。
在慢启动阶段,在每个RTT时间内,cwnd增加一倍,这样当cwnd增加到一定的值时,就可能导致以网络能够处理的最大容量的2倍来发送数据,从而淹没网络。Hoe建议使用packet-pair算法和测量RTT来为ssthresh估计合适值,以此来适时地结束慢启动阶段。但是由于受各方面干扰,估算合理的ssthresh值并不容易,因此这个方法的效果是有限的。而Smooth-start较为平滑地从慢启动过渡到拥塞避免阶段,减少了报文段丢失和突发通讯量,提高了TCP拥塞控制的性能。
4.2 对重传与恢复的改进
为了避免不必要的重传超时,有人提出了一种受限传输机制:如果接收方的广播窗口允许的话,发送方接收到一个或者两个重复的ACK(acknowledgment)后,继续传输新的数据报文段。受限的传输机制允许具有较小窗口的TCP连接进行错误恢复,而且避免了不必要的重传。
有很多情况下,数据报文段并没有丢失,但TCP发送方可能会误判数据报文段丢失,然后调用拥塞控制规程减少拥塞窗口的大小。比如当重传定时器过早溢出时,发送方在重传数据报文段时不必要地减少了拥塞窗口,而这时并没有数据报文段丢失。如果是由于数据报文段的重新组织而不是数据报文段丢失,而导致3个重复的确认,同样会导致发送方不必要地在快速重传数据报文段后减少拥塞窗口。
如果TCP的发送方在重传数据报文段一个RTT后发现接收方接收到了重传数据报文段的两个拷贝,则可以推断重传是不必要的。这时,TCP的发送方可以撤销对拥塞窗口的减少。发送方可以通过将慢启动门限增加到原始值,调用慢启动规程使拥塞窗口恢复原先值。除了恢复拥塞窗口,TCP发送方还可以调整重复确认门限或者重传超时参数来避免由于多次不必要的重传而浪费带宽。
4.3 对公平性的改进 
在拥塞避免阶段,如果没有发生丢包事件,则TCP发送方的cwnd在每个RTT时间内大约可以增加一个报文段大小,但这样会造成具有不同RTT时间或窗口尺寸的多个连接在瓶颈处对带宽竞争的不公平性,RTT时间或窗口小的连接,相应的cwnd增长速度也相对缓慢,所以只能得到很小一部分带宽。
要解决上述问题,可以通过在路由器处使用公平队列和TCP友好缓存管理来进行控制以增加公平性。然而如没有路由器的参与,要增加公平性,就要求TCP发送端的拥塞控制进行相应的改变,在拥塞避免阶段使共享同一资源的各个TCP连接以相同速度发送数据,从而确保了各个连接间的公平性。
5. 结论
该文在研究和分析各种基于TCP的数据流拥塞控制算法和参考有关文档的基础上,对以TCP为核心的拥塞控制机制进行了发展和改进,这些改进将使TCP的性能在不同的网络中取得更好的性能。其中避免不必要的重传超时、撤销不必要的拥塞控制等是随着网络技术的发展而对TCP的改进,它们通过不同的方式改进了TCP的性能,具有更广泛的适应性。
参考文献
[1]STEVENS W.TCP slow start,congestion avoidance,fast retransmit,and fast recovery algorithms[EB/OL].RFC2001,1997-01.
[2]ALLMAN M,BALAKRISHNAN H,FLOYD S.Enhancing TCP’s loss recovery using limited transmit[EB/OL].RFC3042,2001-01.
[3]计算机通信网络中基于速率的端对端拥塞控制 谭连生,尹敏 通信学报 Vol.24 No.8 August 2003.
[4]罗万明,林闯,阎保平。TCP/IP拥塞控制研究[J]..计算机学报,2001,24(1),1-18
[5]TCP拥塞及控制 薛德黔 机械与电子 Vol.55.No.5.2003
[6]TCP的发展与改进 彭伟刚  江苏通信技术 Vol.19.No.3.June.2003

相关文章阅读

1、你把工作和生活混为一谈了么?   职业侵占生活,正在成为我们的生活之殇。这是转型期社会的集体症状,不分性别,不分阶层,工作第一、生活第二,作为职场潜规则被规定下来。我们之中的每一位,几乎都在经历着这一切。身边也不乏让我们震撼的见证

2、伦理道德专业论文:“伦理化”的汉语基督教与基督教的伦理意义——基督教伦理在中国文化语境中的可能性及其 “伦理”或“道德”之谓(Ethics or Morality),在中文与西文中均可作两个层面上的解释,即:内在的价值理想或者外在的行为规范。而在基督教与中国文化的实际碰撞中,由于“至简、至圆”、“阴助

3、打造英文简历基本原则 和一般中文履历的表现方式稍有不同,就整体来说,一份能够积极展现个人特色、优点以及潜力的英文履历是比较容易得到主试者青睐的。不过要注意的是国内外商公司的主管毕竟通常是台湾人,过分夸张卖弄的语气还

4、大学生村官“创业先锋”的先进事迹 近日,级索镇前韩村村主任助理李浩创办了鲁班天工木艺有限公司,自主开发的鲁班锁不仅弘扬了班墨传统文化,而且该产品成为枣庄滕州“二日游”市场上的抢手货。这是市委组织部和级索镇党委政府的第一个大学生

5、大学生合伙创业的秘诀 对于那些身在象牙塔而心系创业“江湖”的大学生而言,来自亲历江湖的前辈们的忠告应该是最中肯、最有帮助的。且看“开拓者”们开出的秘方:   秘方一:创业不等于做老板   前辈们一致认为,创业的概念

6、2010年高校教师自荐信范文 学高为师,身正为范。优秀的思想素质和扎实的专业知识是对教师的基本要求。为了成为一名优秀的人民教师,我自己付出了艰辛的努力。思想方面,我积极进取,不断向上,为人师表,大学的集体生活培养了我正直无

7、大学生想创业 先摸清门道 2010年8月10日,合肥大学生创业一条街开业,可不到两个月,这条年轻的创业街就遭遇停业整顿,19名大学生摊主被取消经营权。 2011年2月21日,记者再次走访大学生创业一条街,创业街

8、计算机理论专业论文:基于LINUX操作系统的防火墙技术及其具体实现 摘要 本文介绍了LINUX下常用的防火墙规则配置软件Ipchains;从实现原理、配置方法以及功能特点的角度描述了LINUX防火墙的三种功能;并给出了一个LINUX防火墙实例作为参考。 关键字

9、杜拉拉是如何造就的 没想到,一本《杜拉拉升职记》的诞生让“杜拉拉”其人火爆职场,这本书更被誉为“比盖茨的故事更值得参考”的职场指南。 杜拉拉本身没有特别好的教育背景,更没有过多的社会经验,她普通得就如同你我。身为一名普通

10、朋友的面试杀手锏 现在的面试官越来越狡猾,为了招聘到合格满意的人才,不少企业面试官挖空心思,绞尽脑汁,在面试中设计了许多刁钻的问题,有意刁难求职者,借此做出判断取舍。 而我的一个朋友面对各类面试官却从来不会觉得紧张、心