当前课程知识点:网络技术与应用 > 第7讲 传输层 > 7.4 传输控制协议TCP > TCP拥塞控制机制
每个人都体验过由于交通拥塞而造成堵车的感受
如果交通拥塞严重的话
可能会造成整个的交通瘫痪
在网络里面也是这样
如果网络造成拥塞的话 有可能会丢失报文
如果拥塞严重的话 有可能使得整个网络处于瘫痪状态
下面我们来学习TCP的拥塞控制机制
首先分析网络发生拥塞现象和原因
然后再来学习TCP避免和消除拥塞的机制
拥塞是指分组交换设备当中
经过某条链路的流量超出了链路的传输能力
使得输出队列中等待输出的报文越来越多
以至于发生队列溢出
造成报文丢失的情况
比如这样一个分组交换设备当中
端口1 2 3三个端口输入的数据根据转发表以及目的地址
都需要从端口4转发出去
有可能造成端口4输出队列溢出
然后丢失报文
什么情况会造成这种结果呢
如果端口1 2 3三个端口输入速率之和大于
端口4的输出速率的话
就有可能造成这种现象
这个时候端口4所连接的链路就发送了拥塞
从这个现象可以看出来
发生拥塞的原因主要和网络流量的分布状态有关
如果提高转发结点的性能并不能消除拥塞
解决拥塞的最简单的办法是控制发送端的发送流量
怎么样来确定网络发生拥塞了呢
网络在传输TCP报文过程当中
如果丢失报文 就说明发送了拥塞
这个和我们前面差错控制机制当中所说的
发送端要进行重传的条件是一致的
如果报文丢失了 发送端要重新发生数据
发送端一旦要重传数据了
说明网络就发送拥塞了
就要调整发送端的发送流量
在确定网络发生拥塞的情况下
怎么调整发送端的发送流量呢
发送端的发送流量是根据具体的情况有不同的调整幅度
比如像这样一种情况
丢失的报文并不多 发生的拥塞不严重
因此在调整流量的时候
不需要大幅度调整流量
对于这样一些情况
发送过程当中大量的报文丢失
说明拥塞很严重
所以调整流量的时候需要大幅度调整
对于发送端来说
怎么调整流量呢
控制流量的依据有两个方面
一个是接收端的处理能力
第二个是网络状态
接收端的处理能力可以通过确认应答当中的窗口字段
告诉发送端
网络的状态怎么确定呢
网络的状态用拥塞窗口表示
TCP拥塞控制机制的目标是网络能够承载的
发送端到接收端的流量
把这个流量称为拥塞窗口
前面说过
发送窗口是根据接收端公告的窗口字段值以及网络状态
确定的
现在就可以告诉大家 网络的状态就是拥塞窗口
也就是发送端的发送的实际窗口的值
就是拥塞窗口和接收端公告的窗口之间的最小值
也就是说发送端控制流量的过程
就是改变拥塞窗口的值的过程
怎么来做呢
特别是一开始发送数据的时候
根本就不知道网络的状态是什么样的状态
下面来看一下控制流量的原则
首先 在开始的时候探测网络的状态
这个通过慢启动过程
然后发送端不断感知网络是否发生拥塞
是否发生拥塞的依据是是否丢失报文
也就是发送端是否要重传
根据感知到的拥塞状态判别拥塞程度
拥塞程度可以有两种情况判别
因为发生了重传 就说明发生了拥塞
如果重传是因为定时器溢出要重传
那么它的拥塞比较严重
如果接收到4个确认序号相同的应答
那么也是要重传
这是另外一种情况
根据重传的程度判断拥塞的程度
选择流量调整的策略
流量调整策略有两种
一种是重新返回到慢启动状态
第二种是进入到拥塞避免状态
下面来详细了解一下什么事慢启动和拥塞避免
首先 在开始的时候采用慢启动过程
来探测网络的状态
也就是相当于摸着石头过河
TCP连接建立的时候 先发送一个TCP报文
当接收到接收端返回的应答时
再发送2个TCP报文
以此成倍增大
一直到什么时候呢
一直达到接收端公告的窗口值
或者是发生了报文丢失
报文丢失有两种情况
一种是重传定时器溢出
还有一种是接收到4个确认序号相同的应答
那么下面看一下这两种情况的不同调整方案
当重传定时器溢出的时候
它调整拥塞窗口的过程是这样
首先重新开始慢启动过程
慢启动过程一直到什么时候为止呢
一直达到当前拥塞窗口的一半作为慢启动阈值
慢启动一直达到这样一个阈值的时候
不能采用慢启动这种方式了
就进入到拥塞避免过程
什么是拥塞避免呢
就是线性增长拥塞窗口的值
逐步接近原来的拥塞结点
比如原来拥塞点是Y
那么慢启动的阈值就是二分之Y
就是重新慢启动以后
一直达到二分之Y的时候就不能再用慢启动的方式了
要用线性增长的方式
这是重传定时器溢出的流量控制方案
如果是连续接收到多个重复确认应答的情况
怎么来调整呢
首先 如果在某个点上
连续4次接收到确认序号的应答
那么流量就降低到拥塞窗口的一半
然就进入线性增长
连续4次接收到确认序号相同的应答时的拥塞窗口的值是Y1
降低到一半是二分之Y1
这个时候进入线性增长状态
这是连续接收到4个相同确认应答的流量调整方案
所以TCP避免和消除拥塞的机制应该是这样
在TCP连接刚建立的时候
发送端通过逐步增大拥塞窗口
来探测网络能够承载的流量
当发送端检测到有TCP报文丢失的时候
立即向下调整拥塞窗口
检测TCP报文丢失的方法有两种
一种是发送端的重传定时器溢出
第二种是连续接收到多个重复确认应答
TCP报文丢失的程度不同
调整拥塞窗口的方法也不同
这就是TCP协议的拥塞控制机制的全部内容
-课程先导语
--先导语
-1.1 网络内涵
--网络内涵
-1.2 互联网发展过程
--互联网发展过程
-1.2 互联网发展过程--作业
-1.3 交换方式
--电路交换
-- 虚电路交换
--数据报交换
--三种交换方式比较
--html
-1.3 交换方式--作业
-1.4 计算机网络体系结构和协议
--分层结构
--OSI体系结构
-1.4 计算机网络体系结构和协议--作业
-第一讲内容的启示
--html
-例题分析
--例题分析
-测验--作业
-本讲内容简介
-2.1 数据传输系统
-2.1 数据传输系统--作业
-2.2 信号
--2.2 信号
-2.2 信号--作业
-2.3 编码和调制
--2.3-1 编码
--2.3-2 调制
-2.3 编码和调制--作业
-2.4 差错控制
-2.4 差错控制--作业
-2.5 传输媒体
--2.5 传输媒体
-2.5 传输媒体--作业
-2.6 Packet Tracer6.2使用说明
-第二讲内容的启示
--html
-例题分析
--例题分析
-测验--作业
-以太网发展过程与内容简介
-以太网发展过程与内容简介--作业
-3.1 总线形以太网
-3.1 总线形以太网--作业
-3.2 网桥与冲突域分割
-3.2 网桥与冲突域分割--作业
-3.3 交换式以太网与VLAN
-3.3 交换式以太网与VLAN--作业
-3.4 以太网标准
-3.4 以太网标准--作业
-第三讲内容的启示
--html
-例题分析
--例题分析
-案例设计
--案例设计
-测验--作业
-本讲内容简介
--无线局域网
-4.1 无线局域网概述
-4.1 无线局域网概述--作业
-4.2 无线局域网应用方式
-4.2 无线局域网应用方式--作业
-4.3 无线局域网MAC层
-4.3 无线局域网MAC层--作业
-4.4 终端接入无线局域网过程
-4.4 终端接入无线局域网过程--作业
-4.5 无线局域网设计和分析
-第四讲内容的启示
--html
-例题分析
--例题分析
-测验--作业
-本讲内容简介
-- IP与网络互连
-5.1 网络互连机制
-5.1 网络互连机制--作业
-5.2 网际协议
-5.2 网际协议--作业
-5.3 IP分组传输过程
-5.3 IP分组传输过程--作业
-5.4 路由表建立过程
-5.4 路由表建立过程--作业
-5.5 IP over以太网
-5.5 IP over以太网--作业
-5.6 三层交换机与VLAN间通信过程
-5.7 Internet控制报文协议
-5.7 Internet控制报文协议--作业
-第五讲内容启示
--html
-案例设计
--案例设计
-例题分析
-测验--作业
-本讲内容简介
--本讲内容简介
-6.1 Internet接入控制机制
-6.1 Internet接入控制机制--作业
-6.2 以太网和ADSL接入技术
-6.2 以太网和ADSL接入技术--作业
-6.3 家庭局域网接入方式与无线路由器
-6.3 家庭局域网接入方式与无线路由器--作业
-6.4 接入综合演示实验
-6.4 接入综合演示实验--作业
-第六讲内容的启示
--html
-例题分析
--第六讲 例题分析
-测验--作业
-本讲内容简介
--传输层
-7.1 传输层服务特性
--传输层服务特性
-7.1 传输层服务特性--作业
-7.2 端口号
--端口号
-7.3 用户数据报协议UDP
-7.3 用户数据报协议UDP--作业
-7.4 传输控制协议TCP
--TCP特点和格式
-- TCP的几点说明
-7.4 传输控制协议TCP--作业
-第七讲内容启示
--html
-例题分析
--例题分析
-测验--作业
-本讲内容简介
-- 应用层
-8.1 应用结构
--应用结构
-8.1 应用结构--作业
-8.2 域名解析
-8.2 域名解析--作业
-8.3 动态主机配置协议
-8.3 动态主机配置协议--作业
-8.4 万维网
-- 万维网
-8.4 万维网--作业
-8.5 电子邮件
--html
-8.6 文件传输协议
--html
-例题分析
--例题分析
-案例设计
--CH8 案例设计
-应用层启示
--html
-测验--作业
-本讲内容简介
-9.1 网络安全概述
-9.1 网络安全概述--作业
-9.2 网络安全基础
-9.2 网络安全基础--作业
-9.3 病毒检测与防御技术
-9.3 病毒检测与防御技术--作业
-9.4 以太网安全技术
-9.4 以太网安全技术--作业
-9.5 无线局域网安全技术
-9.5 无线局域网安全技术--作业
-9.6 防火墙
-9.6 防火墙--作业
-9.7 安全协议
--9.7 安全协议
-9.7 安全协议--作业
-例题分析
--例题分析
-防火墙演示实验
-- 防火墙演示实验
-案例设计
--案例设计
-网络安全的启示
--html
-测验--作业
-附录1:综合应用分析
--综合应用分析
-附录2:Cisco实际设备网络构建与配置
-期末考试--考试试题