TCP报文段

article/2025/9/12 15:18:14

TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段。一个TCP报文段分为首部和数据两部分,而TCP的全部功能都体现在它首部中个字段的作用。因此,只有弄清TCP首部个字段的作用才能掌握TCP的工作原理。

TCP前20个字节使固定的,后边有4n个字节使根据需要而增加的选项。因此TCP的最小长度是20字节

源端口和目的端口:各占两个字节,分别写入源端口号和目的端口号。TCP的分用功能也是通过端口实现的。

序号:占四个字节(32位)。TCP是面向节流的,在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,序号范围是是[0,2^32-1],序号使用mod2^32,整个要传送的字节流的其实序号必须建立时设置,首部中的序号字段值则是指的是本报文段所发出的数据的第一个字节的序号。例如:一报文段的序号字段值是301,而携带的数据公有100字节,那么本报文段的数据的第一个字节的序号是301,最后一个字节的序号是400,下一数据报文段数据序号应当从401开始,即下一个报文段的序号字段值应为401。这个字段的名称也叫作“报文段序号”

确认号:占四个字节,是期望收到对方下一个报文段的第一个数据字节的序号。例如:B收到A发送过来的一个报文段,其序号字段值是501,而数据长度是200字节,这表明B正确收到了A发送的到序号为700的数据。因此,B期望收到A的下一个数据序号是701,于是B在发送给A的确认报文段中把确认号置为701。

数据偏移:占四位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。其实这个字段就是TCP报文段的首部距离。它的最大数据偏移的最大值是60字节(四位二进制位表示的最大数为15,而数据偏移的单位是4字节),又因为TCP的头部有20字节是固定的,所以选项长度不能超过40字节。

保留:占6位,保留为今后使用,目前位置为0.

URG:当URG=1时,表明紧急指针字段有效。他告诉我们系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据),而不要按原来的排队顺序来传送,直接与首部中的紧急指针配合将紧急数据插入到本报文段数据的最前面,而在紧急数据后面的数据仍是普通数据。例如:一个正在主机上运行的数据,出现了一些问题,需要立即停止运行,因此用户从键盘输入发出中断命令Control+c。如果不适用紧急数据,那么这两个字符将存储在接收TCP的缓存末尾,只能在所有的数据被处理完毕之后这两个字符才能被交付给接收方的应用进程,这就不能及时停止程序。

确认ACK:仅当ACK=1,时确认号字段才有效,当ACK=0时,确认号无效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置1。

推送PSH:当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的回应。在这种情况下,TCP就可以使用推送操作。这时,发送方TCP把PSH置1,并立即创建一个报文段发送出去。接收方TCP收到PSH=1的报文段,就尽快的交付接收应用进程,而不再等到整个缓存满了再向上交付

复位RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立运输连接。RST置1还用来拒绝一个非法的报文段或拒绝打开一个连接。RST也可称为重建位或重置位。

同步SYN:在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段。对方若同意建立连接,则应在响应的报文段中使SYN=1和ACK=1。因此,SYN置为1就表示这是一个连接请求或连接接受报文。

终止FIN:用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已发送完毕,并要求释放运输连接。

窗口:占两字节。窗口指的是发送本报文段的一方的接收窗口(不是自己的发送窗口,不是对方的接收窗口)。窗口值告诉对方:从本报文段首部中的确认号算起,允许对方发送的数据量。之所以要有这个限制,是因为接收方的数据缓存空间是有限的。

例如:发送方发送了一个报文段,其确认号是701,窗口字段是1000.这就是告诉对方,从701号算起,我的接收缓存空间还可接受·1000个字节数据,你在给我发送数据时,必须大于这个数据量。(窗口值常根据网络的好坏变化着)

检验和:占两字节,校验和字段检验的范围包括首部和数据这两部分。在计算校验和时,要在TCP报文段的前面加上12字节的伪首部,接收方在收到报文段后,要加上伪首部来计算校验和。计算方法是:发送方将整个报文段分为16位的段,然后将所有段进行相加求反,将结果存放在检验和字段中,接收方用相同的方法对伪头部和数据进行计算,如最终结果与检验和相加后全部位都是1,则说明数据传输正确,否则,则传输出现差错。

如图:

 

紧急指针:占两字节。紧急指针仅在URG=1时才有意义,紧急指针指出了紧急数据的末尾在报文段的位置。当所有紧急数据都处理完时,TCP就告诉应用程序恢复到正常操作。需要注意的是,即使窗口为0时也可发送紧急数据。

选项:长度可变,最长可达40字节。当没有使用选项是,TCP的首部长度为20字节。TCP最初只规定了一种选项,即最大报文段长度MSS,后边又加了时间戳选项、窗口扩大选项、选择确认选项。


http://chatgpt.dhexx.cn/article/toWM2B4k.shtml

相关文章

OSPF报文格式

OSPF报文格式 OSPF报文可靠性机制: 由于OSPF协议是通过IP承载的,而IP协议是不可靠协议,所以OSPF需要自己的可靠机制来保证报文交互的可靠性在OSPF中有两种确认报文:1,显式确认报文(LSACK)2&…

机场气象报文解析

机场气象报文解析 背景示例思路代码结果预览致谢参考文献 从这篇文章,读者可以了解道机场气象报文的背景,知道其中数据大概长什么样子,如何利用python语言解析出机场气象报文里面的信息形成格式化数据。 背景 上个月的我国第六号台风“烟花…

Http协议报文格式

一、整体介绍 Http协议在传输层基于TCP协议,在Http1.1之前每次请求在TCP层都需进行一轮连接和释放(三次握手、四次握手),从Http1.1开始默认使用长连接。 Http报文分为两种,请求报文和响应报文,大致格式如下…

