首页 > 其他分享 >Modbus RTU协议的风险,协议设计的漏洞

Modbus RTU协议的风险,协议设计的漏洞

时间:2023-12-04 18:11:18浏览次数:30  
标签:Modbus 请求 协议 校验 RTU 回包

modbus RTU 协议 读寄存器功能03H的回包桢格式为什么设计为只有数据长度校验省略起始地址校验?这样如果出现异常通信延迟,是否可能有将上一个读请求的回包当做当前读请求的回包的风险?

 

下面的chartGPT的解答,并没有给出什么好办法,个人以为还不如在回包中加上地址位校验。

 

 

GPT:

Modbus RTU协议中,功能码03H(读保持寄存器)的回包帧格式确实省略了起始地址校验字段。这是因为Modbus RTU协议设计的初衷是为了在串口通信中尽量节省带宽和减小数据传输量,以提高通信效率。

在Modbus RTU协议中,回包帧包含了一个数据长度字段用于指示后续数据的长度,这样可以让接收方知道需要读取多少数据。由于起始地址已经在请求帧中指定了,所以省略了起始地址校验字段。通过数据长度字段的校验,接收方可以判断接收到的数据帧是否正确,并且可以提取出正确的数据。

关于通信延迟导致的风险,如果上一个读请求的回包的延迟非常大,可能会导致接收方将其误认为是当前读请求的回包。为了避免这种情况,可以在请求帧中添加一个唯一标识(如序列号或时间戳),并在回包中返回该标识,接收方可以通过比对标识来确保回包与请求的匹配。

另外,Modbus协议本身并没有提供内置的机制来处理通信延迟引起的混淆问题,这需要应用层来处理。一种常见的做法是,在发送新的读请求之前,等待足够的时间以确保前一个回包被接收和处理完毕。

总结一下,Modbus RTU协议是为了节省带宽和减小数据传输量而设计的,通过数据长度字段而省略了起始地址校验字段。为了避免通信延迟引起的混淆问题,可以使用唯一标识来确保回包与请求的匹配,并且采取适当的等待机制来避免出现问题。

标签:Modbus,请求,协议,校验,RTU,回包
From: https://www.cnblogs.com/qijunzifeng/p/17875597.html

相关文章

  • 神州医疗与海南乐城管理局签署战略合作协议,共同推进医疗科技创新
    近日,神州医疗科技股份有限公司(以下简称“神州医疗”)与海南博鳌乐城国际医疗旅游先行区管理局(以下简称“乐城管理局”)签署战略合作协议。双方本着互惠互利、优势互补的原则,将在临床急需医药健康协同创新、联合共建乐城临床成果转化综合创新服务平台、科技成果转化、人才培养交流、打......
  • 基于泰凌微的TLSR8355芯片的2.4G无线私有协议PCBA设计调试总结
    一前记经常做物联网的类的产品,TLSR8355凭借着它的射频距离远,功能强大等优点成为很多客户的首选。TLSR8355系列专用于2.4GHz射频系统芯片解决方案,如零售/物流、专用网络、Beacon应用程序、无线鼠标、无线USB加密狗等。它集成了2.4GHz射频系统片上应用开发所需的全系列片上外围......
  • TCP协议的流量控制与拥塞控制
    TCP协议的秘密武器:流量控制与拥塞控制合集-计算机网络(19) 1.网络协议的重要性与应用:理解进程间通信和网络分层结构(上)09-172.网络协议的重要性与应用:理解进程间通信和网络分层结构(下)09-183.深入理解HTTP的基础知识:请求-响应过程解析09-194.深入解析HTTP请求:了解请求特征......
  • 【小沐学前端】Node.js实现基于Protobuf协议的数据处理
    1、简介1.1nodeNode.js是一个开源的、跨平台的JavaScript运行时环境。Node.js是一个开源和跨平台的JavaScript运行时环境。它是几乎任何类型项目的流行工具!Node.js在浏览器之外运行V8JavaScript引擎(GoogleChrome的内核)。这使得Node.js非常高效。2、Protobu......
  • 内核文档翻译 —— Overview of the Linux Virtual File System
    原文:https://www.kernel.org/doc/html/latest/filesystems/vfs.html#overview-of-the-linux-virtual-file-systemIntroductionTheVirtualFileSystem(alsoknownastheVirtualFilesystemSwitch)isthesoftwarelayerinthekernelthatprovidesthefilesystemin......
  • NFS服务及RPC协议
    NFS服务及RPC协议FTP和NFS的区别文件系统类型FTP是一种基于客户端-服务器的协议,用于文件传输。NFS则是一种分布式文件系统协议,作为本地操作系统和远程文件系统之间的桥梁,可以实现跨平台文件共享。传输速度和效率由于FTP是基于客户端-服务器的协议,所以需要进行连接的建立和关......
  • RTSP协议安防平台LiteNVR配置视频流播放时长的操作步骤
    今天我们来分享一下另一个关于鉴权的功能:LiteNVR的视频流地址鉴权。有很多用户在使用LiteNVR时都遇到一个同样的需求,那就是将分发的流地址分享给用户播放时,如何控制用户的播放时长呢?LiteNVR平台是基于RTSP/Onvif协议的视频接入、处理及分发平台,能够实现设备接入、实时视频直播、录......
  • RTMP协议学习——Message与Chunk解读
    前言之前通过对抓包数据的学习和分析,对RTMP协议有了一个整体的认知,大致了解了RTMP从建立连接到播放视频的流程,文章请看《RTMP协议学习——从握手到播放》。但是对于RTMP消息传输的载体还没有过多的分析。本文将会就RTMP的传输数据方面,对RTMP协议进行进一步的研究和学习。Messag......
  • Quartus 下载到开发板
    转载请标明出处:https://www.cnblogs.com/leedsgarden/p/17855384.html本文使用的是QuartusLiteEdition,是官方最新的免费版本,如果你使用的是QuartusII,操作可能有点不同Quartus下载和安装请见Quartus入门FPGA驱动安装Windows参考文章连接开发板后,打开设备管理器->其他......
  • Candence Virtuoso 导入工艺库
    Virtuoso的工艺库分为两种,CDS和OA。CDS主要是51版本使用,比如IC5141。OA主要是61版本使用,比如IC617IC618和IC616等。注意检查自己的工艺库的版本,是否和软件版本相匹配。示例工艺库SMIC_018_MMRF工艺库文件下载如果你没有eetop账号,点击下面百度网盘下载SMIC_018_MMR......