TCP报文首部详解

  • 源端口和目标端口
    该字段长度均为16位。TCP协议通过使用端口来标识源端和目标端的应用进程,端口号范围为0~65535。

  • 序列号
    该字段长度为32位。因此序号范围为[0,223-1]。序号值是进行mod 232运算的值,即序号值为最大值232-1后,下一个序号又回到0。

  • 确认号
    字段长度为32位。期望收到对方下一个报文端的第一个数据字段的序号。

  • 报头长度
    报头长度又称为数据偏移字段,长度位4位,单位32位。没有任何选项字段的TCP头部长度为20字节,最多可以有60字节的TCP头部。

  • 保留字段
    该字段长度为6位,通常设置为0。

  • 标记
    该字段包含的字段有:紧急(URG)——紧急有效,需要尽快传送;确认(ACK)——建立连接后的报文回应,ACK设置为:1;推送(PSH)——接受方应尽快将这个报文段交给上层协议,无须等缓存满;复位(RST)——重新连接;同步(SYN)——发起连接;终止(FIN)——释放连接。

  • 窗口大小
    该字段长度为16位。因此序号范围为[0,216-1]。该字段用来进行流量控制,单位为字节,是作为接收方让发送方设置其发送接口的依据。这个值是本机期望下一次接受的字节数。

  • 校验和
    该字段长度为16位,对整个TCP报文段(即TCP头部和TCP数据)进行校验和计算,并由目标端进行验证。

  • 紧急指针
    该字段长度为16位。它是一个偏移量,和序号字段中的值相加标识紧急数据最后一个字节的序号。

  • 选项
    该字段长度可变到40字节。可能包括窗口扩大银子、时间戳等选项。为保证报头长度是32位的倍数,因此还需要填充0。

posted @ 2021-02-12 11:26  xl4ng  阅读(933)  评论(0编辑  收藏  举报