TCP协议中的流量控制和拥塞控制研究(毕业论文)
- 格式:doc
- 大小:265.00 KB
- 文档页数:46
计算机网络中的流量控制与拥塞调节研究1. 引言随着计算机网络的发展与普及,网络通信中的流量控制和拥塞调节问题变得日益重要。
流量控制和拥塞调节是网络中确保数据传输正常、高效运行的关键机制。
本文将深入探讨计算机网络中流量控制与拥塞调节的研究现状、挑战和最新进展。
2. 流量控制基础流量控制是一种机制,通过限制发送端发送的数据量,以适应接收端处理能力。
在计算机网络中,流量控制的目标是防止数据的发送速度高于接收方的处理速度,避免数据丢失或过载情况的发生。
常用的流量控制算法有滑动窗口、令牌桶等。
3. 流量控制研究现状近年来,随着网络带宽与速度的提升,传统的流量控制机制面临新的挑战。
首先,高速网络需要更精细的流量控制机制,以适应更高的数据传输速率。
其次,延迟要求较高的实时应用,例如视频会议、实时游戏等,对流量控制算法的设计提出了更高的要求。
同时,不断增长的网络规模和复杂度对流量控制策略的设计和实施造成了一定的挑战。
4. 拥塞调节基础拥塞调节是指在网络中出现拥塞时通过合理调节网络中的数据流量和资源分配来缓解拥塞状态,以保证网络的稳定性和吞吐量。
拥塞调节的关键是在发现拥塞发生时,快速地适应性地降低网络中的数据流量,避免拥塞的进一步扩大。
最常见的拥塞控制算法是TCP中的拥塞控制机制。
5. 拥塞调节研究现状由于计算机网络规模和使用人数的增加,网络中的拥塞问题越来越突出。
因此,针对拥塞调节的研究也日益重要。
当前研究的焦点主要集中在以下几个方面:5.1 拥塞控制算法的性能优化。
研究者通过改进TCP的拥塞控制算法,提高网络的吞吐量和传输效率,减少网络拥塞状态的发生。
例如,BIC(Binary Increase Congestion Control)、CUBIC等新的拥塞控制算法在网络延迟、拥塞避免等方面取得了显著进展。
5.2 拥塞检测与拥塞定位。
为了更准确地检测网络拥塞的发生,并找到拥塞的位置,研究者提出了一些新的拥塞检测和定位算法。
浅析Internet中的拥塞控制和流量控制前言计算机网络在当今社会生活中起到越来越重要的作用,其规模也成爆炸式的增长,应用也越来越广,但是随着人们对网络的要求越来越高,网络拥塞和数据冲突问题已经引起人们的密切关注。
拥塞控制和流量控制技术针对网路中的拥塞和数据冲突而成为网络领域的核心技术。
网络拥塞和流量控制的原理1.网络拥塞的含义网络拥塞指的是在分组交换网络中传送分组的数目太多时,由于存储转发节点的资源有限而造成网络传输性能的下降情况。
网络发生拥塞时,一般会出现数据丢失,时延加大,吞吐量下降,严重时甚至会导致“拥塞崩溃”的现象。
拥塞发生的主要原因在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间、链路带宽容量和中间节点处理能力,由于互联网是基于TCP/IP协议的网络,而TCP/IP 协议提供的是一种“尽力而为”的传输服务,互联网的这种机制导致其缺乏“接纳控制”能力,在网络资源不足时不能限制用户的数量,只能依靠降低服务质量来继续为用户服务。
1网络流量不均衡引起的拥塞$ns duplex-link $n0 $n2 2Mb 10ms DropTail$ns duplex-link $n1 $n2 2Mb 10ms DropTail$ns duplex-link $n2 $n3 2Mb 10ms DropTail如图所示为流量分布的不均衡,图中带宽分布是均衡的,节点0与节点2之间,节点1与节点2之间,节点2与节点3之间链路带宽都是2Mb,在0和1都以2Mb/s 的速率向2发送数据时,在2会发拥塞。
产生拥塞的主要原因:(1)存储空间不足。
当一个端口收到几个输入端口的报文时,接收的报文就会在这个端口的缓冲区中排队。
如果端口没有足够的存储空间存储,在缓冲区占满时,报文就会被丢弃,对突发的数据流更是如此。
适当增加存储空间在某种程度上可以缓解拥塞,但是如果过于增加存储空间,报文会因在缓冲区中排队时间过长而超时,源端会认为他们已经被丢弃而选择了重发,从而浪费了网络的资源,并且进一步加重了网络的拥塞。
通信协议中的流量控制和拥塞控制随着互联网的发展,通信协议成为了现代信息通信的基础。
在数据传输的过程中,流量控制和拥塞控制是两个至关重要的概念。
本文将详细介绍通信协议中的流量控制和拥塞控制的概念、原理和步骤。
一、流量控制的概念和原理1. 流量控制的定义和目的:流量控制是指在数据发送端和接收端之间控制数据传输速率的过程,其目的是确保发送方不会发送过多的数据使接收方无法处理。
2. 流量控制的方法:- 停止-等待流量控制:发送方发送一个数据包后,必须等待接收方确认后才能继续发送下一个数据包。
- 滑动窗口流量控制:接收方通过发送确认,等待发送方不断发送数据,而不是一个接一个地等待确认。
3. 流量控制的步骤:- 接收窗口的设定:接收方通过设定合适的窗口大小来告诉发送方可以接收的最大数据量。
- 发送窗口的判断:发送方通过比较接收方的窗口大小和发送方还未确认的数据量,判断是否可以继续发送数据。
- 窗口滑动:在每次接收到确认后,发送方将窗口位置向前滑动,继续发送新的数据。
二、拥塞控制的概念和原理1. 拥塞控制的定义和目的:拥塞控制是指在数据网络中防止数据量过大导致的拥塞现象,确保网络资源能够按照合理的速率进行数据传输。
2. 拥塞控制的方法:- 主动队列管理:通过 routers 管理数据包的排队,避免过多数据包在短时间内同时发送。
- 慢启动和拥塞避免:发送方在开始时以指数级别递增其发送速率,在网络负载增加后则以线性级别递增。
- 拥塞检测和快速恢复:发送方通过观察丢失的确认信息和超时来检测拥塞,并采取快速恢复策略。
3. 拥塞控制的步骤:- 慢启动:发送方以较低的速率开始发送数据,然后逐渐增加发送速率,直到网络出现拥塞。
- 拥塞避免:发送方在拥塞发生时,减小发送速率,以避免进一步加重网络拥塞。
- 快速恢复:当发送方检测到丢失的确认信息或超时,立即减小发送速率,并执行快速恢复算法来重新建立适当的发送速率。
三、流量控制和拥塞控制的差异:1. 目的不同:流量控制是为了保护接收方,避免接收方的缓冲区溢出,而拥塞控制是为了保护网络,避免网络过载。
通信协议中的流量控制与拥塞控制通信协议中的流量控制与拥塞控制是确保网络中数据传输效率和可靠性的重要措施。
流量控制用于调整发送方和接收方之间的数据传输速率,以确保接收方能够及时处理数据。
而拥塞控制则是为了避免网络拥塞,确保网络资源的有效利用。
1. 流量控制的基本原理- 流量控制的目的是调整发送方发送数据的速率,以匹配接收方接收数据的速率。
- 发送方通过发送窗口的方式控制发送数据量,接收方通过接收窗口的方式控制接收数据量。
- 发送方根据接收方发送的确认信息来控制发送窗口的大小,实现发送速率的动态调整。
2. 流量控制的具体机制- 停止-等待流量控制:发送方在发送数据后等待接收方的确认信息,发送下一批数据之前必须收到确认。
- 滑动窗口流量控制:发送方维护一个发送窗口,可以连续发送多个数据包而无需等待确认,但发送窗口的大小受限于接收窗口的大小。
3. 拥塞控制的基本原理- 拥塞控制的目的是避免网络中出现拥塞,并保持网络的稳定性和吞吐量。
- 拥塞控制通过调整发送方的发送速率和接收方的接收速率来实现。
- 拥塞控制的主要任务是检测拥塞的发生,并采取相应的措施来减缓传输速率。
4. 拥塞控制的具体机制- 慢启动:发送方初始以较慢的速率发送数据,然后逐渐加快发送速率。
- 拥塞避免:发送方根据网络状况动态调整发送速率,避免网络过载。
- 拥塞发生控制:当网络出现拥塞时,发送方将减速发送数据,并等待网络恢复后再逐渐增加发送速率。
5. 流量控制与拥塞控制的联系与区别- 流量控制和拥塞控制都是为了保证数据传输的效率,但目的略有不同。
流量控制是为了匹配发送方和接收方的速率,而拥塞控制是为了避免网络拥塞。
- 流量控制是点对点的,只涉及发送方和接收方之间的数据传输,而拥塞控制是全局的,涉及整个网络的拥塞情况。
- 流量控制是通过发送窗口和接收窗口来实现的,而拥塞控制则是通过调整发送速率和接收速率来实现的。
总结:通信协议中的流量控制和拥塞控制是保证网络性能和可靠性的重要措施。
计算机网络中的流量控制与拥塞控制计算机网络中的流量控制与拥塞控制是保证数据传输可靠性和网络性能的重要机制。
本文将从流量控制和拥塞控制的概念、原理、常见算法等方面进行论述,以帮助读者更好地理解和应用这些技术。
一、流量控制在计算机网络中,流量控制是为了防止发送方发送的数据速度过快,超过接收方处理能力而导致的数据丢失或网络拥塞的问题。
流量控制通过协商发送方和接收方之间的数据传输速率,确保数据能够在可接受的范围内进行传输。
1.1 滑动窗口协议滑动窗口协议是一种常见的流量控制机制,它通过设置发送方和接收方的窗口大小来控制数据流量。
发送方根据接收方发送的确认信息调整发送速率,并根据窗口大小决定发送的数据量。
接收方通过发送确认信息告知发送方已经成功接收了数据,以控制发送方的发送速率。
1.2 停等协议停等协议是一种简单的流量控制协议,它要求发送方发送一批数据后等待接收方的确认信息,只有收到确认信息后才能发送下一批数据。
停等协议能够有效防止数据丢失,但是发送方在等待确认的过程中会出现发送速率过慢的情况,降低了网络的传输效率。
二、拥塞控制拥塞控制是为了防止网络中的过量数据传输导致网络拥塞而采取的一系列策略和措施。
拥塞控制主要通过监测网络负载、调整数据发送速率和减少数据传输量等手段来保持网络的可用性和性能。
2.1 慢启动慢启动是一种常见的拥塞控制算法,它根据网络的拥塞程度来动态调整发送方的发送速率。
在开始发送数据时,发送方会以较低的速率开始发送,随着确认信息的返回,发送方会逐渐增加发送速率,直到网络出现拥塞,然后根据网络反馈信息调整发送速率。
2.2 拥塞避免拥塞避免是一种在网络中避免拥塞的策略。
在慢启动阶段结束后,发送方会进入拥塞避免阶段,以较慢的速率递增发送速率,避免造成网络的拥塞。
拥塞避免通过动态调整拥塞窗口大小来控制发送速率,以保持网络的稳定性。
2.3 拥塞检测拥塞检测是一种通过监测网络中的丢包情况来判断网络是否发生拥塞的方法。
通信网络中的数据流控制与拥塞控制算法随着互联网的迅速发展,人们对于数据传输的需求也越来越大。
为了保证通信网络的高效运行,数据流控制和拥塞控制算法成为了非常重要的课题。
本文将详细介绍数据流控制与拥塞控制算法的概念、原理、步骤以及一些常见的算法。
一、数据流控制算法数据流控制算法旨在确保发送方和接收方之间的数据传输速度适应接收方的处理能力,避免数据的丢失或过载。
数据流控制的原理是通过建立一个发送方和接收方之间的缓冲区,发送方根据接收方的反馈调整发送速率。
常见的数据流控制算法有以下几种:1. 停-等协议:发送方发送一个数据包后就停止发送,等待接收方确认。
接收方收到数据包后发送确认信号,发送方收到确认信号后继续发送下一个数据包,如此往复。
2. 滑动窗口协议:发送方设定一个发送窗口,在接收方确认一个数据包之前,可以连续发送多个数据包。
接收方收到数据包后发送确认信号,并更新接收窗口大小,发送方根据接收窗口的大小调整发送速率。
3. 停-等协议和滑动窗口协议的组合使用:在发送方和接收方之间设定一个窗口,用于控制数据发送的速度和接收的速度,以便实现数据传输的平衡。
二、拥塞控制算法拥塞控制算法用于控制网络中的流量,防止网络出现拥塞现象。
拥塞的发生是因为网络流量超过了网络的处理能力,导致数据的延迟和丢失。
拥塞控制的原理是通过监测网络的拥塞程度,减少数据发送的速率,以避免拥塞的发生。
常见的拥塞控制算法有以下几种:1. 慢开始:开始时,发送方每发送一个数据包后,等待一个确认信号。
接收到确认信号后,发送方增加窗口的大小,即发送数据包的速率逐渐增加。
当网络出现拥塞时,发送方减小窗口的大小,降低发送速率。
2. 拥塞避免:为了避免网络拥塞,发送方在每个往返时间内逐渐增加拥塞窗口的大小,即发送数据包的速率逐渐增加,直到出现拥塞为止。
当网络出现拥塞时,发送方减小拥塞窗口的大小,降低发送速率。
3. 快重传和快恢复:当发送方连续发送多个数据包后,接收方只收到部分数据包,并发送重复确认信号。
计算机网络中的流量控制与拥塞控制研究随着计算机和互联网技术的不断发展,计算机网络已经成为了我们日常工作和生活中不可或缺的一部分。
然而,一个高效的网络连接并不仅仅意味着网络速度快,还需要合理的流量控制和拥塞控制。
本文将对计算机网络中的流量控制和拥塞控制进行研究,并分析其对网络性能的影响。
一、流量控制在计算机网络中,流量控制是指调整传输数据的速率,使数据包发送者发送的数据包数量不超过接收方的处理能力。
流量控制的目的是防止接收器无法处理过多的包,从而导致包丢失。
流量控制可以通过限制传输速率或通过控制发送端窗口大小来实现。
1. 限制传输速率:在网络中,通常使用以下两种方式来限制传输速率:(1) 固定窗口大小:发送端发送的数据包数量在任何时候都不超过接收端的窗口大小。
(2) 滑动窗口大小:在网络传输过程中,发送端可以在一定范围内进行滑动窗口大小的调整。
2. 控制发送端窗口大小:发送端的窗口大小与接收端的窗口大小相匹配,这样可以在发送端和接收端之间建立一种平衡,从而确保数据包的正常传输。
二、拥塞控制拥塞控制是指在网络传输过程中,当网络拥塞时,通过限制数据包发送速率,防止拥塞的发生。
拥塞控制的目的是使网络流量在高峰期时,也能够以相对稳定的速度进行传输。
拥塞控制的方法有很多种,如:1. 慢启动算法:慢启动算法是在TCP连接刚建立时进行的。
发送方会初始化一个小的窗口大小,然后每次收到一个确认报文,就将窗口大小加倍,直到达到一个阈值,然后切换到拥塞避免状态,即按线性或对数递增的速度逐渐增加窗口大小。
2. 拥塞避免算法:拥塞避免算法是在慢启动完成后,当发送方发送大量数据包时,通过一种折中的方式来调整窗口大小,使得发送方在达到目标带宽时,不会导致网络拥塞。
3. 快速重传和快速恢复:当发送方发送的数据包在传输过程中不断重发,说明网络中出现了拥塞。
此时,可以通过快速重传和快速恢复算法,在一定程度上减少重传次数,从而减轻网络的负担。
网络测量中的拥塞控制和流量控制方法解析网络测量作为网络管理和优化的重要手段,涉及到众多的技术和方法。
其中,拥塞控制和流量控制是网络测量中两个重要的方面。
本文将对这两个方面进行解析,探讨其原理和常见的方法。
一、拥塞控制拥塞控制是指在网络中防止拥塞的发生,从而保证网络性能和服务质量。
在网络通信过程中,不同节点之间进行数据传输,当网络流量超过节点的处理能力时,就可能出现拥塞。
拥塞会导致网络延迟增加、数据丢失等问题,严重影响用户体验。
目前,常见的拥塞控制方法有TCP拥塞控制和基于流的拥塞控制。
TCP拥塞控制是通过调整发送端的发送速率来避免网络拥塞。
它使用滑动窗口机制,在发送数据时通过接收端的反馈信息调整发送速率,以控制网络负载。
而基于流的拥塞控制则是在网络中的每个流都进行独立的拥塞控制,以避免整个网络因某一个流的拥塞而受影响。
二、流量控制流量控制是指在网络中对数据流进行控制,以保证网络的稳定和高效。
在网络通信中,流量控制通过控制发送方的数据发送速率来避免网络拥塞和资源浪费。
它主要关注的是发送方和接收方之间的数据传输速率的匹配,以确保接收方能够及时处理接收到的数据。
在流量控制中,常见的方法有窗口控制和速率控制。
窗口控制通过调整发送方的发送窗口大小来控制数据发送速率。
发送方根据接收方给出的窗口大小,发送相应数量的数据包,以避免过量的数据拥塞网络。
而速率控制则是通过固定发送速率或根据网络状态动态调整发送速率,以适应网络的变化。
三、拥塞控制和流量控制的关系拥塞控制和流量控制在网络测量中是密不可分的。
拥塞控制主要关注的是网络整体负载情况,通过调整发送端的发送速率来避免网络拥塞。
而流量控制则是在数据传输过程中,保证发送方和接收方之间的数据传输速率匹配,以避免接收方的缓冲区溢出等问题。
拥塞控制和流量控制的目标是保证网络的稳定和高效。
通过拥塞控制,可以避免网络拥塞和数据丢失等问题,提高网络的可靠性和性能;而流量控制则是保证数据发送和接收的平衡,减少资源浪费。
通信协议中的流量控制和拥塞控制技术流量控制和拥塞控制是计算机网络中非常重要的技术,用于保证网络传输的稳定和高效。
流量控制是指在发送端和接收端之间调节发送速率,防止接收方无法处理过快的数据包;而拥塞控制是指在网络中控制数据的传输速率,以避免网络拥塞的发生。
本文将详细介绍通信协议中的流量控制和拥塞控制技术。
一、流量控制技术1. 滑动窗口滑动窗口是流量控制中常用的技术之一。
发送端和接收端都维护一个窗口大小,表示允许发送或接收的数据段数目。
发送端发送数据后,等待接收端发送确认信息,确认信息到达后,发送端可以向前滑动窗口,发送下一段数据。
2. 停止-等待协议停止-等待协议是一种简单的流量控制方式。
发送端发送一段数据后,等待接收端发送确认信息,确认信息到达后,发送下一段数据。
这种方式的局限性在于发送端需要等待确认信息,无法充分利用网络的带宽。
3. 固定窗口大小固定窗口大小是一种基于滑动窗口的流量控制方式。
发送端和接收端都维护一个固定的窗口大小,表示允许发送或接收的数据段数目。
接收端在收到数据后发送确认信息,发送端可以根据确认信息的到达速度调整窗口大小,以控制数据的发送速率。
二、拥塞控制技术1. 慢启动慢启动是一种拥塞控制的策略,它在发送数据时,先以较小的窗口大小开始发送,然后根据网络的拥塞情况逐渐增大窗口大小,直到网络拥塞发生。
这种方式使得发送端能够根据网络状况来控制发送速率,防止拥塞的发生。
2. 拥塞避免拥塞避免是慢启动的一种补充策略。
在拥塞避免阶段,发送端每次发送成功后,窗口大小增大的幅度会变得较小,以避免拥塞的出现。
这种方式通过减小窗口大小的增长速率,来控制发送速率,以便于网络的正常运行。
3. 快速重传和快速恢复快速重传和快速恢复是拥塞控制中的重要技术之一。
当发送端发现某个数据包丢失时,会立即进行重传,而不是等待超时再重传。
同时,接收端在收到重复的数据包后,会发送一个重复确认信息给发送端,发送端收到后即可进行快速恢复,将窗口大小减半,然后再逐渐增大。
毕业设计(论文) TCP协议中的流量控制和拥塞控制研究院别数学与统计学院专业名称信息与计算科学班级学号学生姓名指导教师年月日TCP协议中的流量控制和拥塞控制研究摘要计算机网络技术是当今发展最迅速的计算机技术之一,而保证网络稳定可靠运行的关键是计算机网络协议。
TCP协议作为网络协议中的核心协议之一,其重要性更是不言而喻,因而对于该协议的研究与完善是促进网络发展的重要手段之一。
随着互联网规模和互联网应用的快速增长,网络拥塞和数据冲突问题已引起人们密切的关注。
拥塞控制与流量控制技术针对网络中的拥塞和数据冲突而成为网络领域的核心技术。
其中流量控制的对象是接收端,目的是使发送端的发送速率不超过接收端的接收能力;拥塞控制的对象是网络环境,目的是使负载不超过网络的传送能力。
TCP的流量控制主要依赖于滑动窗口,通过流量约束,减少接收端出的数据流失,提高发送效率,充分利用接收端资源。
TCP的拥塞控制主要原理依赖于一个拥塞窗口(cwnd)来控制,窗口值的大小就代表能够发送出去的但还没有收到ACK的最大数据报文段,显然窗口越大那么数据发送的速度也就越快,但是也就越可能使得网络出现拥塞,如果窗口值为1,那么就简化为一个停等协议,每发送一个数据,都要等到对方的确认才能发送第二个数据包,显然数据传输效率低下。
TCP拥塞控制算法就是要在这两者之间权衡,选取最的cwnd值,从而使得网络吞吐量最大化且不产生拥塞。
本文首先对TCP协议的发展做了简要的概述,然后分析了TCP协议的报文段格式和结构,TCP的数据传输过程,接着讨论了TCP的流量控制机制,最后针对TCP 的重点部分拥塞控制进行了分析,讨论了几个TCP拥塞控制算法。
关键词:TCP协议,流量控制,拥塞控制The Flow Contral and Congestion Control in TCP ProtocolAuthor: EtvgbdTutor: 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 important, 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 and 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 object 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 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 sendout but not yet received the maximum data packet ACK Duan, clear window, so the greater the speed of data sent the faster, but also more 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 between 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 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 control目录1 绪论 (1)1.1 TCP的发展过程与设计目标 (1)1.1.1 TCP的发展过程 (1)1.1.2 TCP的设计目标 (1)1.2 论文结构 (2)2 TCP协议 (3)2.1 TCP的报文段 (4)2.1.1 TCP的报文格式 (4)2.1.2 TCP报文封装 (5)2.2 TCP的数据传输 (6)2.2.1 TCP连接的建立 (6)2.2.2 TCP连接的释放 (7)3 TCP协议中的流量控制 (8)3.1 滑动窗口 (8)3.2 可变窗口流量控制实例分析 (8)4 TCP的拥塞控制 (10)4.1 拥塞产生的原因 (10)4.2 重发定时器管理 (11)4.2.1 RTT的估算 (12)4.2.2 RTO的计算 (12)4.3 TCP 拥塞控制所采用的机制 (13)5 TCP拥塞控制算法 (17)5.1 TCP 的早期实现 (17)5.2 TCP Tahoe (17)5.3 TCP Reno算法 (17)5.4 TCP New-Reno (18)5.5 TCP SACK (19)5.6 TCP Vegas (20)结论 (22)致谢 (23)参考文献 (24)附录 (25)1 绪论计算机网络是计算机和通信密切结合的产物,近些年来得到了迅速的发展,已逐渐成为信息社会的基石。
网络协议是计算机中不可缺少的的一个重要组成部分,它是计算机和计算机之间以及计算机和其他设备之间进行数据通信的必要条件。
TCP协议作为重要的网络协议也是有了很大的发展。
1.1 TCP的发展过程与设计目标认识来源于实践,而认识的最终目标也正是服务于实践。
只有了解TCP的发展历史以及相应的设计目标,我们才能对TCP拥有较为全面的认识,从而更好地研究TCP 技术,满足越来越高的应用需求。
1.1.1 TCP的发展过程互联网最初源于美国国防部的ARPANET计划。
上世纪60年代中期正是冷战的高峰,美国国防部希望有一个命令和控制网络,以确保在核战争的条件下幸免于难,而传统基于电路交换的电话网络则过于脆弱。
国防部指定其下属的高级研究计划局解决这个问题,从而诞生ARPANET,其最大特点是采用无连接的端到端报文交换服务。
到了80年代中期,演变为互联网。
TCP协议最初只是作为NSFNET的程序规范,即RFC 793,这也是最早的较为完整且齐全的TCP规范。
这个规范简单描述了如何进行主机到主机的可靠传输,并描述了传输控制协议执行的功能,相应的实现程序及程序接口。
TCP协议在设计之初就被赋予了很高的使命,需要成为报文交换计算机网络和这些网络互联系统中的高可靠性传输协议。
需要明确的是,网络中的可靠传输包括两方面:首先是数据的正确,由于以前的传输介质质量很差,所以在传输层及以下各层协议中都实现了校验和计算;其次是数据的完整保序,这个特性需要TCP执行复杂的操作来实现,通常我们强调TCP的可靠传输时主要指后者。
1.1.2 TCP的设计目标在TCP设计之初,网络技术刚刚起步,相应的硬件设施只能达到很低的水平,应用需求也十分简单,诸多因素导致TCP协议的设计目标从开始就已经先天不足。
在设计TCP协议时,由于人们对网络,尤其是对大型互联网络缺乏本质的认识,从而遗漏了许多TCP协议应该具备的重要特征。