福哥答案2020-11-05:

所谓拥塞控制,是指防止过多的数据注入网络,保证网络中的路由器或链路不致过载。出现拥塞时,端点并不了解到拥塞发生的细节,对通信连接的端点来说,拥塞旺旺表现为通信时延的增加。当然,拥塞控制和流量控制也有相似的地方,即它们都通过控制发送方发送数据的速率来达到控制效果。
拥塞控制与流量控制的区别:拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。相反,流量控制往往是指点对点的通信量的控制,即接收端控制发送端,它所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收。

四种算法:慢开始(从1开始)、拥塞避免、快重传(3ACK重传)、快恢复(从ssthresh门限开始)。指数增长(<慢开始门限ssthresh),加法增长,乘法减小。
两个窗口:接收窗口rwnd、拥塞窗口cwnd。
以smss字节1045-2190为两个分界,cwnd为2-4个smss,ssthresh应该根据自己的需求设置,《》王道计算机网络》是16。
Reno版本(快重传)、Tahoe版本(慢开始,废弃)。

在流量控制中,发送方发送数据的量由接收方决定,而在拥塞控制中,则由发送方自己通过检测网络状况来决定。实际上,慢开始、拥塞避免、快重传和快恢复几种算法应是同时应用在拥塞控制机制之中,当发送方检测到超时的时候,就采用慢开始和拥塞避免,当发送方接收到冗余ACK时,就采用快重传和快恢复。

2020-11-05:谈一下TCP的拥塞控制。的更多相关文章

  1. 计算机网络(10)-----TCP的拥塞控制

    TCP的拥塞控制 拥塞(congestion) 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏. 拥塞控制 拥塞控制就是防止过多的数据注入到网络中,这样可以使网 ...

  2. TCP网络拥塞控制

    拥塞控制过程 数据吞吐量 TCP窗口大小,窗口流量控制,慢启动对TCP的成块数据传输综合作用,可能对TCP的数据传输有意想不到的影响. RTT(Round-Trip Time) :往返时间.是指一个报 ...

  3. TCP/IP拥塞控制

    TCP/IP拥塞控制包括:慢启动和拥塞避免.其操作流程如下所述: 初始化.拥塞窗口cwnd = 1,慢启动门限ssthresh = 65535 如果没有发生拥塞 若 cwnd < ssthres ...

  4. [svc]tcp三次握手四次挥手&tcp的11种状态(半连接)&tcp的time-wait

    TCP的状态转化过程(11种状态)以及TIME_WAIT状态 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT 我相信很多都遇到过这个问题.一旦有用户在喊:网络变慢了.第一件事情就 ...

  5. Linux编译内核 Ubuntu18.04 -2020.11.04

    Linux编译内核 Ubuntu18.04 -2020.11.04 关闭虚拟机并备份 首先关闭虚拟机,其次直接找到.vmdk所在目录,并压缩该目录实现备份 下载内核源码 Linux内核官网:https ...

  6. apiAutoTest-更新2020/11/23

    原始版本 简书:https://www.jianshu.com/p/6bfaca87a93b 博客园:https://www.cnblogs.com/zy7y/p/13426816.html test ...

  7. Goland 2020.2.x 激活码永久破解教程 (最新Goland激活码!2020.11.26亲测可用!)

    在2020.11.26 Goland的用户们又迎来了一次更新,这就导致很多软件打开时候就提示Goland激活码已经失效,码小辫第一时间给各位分享了关于最新Goland激活破解教程! goland已经更 ...

  8. 2020.11最新JAVA环境安装配置

    Windows10下java环境配置 更新:2020年11月25日 电脑环境: windows10 64位 一.下载jdk 首先到Oracle网站下载对应操作系统的jdk安装包. https://ww ...

  9. 【2020.11.28提高组模拟】T1染色(color)

    [2020.11.28提高组模拟]T1染色(color) 题目 题目描述 给定 \(n\),你现在需要给整数 \(1\) 到 \(n\) 进行染色,使得对于所有的 \(1\leq i<j\leq ...

  10. 2021.11.05 eleveni的水省选题的记录

    2021.11.05 eleveni的水省选题的记录 因为eleveni比较菜,但是eleveni不想写绿题(总不能说是被绿题虐得不想写),eleveni决定继续水noip原题. --实际上菜菜的el ...

随机推荐

  1. CF1526C2

    与简单版的思路完全一致,只需要改一下范围. 可以去看我简单版本的博客. 题目简化和分析: 给您一个数组,在其中选择若干个数使得: 任意前缀和 \(\ge 0\) 数量尽可能的大 我们可以使用贪心策略, ...

  2. aspnetcore微服务之间grpc通信,无proto文件

    aspnetcore微服务之间通信grpc,一般服务对外接口用restful架构,HTTP请求,服务之间的通信grpc多走内网. 以前写过一篇grpc和web前端之间的通讯,代码如下: exercis ...

  3. [glibc] 带着问题看源码 —— exit 如何调用 atexit 处理器

    前言 之前在写 apue 系列的时候,曾经对系统接口的很多行为产生过好奇,当时就想研究下对应的源码,但是苦于 linux 源码过于庞杂,千头万绪不知从何开启,就一直拖了下来. 最近在查一个问题时无意间 ...

  4. 如何使用SHC对Shell脚本进行封装和源码隐藏

    在许多情况下,我们需要保护我们的shell脚本源码不被别人轻易查看.这时,使用shc工具将shell脚本编译成二进制文件是一个有效的方法.本文将详细介绍如何在线和离线条件下安装shc,并将其用于编译你 ...

  5. STM32F3系列 ADC采样单端采样模式(基于LL库)

    STM32F3系列 ADC 单端采样(基于LL库) 芯片型号:STM32f303RBT6 开发软件:MDK5 & CubeMX & VS Code 目录 目录 STM32F3系列 AD ...

  6. Django + celery + redis 执行异步任务及查看结果

      官方文档 https://docs.celeryproject.org/en/latest/django/first-steps-with-django.html#using-celery-wit ...

  7. 交互式数据分析和python笔记

    1.安装conda 类似npm的n https://www.jianshu.com/p/544a4c8a8186 # 安装python 以及依赖 conda create -n joy python= ...

  8. DS18B20初始化-读-写-温度转换

    DS18B20 (一)初始化 (二)读字节 (三)写字节 (四)温度转换 1获得数据 2转换数据 (一)初始化 初始化时序: 数据线先拉到高电平,稍作延时即可(刚开始是高电平还是低电平芯片手册上其实不 ...

  9. coco漫画获取隐藏的图片链接

    网站分析 打开目标网站:https://www.cocomanhua.com/, 随便打开一部漫画: https://www.cocomanhua.com/10330/1/205.html F12 打 ...

  10. Spring 缓存注解这样用,太香了!

    作者最近在开发公司项目时使用到 Redis 缓存,并在翻看前人代码时,看到了一种关于 @Cacheable 注解的自定义缓存有效期的解决方案,感觉比较实用,因此作者自己拓展完善了一番后分享给各位. S ...