tcp拥塞控制 订阅
TCP拥塞控制是传输控制协议(英语:Transmission Control Protocol,缩写TCP)避免网络拥塞的算法,是互联网上主要的一个拥塞控制措施。它使用一套基于线增积减模式的多样化网络拥塞控制方法(包括慢启动和拥塞窗口等模式)来控制拥塞。在互联网上应用中有相当多的具体实现算法。 展开全文
TCP拥塞控制是传输控制协议(英语:Transmission Control Protocol,缩写TCP)避免网络拥塞的算法,是互联网上主要的一个拥塞控制措施。它使用一套基于线增积减模式的多样化网络拥塞控制方法(包括慢启动和拥塞窗口等模式)来控制拥塞。在互联网上应用中有相当多的具体实现算法。
信息
缩    写
TCP
领    域
计算机
中文名
TCP拥塞控制
外文名
Transmission Control Protocol
TCP拥塞控制运作方法
TCP使用多种拥塞控制策略来避免雪崩式拥塞。TCP会为每条连接维护一个“拥塞窗口”来限制可能在端对端间传输的未确认分组总数量。这类似TCP流量控制机制中使用的滑动窗口。TCP在一个连接初始化或超时后使用一种“慢启动”机制来增加拥塞窗口的大小。它的起始值一般为最大分段大小(Maximum segment size,MSS)的两倍,虽然名为“慢启动”,初始值也相当低,但其增长极快:当每个分段得到确认时,拥塞窗口会增加一个MSS,使得在每次往返时间(round-trip time,RTT)内拥塞窗口能高效地双倍增长。当拥塞窗口超过慢启动阈值(ssthresh)时,算法就会进入一个名为“拥塞避免”的阶段。在拥塞避免阶段,只要未收到重复确认,拥塞窗口则在每次往返时间内线性增加一个MSS大小。 [1] 
收起全文
精华内容
下载资源
问答
  • TCP拥塞控制 TCP拥塞控制
  • tcp拥塞控制

    2012-07-08 09:59:10
    tcp拥塞控制,tcp拥塞控制有关的的论文
  • TCP拥塞控制

    2019-03-28 21:30:33
    TCP拥塞控制 为了了解TCP-BBR是怎么回事,得先了解一下TCP拥塞控制是啥。 TCP拥塞控制就是用来防止向网络中注入过多的数据,导致网络中的路由器过载。 当出现拥塞时,端点是不知道发生了拥塞的,端点看到的是通信...

    TCP拥塞控制

    为了了解TCP-BBR是怎么回事,得先了解一下TCP拥塞控制是啥。
    TCP拥塞控制就是用来防止向网络中注入过多的数据,导致网络中的路由器过载。
    当出现拥塞时,端点是不知道发生了拥塞的,端点看到的是通信时延的增加(就是这个数据等了好久才来,或者干等也不来)。

    TCP如何进行拥塞控制

    进行拥塞控制的方法就是定义了四个算法(TCP Reno)

    1. 慢开始 TCP刚刚连接好的时候,先令cwnd=1,每次收到一个确认就对cwnd加1.逐渐增大cwnd 。 (当A向B发送数据,A的拥塞窗口为2 ,A可以收到两个确认,于是cwnd就增加2,就变成了4,以此类推。每次经过一个RTT,cwnd就会加倍。一直增大到阙值,进行下一步拥塞避免)
    2. 拥塞避免 在拥塞避免阶段,做法是每次经过一个RTT,不加倍!!我们加1。使cwnd缓慢增加,即加法增大。
    3. 快重传 如果在前两个阶段,监测到了计时器超时,就要把阙值变为原来的一半。当发送方连续收到了三个重复的ACK报文时,就执行快速重传算法,(这个时候就认为是丢了包,意味着网络可能出现了拥塞)直接重新传对方没有收到的报文段,不用等待报文段设置的计时器超时。
    4. 快恢复 当发送到收到三个重复确认时,就执行乘法减小算法,把门限值改为出现拥塞时的阙值的一半,cwnd=减半后的阙值。然后开始执行拥塞避免,即加法增大算法。
    展开全文
  • 一、TCP拥塞控制概述 接下来几篇文章将探讨TCP实现拥塞控制的方法,这也是批量数据传输中最重要的。拥塞控制是TCP通信的每一方需要执行的一系列行为。这些行为由特定算法规定,用于防止网络因为大规模的通信负载而...

    一、TCP拥塞控制概述

    • 接下来几篇文章将探讨TCP实现拥塞控制的方法,这也是批量数据传输中最重要的。拥塞控制是TCP通信的每一方需要执行的一系列行为。这些行为由特定算法规定,用于防止网络因为大规模的通信负载而瘫痪
      • 基本方法是当有理由认为网络即将进入拥塞状态(或者已经由于拥塞而出现路由器丢包情况)时减缓TCP传输
      • TCP拥塞控制的难点在于怎样准确地判断何时需要减缓且如何减缓TCP传输,以及何时恢复其原有的速度
    • TCP是提供系统间数据可靠传输服务的协议。前面流量控制文章中已经提到,当TCP通信的接收方的接收速度无法匹配发送速度时,发送方会降低发送速度。TCP的流量控制机制完成了对发送速率的调节,它是基于ACK数据包中的“通告窗口大小字段来实现的。这种方式提供了明确的接收方返回的状态信息,避免接收方缓存溢出
    • 当网络中大量的发送方和接收方被要求承担超负荷的通信任务时,可以考虑采取降低发送速率或者最终丢弃部分数据(也可将两者结合使用)的方法。这是将排队理论应用于路由器的基本观测结果:即使路由器能够存储一些数据,但若源源不断的数据到达速率高于发出 速率,任何容量的中间存储都会溢出。简言之,当某一路由器在单位时间内接收到的数据量多于其可发送的数据量时,它就需要把多余的部分存储起来。假如这种状况持续,最终存储资源将会耗尽,路由器因此只能丢弃部分数据
    • 路由器因无法处理高速率到达的流量而被迫丢弃数据信息的现象称为“拥塞”。当路由器处于上述状态时,我们就说出现了拥塞。即使仅有一条通信连接,也可能造成一个甚至多个路由器拥塞。若不采取对策,网络性能将大受影响以致瘫痪。在最坏情况下,甚至形成拥塞崩溃。为避免或者在一定程度上缓解这种状况,TCP通信的每一方实行拥塞控制机制。不同的TCP版本(包括运行TCP/IP协议栈的操作系统)采取的规程和行为有所差异。本章将着重讨论最常用的方法

    二、TCP拥塞检测

    • 如前所述,针对丢包情况,TCP采取的首要机制是重传,包括“超时重传”和“快速重传”。考虑如下情形,当网络处于拥塞崩溃状态时,共用一条网络传输路径的多个TCP连接却需要重传更多的数据包。这就好比火上浇油,可想而知,结果只会更糟,所以这种情况应该尽量避免
    • 当拥塞状况出现(或将要出现)时,我们可以减缓TCP发送端的发送速率;若拥塞情况有所缓解,可以检测和使用新的可用带宽。然而这在互联网中却很难做到,因为对于TCP发送方来说,没有一个精确的方法去知晓中间路由器的状态。换言之,没有一个明确的信号告知拥塞状况已发生

    TCP拥塞检测的方法

    • 典型的TCP只有在断定拥塞发生的情况下,才会采取相应的行动推断是否出现拥塞,通常看是否有丢包情况发生。在TCP中,丢包也被用作判断拥塞发生与否的指标,用来衡量是否实施相应的响应措施(即以某种方式减缓发送)。从20世纪80年代起,TCP就一直沿用这种方法
    • 其他拥塞探测方法,包括时延测量和显式拥塞通知(ECN,后面会介绍),使得TCP能在丢包发生前检测拥塞。在学习一些“经典”算法后,我们将讨论上述探测方法

     

    展开全文
  • TCP 拥塞控制

    2019-06-08 21:37:34
    拥塞控制是什么 拥塞控制是一个全局性的过程,用来防止过多的数据注入网络,保证网络不过载。 常见的拥塞控制算法 慢开始 拥塞避免 快重传 快恢复 两个窗口 接收窗口 rwnd:接收方目前接收缓存的大小,通过 TCP ...

    拥塞控制是什么

    拥塞控制是一个全局性的过程,用来防止过多的数据注入网络,保证网络不过载。

    常见的拥塞控制算法

    1. 慢开始
    2. 拥塞避免
    3. 快重传
    4. 快恢复

    两个窗口

    1. 接收窗口 rwnd:接收方目前接收缓存的大小,通过 TCP 报文的首部字段通知发送方
    2. 拥塞窗口 cwnd:发送方估算网络拥塞程度设置的窗口值。未拥塞,窗口值逐渐增大,拥塞逐渐减小
    3. 发送窗口 = min{rwnd,cwnd}
      特别的,当接收方有足够大的缓存时,发送窗口由拥塞窗口决定

    慢开始与拥塞避免

    慢开始算法

    1. 初始拥塞窗口为 1
    2. 每接收一个报文确认后,cwnd 翻倍
    3. cwnd 呈指数型增长,到达慢开始门限(ssthresh)后,改用拥塞避免算法

    拥塞避免算法

    1. cwnd 每经过一个报文确认(往返时间)就增加 1,线性增长
    2. 当出现依次超时,令 ssthresh 为 cwnd 的一半,cwnd 重新置为 1

    cwnd 不同时执行的算法

    1. cwnd < ssthresh :慢开始
    2. cwnd > ssthresh :拥塞控制

    PS:不论是拥塞避免还是慢开始都不能避免拥塞的出现,但是能使网络比较不容易出现拥塞。

    实例分析

    在这里插入图片描述

    1. 初始时,cwnd 被设置为 1,并且开始慢开始算法(成倍增加)
    2. 当 cwnd 增长到慢开始门限 ssthresh (cwnd = 16)时,改用拥塞避免算法
    3. 由图可知,当 cwnd 到达 24 时,发生网络拥塞,ssthresh 变为 cwnd 的一半,也就是 ssthresh = 12,然后 cwnd 置为 1

    PS:若在慢开始算法时,翻倍后的 cwnd > ssthresh ,cwnd 只能等于 ssthresh 而不能超过它

    快重传算法

    快重传和快恢复是对慢开始和拥塞控制的改进

    快重传的工作原理
    当发送方发送连续收到 3 个 ACK 报文后,不必等待,直接重传对方尚未收到的报文段

    快恢复算法

    1. 当发送方收到了 3 个 ACK 报文,ssthresh 设置为 cwnd 的一半,然后 cwnd 置为当前 ssthresh 的值(而不是在拥塞控制算法中的 cwnd 置为 1)
    2. 接着采用拥塞避免的加法线性增大

    在这里插入图片描述

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,519
精华内容 19,807
关键字:

tcp拥塞控制