首页 理论教育 TCP报文段结构-计算机网络—原理、技术与应用

TCP报文段结构-计算机网络—原理、技术与应用

时间:2023-11-05 理论教育 版权反馈
【摘要】:TCP报文段是TCP协议封装数据的格式,与UDP数据报相似,但TCP报文段比UDP复杂。TCP报文段由头部和数据区两大部分组成。TCP报文段结构如图6-8所示。图6-8 TCP报文段结构头部长度:以32bit为单位的报文段头部的长度,即指出数据区在报文段中的位置。与UDP一样,校验和对伪头部、TCP报文段头部和数据区进行计算,计算时校验和字段置0。

TCP报文段结构-计算机网络—原理、技术与应用

TCP报文段是TCP协议封装数据的格式,与UDP数据报相似,但TCP报文段比UDP复杂。TCP很多功能都由其头部中的字段来实现,因此正确理解其中各字段的意义很重要。

TCP报文段由头部和数据区两大部分组成。TCP报文段结构如图6-8所示。

其头部的长度至少20B,最多可达60B,这取决于选项字段是否有内容及内容的多少。不管其长度如何,都是4B的整倍数,不足时用0补齐。报文段头部各字段说明如下。

源端口(16bit):报文段发送者端口号

目的端口(16bit):报文段接收者端口号。

序号(32bit):TCP为每个要传送字节分配一个正整数,称为顺序号。若SYN域没有置位,则此字段指出该报文段中数据区第一个字节的顺序号。若SYN域置位,则这个顺序号为初始顺序号(ISN)。初始顺序号由随机数发生器产生,通常双方选择的数字不一样。

确认号(32bit):当控制位ACK置位时,此域包含的顺序号为接收端希望接收的下一个字节的顺序号,表示对该号之前所收到数据的确认。例如:假设上次收到的最后一字节的编号是47800050,那么在回送的报文里此字段值应为47800051。

978-7-111-43162-6-Chapter06-11.jpg

图6-8 TCP报文段结构

头部长度(4bit):以32bit为单位的报文段头部的长度,即指出数据区在报文段中的位置。由于选项字段,头部长度是不定的,所以此字段指出了头部和数据区的分界处。其取值范围5~15,即头部最小长度为20(5×4)个B,最大为60(15×4)个B。

保留位(6bit):保留未用,全置为0。

控制位(6bit):各位的含义如下。

●URG:置位时表示紧急指针字段有效。

●ACK:置位时表示确认号字段有效。

●PSH:置位时表示本报文段要求PUSH操作,此时TCP会立即发送缓冲区中的数据,

而不必等待缓冲区填满;在接收端,TCP立即把接收到的数据送给应用程序。

●RST:置位时表示连接复位,用于在连接发生异常时复位连接。

●SYN:置位时表示与对方同步顺序号。

●FIN:置位时表示发送方没有数据发送了,用于关闭连接。(www.xing528.com)

窗口(16bit):指出接收方可以接收的最大字节数,可以认为是接收端缓冲区的大小。它表示接收端接收数据能力的大小,如果此数值小,说明接收端希望发送端降低发送速率;如此窗口较大,则接收端希望更快地接收更多的数据。

校验和(16bit):用于检测数据是否在传输过程中受到破坏。如接收端计算的校验和与此字段不匹配,接收端将丢弃此报文段并且不向发送端发送应答,等待发送端的重发。校验和的计算也要用到伪头部的概念。TCP伪头部格式如图6-9所示。协议标识符为十进制。TCP长度部分不包括伪头部12个B。与UDP一样,校验和对伪头部、TCP报文段头部和数据区进行计算,计算时校验和字段置0。TCP也不发送伪头部。

978-7-111-43162-6-Chapter06-12.jpg

图6-9 TCP伪头部格式

紧急指针(16bit):当URG位置位时此字段有效。有效时标识了此报文段中紧急数据最后一个字节相对于此报文段数据区第一个字节的偏移量

可选项:此字段位数可变,没用到的位用0填充使其长度为32bit。有两大类选项:单字节选项与多字节选项。在单字节选项中又分为两种功能,其代码如图6-10所示。

选项结束告知目的端头部中已没有更多选项,数据起始于下一个4字节字开始的地方。无操作选项用来填充使选项字段与32bit的字对齐。

在多字节选项中分3种类型:

1)最大报文段长度(MSS)。其格式如图6-11所示,定义了报文段中数据区的最大长度,该字段为16bit,表示范围:0~65535。如不用此选项,则默认值为536。注意,这个选项仅在建立连接时确定,在传输数据的报文中不能使用此选项。

978-7-111-43162-6-Chapter06-13.jpg

图6-10 单字节选项

a)选项结束 b)无操作选项

978-7-111-43162-6-Chapter06-14.jpg

图6-11 最大报文段长度选项

2)窗口扩大因子。在头部中定义窗口大小最大可达65535B,如窗口比此还大,就使用此选项扩大窗口。其格式和扩大后窗口的大小见图6-12。

978-7-111-43162-6-Chapter06-15.jpg

图6-12 扩大后窗口大小计算公式与窗口扩大因子选项

3)时间戳。其格式如图6-13所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