端口502和802

modbus TCP我们也曾在公众号里介绍过,Modbus TCP的应用数据单元和协议数据单元其实很简单,如下图所示,如果你对Modbus RTU很熟悉,那么就很好理解它的ADU和PDU

640?wx_fmt=jpeg

可以看到去掉了Modbus RTU的地址域和CRC校验域,在功能码前面加入了MBAP 头。1996年,IANA (Internet Assigned Number Authority

640?wx_fmt=jpeg

Mbaps/TLS/TCP使用TLS v1.2传输协议,可以参考RFC5246,TLS应该大家都听说过,在通信安全加密领域经常使用,由一系列协议和子协议组成。

640?wx_fmt=jpeg

MBAP的ADU在MBAPS里没有变化,它在安全协议里是如何封装的呢?如下图所示

640?wx_fmt=jpeg

那么MBAPS数据包结构是什么呢,下面图让你一目了然

640?wx_fmt=jpeg

对Modbus TCP有加密要求的可以严格参考下标准,同时新设计项目强烈建议使用MBAPS TLS/TCP 而不是MBAP TCP. 

===========================================

嵌入式程序猿承接嵌入式开发开发设计,同时开展培训业务,目前有Modbus培训, CAN J1939培训。欢迎合作交流

640?wx_fmt=jpeg


版权声明:本文为wgp2hpp原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。