拥塞控制方法
tcp进行流量控制的方法

tcp进行流量控制的方法TCP (Transmission Control Protocol) 是一种可靠的协议,用于在计算机之间传输数据。
TCP 可以在网络中通过流量控制来保证数据的传输质量和系统性能。
它可以慢慢地将数据传送到接收方的缓冲区,以保证数据传输的平稳和有效。
在本文中,我们将探讨 TCP 进行流量控制的方法。
TCP 根据接收端可用缓存容量的大小,调整数据的发送速度。
当接收端的缓存满载时,TCP 会发出一个通知,告诉发送端需要降低发送的数据速度。
这样可以避免网络拥塞,提高数据传输的效率和性能。
TCP 实现了两种流量控制机制:滑动窗口和拥塞控制。
一、滑动窗口滑动窗口是 TCP 流量控制的一个重要特征。
它控制了 TCP 协议中数据的发送速率和接收端的处理速率之间的平衡。
TCP 使用一个滑动窗口来跟踪网络中允许发送多少数据块。
滑动窗口大小由接收方控制,并且接收方会根据其可用缓存的大小来调整窗口的大小。
每当接收方成功地接收了一些数据时,他会通知发送方,发送方可以发送新的数据块。
如果接收方的可用缓存已满,发送方就会停止发送新数据,直到接收方有更多的空间可用。
滑动窗口是动态调整的,因此它可以自适应不同的网络环境和数据流。
二、拥塞控制拥塞控制是 TCP 协议另一个重要的流量控制特征。
网络拥塞会导致数据丢失、网络延迟和数据包的乱序发送等问题,从而影响数据传输的效率和性能。
TCP 通过拥塞控制机制来避免这些问题。
拥塞控制是通过发送窗口大小进行调整来实现的。
如果检测到网络拥塞,TCP 会降低发送的速度,并且减少窗口的大小。
当拥塞消失后,TCP 将逐渐增加窗口的大小,以恢复正常的数据传输速率。
TCP 的拥塞控制有四种算法:1. 慢启动算法慢启动算法是 TCP 拥塞控制的一种算法。
在开始数据传输时,TCP 会将发送窗口大小设置为一个很小的值,然后逐步增加该值以使数据传输速度能够逐步增加。
这样可以避免一开始就发送大量的数据,导致网络拥塞。
TCP的流量控制和阻塞控制

TCP的流量控制和阻塞控制流量控制和阻塞控制实例:可以⽤⼀个例⼦来说明这种区别。
设某个光纤⽹络的链路传输速率为1000Gbit/s。
有⼀台巨型计算机向⼀台个⼈电脑以1Gbit/s的速率传送⽂件。
显然,⽹络本⾝的带宽是⾜够⼤的,因⽽不存在产⽣拥塞的问题。
但流量控制却是必须的,因为巨型计算机必须经常停下来,以便使个⼈电脑来得及接收。
(流量控制)但如果有另⼀个⽹络,其链路传输速率为1Mbit/s,⽽有1000台⼤型计算机连接在这个⽹络上,假定其中的500台计算机分别向其余的500台计算机以100kbit/s的速率发送⽂件。
那么现在的问题已不是接收端的⼤型计算机是否来得及接收,⽽是整个⽹络的输⼊负载是否超过⽹络所能承受的。
(阻塞控制)TCP流量控制1.什么是流量控制? 所谓的流量控制就是让发送⽅的发送速率不要太快,让接收⽅来得及接受。
2.什么⽅式进⾏流量控制? a.利⽤滑动窗⼝机制可以很⽅便的在TCP连接上实现对发送⽅的流量控制。
b.TCP的窗⼝单位是字节,不是报⽂段,发送⽅的发送窗⼝不能超过接收⽅给出的接收窗⼝的数值。
滑动窗⼝机制⽰意图:1.设A向B发送数据。
在连接建⽴时,B告诉了A:“我的接收窗⼝rwnd = 400”(这⾥rwnd表⽰recevier window)。
2.发送⽅的发送窗⼝不能超过接收⽅给出的接收窗⼝的数值,请注意,TCP的窗⼝单位是字节,不是报⽂段。
3.再设每⼀个报⽂段为100字节长,⽽数据报⽂段序号的初始值设为1(图中第⼀个箭头上⾯的序号为seq=1。
从1开始,data⾥有100个字节的数据。
)4.图中箭头上⾯⼤写ACK表⽰⾸部中的确认位ACK(应答标识,表⽰接收到信息),⼩写ack表⽰确认字段的值(表⽰接收到了哪些具体的数据)。
a.接收⽅的主机N进⾏了三次流量控制,第⼀次把窗⼝减⼩到rwnd =300。
b.第⼆次⼜减⼩到rwnd = 100。
c.最后减到rwnd = 0,即不允许发送⽅再发⽣数据了。
tcp数据传输的拥塞控制中的快重传算法和快恢复算法

