## 3.7 TCP拥塞控制
TCP必须使用端到端的拥塞控制,因为IP层不向端显式提供网络拥塞反馈。
TCP拥塞控制方法:发送方感知网络状态,无拥塞则增加速率,有拥塞则减少速率。
拥塞窗口(Congestion Window,cwnd):发送方速率受到此变量限制,v=cwnd/RTT
* 一个丢失的报文段意味着拥塞,发送方需要降低发送速率。
* 一个确认的报文段意味着网络正常,发送方可以增加发送速率。
* 发送方实行带宽探测。
### 3.7.1 TCP拥塞控制算法
TCP拥塞控制算法(TCP Congestion Control Algorithm)
**慢启动状态(Slow-start)**:初始 cwnd 值较小,为一个 MSS
* 每接收到一个确认报文,cwnd 增加一个 MSS,即无拥塞状态下指数增长;
* 出现丢包事件,ssthresh=cwnd/2,cwnd=MSS,重新进入慢启动状态;
* 当 cwnd 大于等于 ssthresh 时,慢启动模式停止,进入拥塞避免模式;
* 检测到3个冗余ACK,TCP执行快速重传,并进入快速恢复状态;
**拥塞避免状态**:每个 RTT 只将 cwnd 增加一个 MSS,线性增加。
* 出现丢包,ssthresh=cwnd/2,cwnd=MSS,重新进入慢启动状态;
* 检测到3个冗余ACK,TCP执行快速重传,之后快速恢复状态;
**快速重传状态**:对每个冗余的 ACK,cwnd 增加一个MSS,当丢失报文段的一个ACK到达,则进入拥塞避免状态。
**TCP拥塞回顾**:加性增,乘性减。
**对吞吐量宏观描述**:一条连接的平均吞吐量 = 0.75 \* W / RTT(W为窗口长度)。
**经高带宽路径的TCP**:一条连接的平均吞吐量 = 1.22 \* MSS / RTT / sqrt\(L\)(L为丢包率)。
- 介绍
- 第一章 计算机网络和因特网
- 1.1 什么是因特网
- 1.2 网络边缘
- 1.3 网络核心
- 1.4 分组交换网中的时延、丢包和吞吐量
- 1 .5 协议层次及其服务模型
- 1.6 面对网络攻击
- 1 .7 计算机网络和因特网的历史
- 第二章 应用层
- 2.1 应用层协议原理
- 2.2 Web 和 HTTP
- 2.3 文本传输协议:FTP
- 2.4 因特网中的电子邮件
- 2.5 DNS:因特网的目录服务
- 2.6 P2P应用
- 2.7 套接字编程
- 第三章 运输层
- 3.1 概述和运输层服务
- 3.2 多路复用与多路分解
- 3.3 无连接运输:UDP
- 3.4 可靠数据传输原理
- 3.5 面向连接的运输:TCP
- 3.6 拥塞控制原理
- 3.7 TCP拥塞控制
- 第四章 网络层
- 4.1 概述
- 4.2 虚电路和数据报网络
- 4.3 路由器工作原理
- 4.4 网际协议:因特网的转发和编址
- 4.5 路由选择算法
- 4.6 因特网中的路由选择
- 4.7 广播和多播路由选择
- 第五章 链路层:链路、接入网和局域网
- 5.1 链路层概述
- 5.2 差错检测和纠正技术
- 5.3 多路访问链路和协议
- 5.4 交换局域网
- 5.5 链路虚拟地址:网络作为链路层
- 5.6 数据中心网络
- 5.7 回顾:WEB页面请求的历程
- 第六章 无线网络和移动网络
- 6.1 概述
- 6.2 无线链路和网络特征
- 6.3 WiFi:802.11 无线LAN
- 6.4 蜂窝因特网接入
- 6.5 移动管理:原理
- 6.6 移动IP
- 6.7 蜂窝网中的移动性管理
- 第七章 多媒体网络
- 7.1 多媒体网络应用
- 7.2 流式储存视频
- 7.3 IP语音
- 7.4 实时会话式应用的协议
- 7.5 支持多媒体的网络
- 第八章 计算机网络中的安全
- 8.1 什么是网络安全
- 8.2 密码学的原则
- 8.3 报文完整性和数字签名
- 8.4 端点鉴别
- 8.5 安全电子邮件
- 8.6 使用TCP连接安全:SSL
- 8.7 网络层安全性:IPsec和虚拟专用网
- 8.8 使无线LAN安全
- 8.9 运行安全性:防火墙和入侵检测系统
- 第九章 网络管理
- 9.1 什么是网络管理
- 9.2 网络管理的基础设施
- 9.3 因特网标准管理框架
- 9.4 ASN.1
- 总结
- c.1 第一章小结
- c.2 第二章小结
- c.3 第三章小结
- c.4 第四章小结
- c.5 第五章小结
