tcp 报文详细说明

tcp 报文详细说明_第1张图片

  1. 第一行
    1. 源端口(source port ),16位
    2. 目的端口(destination port),16位
  2. 第二行
    1. seq number,32 位;报文段第一个字节编号,TCP 报文中每个字节流 被编号。
    2. 数据段在网络中传输时,顺序可能会错位;接收端依据序列号,可正确重组数据,保证数据的有序性
  3. 第三行
    1. ack number, 32 位;对收到的数据进行确认。
    2. 确认序列号= 收到的数据序列号+1
  4. 第四行
    1. 数据偏移量,又叫首部长度,4位;以4 byte 字节为单位,tcp报文头部,固定长度20字节 + 可选项 = (15 *4)60字节
    2. 保留位,4位
    3. CWR: 用于IP头部的ECN 字段,
    4. ECE =1 时,通知对方,从对方到这边的网络有阻塞。
    5. URG:紧急标志 1 位,urg =1 表示紧急指针字段有效,并且告诉系统尽快发送本报文。
    6. ACK: 确认标志位 1位,ack = 1,ack num有效, 表示收到对端数据。
    7. PSH:表示接收方收到报文psh=1时,尽快将缓存数据交付给 应用进程,而别等整个缓存满了再交付。
    8. RST: 复位标志 1位,rst =1 表示拒绝报文;
    9. SYN:同步序号标志 1 位 ,syn =1 表示本报文 时建立连接请求
    10. FIN:结束标志 1位,fin =1 表示拆除连接请求
    11. window:窗口 16位,用来控制对方发送的数据量,单位字节。tcp根据自己缓存空间大小确定自己的接收窗口大小,然后通知对方以确定 对方的发送窗口的上限。最大 65535
  5. 第五行
    1. 校验和 16 位 :校验 tcp 报文段,包括tcp头部和数据部分,由发送端计算,发送。由接收端进行校验
    2. 紧急指针 16位:URG=1 ,紧急指针有效;
  6. 第六行
    1. 可选项: 最长报文的大小MSS .第一次握手时,说明 最大报文大小
    2. 第一个字段,选项类型kind,
    3. 第二个字段length,指定该选项的总长度,
    4. 第三个字段info,选项的具体信息,
      1. kind =0,选项表结束
      2. kind =1,空操作nop
      3. kind=2,最大报文段长度,用来协商报文最大长度(max segment size,mss)
      4. TCP统册将mss = mtu - 40
  7. 数据部分
    1.

你可能感兴趣的:(网络安全,网络协议,tcp/ip,网络,网络协议)