CAN报文

CAN报文 Bit Numbering是汽车网络数据库用以辅助描述信号的专用术语,具体含义是位的编号顺序。 lsb0 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LSB 是least significant bit,最低有效位。 msb0 bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 MSB是Most Si…

TCP报文头部

TCP包头详解 主要学习端口号、三次握手、四次挥手 TCP包头 TCP报文固定长度20字节可变长度 TCP包头如下图所示: 源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的,而一个计算机端口某个时刻只能被一个进程占用&…

ICMP报文

紫色代表一级目录 粉红代表二级目录 蓝色代表三级目录 红色代表关键字 橙色代表说明 ICMP报文   为了更有效地转发 IP 数据报和提高交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)。   ICMP 是互联网的标准协议。  …

常见网络报文

TCP报文 1、端口号:用来标识同一台计算机的不同的应用进程。 1)源端口:源端口和IP地址的作用是标识报文的返回地址。 2)目的端口:端口指明接收方计算机上的应用程序接口。 2、序号和确认号:是TCP可靠传输的关键部分。序号是本报文…

报文、报文段、数据报、数据包、帧的概念区别

报文(message)—— 应用层 是网络中交换与传输的数据单元(站点一次性要发送的数据块)。报文包含了将要发送的完整的数据信息,其长短不一致。报文在传输过程中会不断的封装成分组、包、帧来传输,封装的方式…

报文、报文段、分组、包、数据报、帧、数据流的概念区别

1.报文(message) 我们将位于应用层的信息分组称为报文。报文是网络中交换与传输的数据单元,也是网络传输的单元。报文包含了将要发送的完整的数据信息,其长短不需一致。报文在传输过程中会不断地封装成分组、包、帧来传输,封装的方式就是添加…

关于SPSS16的安装及教程

放SPSS安装文件 链接:https://pan.baidu.com/s/14QHqvok2IItQvV_72VPtOg 提取码:ee0k 接下来按照如下步骤操作就可以 按照上面的操作就可以完成安装了,这个属于比较老的SPSS版本,但是比较稳定。

【SPSS统计分析】SPSS19.0简体中文版安装教程(附SPSS19.0简体中文版下载)

spss19.0中文版是一款专业数据统计软件,受到各种社会学科的研究生、研究员的欢迎。软件能够对信息的采集、处理、分析进行全面评估和预测。spss19.0中文版新增加了广义线性混合模型、自动线性模型、一个统计网页入口portal和直复营销direct marketing功能等。另外,IBM 针对SP…

最新版最简单SPSS 26安装详细教程

SPSS为IBM公司推出的一系列用于统计学分析运算、数据挖掘、预测分析和决策支持任务的软件产品及相关服务的总称,有Windows和Mac OS X等版本。下面介绍安装教程 下载地址: 链接:SPSS下载地址 (要是没有跳转到网盘请复制这个链接到…

spss20安装许可证代码_SPSS 22下载安装教程

软件下载 长按选择复制链接 [名称]:SPSS 22 [语言]:简体中文 [安装环境]:Windows [下载链接]: https://pan.baidu.com/s/1q4t2PtmyX2EcQy8E3CQnxg [提取码]: 6huj 链接失效、安装有问题请加微信:593003758拉你进软件资源小助手交流群 安装步骤 1.找到下载好的软件压缩包,…

spss statistics26 下载及安装教程

下载 解压后得到两个文件 点击下面那个,找到 “Windows”——“setup.exe”,双击打开 安装 1. 点击圈出的部分,开始安装 2. 一直点击下一步 / 我同意,直到如下界面 可以修改安装路径 3. 一直点击下一步,然后安装即可…

spss27软件安装包下载spss27安装教程

安装 步骤 1、将下载好的安装包 鼠标右击,选择 解压 2、解压得到一个安装文件夹,打开它 3、鼠标右击 SPSS_Statistics_Win64 ,选择 以管理员身份运行 4、下一步 5、选择我接受,下一步 6、点击更改,选择安装位置&#…

SPSS modeler for mac安装教程

一、下载 在百度搜一下,随便找个网站普通下载 我找的是这个 https://www.jb51.net/softs/679885.html 安装包较大,请耐心等待下载完成 二、解压 下载下来有一堆安装包,直接在最外层的文件夹选择提取。 解压时可能会让输入密码&#xff…

SPSS 25软件安装教程

​​​​​​​关注公众号,免费获取资料 简介: SPSS,统计产品与服务解决方案软件。最初软件全称为“社会科学统计软件包”(SolutionsStatistical Package for the Social Sciences),但是随着SPSS产品服务领…

SPSS-Modeler安装

1. 安装SPSS 64位软件包,解压安装安装步骤即可: 链接:https://pan.baidu.com/s/1t48M16ZUdpnfWemceOQc8g 提取码:ma0a 补充具体安装步骤 解压SPSS.Modeler.v18.x64.iso 得到: 打开使用说明: 根据步骤依次…

​​spss13.0 附安装教程

​​spss13.0全称又叫做Statistical Package for the Social Sciences 13,是一款简单实用的统计分析软件,采用最新的SPSS的超强统计的软体来帮助用户进行分析您的资料、使用户快速的解放您的双手,让操作等更加的灵活,轻松,因此收到各界社会学科的研究员的喜爱。除了使用体…

1、SPSS 25的安装

目录 一、简介 二、竞争优势 三、安装步骤 一、简介 SPSS 是一款用于Windows操作系统的数据和科学图形的数值分析软件,能够为用户提供多样的数据统计、处理、报告等功能,还能根据数据帮用户生成离散图、折线图等图形,以更加直观的方式向你…