TCP报文段结构
URG: 紧急指针数据有效
ACK:确认号有效
PSH:数据可推送提交
RST:复位
SYN:同步请求
FIN:拆除连接
TCP连接管理
三次握手
连接建立——三次握手:
- SYN连接请求: 客户端发给服务端
- SYN ACK确认: 服务端发给客户端
- ACK确认:客户端发给服务端
seq代表序号
四次挥手
TCP可靠数据传输
- TCP的可靠数据传输实现机制包括差错编码、确认、序号、重传、计时器等
- TCP的可靠数据传输是基于滑动窗口协议,但是发送窗口大小动态变化
- TCP协议利用窗口机制实现流量控制,但不是简单的滑动窗口协议。
- TCP连接建立时,双方都为之分配了固定大小的缓冲空间;TCP的接收端只允许另一端发送其缓冲区所能接纳的数据。
- 窗口机制
通过调节窗口的大小实现对发送数据速率的调整
- 窗口调整的基本策略
AIMD(Additive Increase, Multiplicative Decrease)加性增加,乘性减小
网络未发生拥塞时,逐渐“加性”增大窗口大小,当网络拥塞时“乘性”快速减少窗口大小
- TCP的拥塞控制算法
包括了慢启动、拥塞避免、快速重传和快速恢复4部分