tcp数据传输的拥塞控制中的快重传算法和快恢复算法一、TCP数据传输中的拥塞控制TCP协议是一种可靠的传输协议,它通过拥塞控制机制来保证网络的可靠性和稳定性。
在TCP数据传输过程中,如果网络出现拥塞,就会导致数据包丢失或延迟,从而影响数据传输的效率和质量。
因此,TCP 协议需要通过拥塞控制机制来避免网络拥塞,并确保数据传输的顺利进行。
二、快重传算法快重传算法是TCP协议中常用的一种拥塞控制算法,它主要用于解决网络中出现丢包现象时的重传问题。
当一个发送方发现自己发送了一个分组后没有收到对应的确认消息时,它会认为该分组已经丢失,并立即重新发送该分组。
但是,在某些情况下,接收方其实已经正确地接收了该分组,并向发送方发送了确认消息。
这时,如果发送方继续重复发送该分组,就会导致网络拥塞。
快重传算法通过检测是否连续收到3个相同序号的确认消息来判断是否出现了丢包现象。
如果出现了丢包,则立即重发该分组,并不等待超时时间到达再进行重传。
这样可以避免网络拥塞,并提高数据传输的效率。
三、快恢复算法快恢复算法是TCP协议中另一种常用的拥塞控制算法,它主要用于解决网络中出现拥塞窗口减小时的问题。
当网络出现拥塞时,TCP协议会将拥塞窗口减小,并重新开始慢启动过程。
但是,在某些情况下,网络并没有真正出现拥塞,而是由于其他原因导致了数据包丢失或延迟,这时重新开始慢启动过程会导致数据传输效率降低。
快恢复算法通过检测是否连续收到3个相同序号的确认消息来判断是否出现了拥塞窗口减小的情况。
如果出现了该情况,则将拥塞窗口增加1,并进入快恢复状态。
在快恢复状态下,TCP协议会继续发送数据包,并等待接收方发送确认消息。
如果连续收到3个相同序号的确认消息,则说明网络已经恢复正常,TCP协议会退出快恢复状态,并将拥塞窗口设置为新的值。
四、总结快重传算法和快恢复算法是TCP协议中常用的拥塞控制算法,它们可以有效地避免网络拥塞,并提高数据传输的效率。
数据中心技术的网络流量调度方法(二)

