tcp报文结构

在这里插入图片描述

16bit的数据值表示0~65525
第一行:
源端口号16bit+目的端口号16bit
第二行:
(TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。)
序号32bit
第三行:
(期望收到对方的下一个报文段的数据的第一个字节的序号。)
确认号32bit
第四行:
(指出报文数据距TCP报头的起始处有多远(TCP报文头长度)。)
(保留今后使用,目前置0处理。)
(URG:紧急比特,1bit,当 URG=1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据))
(ACK:确认比特,1bit,只有当 ACK=1时确认号字段才有效。当 ACK=0 时,确认号无效)
(PSH:推送比特,1bit,接收方 TCP 收到推送比特置1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付)
(RST:复位比特,1bit,当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接)
(SYN:同步比特,1bit,同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文)
(FIN:终止比特,1bit,用来释放一个连接。当FIN=1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接)
(窗口大小:窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。)
首部长度4bit+保留6bit+URG1bit+ACK1bit+PSH1bit+RST1bit+SYN1bit+FIN1bit+接收窗口16bit
第五行:
(检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。)
(16bits,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。)
检验和16bit+紧急数据指针16bit
第六行:
长度可变。TCP首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其它选项。 这部分最多包含40字节,因为TCP头部最长是60字节(其中还包含前面讨论的20字节的固定部分)
选项(变长)
第7行开始:
用户数据部分

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
FINS(Factory Interface Network Service)是一种基于TCP/IP的通信协议,用于PLC(Programmable Logic Controller,可编程逻辑控制器)与上位机之间的通信。FINS协议采用了TCP作为传输层协议,并使用了自定义的应用层协议。 FINS协议的TCP报文结构如下: | 字段 | 长度(字节) | 描述 | | :----------: | :------------: | :---------------------------------------------------------: | | 代码 | 1 | 协议版本、数据类型和数据长度 | | 目标节点 | 1 | 目标节点地址 | | 目标单元 | 1 | 目标单元地址 | | 源节点 | 1 | 源节点地址 | | 源单元 | 1 | 源单元地址 | | 服务代码 | 2 | 请求或响应服务代码 | | 命令码 | 2 | 请求或响应命令 | | 数据长度 | 2 | 数据长度 | | 数据 | 数据长度(可变) | 请求或响应数据 | | FCS(校验码) | 2 | 用于检验数据的完整性,由数据段的每个字节按位异或得到的16位值 | 其中,代码字段包括协议版本、数据类型和数据长度。协议版本指FINS协议的版本号,数据类型指请求或响应数据类型,数据长度指数据段的长度。目标节点和目标单元字段指目标PLC的节点地址和单元地址,源节点和源单元字段指本PLC的节点地址和单元地址。服务代码和命令码字段指服务请求或响应的类型和具体命令,数据长度字段指数据段的长度,数据字段存储请求或响应的具体数据。最后,FCS字段是用于检验数据的完整性的校验码,由数据段的每个字节按位异或得到的16位值。 以上是FINS协议的TCP报文结构解析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cang12345

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值