TCP拥塞控制与方法改进

合集下载

无线网络中带宽估计和TCP拥塞的控制方法

无线网络中带宽估计和TCP拥塞的控制方法

( ai a SCSs m E gne n e ac et , otes U i rt, a n 106, hn ) N t n l 1 yt n ier gRs rhC ne S uhat nv sy N g2 0 9 C ia o A e i e r ei
Absr c t a t:Th sp p ra a y e n t e r h a tr fe tn a d dt si to c ur c fTCP W e t o i a e n lz s i h o y t e fc o saf c ig b n wi h e tma in a c a y o swo d,a d n
口 , 网络传 输效 率 、 定 性 起 着 较 为关 键 的作 用 . 对 稳
传 统 的 T P 协 议 是 最 初 由 Jcbo C ao sn提 出 的 T P C
Ta o lJ h eI

由慢 启 动 、 塞避 免 、 速 重传 3个 阶段组 拥 快
值来 设置 慢 启 动 阈值 strs s eh和拥 塞 窗 口 c n J h w d4,
T P协 议 位 于 Itre 协 议 栈 体 系结 构 中 的传 C nent
输层 , 底层 网络 协 议栈 和上 层 网络 应 用 程 序 的 接 是
传统 T PR n C eo算法 在 当前 网络 环 境 下 的缺 点 日益
凸现 , 善无 线 网络环 境下 T P性 能 已成 为 目前 网 改 C 络研 究领 域 的热点 之一 . T P Weto d通 过实 时 测量 端 到 端 可 用 带 宽 C s o w
姚国良 胡 , 晨
( 东南大学 国家专用集成 电路 系统工程技术研究 中心 , 汪苏 南京 2 09 ) 10 6

一种基于无线环境预测的TCP拥塞控制改进机制

一种基于无线环境预测的TCP拥塞控制改进机制

