ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:204.90KB ,
资源ID:19978216      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19978216.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(TCP协议中的流量控制和拥塞控制研究毕业论文Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

TCP协议中的流量控制和拥塞控制研究毕业论文Word格式文档下载.docx

1、Tutor: RtvghhhAbstractComputer network technology is one of the most rapidly developing of computer technology today,and the computer network protocols is the key to ensure the network is stable and reliable operation. TCP protocol, as one of the core protocols of the network protocol,is vary import

2、ant, so to research and improve the protocol is one of the important means to promote the development of the network. With the rapid growth of Internet scale and the Internet application, network congestion and data conflict problem has aroused the concern of the people closely. Congestion control a

3、nd flow control technology, according to the theory of network congestion and data conflict has become the core technology in the field of network. The flow control object is the receiver, the purpose is to make the sending rate does not exceed the capacity at the receiving end. Congestion control o

4、bject is the network environment, the purpose is to make the transfer of a loaded with no more than the network capacity.TCP flow control is mainly depended on the sliding window, by flow constraints, and reduce the loss of data at the receiving end, to improve the transmission efficiency, make full

5、 use of the receiver.The main principle of TCP congestion control relies on a congestion window (cwnd) to control the window size value represents the ability to send out but not yet received the maximum data packet ACK Duan, clear window, so the greater the speed of data sent the faster, but also m

6、ore likely to make the network congestion occurs, if the window is 1, then reduced to a stop such agreement, each sending a data, must wait for confirmation of the other party can send a second packet, the data clearly transmission efficiency is low. TCP congestion control algorithm is to balance be

7、tween these two, choose the best cwnd value, allowing the network to maximize throughput and does not create congestion.Firstly, the development of the TCP protocol a brief overview, and then analyzed the structure of TCP protocol, TCP data transfer process, followed by a discussion of the TCP flow

8、control mechanism, the key part of the final for the TCP congestion control are analyzed, discussed Several TCP congestion control algorithm.Key Words :TCP protocol, Flow control,Congestion control1 绪论 11.1 TCP的发展过程与设计目标 11.1.1 TCP的发展过程 11.1.2 TCP的设计目标 11.2 论文结构 22 TCP协议 32.1 TCP的报文段 42.1.1 TCP的报文格式

9、 42.1.2 TCP报文封装 52.2 TCP的数据传输 62.2.1 TCP连接的建立 62.2.2 TCP连接的释放 73 TCP协议中的流量控制 83.1 滑动窗口 83.2 可变窗口流量控制实例分析 84 TCP的拥塞控制 104.1 拥塞产生的原因 104.2 重发定时器管理 114.2.1 RTT的估算 124.2.2 RTO的计算 124.3 TCP 拥塞控制所采用的机制 135 TCP拥塞控制算法 175.1 TCP 的早期实现 175.2 TCP Tahoe 175.3 TCP Reno算法 175.4 TCP New-Reno 185.5 TCP SACK 195.6 T

10、CP Vegas 20结 论 22致 谢 23参考文献 24附 录 251 绪论计算机网络是计算机和通信密切结合的产物,近些年来得到了迅速的发展,已逐渐成为信息社会的基石。网络协议是计算机中不可缺少的的一个重要组成部分,它是计算机和计算机之间以及计算机和其他设备之间进行数据通信的必要条件。TCP协议作为重要的网络协议也是有了很大的发展。1.1 TCP的发展过程与设计目标认识来源于实践,而认识的最终目标也正是服务于实践。只有了解TCP的发展历史以及相应的设计目标,我们才能对TCP拥有较为全面的认识,从而更好地研究TCP技术,满足越来越高的应用需求。1.1.1 TCP的发展过程互联网最初源于美国国

11、防部的ARPANET计划。上世纪60年代中期正是冷战的高峰,美国国防部希望有一个命令和控制网络,以确保在核战争的条件下幸免于难,而传统基于电路交换的电话网络则过于脆弱。国防部指定其下属的高级研究计划局解决这个问题,从而诞生ARPANET,其最大特点是采用无连接的端到端报文交换服务。到了80年代中期,演变为互联网。TCP协议最初只是作为NSFNET的程序规范,即RFC 793,这也是最早的较为完整且齐全的TCP规范。这个规范简单描述了如何进行主机到主机的可靠传输,并描述了传输控制协议执行的功能,相应的实现程序及程序接口。TCP协议在设计之初就被赋予了很高的使命,需要成为报文交换计算机网络和这些网

12、络互联系统中的高可靠性传输协议。需要明确的是,网络中的可靠传输包括两方面:首先是数据的正确,由于以前的传输介质质量很差,所以在传输层及以下各层协议中都实现了校验和计算;其次是数据的完整保序,这个特性需要TCP执行复杂的操作来实现,通常我们强调TCP的可靠传输时主要指后者。1.1.2 TCP的设计目标在TCP设计之初,网络技术刚刚起步,相应的硬件设施只能达到很低的水平,应用需求也十分简单,诸多因素导致TCP协议的设计目标从开始就已经先天不足。在设计TCP协议时,由于人们对网络,尤其是对大型互联网络缺乏本质的认识,从而遗漏了许多TCP协议应该具备的重要特征。例如,我们现在熟知的拥塞控制,在最初协议

13、设计中就没能得到体现。 TCP最初的设计目标只是在进程间提供可靠、安全的逻辑链路,并在此基础之上提供可靠的传输服务。需要强调的是,TCP对网络并不做任何假设,它的主要功能就是提供可靠的逻辑链路。为了能够在不可靠的网络上进行可靠的通信,协议必须提供如下功能:能够进行基本的数据传输、保证数据的可靠性、进行适当的流量控制、维护通信状态的集合、使用并行多路技术以及保证通信的优先级 和安全性。1.2 论文结构本文主要围绕下列问题展开研究:1TCP的结构和数据传输过程2TCP的流量控制机制3TCP的拥塞控制与拥塞控制算法2 TCP协议TCP 协议是目前互联网上应用最广泛的传输层协议。它主要提供端到端可靠的

14、字节流传送服务。TCP 是一个面向连接的协议,即在端系统进行数据传输之前要建立连接,连接属于全双工方式(即数据可以在两个方向上同时进行传输)。TCP 在不可靠的IP 网络层上提供可靠的数据传输服务,即所有被传输的数据最终都应到达接收端。在TCP 中,接收端对其所接收的每一个分组都进行确认,在一定时间范围内没有得到确认的分组会被发送方重新进行发送。接收端如果收到一个重复的分组,将会丢弃该分组,如果收到乱序的分组,则对这个分组进行重新排序。每个分组都会有自己对应的序列号,发送方可以通过分组确认报文获得接收端所希望接收的下一个分组的序列号。当通信双方均有数据要发送时,TCP 可以将确认信息放在数据分

15、组中发送以减少控制信息带来的额外流量。TCP协议对数据单元的传输及重传策略,对于网络的拥塞状况有着深刻的影响。概括来说,TCP 协议为应用层提供了以下服务:1流交付服务:TCP 协议允许发送进程以字节流的形式来传递数据,而接收进程也把数据作为字节流来接收。这样,TCP 协议使得两个进程好像在一个假想的“管道”中传送两个进程的数据。2全双工服务:即数据可在同一时间双向流动。每一个TCP 端系统都有发送缓存和接收缓存,而两个方向都可以发送报文段。3面向连接服务:TCP 通过一条虚拟连接来传送数据。当TCP 报文被封装成IP 分组后,每一个分组可以走不同的路径来到达目的端,因此收到的IP 分组可能会

16、乱序,可能会丢失,或者受到损伤,并可能经过重传。但是TCP 创建了面向流的环境,它负责按顺序将完整的数据交付给应用程序。4流量控制:流量控制定义了发送端在收到从接收端发来的确认之前可以发送的数据量。TCP 协议在缓存上定义了一个窗口,缓存是用来暂时存放从应用程序传递来并准备发送的数据,TCP 发送端就根据这个窗口的大小来发送数据。这就是所谓的滑动窗口机制。5差错控制:TCP 是可靠的传输层协议,这就表示,当应用程序把数据流交付给IP 层后,TCP协议应当把数据流按顺序,没有差错,没有损伤地交付给另一个应用程序。为了实现差错控制,TCP 协议采用了以下几种机制:检测受到损伤的、丢失的、失序的和重

17、复的数据包;在检测到差错后,能够纠正差错。6拥塞控制:互联网由许多网络和连接设备组成。发送端发送的分组要经过多个路由器后才能到达最后的接收端。路由器为了保证链路的利用率,一般都会提供缓存来暂时存储突发到达的分组,但是当路由器接收过多的分组时,就可能导致路由器缓冲区溢出,即该路由器节点发生拥塞,部分分组就会被丢弃。当发送端重传这些分组时,会造成更加严重的拥塞,以致于使网络瘫痪。因此我们必须在端系统采用一些拥塞控制机制来保证网络不会发生拥塞,同时又能充分利用网络的链路资源。TCP协议采用了慢启动,拥塞避免等算法来对网络拥塞进行控制,从而在一定程度上保证网络的稳定运行。2.1 TCP的报文段2.1.

18、1 TCP的报文格式TCP 软件在两台计算机之间传输的数据单元称为报文段(segment)。通过报文段的交互来建立连接、传输数据、发出确认、通告窗口大小及关闭连接。图2.1表示出了TCP 报文段的格式,每个报文段分为两个部分:首部和数据。报文段既可以用来建立连接,也可以运载数据和应答。TCP源端口号(16位)TCP目标端口号(16位)序列号(32位)确认序列号(32位)首部长度(4位)保留(6位)URGACKPSHRSTSYNFIN窗口大小(16位)校验和(16位)紧急指针(16位)选项和填充数据区图2.1 TCP报文段格式TCP报文段首部固定部分各字段的意义如下:源端口和目的端口:各占2个字

19、节,是传输层与高层的接口。序列号:占4字节,是本报文段所发送的数据部分第一个字节的序号。在TCP输送的数据流中,每一个字节都有一个顺序号。例如,在一个报文段中,序号为300,而报文中的数据为100字节,那么,在下一个报文段中,其顺序号就是400。由此可见,TCP是面向数据流的。确认序列号:占4字节,是期望收到对方下次发送数据的第一个字节的序号。首部长度:占4bit,它指出以32bit 为单位的TCP 报文段首部的长度。在首部字段后面是6bit的保留字段,是为将来的应用而保留的,目前置为0。紧急比特URG:当URG = 1时,表明此报文段应该尽快发送,而不要按照原来的排队顺序发送。它通常与紧急指

20、针(位于第5个32bit 字段中的后一半)配合使用,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。紧急指针使接收方可以知道紧急数据共有多长。需要注意的是,即使窗口大小为0时也可发送紧急数据。确认比特ACK:只有当ACK = 1时确认序号字段才有意义。当ACK = 0时,确认序号无意义。急迫比特PSH:当PSH = 1时,表明请求远地TCP将本报文段立即传送给其应用层,而不要等整个缓冲区都填满之后再向上交付。复位比特RST:当RST = 1时,表明出现严重差错,必须释放连接,然后再重新建立连接。同步比特SYN:在连接建立时使用。当SYN = 1而ACK = 0时,表明这是一个连接请求报

21、文段。对方若同意建立连接,则应在发回的报文段中使SYN = 1和ACK = 1。因此SYN置为1,就表示这是一个连接请求或连接接受报文,而ACK 比特的值用来区分是哪一种报文。终止比特FIN:用来释放一个连接。当FIN = 1时,表明欲发送的字节串已经发完,并请求释放传输层连接。窗口:占2字节。窗口字段提供端到端的流量控制,它表示在确认了字节之后还可以发送多少个字节。此字段值为0是合法的,表示它已经收到了包括确认号减1(即己发送的所有报文段)在内的所有报文段,但当前接收方急需暂停。之后通过发送一个带有相同确认号和滑动窗口字段非零值的报文段来恢复原来的传输。校验和:校验和字段覆盖的范围包括首部、

22、数据和概念上的伪TCP首部之和。选项和填充:为可选部分,用于TCP具体选项。填充的作用是确保首部大小是一个32位的整倍数。2.1.2 TCP报文封装如图2.2所示,TCP报文段封装在IP数据报中,然后再封装成数据链路层中的帧,并通过物理层传输到数据的接收端,在接受端数据链路层剥去帧的首部,然后送到接收端的网络层,剥去IP首部再发送到传输层,所剩下的就是发送段的TCP报文段。图2.2 报文段的封装2.2 TCP的数据传输2.2.1 TCP连接的建立TCP以全双工的方式传输数据。当两个机器重的两个TCP建立连接候,他们都能够同时向对方发送报文段。这就表示,在任何数据传输之前,每一方都必须对通信进行

23、初始化,并得到对方的认可,即TCP的连接。TCP的连接建立称为“三次握手。1.客户发送第一个报文段,SYN报文段,在这个报文段中只有SYN标志置1。这个报文段的作用是使序号同步。客户端选择一个随机数SEQ作为第一序号,并把这个序号发给服务器。2.服务器发送第二个报文段,即SYN+ACK报文段,其中有两个标志置为l。这个报文段有两个目的,一个是使用SYN同步初始序号,另一个是服务器使用ACK标志确认已经从客户端收到的SYN报文段,同时给出期望从客户端收到的下一个序号。3.客户端发送第三个报文段。这仅仅是一个ACK报文段。它使用ACK标志和确认号字段来确认收到了第二个报文。实例分析: 图2.3 T

24、CP连接的建立下面我们以主机A和主机B两个应用程序为例来分析。如图2.3所示。这个过程从服务器开始。主机A告诉它的TCP,它已经准备好接受连接,这叫做被动打开。主机B发送请求叫做主动打开。A的TCP向B的TCP发出连接请求报文段,其首部中的同比特SYN应置1,同时选择一个序号X,我们选取X = 800,表明在后面传输数据的第一个数据字节的序号是X+1,即为801。B的TCP收到连接请求报文段后,如同意则发回确认。在确认报文段中将SYN和ACK都置1,确认号为X+1,即为801,同时为自己选择一个序号Y,令Y = 1500。A的TCP收到B的确认后,要向B给出确认,其ACK置1,确认号为Y+1,

25、即为1501,自己的序号为X+1,为801。2.2.2 TCP连接的释放参加交换数据的双方的任何一方都可以关闭连接。当一方向的连接被终止时,另一方还可以继续向对方发送数据。建立一个连接需要三次握手,终止连接要经过四次握手。图2.4 TCP连接的释放如图2.4所示,主机A的应用进程先向其TCP发送连接释放请求,并且不再发送数据。TCP通知对方要释放从A到B这个方向的连接,将发往主机B的TCP报文段首部的FIN置1,其序号X等于前面已传送过的数据的最后一个字节的序号加1,为X = 1001。主机B的TCP收到释放链接通知后发出确认,其序号为Y = 1700,确认号为X+1,即1002,同时通知高层

26、应用进程,应用进程通知TCP释放连接。B发出的连接释放报文段必需将FIN和ACK置1,并使其序号仍为Y,重复上次发送的ACK = X+1。A对此确认,将ACK置1,ACK=Y+1 = 1701,自己的序号是X+1为1002。3 TCP协议中的流量控制如果发送端发送的数据过多或者数据发送速率过快,致使接收端来不及处理,则会造成数据在接收端的丢弃。为了避免这种现象的发生,通常的处理办法是采用流量控制,即控制发送端发送的数据量及数据发送速率。时期不超过接收端的承受能力,这个能力主要指接收端的缓存和数据处理速度。流量控制是与点到点的通信量有关的,是针对端系统中资源受限而设置的。主要解决快速发送方与慢速

27、接收方的问题。流量控制的目的是在有限的接收端承受能力的情况下,通过流量约束,减少接收端出的数据丢失,提高数据发送效率,充分利用接收端资源。3.1 滑动窗口TCP的特点之一是提供体积可变的滑动窗口机制,支持端到端的流量控制。TCP的窗口以字节为单位进行调整,以适应接收方的处理能力。处理过程如下:首先,在TCP连接阶段,双方协商窗口尺寸,同时接收方预留数据缓冲区;其次,发送方根据协商的结果,发送符合窗口尺寸的数据字节流,并等待对方的确认;最后,发送方根据确认信息,改变窗口的尺寸。图3.1 滑动窗口图3.1表示发送窗口为400字节,发送端已发送300字节的数据,但是只收到对前100字节的确认,同时窗

28、口的大小不变,现在发送端还可以发送200字节。3.2 可变窗口流量控制实例分析设主机A向主机B发送数据,如图3.2所示,双方规定窗口值是400。再设每一个报文段是100字节长,序号的初始值为1。主机B进行3次流量控制,第一次将窗口减少为300字节,第二次减为200字节,最后一次减为08字节,即不允许发送数据。图3.2 可变窗口流量控制4 TCP的拥塞控制拥塞是一种持续过载的网络状态,此时用户对网络资源(缓存空间、链路带宽容量和中间节点的处理能力等)的需求超过了其固有的容量。网络的性能(功率、往返时间RTT、吞吐量)与负荷的关系可以用图4.1来说明。可以看出当负荷较小时,网络吞吐量和资源功率(资

29、源功率吞吐量/响应时间)随负荷的增长的以指数增长,RTT随负荷的增长略有上升,当负荷到达膝点时,功率到达最大值,在此之后吞吐量的增长远远慢于负荷的增长,RTT迅速上升,功率快速下降,若继续增长负荷,则存在丢包的可能。负荷到达崖点时,吞吐量达到最大值,功率到达最小值。RTT以指数增长,系统处于拥塞状态。膝点指资源功率到达最大值的负荷量。崖点指资源功率下降到最小值且开始丢包时的负荷量。因此膝点是最为理想的工作点,拥塞控制就是采用某种策略或机制,保持网络工作在正常的状态下,也就是使网络经常工作在崖点左侧的区域内。若一种控制机制使得网络工作在膝点附近,该方法称为拥塞避免;若一种控制机制使网络工作在崖点或崖点以后的网络回复至膝点前后,该方法称为拥塞恢复。图4.1 网络性能与负荷之间的关系4.1 拥塞产生的原因随着通信和计算机技术的成熟和发展,互联网规模的增长,网络用户和网络应用都在快

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1