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

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

类别:毕业论文  时间:2024-04-29   已浏览: 3227 次
摘要 本文就数据流在拥塞控制方面的发展进行了研究,在介绍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、实用简历的实用打造秘诀 对于即将迈出校门的大学生来说,面对他们的将是新的课题与挑战。 校园招聘大战在初入十月就已经露出端倪,十月中旬以来,许多企业都开始走进校园召开宣讲会,进一步扩大了招聘的宣传攻势。众多的大四学子们也在精心

3、应届生的幸福在哪里? 《今日说法》“小撒探会” 记者撒贝宁赴江苏苏州,跟随大四女生李博硕一起,感受大学毕业生找工作的酸甜苦辣,采访两会代表委员们,探寻解决大学生就业难的办法举措。   “初上战场” 求职遇挫   李博硕

4、企业招聘,为何不要“最好”的员工 在网上看到一篇文章,这篇文章指出,很多招聘主管宁愿招聘“最适合”的员工,也不录用“最好”的员工。因为,他们通过以前的招聘实践发现,“最好的”员工的确能胜任工作,但在管理过程中总是鹤立鸡群,不好管理,而

5、职场性情中人,利还是弊? 性情中人,一般来说是很得大家喜爱的。有一副真诚之心的人,谁能不喜欢呢? 性情中人,这四个字,拆开来看。性,其实应该是本性吧!是真的意思;情呢,大约是感情丰富,感受力强的意思;中人,则应该联在一起,是

6、英语教育论文:新思想新观念新教法 一、随着改革开放的进一步深入和社会主义市场经济体制的逐步建立,中国与世界的联系和交流越来越向纵深发展,这就对外语、特别是英语提出了越来越高的要求,同时,对外语教学也提出了挑战。传统的以语法为中

7、2010年最新硕士毕业生自我介绍范文 本文提供一篇最新硕士毕业生自我介绍范文,关于最新硕士毕业生自我介绍范文的详细内容如下。您好,我是来自黑龙江大学光学专业的应届硕士毕业生,师从黑龙江大学光学专业蔡喜平教授。我想申请的职位是贵校的物理教师

8、制作电子简历的最佳方法 现在网络招聘方便又快捷,流行做电子简历,如何能让简历吸引招聘者的眼球,其实利用网上招聘找工作,做电子简历,也是大势所趋.如果电子要突出重点,得做到以下几点:   要仔细检查已成文的电子简历 ,绝对不

9、HR判定简历合格的标准   求职者简历会被从以下方面进行筛选:   一、首先查看客观内容(结合招聘职位要求)   主要包括个人信息、受教育程度、工作经历和个人成绩四方面。   (个人信息包括姓名、性别、年龄、学历等;受教育程

10、企业招聘对情侣档“Say NO” 毕业在即,象牙塔中的爱情和即将步入的职场,该向左走还是向右走?情侣们面临毕业后工作的“鸭梨”大不大?近日,记者在佛山智通人才市场现场招聘会上,频频发现手牵手找工作的情侣,并且大部分情侣希望能进