课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
1分钟

TCP 协议报文格式

为何TCP协议具有上述工作特性呢,这就要结合TCP报文格式来讲起。

下图是TCP报文格式图:

具体含义如下:

1.源端口、目标端口:计算机上的进程要和其他进程通信需要通过计算机端口,而一个计算机端口

某个时刻只能被一个进程占用,所以通过指定源端口和目标端口,就可以制度哪两个进程通信。

2.序列号:seq序号,占32位,用来标识从TCP源端口向目的端口发送的字节流,发起方发送数据时

对此进行标记。

3.确认序号:ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,ack=seq+1

4.数据偏移:表示TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可变的选项部

分,需要指定这个TCP报文段到底有多长。它指出 TCP 报文段的数据起始处距离 TCP 报文

段的起始处有多远。该字段的单位是32位(即4个字节为计算单位),4位二进制最大表示

15,所以数据偏移也就是TCP首部最大60字节。

5.标志位:共6个,URG、ACK、PSH、RSH、SYN、FIN,具体含义如下:

(1)URG:紧急指针位,0表示无效,1表示有效

(2)ACK:确认序号有效

(3)PSH:收到数据包后是否直接传给应用程序使用,或传到buffer

(4)RST:重置位,0表示正常,1表示异常需要重传

(5)SYN:同步位,代表发起一个新连接

(6)FIN:代表释放一个连接

6.窗口大小:表示现在允许对方发送的数据量,从本报文段的确认号开始允许对方发送数据量

7.校验和:提供额外的可靠性

8.紧急指针:标记紧急数据在数据字段的位置

9.选项部分:其最大长度可根据TCP首部长度进行推算。TCP首部长度用4位标识,选项部分最长

为:(2^4-1)*4-20=40字节