数据中心技术的网络流量调度方法随着云计算技术的迅猛发展,数据中心扮演着日益重要的角色。
作为存储和处理海量数据的核心地方,数据中心的网络流量调度成为了一项极其关键的任务。
本文将介绍一些常见的数据中心网络流量调度方法,以及它们在解决网络拥塞、提高网络性能和节约能源等方面的优势与挑战。
一、可变带宽调度方法可变带宽调度方法是一种基于流量波动的动态调度技术。
它允许网络在不同时间段内根据实际需求自适应地调整带宽利用率,从而在高峰期和低谷期间实现较好的网络性能。
该方法通过分析历史数据和预测未来的流量变化,根据需求调整数据中心各个子系统的运行状态,以最大限度地提高网络带宽利用率。
但可变带宽调度方法存在一定的挑战。
首先,要准确地预测网络流量的波动和变化趋势并不是一件容易的事情。
其次,需要实时监控和调整数据中心的各个子系统,这对系统的稳定性和可靠性提出了较高的要求。
此外,在网络拥塞的情况下,调度算法可能导致部分流量被丢弃或延迟,影响用户体验。
二、网络拥塞控制方法网络拥塞控制是数据中心网络调度的核心问题之一。
拥塞控制方法旨在通过合理的资源调度和数据包调度策略,有效降低网络拥塞程度,并保证数据中心内的各项服务正常运行。
在数据中心网络拥塞控制中,最常见的方法是基于传输控制协议(TCP)的拥塞控制机制。
TCP拥塞控制机制用于监测网络的拥塞状态,并根据拥塞程度调整数据包的发送和接收速率。
这种方法通过动态调整数据包传输速率,避免突发的高流量情况导致网络拥堵,并确保网络的高效稳定运行。
然而,TCP拥塞控制机制存在一些问题,例如网络传输的时延、吞吐量等。
因此,许多研究人员致力于改进拥塞控制机制,包括提出新的调度算法、优化网络拓扑以及使用智能算法进行网络拥塞的预测和控制等。
三、能量感知流量调度方法随着全球能源危机的加剧,节能已经成为了数据中心建设和运营中的一大挑战。
为了解决这一问题,研究人员提出了能量感知流量调度方法。
该方法通过分析数据中心网络中不同节点的能耗情况,并结合网络流量需求,调整数据中心网络中各个节点的工作状态,以实现能耗的降低。
基于流量预判的校园选课网络拥塞控制方法

i sa t n o s i ce s e d n y o it b t n a d n te e ,c n c u e d t it b t n u i r t sp o e . h r d — n t n a e u n ra e tn e c fd sr u i n o v n a a s a a dsr u i n f mi i o r r T e t i i o i o o y a t n a u e w r l cie c u s y t m r a e n CS s u t r , n f h ev rd t o r e n d y a c d t i a c mp sn t o k e e t o re s se a e b s d o t c u e a d i t e s re aa s u c o e d n mi aa ol v r t n miso s to c n rl e , a a s n tn a e u aa q a t y h s s a e , e d n o te n t r O re a d c l r s s in i o e t i d c n c u e i s t n o sd t u n i a o r d l a i g t h ewo k C U s n o — a az a t
T ruht o rd t n jdecan l o ogso vlS soraz e a u e okcn et ntpcn hgg ef wpei i ,u g h n e f wcnet nl e Oa t elet mp s t r o gso o — hl co l i e , i h c nw i a
高速公路路段流量预测与拥堵控制

高速公路路段流量预测与拥堵控制摘要:随着人口增长和车辆拥有量的增加,高速公路的拥堵问题日益严重。
为了解决这一问题,需要对高速公路路段的流量进行准确预测,并采取相应的拥堵控制措施。
本文将介绍高速公路路段流量预测的方法和拥堵控制的策略。
引言:高速公路是城市交通中重要的干线,畅通的高速公路对于改善交通拥堵、促进经济发展至关重要。
然而,由于人口增长、经济发展和汽车普及率的提高,高速公路拥堵问题日益凸显。
因此,对高速公路路段的流量进行准确预测,并采取科学有效的拥堵控制措施,是保障交通畅通的重要手段。
一、高速公路路段流量预测方法1. 数据采集高速公路路段的流量预测需要大量的实时交通数据作为基础,包括交通流量、车速、车道利用率等。
常用的数据采集方式有传感器、车牌识别系统、摄像头等。
同时,还可以借助移动智能设备和车载导航系统获取交通数据。
2. 数据处理与分析采集到的交通数据需要经过处理和分析,以提取有用的信息。
常用的数据处理方法有数据清洗、数据预处理和数据挖掘等。
数据清洗主要是对采集到的原始数据进行去噪和纠错;数据预处理涉及数据归一化、特征选择和特征变换等;数据挖掘则可以运用机器学习、数据挖掘算法等方法,建立交通流量预测模型。
3. 构建预测模型高速公路路段的流量预测可以利用统计学方法、时间序列分析、人工神经网络等方法。
其中,人工神经网络是一种常用的方法,它可以通过学习历史数据的模式和规律,来预测未来的交通流量。
同时,还可以结合外部因素,如天气状况、节假日等,提高预测的准确性。
二、高速公路拥堵控制策略1. 动态交通管理系统动态交通管理系统是一种基于实时交通数据的拥堵控制策略。
通过及时收集、分析和处理交通数据,系统可以实时判断道路的拥堵情况,并采取相应的控制措施,如调节信号灯时长、限制车辆通行等。
这种策略可以帮助实时应对交通拥堵,缓解高速公路拥堵问题。
2. 车流调控车流调控是一种通过限制车辆通行来控制交通拥堵的策略。
TCP拥塞控制算法仿真实验设计

