网络工程师综合知识真题考点讲解:TCP拥塞控制-慢启动
【真题】以下关于TCP拥塞控制慢启动算法的描述,正确的是()。
A.慢启动使用指数增长,当到达拥塞阈值后转为线性增长
B.慢启动过程中,拥塞窗口不会超过拥塞阀值
C.慢启动中拥塞窗口以固定速率增长
D.慢启动从一个窗口值开始,窗口每经过一个RTT倍增
【温馨提示】此题答案存在争议,我们不管答案,因为本文主要目的是给大家讲解“慢启动”这个知识点。
【解题关键】掌握TCP慢启动的窗口增长规律、拥塞阈值ssthresh的分界作用,明确慢启动与拥塞避免两个阶段的增长模式差异。
【此题考点重点归纳】

【考点详解】
●先搞懂一个问题:TCP 为什么要"控速"?
想象一下:你刚上高速公路,对路况一无所知。你敢一脚油门踩到底、直接200km/h狂飙吗?不敢对吧——前面可能堵车、可能出事故。
网络也是一样。TCP 连接刚建立时,完全不知道这条网络路径能扛多少数据。如果一上来就疯狂发数据,会瞬间把沿途路由器缓冲区打满,导致:大量丢包、不必要的重传、网络雪崩(专业术语叫"拥塞崩溃")。
所以 TCP 的设计哲学是:试探 → 加速 → 遇堵减速,这就是拥塞控制 。
核心目标:在"充分利用带宽"和"防止网络过载"之间找平衡 。
●记牢 3 个核心参数
在了解原理之前,我们必须先把三个关键参数搞明白,所有规则都是围绕它们展开的。我们用「货车运货」做类比:
还有个基础概念要了解:RTT(往返时延) —— 就是从发送方发出一个数据包,到收到接收方回传的确认(ACK)的总时间,相当于货车跑一趟来回的时间。
●慢启动的工作原理:
1. 初始状态:从1个MSS开始
名字叫"慢启动",实际一点都不慢!它之所以叫"慢",只是因为起点小,而不是一上来就满速猛发 。连接刚建立的时候,谁也不知道当前网络堵不堵、带宽有多大。所以 TCP 非常保守:
▌初始拥塞窗口 cwnd = 1 MSS
▌意思就是:一开始只发 1 个数据包,先试探一下。
2. 增长规则:收到一个确认,窗口就 + 1
慢启动的增长规则非常简单:
每收到 1 个有效的 ACK 确认,cwnd 就增加 1 MSS
我们一步步推演,就很清楚了:
第 1 轮:cwnd=1,发出 1 个包
等这个包的 ACK 回来,cwnd +1 → 变成 2
第 2 轮:cwnd=2,发出 2 个包
这 2 个包各自的 ACK 回来,每个 ACK 都让 cwnd+1,一共 + 2 → 变成 4
第 3 轮:cwnd=4,发出 4 个包
4 个 ACK 回来,cwnd +4 → 变成 8
第 4 轮:cwnd=8 → 下一轮变成 16……
3. 增长模式:指数级增长
从上面的推演能看出来:每经过一个 RTT(一轮往返),cwnd 就直接翻倍。
1 → 2 → 4 → 8 → 16 → 32……
这就是指数增长,看起来 “起步慢”,但涨起来非常快。
4. 阶段切换:什么时候停止慢启动?
指数增长不可能一直持续下去,否则很快就会把网络撑爆。
当满足条件 cwnd ≥ ssthresh 时,慢启动阶段结束,自动切换到拥塞避免阶段。
拥塞避免阶段的增长规则就保守多了:
●不再是每个 ACK 都 + 1,而是每经过一个 RTT,cwnd 才增加 1 MSS
●也就是从 “翻倍涨” 变成 “慢慢加 1” 的线性增长,稳步探测剩余带宽,避免拥塞。
●遇到拥塞了怎么办?阈值调整规则
网络不会一直顺畅,一旦出现丢包(说明网络拥塞了),TCP 就要 “降速”,同时调整阈值。考试常考两种场景的处理差异:
大白话理解:
▌超时重传 = 前方严重堵车,直接刹停,重新从 1 档起步
▌快重传 = 前方轻微拥堵,松点油门降点速,继续往前走就行,不用完全停下
信管网订阅号
信管网视频号
信管网抖音号
温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!
信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。
信管网软考课程由信管网依托10年专业软考教研倾力打造,教材和资料参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。
| 发表评论 查看完整评论 | |