TCP报文段结构

531 阅读1分钟

TCP报文段结构:

image.png

  • 源端口、目的端口:各占2个字节,表示数据从哪个进程来,去往哪个进程
  • 序号(Sequence Number):占4个字节,TCP连接中传送的数据每一个字节都会有一个序号
  • 确认号(Acknowledgement Number):占4个字节,另一方发送的tcp报文段的响应
  • 数据偏移:头部长度,占4个字节,表示TCP报文段的数据距离TCP报文段的起始处有多远。
  • 6位标志位:
    • URG:紧急指针是否有效
    • ACK:表示确认号是否有效
    • PSH:提示接收端应用程序立刻将数据从tcp缓冲区读走
    • RST:表示要求对方重新建立连接
    • SYN:这是一个连接请求或连接接受的报文
    • FIN:告知对方本端要关闭连接
  • 窗口大小:占4个字节,用于TCP流量控制。告诉对方本端的TCP接收缓冲区还能容纳多少字节的数据,这样对方就可以控制发送数据的速度。
  • 校验和:占2个字节,由发送端填充,接收端对TCP报文段执行CRC算法以检验TCP报文段在传输过程中是否损坏。检验的范围包括头部、数据两部分,是TCP可靠传输的一个重要保障。
  • 紧急指针:占2个字节,一个正的偏移量。它和序号字段的值相加表示最后一个紧急数据的下一个字节的序号,用于发送端向接收端发送紧急数据。