跳转至

TCP报文段

来源:计算机网络 / 运输层/TCP报文段.md

TCP报文格式

image.png 其中有20B是固定的首部

源端口和目的端口(同UDP)

序号(seq,32位)

占4B,范围为0~\(2^{32}-1\),共\(2^{32}\)个序号。TCP 连接中传送的字节流中的每个字节都要按顺序编号,==序号字段值指的是本报文段所发送的数据的第一个字节的序号。== 例如,一报文段的序号字段值是301,而携带的数据共有100B,表明本报文段的数据的最后一个字节的序号是400,因此下一个报文段的数据序号应从 401 开始。

确认号(ack,32位)

占4B,是==期望收到对方下一个报文段的第一个数据字节的序号==。若确认号为N,则表明到序号N-1为止的所有数据都已正确收到。

例如,B正确收到了 A发送过来的一个报文段,其序号字段是 501,而数据长度是200B(序号501~700),这表明B 正确收到了 A发送的到序号700为止的数据。因此B期望收到 A的下一个数据序号是701,于是B 在发送给A的确认报文段中把确认号置为701。

数据偏移

保留

  • 控制位
  • 窗口
  • 检验和
  • 选项

相关笔记