TCP拥塞控制算法仿真实验设计1.实验目标本实验的目标是评估不同TCP拥塞控制算法在网络中的性能表现,包括吞吐量、延迟和丢包率等指标。
通过对比不同拥塞控制算法在不同网络条件下的表现,可以选择最适合当前网络环境的算法。
2.实验环境本实验使用网络仿真软件NS3进行实验。
NS3是一种基于条件概率方法的离散事件仿真工具,可以模拟不同网络拓扑结构和协议的性能。
在实验中,可以通过NS3创建一个具有指定带宽和时延等特性的网络环境。
3.实验拓扑结构实验需要构建一个包含主机、路由器和链路的网络拓扑结构。
可以选择一个简单的星型拓扑结构,其中一个主机作为发送方,另一个主机作为接收方,之间通过路由器进行数据传输。
4.实验参数设置在实验中,需要设置一些关键参数来模拟网络环境。
包括带宽、时延、窗口大小和拥塞控制算法等参数。
可以通过修改拓扑结构和节点属性来设置这些参数。
带宽和时延可以设置为不同的值,以模拟不同网络环境条件。
例如,可以设置带宽为10Mbps,时延为10ms。
窗口大小是用来控制TCP发送方发送数据的数量。
可以设置一个初始窗口大小,然后根据拥塞控制算法的机制进行动态调整。
可以选择不同的窗口大小,然后通过NS3的相关函数进行设置。
拥塞控制算法是实验中的关键部分。
可以选择一种基本的拥塞控制算法,如慢启动和拥塞避免算法,然后通过修改其中的参数来实现不同的算法。
可以选择一种最流行的拥塞控制算法,如TCP Reno或TCP Cubic。
5.实验流程实验的流程可以分为以下几个步骤:-构建网络拓扑结构:使用NS3创建一个包含主机、路由器和链路的拓扑结构。
-设置参数:设置网络拓扑结构的相关参数,如带宽、时延、窗口大小和拥塞控制算法等。
-运行仿真:通过NS3运行仿真实验,观察数据传输过程中的性能指标,如吞吐量、延迟和丢包率等。
-数据分析:在实验结束后,需要对仿真结果进行数据分析,比较不同拥塞控制算法在不同网络环境下的性能表现。
6.实验结果评估通过对比不同拥塞控制算法在不同网络条件下的性能指标,可以评估各种算法的优缺点,并选择最适合当前网络环境的算法。
解决通信技术中网络拥塞与延迟问题的方法

