TCP协议

参考资料:IETF RFC 793 — Transmission Control Protocol

TCP的哲学

  • 主机环境
    • TCP是操作系统的一个模块,访问TCP类似于访问文件系统
    • TCP调用IP,IP调用驱动程序,驱动程序控制网络硬件
  • 操作模式
    • 发送端
      • 用户进程将数据存放至缓冲区
      • TCP将缓冲区的数据分段
      • IP将每一个分段发送到接收端
    • 接收端
      • TCP将每一个分段重新组装,放至缓冲区
      • 用户进程收到通知
  • 接口
    • 用户进程/TCP
      • OPEN、CLOSE
      • SEND、RECEIVE
      • STATUS
    • TCP/IP
      • 发送、接收数据报
      • 地址、服务类型、优先级、安全性、其他可选项

功能规范

  • 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