TCP报文段的首部格式
TCP报文段的首部格式 1.1.首部字段详解 TCP首部包括20字节的固定首部部分及长度可变的其他选项,所以TCP首部长度可变。20个字节又分为5部分,每部分4个字节32位,如图中的5行,每行表示32位。 在 传输层 ,TCP报文段包括:TCP首部和TCP数据部分;在 网络层 ,TCP报文段成为IP数据部分,加上IP首部组成IP数据报;在 数据链路层 ,还要在IP数据报前面加上数据链路层的首部。 源端口和目的端口 字段——各占 2 字节(16位)。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 序号 字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。比如分组的第一个数据包由文件的1~4个字节数据组成,那么该数据包所添加的序号就是1,同理第二个数据包由文件的5~9个字节数据组成,那么该数据包所添加的序号就是5; 确认号 字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。比如接收端收到由文件1~4个字节数据+TCP首部组成的数据包后,删除首部提取1~4个字节数据,返回的确认号为5,即告诉发送端下一次应该发送文件的第5个字节及其之后字节组成的数据包过来。 数据偏移 (即首部长度)——占 4 位,它指出 TCP 报文段的数据起始处距离 TCP