1、TCP报文段首部格式tu
2、头部各个字段介绍
(1) 源端口和目的端口:
源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。 |
(2)序号字段
序号字段占 4 字节。要明确的是:TCP是面向字节流的(UDP是面向报文的),也就是说TCP 连接中传送的数据流中每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。 |
(3)确认号
确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。确认号是接收方发送给发送方的,这个字段告诉发送方:作为接收方,他想收到的下一个报文段的第一个序号字段 |
(4)数据偏移
数据偏移(即首部长度)占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。 |
(5)紧急URG
紧急 URG —— 当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 |
(6)确认ACK
确认 ACK —— 只有当 ACK = 1 时确认号字段才有效。当 ACK = 0 时,确认号无效。 |
(7)推送PUSH
推送 PSH (PuSH) —— 接收 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。 |
(8)同步SYN
同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。 |
(9)终止FIN
终止 FIN (FINis) —— 用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 |
(10)窗口字段
窗口字段 —— 占 2 字节,用来让对方设置发送窗口的依据,单位为字节。 |