TCP报文格式
TCP报文 TCP报文是TCP层传输的数据单元,也称为报文段
TCP报文首部格式 目的端口 序号 选项(可选) 填充 数据 …… 0 4 10 16 24 31 源端口 确认号 窗口 首部长度 保留 0 4 10 16 24 31 源端口 确认号 窗口 首部长度 保留 码元比特 紧急指针 校验和
TCP报文首部格式 源端口和目的端口:发送方和接收方的TCP端口号。 序号:该报文数据在发送方的数据流中的位置。当前时间值计算出一个数值作为起始序号。 首部长度:表示TCP报文首部信息的长度。由于首部可能含有选项内容,因此TCP首部的长度是不确定的。首部长度的单位是32比特或4个八位组。首部长度实际上也指示了数据区在报文段中的起始偏移值。 目的端口 序号 选项(可选) 填充 数据 …… 0 4 10 16 24 31 源端口 确认号 窗口 首部长度 保留 码元比特 紧急指针 校验和
TCP报文首部格式 码元比特:6比特 URG、ACK、PSH、RST、SYN、FIN。 URG表示紧急指针字段有效; PSH表示当前报文需要请求推(push)操作; RST置位表示复位TCP连接; SYN用于建立TCP连接时同步序号; FIN用于释放TCP连接时标识发送方比特流结束 目的端口 序号 选项(可选) 填充 数据 …… 0 4 10 16 24 31 源端口 确认号 窗口 首部长度 保留 码元比特 紧急指针 校验和
TCP报文首部格式 窗口:窗口通告值。发送方根据接收的窗口通告值调整窗口大小。 紧急指针:如果TCP通信中,一方有紧急的数据(例如中断或退出命令)需要尽快发送给接收方,并且让接收方的TCP协议尽快通知相应的应用程序,可以将URG置位,并通过紧急指针指示紧急数据在报文段中的结束位置。 校验和:与UDP校验和计算方法相同,同样需要包含伪首部。伪首部中的协议类型值为6。 选项:用于TCP连接双方在建立连接时协商最大的报文段长度MSS(Maximum Segment Size)。 填充:为了使选项字段对齐32比特,可能采用若干位0作为填充数据。 目的端口 序号 选项(可选) 填充 数据 …… 0 4 10 16 24 31 源端口 确认号 窗口 首部长度 保留 码元比特 紧急指针 校验和
本节结束