TCP协议中的流量控制和拥塞控制研究毕业论文.doc
《TCP协议中的流量控制和拥塞控制研究毕业论文.doc》由会员分享,可在线阅读,更多相关《TCP协议中的流量控制和拥塞控制研究毕业论文.doc(40页珍藏版)》请在冰豆网上搜索。
毕业设计(论 文)
TCP协议中的流量控制和拥塞控制研究
院别
数学与统计学院
专业名称
信息与计算科学
班级学号
学生姓名
指导教师
年月日
毕业设计(论文)第V页
TCP协议中的流量控制和拥塞控制研究
摘要
计算机网络技术是当今发展最迅速的计算机技术之一,而保证网络稳定可靠运行的关键是计算机网络协议。
TCP协议作为网络协议中的核心协议之一,其重要性更是不言而喻,因而对于该协议的研究与完善是促进网络发展的重要手段之一。
随着互联网规模和互联网应用的快速增长,网络拥塞和数据冲突问题已引起人们密切的关注。
拥塞控制与流量控制技术针对网络中的拥塞和数据冲突而成为网络领域的核心技术。
其中流量控制的对象是接收端,目的是使发送端的发送速率不超过接收端的接收能力;拥塞控制的对象是网络环境,目的是使负载不超过网络的传送能力。
TCP的流量控制主要依赖于滑动窗口,通过流量约束,减少接收端出的数据流失,提高发送效率,充分利用接收端资源。
TCP的拥塞控制主要原理依赖于一个拥塞窗口(cwnd)来控制,窗口值的大小就代表能够发送出去的但还没有收到ACK的最大数据报文段,显然窗口越大那么数据发送的速度也就越快,但是也就越可能使得网络出现拥塞,如果窗口值为1,那么就简化为一个停等协议,每发送一个数据,都要等到对方的确认才能发送第二个数据包,显然数据传输效率低下。
TCP拥塞控制算法就是要在这两者之间权衡,选取最的cwnd值,从而使得网络吞吐量最大化且不产生拥塞。
本文首先对TCP协议的发展做了简要的概述,然后分析了TCP协议的报文段格式和结构,TCP的数据传输过程,接着讨论了TCP的流量控制机制,最后针对TCP的重点部分拥塞控制进行了分析,讨论了几个TCP拥塞控制算法。
关键词:
TCP协议,流量控制,拥塞控制
TheFlowContralandCongestionControlinTCPProtocol
Author:
Etvgbd
Tutor:
Rtvghhh
Abstract
Computernetworktechnologyisoneofthemostrapidlydevelopingofcomputertechnologytoday,andthecomputernetworkprotocolsisthekeytoensurethenetworkisstableandreliableoperation.TCPprotocol,asoneofthecoreprotocolsofthenetworkprotocol,isvaryimportant,sotoresearchandimprovetheprotocolisoneoftheimportantmeanstopromotethedevelopmentofthenetwork.
WiththerapidgrowthofInternetscaleandtheInternetapplication,networkcongestionanddataconflictproblemhasarousedtheconcernofthepeopleclosely.Congestioncontrolandflowcontroltechnology,accordingtothetheoryofnetworkcongestionanddataconflicthasbecomethecoretechnologyinthefieldofnetwork.Theflowcontrolobjectisthereceiver,thepurposeistomakethesendingratedoesnotexceedthecapacityatthereceivingend.Congestioncontrolobjectisthenetworkenvironment,thepurposeistomakethetransferofaloadedwithnomorethanthenetworkcapacity.
TCPflowcontrolismainlydependedontheslidingwindow,byflowconstraints,andreducethelossofdataatthereceivingend,toimprovethetransmissionefficiency,makefulluseofthereceiver.
ThemainprincipleofTCPcongestioncontrolreliesonacongestionwindow(cwnd)tocontrolthewindowsizevaluerepresentstheabilitytosendoutbutnotyetreceivedthemaximumdatapacketACKDuan,clearwindow,sothegreaterthespeedofdatasentthefaster,butalsomorelikelytomakethenetworkcongestionoccurs,ifthewindowis1,thenreducedtoastopsuchagreement,eachsendingadata,mustwaitforconfirmationoftheotherpartycansendasecondpacket,thedataclearlytransmissionefficiencyislow.TCPcongestioncontrolalgorithmistobalancebetweenthesetwo,choosethebestcwndvalue,allowingthenetworktomaximizethroughputanddoesnotcreatecongestion.
Firstly,thedevelopmentoftheTCPprotocolabriefoverview,andthenanalyzedthestructureofTCPprotocol,TCPdatatransferprocess,followedbyadiscussionoftheTCPflowcontrolmechanism,thekeypartofthefinalfortheTCPcongestioncontrolareanalyzed,discussedSeveralTCPcongestioncontrolalgorithm.
KeyWords:
TCPprotocol,Flowcontrol,Congestioncontrol
目录
1绪论 1
1.1TCP的发展过程与设计目标 1
1.1.1TCP的发展过程 1
1.1.2TCP的设计目标 1
1.2论文结构 2
2TCP协议 3
2.1TCP的报文段 4
2.1.1TCP的报文格式 4
2.1.2TCP报文封装 5
2.2TCP的数据传输 6
2.2.1TCP连接的建立 6
2.2.2TCP连接的释放 7
3TCP协议中的流量控制 8
3.1滑动窗口 8
3.2可变窗口流量控制实例分析 8
4TCP的拥塞控制 10
4.1拥塞产生的原因 10
4.2重发定时器管理 11
4.2.1RTT的估算 12
4.2.2RTO的计算 12
4.3TCP拥塞控制所采用的机制 13
5TCP拥塞控制算法 17
5.1TCP的早期实现 17
5.2TCPTahoe 17
5.3TCPReno算法 17
5.4TCPNew-Reno 18
5.5TCPSACK 19
5.6TCPVegas 20
结论 22
致谢 23
参考文献 24
附录 25
毕业设计(论文)第34页
1绪论
计算机网络是计算机和通信密切结合的产物,近些年来得到了迅速的发展,已逐渐成为信息社会的基石。
网络协议是计算机中不可缺少的的一个重要组成部分,它是计算机和计算机之间以及计算机和其他设备之间进行数据通信的必要条件。
TCP协议作为重要的网络协议也是有了很大的发展。
1.1TCP的发展过程与设计目标
认识来源于实践,而认识的最终目标也正是服务于实践。
只有了解TCP的发展历史以及相应的设计目标,我们才能对TCP拥有较为全面的认识,从而更好地研究TCP技术,满足越来越高的应用需求。
1.1.1TCP的发展过程
互联网最初源于美国国防部的ARPANET计划。
上世纪60年代中期正是冷战的高峰,美国国防部希望有一个命令和控制网络,以确保在核战争的条件下幸免于难,而传统基于电路交换的电话网络则过于脆弱。
国防部指定其下属的高级研究计划局解决这个问题,从而诞生ARPANET,其最大特点是采用无连接的端到端报文交换服务。
到了80年代中期,演变为互联网。
TCP协议最初只是作为NSFNET的程序规范,即RFC793,这也是最早的较为完整且齐全的TCP规范。
这个规范简单描述了如何进行主机到主机的可靠传输,并描述了传输控制协议执行的功能,相应的实现程序及程序接口。
TCP协议在设计之初就被赋予了很高的使命,需要成为报文交换计算机网络和这些网络互联系统中的高可靠性传输协议。
需要明确的是,网络中的可靠传输包括两方面:
首先是数据的正确,由于以前的传输介质质量很差,所以在传输层及以下各层协议中都实现了校验和计算;其次是数据的完整保序,这个特性需要TCP执行复杂的操作来实现,通常我们强调TCP的可靠传输时主要指后者。
1.1.2TCP的设计目标
在TCP设计之初,网络技术刚刚起步,相应的硬件设施只能达到很低的水平,应用需求也十分简单,诸多因素导致TCP协议的设计目标从开始就已经先天不足。
在设计TCP协议时,由于人们对网络,尤其是对大型互联网络缺乏本质的认识,从而遗漏了许多TCP协议应该具备的重要特征。
例如,我们现在熟知的拥塞控制,在最初协议设计中就没能得到体现。
TCP最初的设计目标只是在进程间提供可靠、安全的逻辑链路,并在此基础之上提供可靠的传输服务。
需要强调的是,TCP对网络并不做任何假设,它的主要功能就是提供可靠的逻辑链路。
为了能够在不可靠的网络上进行可靠的通信,协议必须提供如下功能:
能够进行基本的数据传输、保证数据的可靠性、进行适当的流量控制、维护通信状态的集合、使用并行多路技术以及保证通信的优先级和安全性。
1.2论文结构
本文主要围绕下列问题展开研究:
1.TCP的结构和数据传输过程
2.TCP的流量控制机制
3.TCP的拥塞控制与拥塞控制算法
2TCP协议
TCP协议是目前互联网上应用最广泛的传输层协议