TCP报文结构网络协议

网络 网络管理
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于IP的传输层协议,由IETF的RFC 793说明。TCP在IP报文的协议号是6。

TCP报文结构

TCP报文结构

固定首部长度为20字节,可变部分0~40字节,各字段解释:

source port number:源端口,16bits,范围0~65525。

target port number:目的端口,16bits,范围同上。

sequence number:数据序号,32bits,TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的***个字节的序号。

acknoledgement number:确认号,32bits,期望收到对方的下一个报文段的数据的***个字节的序号。

header length:数据偏移,4bits,单位为4字节,它指出报文数据距TCP 报头的起始处有多远(TCP报文头长度?)。

reserved:保留字段(图中,包含CWR,ECE),6bits,保留今后使用,目前置0处理。

URG:紧急比特,1bit,当 URG=1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。

ACK:确认比特,1bit,只有当 ACK=1 时确认号字段才有效。当 ACK=0 时,确认号无效。

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

RST:复位比特,1bit,当 RST=1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。

SYN:同步比特,1bit,同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。

FIN:终止比特,1bit,用来释放一个连接。当FIN=1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。

window size:窗口大小,16bits,窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。

checksum:检验和,16bits,检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。

urgent pointer:紧急指针字段,16bits,紧急指针指出在本报文段中的紧急数据的***一个字节的序号。

options:选项字段,长度可变。TCP 首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其它选项。

抓取TCP报文 

抓取TCP报文

责任编辑:林琳 来源: ITEYE博客
相关推荐

2010-06-28 13:52:29

SNMP协议数据

2010-06-13 15:16:02

2019-09-02 10:20:27

TCPIP协议

2010-06-24 13:04:13

ICMP协议

2010-06-08 15:49:26

CAN总线协议

2010-06-12 15:19:10

TCP IP协议

2010-06-12 15:54:09

TCP IP协议

2019-09-18 20:07:06

AndroidTCP协议

2020-07-28 08:38:10

TCPUDP协议

2014-07-04 10:26:40

IP数据报网络协议

2010-06-13 13:39:46

TCP IP协议栈

2018-12-03 05:54:48

Wireshark网络协议TCP

2019-04-29 10:26:49

TCP网络协议网络通信

2010-09-09 16:28:19

2010-09-09 16:21:32

TCP IP网络协议

2015-10-29 09:51:35

TCPIP网络协议

2021-07-06 21:29:16

TCPIP协议栈

2019-05-20 07:37:00

TCPIP网络协议

2021-07-09 08:55:23

LinuxTCPIP

2021-07-03 17:47:25

TCP控制协议
点赞
收藏

51CTO技术栈公众号