> 技术操作
tcp包头(tcp包头结构图)
导语:【计算机网络-TCP篇】TCP包头?有哪些信息?多大?
TCP是什么?
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议。它是一种常用的网络协议,主要负责在两台计算机之间传输数据。
TCP的特性离不开它的包头结构设计,那么今天就要看看TCP的包头结构吧。
TCP包头结构
一图胜千言:
TCP包头
源端口号(16位):表示发送端的端口号,四元组之一。目标端口号(16位):表示接收端的端口号,四元组之一。序列号(32位):表示当前数据包的序列号,用于控制包序。确认号(32位):表示当前数据包需要确认的序列号,通知期望对方下一个发送的包序。头部长度(4位):表示TCP包头的长度,单位为32位字。控制位(6位):用来控制TCP连接的各种状态。窗口大小(16位):表示接收端能够接受的数据量。校验和(16位):用来校验TCP包头和数据的完整性。紧急指针(16位):表示紧急数据的偏移量,配合URG位使用。选项(可选,长度不定):用来扩展TCP包头的功能。其中控制位具体的每一位的作用:
URG(紧急指针有效位):如果设置为1,则表示数据包中包含了紧急数据,需要尽快处理。ACK(确认位):如果设置为1,则表示数据包是一个确认报文,用来确认之前收到的数据。PSH(推送位):如果设置为1,则表示数据包中的数据需要尽快递送到应用层。RST(复位位):如果设置为1,则表示数据包是一个复位报文,用来重置连接。SYN(同步位):如果设置为1,则表示数据包是一个同步报文,用来建立连接。FIN(结束位):如果设置为1,则表示数据包是一个结束报文,用来结束连接。常用的选项:
常用的选项
选项中存在几个有意思的功能,后面会专门讲。
TCP包头大小
在不包含选项的情况下为154位,约为20字节。包含选项之后会根据开启的选项功能来定。
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小快创作整理编辑!