解决通信技术中网络拥塞与延迟问题的方法网络拥塞和延迟是通信技术中常见的问题,给人们的工作和生活带来了不便。
许多技术方法已经被开发出来来解决这些问题,以下将介绍一些常见的方法来解决通信技术中的网络拥塞和延迟问题。
首先,一种常用的方法是流量控制。
流量控制的目的是对进入网络的数据进行管理和控制,以避免拥塞的发生。
一种常见的流量控制方法是拥塞控制算法,例如TCP的拥塞控制算法。
该算法通过不断调整拥塞窗口大小来控制数据的发送速率,当网络拥塞时,窗口大小会自动减小,从而减少数据的发送量,防止拥塞进一步恶化。
其次,一种有效的解决方式是负载均衡。
负载均衡用于将网络流量分配到多个设备或路径上,以平衡网络使用率,并防止某些节点过载。
通过使用负载均衡算法,网络管理员可以根据实际情况将流量分散到可用的网络路径上,从而减轻网络拥塞和延迟问题。
另外,使用缓存技术也是解决网络拥塞和延迟问题的有效方法。
缓存可以将热门的数据或内容存储在靠近用户的位置,当用户请求这些数据时,可以直接从缓存中获取,而不需要通过网络传输。
这样可以大大减少网络传输的时间,从而降低延迟和拥塞的问题。
此外,使用分布式网络架构也可以有效解决网络拥塞和延迟问题。
分布式架构可以将网络流量分散到多个节点上,并通过在不同节点之间进行数据交换和负载均衡来提高网络的性能和可靠性。
通过将网络流量分布到多个节点上,可以减少单个节点的负载,从而降低网络拥塞和延迟的发生概率。
最后,使用优化协议也是解决网络拥塞和延迟问题的一种方法。
例如,Quality of Service(QoS)协议可以通过对不同类型的流量进行优先级排序和调度来提供更好的网络服务质量。
QoS可以根据实际需要对流量进行分类和管理,确保重要数据的传输和处理优先级高于其他数据,从而减少网络拥塞和延迟的问题。
综上所述,网络拥塞和延迟问题是通信技术中常见的问题,但通过流量控制、负载均衡、缓存技术、分布式网络架构和优化协议等方法,可以有效地解决这些问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
拥名词解释及概况 1.名词解释: 拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。这种现象跟公路网中经常所见的交通拥挤一样,当节假日公路网中车辆大量增加时,各种走向的车流相互干扰,使每辆车到达目的地的时间都相对增加(即延迟增加),甚至有时在某段公路上车辆因堵塞而无法开动(即发生局部死锁)。 网络的吞吐量与通信子网负荷(即通信子网中正在传输的分组数)有着密切的关系。当通信子网负荷比较小时,网络的吞吐量(分组数/秒)随网络负荷(每个节点中分组的平均数)的增加而线性增加。当网络负荷增加到某一值后,若网络吞吐量反而下降,则表征网络中出现了拥塞现象。在一个出现拥塞现象的网络中,到达某个节点的分组将会遇到无缓冲区可用的情况,从而使这些分组不得不由前一节点重传,或者需要由源节点或源端系统重传。当拥塞比较严重时,通信子网中相当多的传输能力和节点缓冲器都用于这种无谓的重传,从而使通信子网的有效吞吐量下降。由此引起恶性循环,使通信子网的局部甚至全部处于死锁状态,最终导致网络有效吞吐量接近为零。
2.造成拥塞的原因 1.多条流入线路有分组到达,并需要同一输出线路,此时,如果路由器没有足够的内存来存放所有这些分组,那么有的分组就会丢失。 2.路由器的慢带处理器的缘故,以至于难以完成必要的处理工作,如缓冲区排队、更新路由表等。
3.防止拥塞的策略: (1)在传输层可采用:重传策略、乱序缓存策略、确认策略、流控制策略和确定超时策略。 (2)在网络层可采用:子网内部的虚电路与数据报策略、分组排队和服务策略、分组丢弃策略、路由算法和分组生存管理。 (3)在数据链路层可采用:重传策略、乱序缓存策略、确认策略和流控制策略。
4.拥堵控制的一般方法: 1)缓冲区预分配法 该法用于虚电路分组交换网中。在建立虚电路时,让呼叫请求分组途经的节点为虚电路预先分配一个或多个数据缓冲区。若某个节点缓冲器已被占满,则呼叫请求分组另择路由,或者返回一个"忙"信号给呼叫者。这样,通过途经的各节点为每条虚电路开设的永久性缓冲区(直到虚电路拆除),就总能有空间来接纳并转送经过的分组。此时的分组交换跟电路交换很相似。当节点收到一个分组并将它转发出去之后,该节点向发送节点返回一个确认信息。该确认一方面表示接收节点已正确收到分组,另一方面告诉发送节点,该节点已空出缓冲区以备接收下一个分组。上面是"停一等"协议下的情况,若节点之间的协议允许多个未处理的分组存在,则为了完全消除拥塞的可能性,每个节点要为每条虚电路保留等价于窗口大小数量的缓冲区。这种方法不管有没有通信量,都有可观的资源(线路容量或存储空间)被某个连接占有,因此网络资源的有效利用率不高。这种控制方法主要用于要求高带宽和低延迟的场合,例如传送数字化语音信息的虚电路。 2)分组丢弃法 该法不必预先保留缓冲区,当缓冲区占满时,将到来的分组丢弃。若通信子网提供的是数据报服务,则用分组丢弃法来防止拥塞发生不会引起大的影响。但若通信子网提供的是虚电路服务,则必须在某处保存被丢弃分组的备份,以便拥塞解决后能重新传送。有两种解决被丢弃分组重发的方法,一种是让发送被丢弃分组的节点超时,并重新发送分组直至分组被收到;另一种是让发送被丢弃分组的节点在尝试一定次数后放弃发送,并迫使数据源节点超时而重新开始发送。但是不加分辨地随意丢弃分组也不妥,因为一个包含确认信息的分组可以释放节点的缓冲区,若因节点元空余缓冲区来接收含确认信息的分组,这便使节点缓冲区失去了一次释放的机会。解决这个问题的方法可以为每条输入链路永久地保留一块缓冲区,以用于接纳并检测所有进入的分组,对于捎带确认信息的分组,在利用了所捎带的确认释放缓冲区后,再将该分组丢弃或将该捎带好消息的分组保存在刚空出的缓冲区中。 3)定额控制法 这种方法在通信子网中设置适当数量的称做"许可证"的特殊信息,一部分许可证在通信子网开始工作前预先以某种策略分配给各个源节点,另一部分则在子网开始工作后在网中四处环游。当源节点要发送来自源端系统的分组时,它必须首先拥有许可证,并且每发送一个分组注销一张许可证。目的节点方则每收到一个分组并将其递交给目的端系统后,便生成一张许可证。这样便可确保子网中分组数不会超过许可证的数量,从而防止了拥塞的发生。
拥塞控制算法研究 当网络中存在过多的分组时,网络的性能就会下降,这种现象称为拥塞 。 在最初的 T C P协议中,只有流控机制(Flow Contro1),接收端使用TCP报头的窗口值将自己的接收能力通知发送端,这样的机制只考虑接收端的接收能力, 而不考虑网络的承受能力,不可避免地导致了早期一些网络崩溃的现象。随着 internet技术的发展,越来越多不同系统,不同速率的网络正在接入,Internet网络拥塞现象也越来越严重。拥塞控制理论和算法研究因此成为Internet研究 中的一个热点 。 拥塞现象发生的原因,总的来说是Internet网络中的需求大于供给,即网络的资源(缓 冲、链路带宽和网关处理能力等)是有限的,这些有限资源要在网络用户之间共享使用,必然存在竞争关系,随着网络用户的数量和基于Interne t 的应用的数量不断增长,如果不使用某种机制在多个用户之间协调资源的用,出现网络拥塞是不可避免的。从控制的角度看,拥塞控制具有开环控制和闭环控制两种基本的控制形式,闭环控制要在通信进程中的发送端和接收端之间建立一个适当的握手算法,尽管可以达到较高的链路容量的效用,但是也要为握手付出更大的传输时延,导致系统信息有效性降低,开环控制又称预防控制,实现起来比较简单可以根据已有网络的流量及其特性预先将设计好的控制策略加入网络 中。保证不会发生拥塞,但对网络的突变应对能力较差。拥塞控制一般发生在网络传输的分组数量开始接近网络对分组的处理能力时。不同网络层次对控制机制有不同的目标。数据链路层虽然靠近拥塞的发生点,但是数据链路层的目标只是 将帧从线的一端传送到另一端,所以在数据链路层控制对拥塞有快速反应,但是只能对近期拥塞现象进行控制;拥塞现象持续时间越长,实现控制的层次就越高, 所以拥塞控制一般在网络层或传输层实现。拥塞控制的目标是控制进入网络的数据流量,确定一个最佳发送速率,确保网络不会被数据阻塞,不至于引起塞,又能充分利用带宽资源。 目前拥塞控制机制以基于窗口的端对端拥塞控制为主,因此,从拥塞控制使用的层次来看。可以分为链路算法和源算法;随着 Internet规模和复杂性的不断增加,网络参与资源控制的源端拥塞控制、多播方式的拥塞控制机制也在不断地引入 。
1.点对点拥塞控制 1.1源算法 1.1. 1 TCP Tahoe和 Reno Tahoe是早期Internet广泛采用的拥塞控制算法,包括慢启动、拥塞避免和快速重传三个部分。此算法的基本思想是:源端通过线性增加速率来探测网络 中的空闲容量,而当检测到拥塞时,则以指数递减它的速率,拥塞时在源端检测 到丢包时被确认。当一个连接开始建立,窗口的大小确认为包的大小,源端每收到一个确认帧,就将窗口加1,窗口的大小在每个RFT (排队时延)内加倍,此过程称为慢启动;当拥塞发生时,即检测到一个丢包,则将窗口减半,重传丢失的包,将窗口重置为1,重新进入慢启动。避免拥塞阶段中不断调整窗口的大小 , 并保持在设置的门限上。Reno算法的基本思想和Tahoe相同.但是有了两个改进,一是允许源在 f r/f r阶段收到确认帧是暂时将窗口加1。二是在f r/f r 结束时将窗口设为初始阶段窗口值的一半,直接进入拥塞避免阶段,这使得Reno在单个报文从数据窗口丢失的情况下性能很好,但是由于它在连续丢时,源端会出现快速反应,引起窗口大小扰动。性能会大大下降。
Reno算法还有一些改进版本,但都是对参数进行相应的调整,基本思想还是用丢包作为衡量实际窗口与期望值差异的指标。相应调整算法是加法增,乘法减,丢包是二元信号智能指示实际值大于还是小于期望值,无法精确量化。因此 不能按照距离目标的远近调整自己的逼近速率,在高速网络中收敛慢,带宽利用率低,而且丢包本身也是拥塞的信号,会引起网络性能振荡。
1.1.2 TCP Vegas Vegas算法是以提高源节点的数据传输能力为目的的,以源端数据包排队的时延为拥塞度量,使用了新的重传、避免拥塞和慢启动机制来增加 T C P的吞吐量,并降低丢包率。
传输开始时,Vegas在慢启动算法中加入了一个拥塞检测 机制,允许窗 口在RTF内指数增长,而在RTF之间保持固定,可以有效的比较预期速率和实际速率。当实际速率低于一个包的大小 ,则系统进入拥塞避免阶段,减少了慢启动在初始阶段的丢包;重传机制上,当收到第一个重复的确认帧时,检测到超过并 重发丢失的包,不必等待第三个重复的确认帧的到达,使丢包检测更加及时;在拥塞避免机制上,引入了窗口估计,即窗口的大小以源端路径上缓存的包的数量作为参考值,设定一个上限和一个下限,窗口的大小是否变化,要根据比较的结果来确定。 并设置发送速率是往返传播时延和排队时延的比率的常数倍。这样 ,路径上的拥塞严重时,各个源端上包的排队时间越长,由此来控制网络的拥塞现象发生。这种算法的优点在于对带宽的分配更为公平,而且传输时延相对较小,不过,这种基于窗口大小严格控制的算法,在传输速率和缓冲存储上要付出更大的代价。
1. 1.3 Fast TCP及其改进算法 Fast TCP可分为估计部分、窗口控制、数据控制和脉冲控制四个部分。估计部分对每个发送的包计算一个多比特队列时延和一个一比特的丢失或未丢失指示.作为其他三个部分的计算参数。窗口控制使用队列时延作为主要的拥塞测量,提供的拥塞信息更为详细,能够对链路容量的变化及时作出反应,有助于网 络容量增加时保持其稳定,当网络是静态的时候,时延信息允许数据源保持一个稳定状态。具有相对较高的收敛速度、平稳性和公平性。但是由于主要基于端系统,无从得知网络的整体情况。使其控制参数不易设定。