TP C 是互 联 网成 功 的关 键 ,通 过 差错 控 制 机 制 与拥 塞 控制 机制 实 现 了端 到 端 的可靠 数 据 传输 。 目 前 ,得 到广 泛 应用 的协 议 版本 是T P R n 川,它 使 C eo 数 据 发 送 既 有 积 极 的 “ 取 心 ” ,不 断 探 索 网 络 进
R n差 错控 制机 制 与拥 塞 控 制机 制无 法 分 离 ,将 丢 eo
于链路 误 码率 非 常低 ,丢包 主要 由网络 拥 塞引起 , 可 靠 传 输 ;而 在 无 线 环 境 下 , 南无 线 链 路 误 码 率
4)在 移 动 网络 环 境 下 ,必须 考 虑 终 端 的能 源 无 论有 线 环 境 ,还 是 无 线 环境 ,T P C 的拥 塞 控
然 而 , 无 线 网络 丢 包主要 是 由 于误 码 、 切 换 等 原 因 造 成 ,如 果 无 差 别 地 启 动 拥 塞控 制 会 造 成 端 到 端 性 能 恶 化 , 表 现 在
过 激 的 发 送 窗 口调 整 、 吞 吐 量 的 急 剧 下 降 。 在 分 析 P 吐 量 模 型 的 基 础 上 ,提 出一 种 基 于神 经 网络 区分 误 码 和 拥 塞 F 吞 C
以下 要求 :
[ 收稿 日期】2 1- 2 0 0 0 — 1 1 [ 基金项 目】 周家 自然科学基金项 目 ( 14 0 4) 6 0 00
[ 者 简 介 ] 俊 (16 一),男 ,湖 南 邵 阳人 ,汉 族 , 硕 士 ,副 教 授 ,E m i:l j ziCI. 作 刘 99 — al i @si.O c u t n
深 圳 信 息职 业 技 术 学 院 学 报

种 基 于 无 线 环 境 预 测 的T 拥 塞 控 制 改 进 机 制 CP

网络拥塞解决方案

网络拥塞解决方案

网络拥塞解决方案网络拥塞是指网络中的数据流量超过了网络资源的处理能力,导致网络传输速度变慢或者无法正常工作的情况。

为了解决网络拥塞问题,我们需要采取一系列的解决方案。

以下是一些常见的网络拥塞解决方案:1. 增加带宽增加网络带宽是解决网络拥塞的最直接方法之一。

通过增加带宽,网络可以处理更多的数据流量,提高传输速度和性能。

可以考虑升级网络设备,如更换更高速的路由器和交换机,以及扩展网络的传输介质,如光纤。

2. 流量管理和优化通过流量管理和优化,可以更有效地利用现有的网络带宽。

这可以通过使用流量调度算法和流量控制策略来实现。

例如,使用Quality of Service(QoS)技术,可以为不同类型的数据流量分配优先级,确保关键数据的传输不受拥塞影响。

3. 负载均衡负载均衡是一种将网络流量分散到多个网络设备上的方法,以避免某个设备负载过重而导致拥塞。

通过使用负载均衡器,可以将流量分配到不同的服务器或者网络链路上,从而提高整体的网络性能和可靠性。

4. 缓存技术缓存技术可以减少对网络带宽的需求,从而减轻网络拥塞问题。

通过在网络中设置缓存服务器,可以将常用的数据存储在缓存中,当用户请求这些数据时,可以直接从缓存中获取,而不必从原始服务器获取,从而减少了网络传输的数据量。

5. 数据压缩数据压缩是一种将数据流量进行压缩以减少传输时间和带宽占用的方法。

通过使用压缩算法,可以将数据流量进行压缩,并在接收端进行解压缩,从而减少了传输的数据量,提高了网络传输的效率。

6. 网络监控和故障排除定期进行网络监控和故障排除是预防和解决网络拥塞问题的重要手段。

通过使用网络监控工具,可以实时监测网络流量和性能,并及时发现并解决网络拥塞的原因。

同时,定期进行网络设备的维护和升级,可以提高网络的稳定性和性能。

综上所述,网络拥塞是一个常见的问题,但通过采取适当的解决方案,可以有效地解决这个问题。

增加带宽、流量管理和优化、负载均衡、缓存技术、数据压缩以及网络监控和故障排除等方法都可以匡助我们解决网络拥塞问题,提高网络的性能和可靠性。

网络拥塞解决方案

网络拥塞解决方案

网络拥塞解决方案网络拥塞是指网络中的流量超过了网络设备的处理能力,导致网络传输速度变慢或者数据丢失的现象。

为了解决网络拥塞问题,我们可以采取以下几种解决方案:一、优化网络拓扑结构1.1 网络设备升级:通过升级路由器、交换机等网络设备,提高网络设备的处理能力,减少网络拥塞的发生。

1.2 网络分流:将网络流量分流到不同的网络路径上,避免某一条路径上的流量过大导致网络拥塞。

1.3 部署负载均衡设备:通过部署负载均衡设备,将流量均匀分配到不同的服务器上,减轻单一服务器的压力,避免网络拥塞。

二、提高网络带宽2.1 增加网络带宽:通过提升网络带宽,增加网络传输速度,减少网络拥塞的可能性。

2.2 使用CDN加速:通过使用CDN加速服务,将网站内容缓存到全球各地的CDN节点上,加速用户访问速度,减少网络拥塞。

2.3 使用智能加速器:部署智能加速器,对网络流量进行优化和加速,提高网络传输效率,减少网络拥塞。

三、限制网络流量3.1 流量控制:通过设置流量控制策略,对网络流量进行限制,避免网络拥塞的发生。

3.2 QoS策略:通过设置QoS策略,对网络中的不同流量进行优先级管理,保障重要流量的传输,减少网络拥塞。

3.3 数据压缩:对网络传输的数据进行压缩处理,减少传输数据量,提高网络传输效率,减少网络拥塞。

四、网络监控和管理4.1 实时监控网络流量:通过实时监控网络流量情况,及时发现网络拥塞问题,采取相应的措施进行处理。

4.2 预测网络流量:通过对历史数据进行分析和预测,提前预知网络流量的变化趋势,采取相应的措施避免网络拥塞。

4.3 网络设备管理:定期对网络设备进行维护和管理,保障网络设备的正常运行,减少网络拥塞的发生。

五、应用流量控制策略5.1 网络流量分析:对网络流量进行深入分析,了解网络流量的特点和规律,制定相应的流量控制策略。

5.2 避免网络攻击:加强网络安全防护,防止网络攻击导致的网络拥塞,保障网络正常运行。

一种基于HSTCP的拥塞控制改进算法

一种基于HSTCP的拥塞控制改进算法

文章编 l0—3 8I7 l 06一3 文献标识 A 号: 0 4 (M)—09一l o 2 2I2 码:
中 圈分类号: P0. T31 6
种 基 于 HS C T P的拥 塞控 制 改进 算 法
秦 军 ,林巧民 ,陈春雷
( 南京邮 电大学传媒技术学院 ,南京 2 0 0 ) 10 3
c n r lag rt m n f in s , h sp pe r p e n i r v d c n e t n c n r la g rt m o to l o ih i a r e s t i a rp o os sa mp o e o g si o t l o ih mHS o o TCP. e i c e s fmHS Th n r a e o TCP wi d ws u e e n o s st h HS TCP pat m , e h a d d h i o s d s f c e ty Ot e wie t e i c e s fmHS t e wh n t e b n wi t s n t e u u i i n l . h r s h n r a e o TCP wi d wsu e e Re o p te . e tsi g r s l n o s st n a tm Th e tn e u t h
关健词 : C ;拥塞控制 ;带宽利用率 ;公平性 TP
I p o e g rt m fCo g si n Co t o s d 0 S m rv d Al o i h 0 n et n r l o Ba e n H TCP
QI u , I io mi , HE h n li NJ n L N Q a - n C N C u — e
维普资讯
第 3 卷 第 2 期 3 1

linux tcp默认拥塞控制算法

linux tcp默认拥塞控制算法

linux tcp默认拥塞控制算法TCP(Transmission Control Protocol,传输控制协议)是一种可靠的、面向连接的网络协议,用于在IP网络上进行数据传输。

在Linux系统上,TCP默认使用的拥塞控制算法主要有Reno、Cubic和BBR。

1. Reno算法:Reno算法是TCP最早的拥塞控制算法之一,它是基于丢包的拥塞控制算法。

Reno算法使用了两个阈值来控制发送速率,分别是慢启动阈值和拥塞避免阈值。

在慢启动阶段,发送方每经过一个往返时间RTT (Round Trip Time),就将拥塞窗口大小加倍,这样就能快速适应网络带宽。

一旦出现拥塞,就会触发拥塞避免阶段,发送速率会缓慢增长。

当发生丢包时,发送方会认为发生了拥塞,将拥塞窗口大小减半。

2. Cubic算法:Cubic算法是在Reno算法的基础上进行改进的,主要解决了Reno算法的不足之处。

Cubic算法使用了一个拟合曲线来估计网络的拥塞程度,并根据该拟合曲线调整发送速率。

Cubic算法中的拥塞控制机制是基于时间的,通过跟踪拥塞窗口的快速增长速率来判断网络的拥塞程度。

当网络发生拥塞时,拥塞窗口的增长速率会变得缓慢,从而降低发送速率。

3. BBR算法:BBR(Bottleneck Bandwidth and RTT)算法是Google开发的一种最新的拥塞控制算法,主要用于提高网络的传输效率。

BBR算法通过测量网络的带宽和往返时间来估计网络的拥塞程度,并根据拥塞程度调整发送速率。

BBR算法的特点是能够更精确地估计网络的拥塞程度,从而避免了过度拥塞和欠拥塞的情况,提高了网络的传输速度和稳定性。

总结:Linux TCP默认的拥塞控制算法主要有Reno、Cubic和BBR。

Reno 算法是基于丢包的拥塞控制算法,使用了慢启动和拥塞避免两个阈值来控制发送速率。

Cubic算法在Reno算法的基础上进行改进,使用拟合曲线来估计网络的拥塞程度,并根据拥塞程度调整发送速率。

基于TCP的拥塞控制策略及改进算法

基于TCP的拥塞控制策略及改进算法

平性 。
关 键 词 : 塞 控 制 源 端 算 法 S C C I S UBC 拥 T P UBC C I 中图 法 分 类 号 : P 9 T 33 文献标识码 : A 文 章 编 号 :0 27 7 (0 6 0 —2 40 1 0 ~3 8 2 0 )40 3 —3
Ab t a t B s d o h o p e n a y o h r t c l o TCP a d S UBI n p ro ma c ,a sr c : a e n t ec m lme t r ft e p o o os fS n C C i e f r n e
摘要 : 从性 能上具有互补性的 S C T P协议 和 C I UB C协议找 到契合点 , 然后在性能较优 的 C I UB C基础上提 出 个新的改进算法 S U I 并用实验证 明其具有 比C I C B C, UB C更好 的稳 定性 、 可扩展性 、 C T P友 好性 和 R TT公
c mbn t n p ito h s wo p oo os i f u d Th lo i m CUBI a e n C B C i o iai on ft ee t r tc l S o n . e ag rt o h S C b sd o U I S
p ee td r s n e .Th e tr v as t a h CUBI S b te h n CUB C i t b l y。e p n i it e t s e e l h t t e S C i etr ta I n sa i k x a s l y, b i
维普资讯
广 西 科 学 院 学 报
J u n l fGu n x a e fS in e o ra a g i o Ac d myo ce c s

ourdev_707848FLIFLS

ourdev_707848FLIFLS

第29卷第1期V ol 129 N o 11长春师范学院学报(自然科学版)Journal of Changchun N ormal University (Natural Science )2010年2月Feb.2010基于LwIP 的TCP 拥塞控制方法的改进王文良,张学勇,李 岩(哈尔滨理工大学,黑龙江哈尔滨 150040)[摘 要]RFC2001和RFC2081文档描述了T CP 拥塞控制方法,主要有慢启动算法、拥塞避免算法、快速重传算法和快速恢复算法;RFC2582和RFC3782文档描述了快速恢复算法NewReno 修正。

本文结合开源嵌入式T CP/IP 协议栈LwIP ,详细阐述了慢启动算法、拥塞避免算法、快速重传算法和快速恢复算法的实现方法,并根据T CP 的快速恢复算法NewReno 修正对LwIP 的T CP 拥塞控制方法的实现提出了改进建议。

[关键词]慢启动;拥塞避免;快速重传;快速恢复;NewReno 修正[中图分类号]TP31 [文献标识码]A [文章编号]1008-178X (2010)01-0045-03[收稿日期]2009-10-16[作者简介]王文良(1982-),男,黑龙江哈尔滨人,哈尔滨理工大学硕士研究生,从事计算机软件与理论研究。

T CP 拥塞控制方法是T CP 的一个重要组成部分,目标是最大限度利用网络带宽,同时不产生数据流传输中的拥塞现象。

LwIP 是瑞士计算机科学院(S wedish Institute of C om puter Science )的Adam Dunkels 等开发的一套用于嵌入式系统的开放源代码T CP/IP 协议栈,该协议栈占用很小的RAM 空间,并且可移植到多种嵌入式实时操作系统平台上,因此得到了广泛关注,LwIP 按照RFC2581的规定使用了慢启动、拥塞避免、快速重传和快速恢复进行拥塞控制,RFC2582和RFC3782文档介绍了NewReno 修正,该修正对快速重传和快速恢复算法进行了改进,解决了一个T CP 窗口内有多个包丢失情况下引发多次快速重传的问题,本文在详细分析LwIP 中T CP 拥塞控制算法的实现方法的同时,根据T CP 拥塞控制算法的NewReno 修正对LwIP 提出了改进建议。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题 目:TCP拥塞控制与方法改进 摘 要 如今网络已经离不开人们的生活,发展势头迅猛,网络的终端设备不仅在数量上,种类也越来越多,在此发展之下,保证大量的网络数据传输与网络性能相协调是极其重要的,经典的TCP拥塞控制机制是网络发展历史中人们想出的一种解决网络拥塞的方法,但如何适应当今网络发展的需求相信还是靠人们不断的探索来寻找合适的答案。本文致力于对经典TCP拥塞控制机制的讨论并提出相应的改进思路。

关键字:拥塞控制;慢启动;阈值;TCP拥塞窗口;数据包 一、概述 1.1TCP网络拥塞控制 TCP 是因特网中使用最广泛的一种传输协议,它是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,之所以应用广泛一大部分是由于它的可靠性、稳定性,它为通信的双方提供了可靠的端到端的服务,而实现这一可靠服务的便是 TCP 所具有的可靠传输机制,其中包括重传、序号、确认号、定时、流量控制及拥塞控制。 当网络中存在过多的数据包时,网络的性能就会下降,这种现象称为拥塞。拥塞导致的直接后果是分组丢失率增加,端到端延迟加大,甚至有可能使整个系统发生崩溃。1986年10月,由于拥塞崩溃的发生,美国LBL到UC Berkeley的数据吞吐量从32Kbps跌落到4obps(Jacobsonv,1958)。当网络处于拥塞崩溃状态时,微小的负载增量都将使网络的有效吞吐量(Goodput)急剧下降。

图1-1吞吐量和负载的关系图 图1.1描述了网络负载和吞吐量之间的关系。当负载较小时,吞吐量的增长和负载相比基本成线性关系,延迟增长缓慢;在负载超过Knee点后,吞吐量增长缓慢,延迟增长较快;当负载超过Cliff点之后,吞吐量急剧下降,延迟急剧上升。通常将Knee点附近称为拥塞避免区间;Knee到Cliff之间是拥塞恢复区间;Cliff之外是拥塞崩溃区间。可以看出,负载在肠ee附近时网络的使用效率最高。 拥塞控制就是由网络节点来采取措施避免拥塞的发生或者对拥塞的发生作出反应,使得网络能够传输较大的有效吞吐量,在图1.1中就是使负载保持在知ee附近。拥塞现象的发生和TCP八P网络的设计机制有着密切都联系。TCP/IP网络具有如下几个特点: (1)分组交换(packet-switched)网络。与电路交换(circul-switched)相比,分组交换通过共享提高了资源的利用效率,但这会引起分组在网络中滞留,造成分组数据可能出现“乱序”现象,增加了端系统处理乱序分组的复杂性。 (2)无连接(onneetionless)网络。TCP/IP网络中,从网络层的角度来看,节点之间在发送数据之前不需要建立连接。无连接模型简化了网络的设计,在网络的中间节点上不需要保存与连接到有关信息。但是无连接模型难以引入“接纳控制”(admissioncontrol)机制,在用户需求大于网络资源时,难以保证服务质量(QOS);无连接也是网络中出现分组乱序的一个主要原因。 (3)“尽力而为”的服务模型。所谓“尽力而为”的服务,是指网络不对数据传输的服务质量提供保证。这与网络早期的应用有关,传统的网络应用主要是数据业务,它们对网络性能(带宽、延迟、丢失率等)的变化不敏感,“尽力而为”服务能够满足需要。但“尽力而为”服务不能很好地满足新出现的多媒体应用的要求,这些应用对延迟、速率等性能的变化比较敏感。 虽然随着科技的发展,网络设备的处理速度不断加快、网络带宽持续增长,但是硬件的建设的速度有时赶不上应用需求的增长。而且,很多时候,即使局部的网络资源很充足,仍然会出现网络拥塞、分组数据丢失,从而导致性能下降。这是因为由于互连网络是一个及其复杂的分散系统,网络中总是存在资源“相对”短缺的位置,成为网络性能提高的瓶颈。 网络中拥塞现象发生的原因是“需求”大于“供给”。网络中有限的资源由多个用户共享使用。由于没有“接纳控制”策略,网络无法根据资源的情况限制用户的数量;同时,互连网络是一个分散控制系统,由于缺乏中央集成控制,网络无法控制用户使用资源的数量。目前,因特网上不断增长的用户和应用的数量,必然会导致网络发生拥塞。虽然拥塞源于资源短缺,但增加资源并不能避免拥塞现象的发生,有时甚至会加重拥塞程度。例如,增加路由器的队列缓存会增大分组通过路由器的延迟,如果总延迟超过端系统重传时钟的设定值,就会导致分组 重传,反而加重了网络拥塞。 图1-2网络的不均衡性示意图 拥塞总是发生在网络中资源“相对”短缺的地方,这反映了互连网络的不均衡性。这个不均衡性一方面表现在资源的不均衡,如图1.2(a)中带宽分布不均衡:当s以1MbPs的速率向D发送数据时,在路由器R处会发生拥塞。另一方面是由于流量的不均衡,如图1.2(b)中带宽分布是均衡的,但当Sl和S2都以1MbPs的速率向C发送数据时,在路由器R也会发生拥塞。因特网中资源和流量分布的不均衡是广泛存在的,由此导致的拥塞不能通过增加资源的方法解决。

1.2拥塞控制及其研究意义 拥塞控制策略包括拥塞避免(congestion avoidance)和拥塞控制(congestioncontrol)这两种不同的机制。拥塞避免是“预防机制”,它的目标是避免网络进入拥塞状态,使网络运行在高吞吐量、低延迟的状态下。拥塞控制是“恢复”机制,它用于把网络从拥塞状态中恢复出来。在网络控制的研究中,拥塞控制和流量控制是网络的经典问题,但它们两个的概念比较容易混淆。 拥塞控制必须确保网络能进行数据传输,这是全局性的问题,涉及到所有主机、路由器以及所有其他将导致削弱网络负荷能力的因素。而流量控制只与发送者和接受者之间的点到点的数据传输有关,它的任务是确保一个快速发送方的发送速第一章绪论率不超过接收方的最大接受速度。可以看到,流量控制的功能实现位于网络的传输层,实现比较简单;而拥塞控制从广义上讲,涉及网络的所有层次,在具体的实现中,拥塞控制一般通过网络层和传输层相互协调来完成。 从不同的角度,拥塞控制可以被分为很多类。对目前网络拥塞控制研究现状的分类我们将在下一小节中进行介绍。 拥塞控制的研究目的不是要完全避免拥塞,而是研究怎样的拥塞程度是合适 的。这是因为:TCP/IP网络采用分组交换技术来提高网络链路的利用率,造成路由器的队列缓存经常被占;如果路由器的队列缓存总是空的,虽然传输延迟小,但是网络的利用率也低;如果路由器队列缓存总是被占,传输延迟变大,但是网络利用效率也高。拥塞控制的目标是实现网络利用率和传输延迟等综合性能指标的最优化。 由此可以看到,通过网络的拥塞控制,可以提高网络的总体性能,保证网络系统长期的稳定性和鲁棒性。

二、经典TCP拥塞机制 2.1 网络拥塞的原因及所产生的开销 一般网络之所以会产生拥塞,大致有三个原因: (1)带宽不足:当输入带宽大于输出带宽,较低的一方就会出现瓶颈,使数据包在其外堆积,形成拥塞。 (2)路由器缓存空间不足:几个输入链路同时向一个路由器传送数据包,当路由器输出链路速度较小,使得数据包在路由器缓存队列中排队,时间长了则会超时,发送方会重传,若队列已满再过来的数据包会被丢掉,也会造成重传。 (3)处理器处理能力较弱:处理器不能及时处理接收缓存中的数据包,TCP 有相应的流量控制机制来应对,但是造成的结果也是重传数据包。 拥塞控制更倾向于整个网络的拓扑结构,其规模大,影响广,相应所产生的问题也是巨大的,会影响到整个网络的传输效率,网络拥塞开销有如下几点: (1)过多的数据包在路由器的队列中产生巨大的排队延时。 (2)数据包延时过长导致不必要的重传。 (3)某个路由器缓存溢出导致的丢包将浪费掉整个上游路由器的工作。

2.2经典 TCP 拥塞控制机制 2.2.1Tahoe 算法 1988 年V.Jacobson首先提出了基于“慢启动”和“拥塞避免”的 Tahoe 算法,这也是最早的 TCP 拥塞控制算法。 慢启动:由于发送端不知道网络当前状况,所以在开始发送时如果直接向网络中发送大量数据包,很可能会使网络变得拥塞,这里的慢启动的解决办法是发送方首先发送一个数据包使拥塞窗口(congestion window,cwnd)大小初始化为 1,每收到一个确认,发送方发送窗口就增加 1,像这样发送速率以指数形式增长。 拥塞避免:在早期的 Tahoe 算法中,当发送方收到三个重复的 ACK 或者超时事件发生时所采取的动作都是现将拥塞窗口大小调整为 1,将慢启动阈值(ssthresh)设置为当前拥塞窗口大小一半,之后进入慢启动阶段,当cwnd>=ssthresh后进入拥塞避免阶段,此阶段在每次收到一个 ACK 时只增加 1/cwnd个数据包,这样,在一个 RTT 内,cwnd将增加 1,呈线性增长趋势。

2.2.2Reno 算法 TCP 的 Reno 算法在 Tahoe 算法的基础之上采取了对不同丢包情况的不同策略,在发生超时事件后,TCP 所采取的动作和 Tahoe 算法一样。而发送方收到三个重复的 ACK 后所采取的动作却与超时事件发生不同。早期收到三个重复的 ACK 后所采取的是快速重传算法,算法所采取的策略是把ssthresh设置为cwnd的一半,将cwnd再设置为ssthresh的值(具体实现有些为 ssthresh+3)再次直接进入拥塞避免阶段。而后提出的快速恢复算法是在快速重传算法上添加了一些东西,具体来说快速恢复的主要步骤是: (1)当收到 3 个重复 ACK 时,把ssthresh设置为cwnd的一半,把cwnd设置为ssthresh的值加 3,然后重传丢失的报文段,加 3 的原因是因为收到 3 个重复的 ACK。 (2)收到重复的 ACK 时,拥塞窗口增加 1。 (3)当收到新的数据包的 ACK 时,把cwnd设置为第一步中的ssthresh的值。原因是因为该 ACK 确认了新的数据,说明从重复 ACK 时的数据都已收到,该恢复过程已经结束,可以回到恢复之前的状态了,也即再次进入拥塞避免状态。

2.2.3其他算法 在 1994 年,L.S.Brakmo等人提出了一种新的拥塞控制策略:TCP Vegas 算

相关文档
最新文档