408真题解析-2009-39-网络-TCP拥塞控制

一 真题2009-39

2009-39题. 一个TCP连接总是以1KB的最大段长发送TCP段,发送有足够多的数据要发送。当拥塞窗口为16KB时发生了超时,如果接下来的4个RTT(往返时间)时间内的TCP段的传输都是成功的,那么当第4个RTT时间内发送的所有TCP段都得到肯定应答时,拥塞窗口大小是()。

A. 7KB

B. 8KB

C. 9KB

D. 16KB

二 题目要素解析

场景: TCP 拥塞控制(Congestion Control)过程。

已知条件:

  • MSS(最大段长):1 KB。
  • 初始状态:拥塞窗口 cwnd=16 KB。
  • 事件 :发生超时(Timeout)。
  • 后续过程:接下来 4 个 RTT 传输均成功。
  • 求: 第 4 个 RTT 结束时,拥塞窗口 cwnd 的大小。

核心考点: TCP 拥塞控制中的 慢开始(Slow Start)拥塞避免(Congestion Avoidance) 算法的切换逻辑。

三 哔哔详解

这道题考察的是 TCP 对 "超时" 事件的反应以及状态机的转换。

  1. 超时事件的处理(回到原点):

    • 当发生超时时,TCP 认为网络拥塞严重。

    • 阈值调整(ssthresh):

      将慢开始阈值设置为当前拥塞窗口的一半。

      ssthresh=16 KB/2=8 KB

    • 拥塞窗口重置: 将拥塞窗口 cwnd 重置为 1 个 MSS(即 1 KB),并进入慢开始阶段。

  2. 第 1 个 RTT(慢开始阶段):

    • 初始 cwnd=1 KB。
    • 发送 1 KB 数据,收到确认。
    • 慢开始阶段 cwnd 指数增长(翻倍)。
    • 结束时:cwnd=1×2=2 KB。
  3. 第 2 个 RTT(慢开始阶段):

    • 当前 cwnd=2 KB。
    • 发送 2 KB 数据,收到确认。
    • cwnd 翻倍。
    • 结束时:cwnd=2×2=4 KB。
  4. 第 3 个 RTT(慢开始阶段):

    • 当前 cwnd=4 KB。
    • 发送 4 KB 数据,收到确认。
    • cwnd 翻倍。
    • 结束时:cwnd=4×2=8 KB。
    • 关键节点: 此时 cwnd 达到了阈值 ssthresh (8 KB)。慢开始阶段结束,进入拥塞避免阶段。
  5. 第 4 个 RTT(拥塞避免阶段):

    • 当前 cwnd=8 KB。
    • 发送 8 KB 数据,收到确认。
    • 拥塞避免阶段 cwnd 线性增长(每次 RTT 只增加 1 个 MSS)。
    • 结束时:cwnd=8 KB+1 KB=9 KB。

结论: 第 4 个 RTT 结束时,拥塞窗口大小为 9 KB。

四 参考答案

参考答案 C

五 考点精析

5.1 TCP 拥塞控制四大核心机制

📌 目标 :在不引起网络拥塞的前提下,尽可能高效利用带宽。
关键变量

  • cwnd:拥塞窗口(Congestion Window)
  • ssthresh:慢启动阈值(Slow Start Threshold)
  • MSS:最大段长(Maximum Segment Size)

1. 慢启动(Slow Start)

  • 触发条件 :连接建立 or 超时重传
  • 初始值cwnd = 1 MSS
  • 增长方式每收到一个 ACK,cwnd += 1 MSS
    每 RTT 翻倍(指数增长):1 → 2 → 4 → 8 ...
  • 结束条件cwnd ≥ ssthresh 或 发生丢包

2. 拥塞避免(Congestion Avoidance)

  • 触发条件cwnd ≥ ssthresh
  • 增长方式:每 RTT 增加 1 MSS(线性增长)
    • 实现:每 ACK 增加 MSS2cwndcwndMSS2 ,累计 ≈ +1 MSS/RTT
  • 目的:谨慎探测可用带宽,避免激进导致拥塞

3. 快重传(Fast Retransmit)

  • 触发条件 :收到 3 个重复 ACK(Duplicate ACKs)
  • 行为:
    • 立即重传丢失段(无需等待 RTO 超时)
    • 进入 快恢复

