TCP报文结构

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |          Source Port          |       Destination Port        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Sequence Number                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Acknowledgment Number                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Data |           |U|A|P|R|S|F|                               |
   | Offset| Reserved  |R|C|S|S|Y|I|            Window             |
   |       |           |G|K|H|T|N|N|                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Checksum            |         Urgent Pointer        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                    Options                    |    Padding    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                             data                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Source Port
    源端口号,16位,取值范围0到65536。

  • Destination Port
    目的端口号,16位,取值范围0到65536。

  • Sequence Number
    序列号,32位。如果SYN位为1,序列号是随机的ISN,否则,序列号为Data第一个字节的编号。

  • Acknowledgment Number
    确认号,32位,当ACK位为1时,确认号为程序期望收到的下一个序列号。当连接建立后,ACK总为1。

  • Data Offset
    数据偏移量,4位,首部长度位数为32*data_offset

  • Reserved
    预留值,6位,全为0。

  • Control Bits:
    控制位,6位
    URG: 紧急标志,说明紧急指针有效
    ACK: 确认标志,说明确认号有效
    PSH: 推标志,接受方立即将请求交给上层协议
    RST: 复位标志,重建连接时使用
    SYN: 同步标志,建立连接时使用
    FIN: 结束标志,结束连接时使用

  • Window: 16 bits
    窗口大小,16位,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。

  • Checksum
    校验和,16位

  • Urgent Pointer
    紧急指针,16位

  • Options
    选项,可变长度

  • Padding
    填充位,可变长度,使TCP报头的长度为32位的整数倍

  • Data
    数据

发表评论

电子邮件地址不会被公开。 必填项已用*标注