第17章 TCP:传输控制协议
17.1 引言
TCP提供面向连接的、可靠的字节流服务。
- 封装在IP中(协议号6)
- 全双工
- 连接建立(三次握手)
- 连接终止(四次挥手)
17.2 TCP的服务
TCP提供的可靠性
- 数据分割成最适合发送的块(报文段)
- 启动定时器,等待确认
- 收到确认后确认(延迟确认)
- 首部和数据检验和
- 对失序数据重新排序
- 丢弃重复数据
- 流量控制(滑动窗口)
字节流服务
- 不插入记录标识符
- 不解释字节流内容
17.3 TCP的首部
0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | 源端口号 | 目的端口号 | +--------+--------+--------+--------+ | 序号 | +--------+--------+--------+--------+ | 确认序号 | +--------+--------+--------+--------+ | 数据偏移 | 保留 |U|A|P|R|S|F| 窗口 | +--------+--------+--------+--------+ | 检验和 | 紧急指针 | +--------+--------+--------+--------+ | 选项(可选) | +--------+--------+--------+--------+ | 数据 | +--------+--------+--------+--------+
text
标志位
| 标志 | 含义 |
|---|---|
| URG | 紧急指针有效 |
| ACK | 确认序号有效 |
| PSH | 尽快交付 |
| RST | 复位连接 |
| SYN | 同步序号(建立连接) |
| FIN | 完成发送 |
MSS选项
- 最大报文段长度
- 在SYN中发送
- 默认值:536字节
17.4 小结
TCP提供可靠的面向连接的字节流服务。首部包含端口号、序号、确认号、窗口大小和标志位。