TCP报文结构

注:内容整理自B站UP主《牛兮兮的书》的系列视频,视频讲解非常好。

1.TCP协议概述

TCP:面向连接的传输层协议,采用客户端(发出请求)+服务端(回应请求)的工作模式。

客户端监听一个通信端口,服务端监听一个通信端口,建立一个双向的连接。

客户端:数据的发送方/数据的接收方

服务端:数据的接收方/数据的发送方

端口号:标志数据来源于那个应用程序

2.TCP报文结构示意图

 TCP报文的固定长度与IP报文一致,都是20字节

源端口(source port):16 bits,标识数据发送端的应用层程序

目的端口(destination port):16 bits,标识数据接收方的应用层程序。

取值范围为0~65535

序列号(sequence port):32 bits ,标识数据发送方所发出数据的编号,序列号以字节为单位。是一个的随机数字

确认号(acknowledge port)ÿ

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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报文结构解析。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值