计算机网络笔记:TCP的拥塞控制方法

这篇具有很好参考价值的文章主要介绍了计算机网络笔记:TCP的拥塞控制方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TCP的拥塞控制算法有四种,分别是慢开始、拥塞避免、快重传和快恢复。

1.慢开始和拥塞避免

拥塞窗口

  • 基本概念:发送方维持一个叫做拥塞窗口的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且是动态变化着的。发送方让自己的发送窗口等于拥塞窗口。
  • 发送方控制拥塞窗口的原则:只要网络没有出现拥塞,拥塞窗口就可以再增大一些,以便把更多的分组发送出去,这样可以提高网络的利用率。但是只要网络出现拥塞或者可能出现拥塞,就必须把拥塞窗口减小一些,以减小注入到网络中的分组数,以缓解网络出现的拥塞。
  • 发送方判断拥塞的方法:因为网络发生拥塞时,路由器就要把来不及处理而排不上队的分组丢弃。因此只要发送方没有按时收到对方的确认报文,也就是出现了超时的情况,就可以认为网络中某处出现了拥塞。

慢开始算法

  • 基本思路:当主机在已经建立的TCP连接上开始发送数据时,并不清楚网络当前的情况。如果贸然把大量数据注入到网络中,则可能引起网络拥塞。经验证明,最好的方式是先探测一下,也就是从小到大逐渐增大注入到网络中的数据量,也就是说,从小到大增大拥塞窗口的值。
  • 具体规定:在每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个SMSS的数值(往往就是一个)。由此可以看出,发送方并不是在所有的确认都收齐了之后才调整其窗口大小,而是收到一个确认就调整一下拥塞窗口,抓紧时间发送自己的报文段。
  • 慢开始门限(ssthresh):为了防止拥塞窗口过大引起网络阻塞,所设置的一个变量,使用方法如下:
    • 当cwnd<ssthresh时,使用慢开始算法;
    • 当cwnd=ssthresh时,使用两种算法均可;
    • 当cwnd>ssthresh时,用拥塞避免算法来代替慢开始算法。
  • 意外情况: 有时个别报文会在网络中意外丢失,但是实际网络并未发生拥塞。如果发送方迟迟收不到确认,就会产生超时并误认为网络发生了拥塞。这就导致发送方会启动慢开始算法,把拥塞窗口的值设置为1,从而不必要地降低了传输速率。

拥塞避免算法

  • 基本思想:是的拥塞窗口缓慢增大。
  • 具体实现:每经过一个往返时间,发送方的拥塞窗口大小就加一,而不是像开始阶段那样加倍增长。也就是说在拥塞避免阶段采用的是加法增大,比慢开始阶段的增长速率要小得多。
  • 发生拥塞情况:当使用拥塞避免算法的过程中出现网络超时,则说明网络发生拥塞。此时,将门限值调整为原先门限值的一半,并从1开始重新执行慢开始算法。
  • 注意事项:拥塞避免并非完全避免拥塞,而是让拥塞窗口增长缓慢,使得网络不容易出现拥塞。

2.快重传和快恢复

快重传算法

  • 作用:可以让发送方尽早知道发生了个别报文段的丢失。可以提高网络整体的吞吐量。
  • 基本思想:该算法要求接收方不要等待自己发送数据时才进行捎带确认,而是要立即发送确认。即使收到了失序的报文段也要立即发出对已经收到的报文段的重复确认。
  • 算法规定:如果发送方收到3个重复的对某个报文段的确认,则知道当前并未出现网络拥塞,而只是接收方少接收一个报文段,因此立即重传该缺少的报文段。

快恢复算法文章来源地址https://www.toymoban.com/news/detail-495364.html

  • 使用情况:如果发送方知道只是丢失了个别报文段,则不启动慢开始,而是执行快恢复算法。
  • 具体操作:在拥塞避免过程中发生了个别报文段的丢失,则发送方将门限值和拥塞窗口都调整为当前拥塞窗口的一半,并继续执行快恢复算法。

