Post

TCP/IP

TCP/IP

TCP/IP 在传输层连个不同协议,传输控制协议(TCP)、用户数据协议(UDP)

TCP——UDP

  • TCP 数据传输单位 TCP 报文段,UDP 数据传输单位 UDP 报文或者用户数据报
  • TCP 面向连接,UDP 面向无连接
  • TCP 高度可靠,UDP 不能保证数据可靠性传输
  • TCP 复杂性因此开销大,UDP 简单性具有较高的传输效率

TCP

传输控制协议,面向连接,可靠。一旦数据报被破坏或丢失将会重新传输,TCP 会检测传输错误并予修正,可靠全双工数据传输协议服务

主要功能

  • 数据流的多路复用
  • 检测数据段完整性
  • 重新排序
  • 流量监控
  • 复杂的时钟机制
  • 高校的确认方式

TCP 报文

TCP报文信息

  • 端口号:用来标识同一台计算机的不同的应用进程
    • 源端口:源端口和 IP 地址的作用是标识报文的返回地址
    • 目的端口:端口指明接收方计算机上的应用程序接口
  • 发送序列号
  • 确认号
  • 报头长度
  • 预留
  • 编码位
    • URG:紧急指针
    • ACK:确认号有效
    • PSH:要求接收端尽快将这个报文交给应用层
    • RST:复位一个 TCP 连接
    • SYN:同步序列号用于建立连接
    • FIN:发送端完成任务并要求终止传输
  • 窗口
  • 紧急指针
  • 选项
  • 填充
  • 数据

TCP 三次握手

  • 客户端发送—————————–SYN,seq=x—————————————>服务端

    SYS(同步信号)、seq(生成序列号)

  • 客户端<—————————SYN,ACK=X+1,seq=y————————服务端发送

    SYS(同步信号)、ACK(客户端发送序列号加随机数)、seq(生成序列号)

  • 客户端发送————————–SYN,ACK=y+1———————————–>服务端

    SYS(同步信号)、ACK(服务端发送发送序列号加随机数)、seq(生成序列号)

四次挥手

  • 客户端发送———————FIN,ACK—————————->服务端

    FIN(终止传输)、ACK(确认收到最后一个包)

  • 客户端<————————–ACK————————————-服务端发送

    ACK(确认收到)

  • 客户端<————————–FIN————————————–服务端发送

    FIN(终止发送)

  • 客户端发送———————-ACK———————————–>服务端

    ACK(确认终止发送)

UDP

This post is licensed under CC BY 4.0 by the author.