美文网首页程序员
TCP的流量控制和拥塞控制

TCP的流量控制和拥塞控制

作者: 我我我我我_a70b | 来源:发表于2019-01-20 13:26 被阅读0次

1、流量控制

1.1概述

理想状态下,无论是传送数据的速率多块,传送数据的多大,接收方都可以接收到。可是在实际情况中,需要协调发送方发送数据和接收方接收数据的速率,以便发送的数据能被收到。

1.1.1滑动窗口

TCP采用滑动窗口机制来解决流量控制问题,滑动窗口为接收方设定了一个动态指定的接收窗口rwnd。TCP传输是双向进行的,接收方同时也是发送方,这里为了便于分析,取其中一个方向进行分析。
第一次连接建立时 接收方告知发送方初始rwnd值
发送方发送小于rwnd值长的数据
接收方在确认收到数据的同时,可再次指定rwnd值
通过这种机制 接收方可以控制发送数据的速率,当网络拥塞时可以增大窗口 又不至于发送速率超过接收速率


滑动窗口机制

拥塞控制

首先应该明确拥塞控制与流量控制的区别
1、流量控制,控制的是点与点,局部的流量,控制发送的速率和流量速率
2、拥塞控制,控制的是全局的流量,核心问题在于对拥塞状态的检测,对拥塞发生部位的确定,拥塞避免以及拥塞产生的应对。

五个核心概念

ssthresh

慢开始

拥塞避免

快重传

快恢复

慢开始算法开始,这里的慢指初始cwnd窗口=1,经过一个传输轮次cwnd加倍。增长达到慢开始门限ssthresh,执行拥塞避免算法。对cwnd增长方式由加倍转为每次增加一个最大发送单位。
当发生超时时,cwnd=ssthresh=cwnd/2再次执行慢开始算法。
快重传和快恢复是对以上过程的优化
快重传指的是,当发送方连续接收到三个重复的确认后,立即对从确认号起的数据开始重传,而不必等待超时。
这里举个例子,分别有五个数据报
p1(1-10)、p2(11-20)、p3(21-30)、p4(31-40)、p5(41-50)
这里假设p2丢失
当收到乱序的p3时,接收方立即发送确认ack=11,表示11之前的已经按序到达
接着收到p4 p5继续发送重复确认,发送方重传p2。取出放在缓存中的失序序列p3、p4、p5,完成数据传输

快恢复与快重传搭配使用,指的是当发生快重传超时时不是执行慢开始,而是令当前cwnd值减半,并且赋值给慢开始门限。从cwnd开始直接执行拥塞避免算法。
这样之后就会执行拥塞避免算法
本质上TCP的拥塞控制类似于“作死”,不断地增大cwnd以求增大发送速率,其实是在要平衡拥塞和速率,刚好到达发送极限不至于拥塞,慢开始大幅靠近,达到慢开始门限,通过拥塞避免算法递增靠近拥塞点

相关文章

  • 2018-07-11

    tcp的运输控制分为tcp流量控制和tcp拥塞控制,这里先讲tcp的拥塞控制。 为了讲清楚tcp的拥塞控制,还是利...

  • TCP的流量控制与拥塞控制机制

    参考:滑动窗口TCP的流量控制和拥塞控制 1 流量控制 利用滑动窗口机制实施流量控制 TCP协议里窗口机制有2种:...

  • 细说TCP的可靠传输、流量控制、拥塞控制

    目录 TCP如何实现可靠传输? TCP如何实现流量控制?(滑动窗口) TCP如何实现拥塞控制?(慢开始、拥塞避免、...

  • 传输层之TCP

    TCP报文结构 TCP特点 1、面向连接 2、可靠传输 3、流量控制 4、拥塞控制 TCP连接 ...

  • TCP那些事儿

    目录: TCP是什么TCP报文结构TCP连接过程TCP状态转移TCP流量控制 —— 滑动窗口TCP拥塞控制TCP可...

  • TCP/IP详解

    流量控制与拥塞控制 流量控制 拥塞控制

  • TCP Tahoe协议

    TCP Tahoe协议是TCP最早的TCP拥塞控制版本,主要包括三个机制用于控制拥塞窗口:慢启动、拥塞避免和快速重...

  • TCP的流量控制 和 拥塞控制

    流量控制 1.定义: 流量控制往往指的是点对点通信量的控制,是个端到端的问题。流量控制所要做的就是控制发送端发送数...

  • TCP的流量控制和拥塞控制

    https://blog.csdn.net/lulitianyu/article/details/79526838

  • TCP的流量控制和拥塞控制

    1、流量控制 1.1概述 理想状态下,无论是传送数据的速率多块,传送数据的多大,接收方都可以接收到。可是在实际情况...

网友评论

    本文标题:TCP的流量控制和拥塞控制

    本文链接:https://www.haomeiwen.com/subject/ixrtjqtx.html