参考资料:IETF RFC 793 — Transmission Control Protocol
TCP的哲学
- 主机环境
- TCP是操作系统的一个模块,访问TCP类似于访问文件系统
- TCP调用IP,IP调用驱动程序,驱动程序控制网络硬件
- 操作模式
- 发送端
- 用户进程将数据存放至缓冲区
- TCP将缓冲区的数据分段
- IP将每一个分段发送到接收端
- 接收端
- TCP将每一个分段重新组装,放至缓冲区
- 用户进程收到通知
- 发送端
- 接口
- 用户进程/TCP
- OPEN、CLOSE
- SEND、RECEIVE
- STATUS
- TCP/IP
- 发送、接收数据报
- 地址、服务类型、优先级、安全性、其他可选项
- 用户进程/TCP
功能规范
- TCP(Transmission Control Protocol,传输控制协议)
- TCP头部
- 源端口(16 bits)、目的端口(16 bits)
- 序列号(32 bits)
- 确认号(32 bits)
- 数据偏移(4 bits)、保留位(6 bits)、控制位(6 bits)、窗口(16 bits)
- 校验和(16 bits)、紧急指针(16 bits)
- 可选(24 bits)、填充(8 bits)
- 状态
- LISTEN
- SYN-SENT
- SYN-RECEIVED
- ESTABLISHED
- FIN-WAIT-1
- FIN-WAIT-2
- CLOSE-WAIT
- CLOSING
- LAST-ACK
- TIME-WAIT
- CLOSED