4. 快恢复(Fast Recovery)

  • 触发条件:快重传之后
  • 操作:
    • ssthresh = cwnd / 2
    • cwnd = ssthresh + 3 × MSS(补偿已离开网络的 3 个段)
    • 每收到一个重复 ACK,cwnd += 1 MSS
    • 收到新 ACK(对重传段的确认)后,退出快恢复,进入拥塞避免

口诀

"超时回 1,快重传减半;慢启翻倍,拥避加一。"

5.2 两种丢包响应对比

事件 触发条件 ssthresh 设置 cwnd 重置 后续阶段
超时(Timeout) RTO 到期未收到 ACK cwnd / 2 1 MSS 慢启动
快重传(3 Dup ACKs) 收到 3 个重复 ACK cwnd / 2 ssthresh + 3 MSS 快恢复 → 拥塞避免

⚠️ 关键区别

  • 超时 → 回到最保守状态(cwnd=1)
  • 快重传 → 不重启慢启动,直接进入拥塞避免(更高效)

5.3 易错点总结

错误认知 正确认知
"超时后 cwnd = ssthresh" ❌ 应为 cwnd = 1 MSS
"快重传后回到慢启动" ❌ 进入 快恢复,不重启慢启
"拥塞避免每 ACK +1" ❌ 是 每 RTT +1(通过微增量实现)
"cwnd 可无限增长" ❌ 受 接收窗口 rwnd 限制

六 考点跟踪

年份 题号 考查内容 CSDN 参考链接 VX参考链接
2009 第39题 超时后 cwnd 变化
2010 第39题 TCP拥塞控制
2011 第39题 TCP三次握手
2011 第40题 TCP序号计算
2013 第39题 TCP序号计算
2014 第38题 TCP发送窗口计算
2015 第39题 TCP发送窗口计算
2016 第41题 TCP序号计算
2017 第39题 TCP连接建立和发送数据成功时间计算
2019 第38题 TCP快重传
2020 第38题 TCP拥塞控制
2021 第40题 TCP序号计算
2022 第38题 TCP拥塞控制
2023 第47题 TCP序号计算
2024 第38题 TCP 释放连接最少时间
2025 第38题 反向计算可发送的段数

说明 :本文内容基于公开资料整理,参考了包括但不限于《数据结构》(严蔚敏)、《计算机操作系统》(汤小丹)、《计算机网络》(谢希仁)、《计算机组成原理》(唐朔飞)等国内高校经典教材,以及其他国际权威著作。同时,借鉴了王道、天勤、启航等机构出版的计算机专业考研辅导系列丛书 中的知识体系框架与典型题型分析思路。文中所有观点、例题解析及文字表述均为作者结合自身理解进行的归纳与重述,未直接复制任何出版物原文。内容仅用于学习交流,若有引用不当或疏漏之处,敬请指正。

相关推荐
ryan_99616 分钟前
MCP Transport 完整指南:stdio 与 Streamable HTTP 到底怎样传消息
网络·网络协议·http
数据知道3 小时前
网络安全实战:子域名接管实战——从 CNAME 配置错误到完全控制
网络·安全·web安全·网络安全
lf13210273 小时前
用 JSON Schema 管装修节点记录:从照片台账到可校验工程数据
网络·数据库·人工智能·经验分享·物联网·json·智能家居
LayZhangStrive3 小时前
后端通识 - 远程服务调用RPC
网络·网络协议·rpc·sentinel·openfeign·远程服务调用
华清远见成都中心5 小时前
FreeRTOS事件组(Event Group)的工作机制分析
服务器·网络·网络协议
xiaoxiangsiyan5 小时前
RHCE2026云原生路线EX188和EX288完整备考指南
运维·网络·云原生·自动化
西安景驰电子5 小时前
《PTP精确时间协议系列》第二篇:工程部署、调试与性能优化
运维·服务器·网络·数据库·windows·性能优化
tiantianuser6 小时前
NVME-oF IP 设计15 : 适于高速网络存储系统的IP设计1
网络协议·rdma·高速传输·cmac·roce v2
虹科网络安全7 小时前
KnowBe4 SAT 是什么?安全意识培训平台功能与应用详解
网络
艺杯羹7 小时前
古典密码学攻防演进全景:从凯撒移位、频率分析到一次一密与恩尼格玛机破译
网络·人工智能·安全·网络安全·密码学·密码安全