> 文章列表 > tcp报文格式分析(tcp报文格式)

tcp报文格式分析(tcp报文格式)

tcp报文格式分析(tcp报文格式)

关于tcp报文格式分析,tcp报文格式这个很多人还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!

1、首部固定部分各字段的意义如下:源端口和目的端口:各占2个字节,分别写入源端口号和目的端口号。

2、序号:占4个字节。

3、序号使用mod运算。

4、TCP是面向字节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。

5、故该字段也叫做“报文段序号”。

6、确认序号:占4个字节,是期望收到对方下一个报文段的第一个数据字节的序号。

7、若确认序号=N,则表明:到序号N-1为止的所有数据都已正确收到。

8、数据偏移:占4位,表示TCP报文段的首部长度。

9、注意,“数据偏移”的单位是32位字(即以4字节长的字为计算单位)。

10、故TCP首部的最大长度为60字节。

11、保留:占6位,保留为今后使用,目前置为0;紧急URG:当URG=1,表明紧急指针字段有效。

12、这时发送方TCP就把紧急数据插入到本报文段数据的最前面,而在紧急数据后面的数据仍是普通数据。

13、确认ACK:当ACK=1时,确认字段才有效。

14、当ACK=0时,确认号无效。

15、TCP规定,在连接建立后所有传送的报文段都必须把ACK置1。

16、推送PSH:接收方TCP收到PSH=1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。

17、复位RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立运输连接。

18、同步SYN:在连接建立时用来同步序号。

19、当SYN=1而ACK=0时,表明这是一个连接请求报文段。

20、对方若同意建立连接,则应在响应的报文段中使SYN=1和ACK=1。

21、故SYN置为1,就表示这是一个连接请求和连接接收报文。

22、终止FIN:用来释放连接。

23、当FIN=1时,表明此报文段的发送方的数据已发送完毕,并要求释放运输连接。

24、窗口:占2个字节。

25、窗口值作为接收方让发送方设置其发送窗口的依据。

26、检验和:占2字节。

27、检验和字段检验的范围包括首部和数据这两部分。

28、和UDP数据报一样,在计算检验和时,也要在TCP报文段的前面加上12字节的伪首部。

29、伪首部的格式与UDP用户数据报的伪首部一样,但要将伪首部第四个字段中的17 改为6(协议号),把第5字段中的UDP长度改为TCP长度。

30、紧急指针:占2字节。

31、紧急指针仅在URG=1时才有意义,它指出本报文段中的紧急数据的字节数。

本文到此分享完毕,希望对大家有所帮助。