文章目录
TCP 中没有表示包长度和数据长度的字段,可以通过IP层获得TCP的包长,由TCP的包长可以知道数据的长度
TCP协议头最少20个字节,包括以下的区域:
1、源端口号(Source Port)
表示发送端端口号,字段长16位。源端口和源IP地址的作用是标示报文的返回地址
2、目标端口号(Destination Port)
表示接收端端口号,字段长度16位
3、序列号(Sequence Number)
字段长32位。序列号是指发送数据的位置。每发送一次数据,就累加一次数据字节数的大小。
序列号不会从0或1开始,而是在建立连接时,由初始序列号( initial sequence number ISN)生成器会生成一个32位的 ISN作为初始值,通过SYN包传给接收端主机。
在建立连接和断开连接时发送的SYN包和FIN包虽然并不携带数据,但是也会作为一个字节增加到对应的序列号。
4、确认应答号(Acknowledgement Number)
字段长度32位。是指下一次应该收到的数据的序列号。实际上,它是指已经收到确认应答号减一为止的数据。发送端收到这个确认应答以后就会认为这