到了这里,关于计算机网络笔记:TCP的拥塞控制方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【计算机网络】深入理解TCP协议二(连接管理机制、WAIT_TIME、滑动窗口、流量控制、拥塞控制)

    正常情况下,TCP需要经过三次握手建立连接+四次挥手断开链接,下面看一个图: 服务器的状态变化: [CLOSED - LISTEN] 服务器端调用listen后进入LISTEN状态, 等待客户端连接; [LISTEN - SYN_RCVD] 一旦监听到连接请求(同步报文段), 就将该连接放入内核等待队列中, 并向客户端发送SYN确认

    2024年02月07日
    浏览(29)
  • 计算机网络复习4----TCP的拥塞窗口cwnd大小与传输轮次n的关系

    这里是 凤凰谷佛 的 计算机网络 复习系列之4,一起来看看吧! 书中P236-图5-27 1.(5—39)TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示: 试分析回答: (1)指明TCP工作在慢开始阶段的时间间隔。 解析: 满开始时间间隔看在哪一刻2倍增长停止 (2) 指明TCP工作在拥塞避

    2024年02月08日
    浏览(43)
  • 计算机网络TCP篇之流量控制

    今天谈一谈我对于tcp流量控制的看法 在网络拓扑中如果发送方节点的发送速率大于接受方节点的接受速率,数据会不断在接受方的缓冲区累积,直到接受方的缓冲区满的时候,发送方继续发送数据,这时候接受方无法存放这些数据,就只能将数据包丢掉,这样就消耗了网络资

    2024年02月07日
    浏览(31)
  • 【计算机网络】TCP传输控制协议——三次握手

    一开始,客户端和服务端都处于CLOSE状态,先是服务端监听某个端口,处于LISTEN状态。 然后客户端主动发起连接SYN,之后处于SYN-SEND状态。 服务端收到发起的连接,返回SYN,并且ACK客户端的SYN,之后处于SYN-RECV状态。 客户端收到服务端发送的SYN和ACK之后,发送ACK的ACK,之后处

    2024年02月09日
    浏览(17)
  • 计算机网络笔记:计算机网络体系结构(OSI七层模型、TCP/IP五层协议)

    计算机网络是一个复杂的、具有综合性技术的系统,它由计算机系统、通信处理机、通信线路和通信设备、操作系统以及网络协议等组成。为了更好地描述计算机网络结构,使计算机网络系统有条不紊地处理工作,需要定义一种较好的网络体系结构。分层结构就是一种较好地

    2024年02月07日
    浏览(24)
  • 计算机网络笔记:TCP协议 和UDP协议(传输层)

    TCP 和 UDP都是传输层协议,他们都属于TCP/IP协议族。 TCP的全称是 传输控制协议 是一种 面向连接的、可靠的、基于字节流 的 传输层 通信协议。TCP 是面向连接的、可靠的流协议(流就是指不间断的数据结构) TCP报文 是TCP层传输的数据单元,也称为 报文段 ,一个TCP报文段由

    2024年02月02日
    浏览(23)
  • 【计算机网络笔记】传输层——TCP特点与段结构

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月06日
    浏览(20)
  • 计算机网络学习笔记(二)OSI模型与TCP-IP模型

    7层 物链网输会示用(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层) 消耗流量的各个软件和程序。比如发送邮件的FTTP,发送文件的SMTP、万维网(HTTP) 规定两个通信端间传输数据的表达方式。 具体功能: 数据压缩与解压缩 数据加密与解密 数据格式的

    2024年01月22日
    浏览(26)
  • 【计算机网络笔记】TCP/IP参考模型基本概念,包括五层参考模型

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月05日
    浏览(22)
  • 系分笔记计算机网络OSI七层模型概念、协议和作用以及TCP/IP协议

      计算机网路是系统分析师考试的常考知识点,本篇主要记录了知识点:OSI七层模型概念、协议和作用以及TCP/IP协议中比较重要的考点。   计算机网络的OSI七层模型从底层往上,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。   计算机网络

    2024年01月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包