序号 :本报文段所发送的数据的第一个字节的序号
(用于对字节流进行编号,例如序号为 301,表示第一个字节的编号为 301,如果携带的数据长度为 100 字节,那么下一个报文段的序号应为 401。)
确认号 :期望收到的下一个报文段的序号。(例如 B 正确收到 A 发送来的一个报文段,序号为 501,携带的数据长度为 200 字节,因此 B 期望下一个报文段的序号为 701,B 发送给 A 的确认报文段中确认号就为 701。)
数据偏移 :指的是数据部分距离报文段起始处的偏移量,实际上指的是首部的长度。 最小为20字节,最大为60字节,因为他只有四位,以4字节为计算单位
窗口 :**窗口值作为接收方让发送方设置其发送窗口的依据。**之所以要有这个限制,是因为接收方的数据缓存空间是有限的
窗口扩大:窗口字段长度为16位,最大的窗口大小为64K字节,但是对于包含卫星信道的网络,传播时延和带宽都很大,要获得高吞吐量需要更大的窗口大小,它包含3个字节
时间戳:包含10个字节
功能:
第一,计算往返时间RTT
第二,用来处理TCP序号超过2^32,防止序号绕回,
控制位 | 描述 |
---|---|
URG | 当URG=1时,表明紧急指针有效。他告诉系统此报文段中有紧急数据,应尽快传送,与首部的紧急指针字段配合使用 |
紧急指针 | 他指出本报文段中的紧急数据的字节数 |
确认 ACK | 当 ACK=1 时确认号字段有效,否则无效。TCP 规定,在连接建立后所有传送的报文段都必须把 ACK 置 1 |
同步 SYN | 在连接建立时用来同步序号。当 SYN=1,ACK=0 时表示这是一个连接请求报文段。若对方同意建立连接,则响应报文中 SYN=1,ACK=1,syn=1,表示这是一个连接请求或连接接受报文 |
终止 FIN | 用来释放一个连接,当 FIN=1 时,表示此报文段的发送方的数据已发送完毕,并要求释放连接。 |
复位RST | RST=1表示连接出现差错,必须释放连接 |
UDP格式
首部字段只有 8 个字节,包括源端口、目的端口、长度(最小值为8)、检验和。12 字节的伪首部是为了计算检验和临时添加的。