全球旧事资料 分类
协议,它的过程数据和IT数据可以在一个共同的媒介上传播,不会和已经存在于TCPIP信道上的通信相互干扰。拥有很大的地址空间,几乎可以容纳无限制的参与对象,满足可能的扩展网络。
22协议剖析
f图(部分)Wireshark协议解析源代码图Wireshark协议解析结果
f从Wireshark的源代码和解析结果中我们发现了一些协议的规律,基本确认了HartIP同HART协议的区别。以下就对HartIP增添的部分进行一个总结。
HartIP协议的报文头共有8个字节,分别为6个字段:Versio
MessageTypeMessageIDStatusSeque
ceNumber和MessageLe
gth。
Versio
:协议的版本号,为0x01,这里不影响协议comma
d的检测。
MessageType:消息类型可以是REQUEST_MSG_TYPE,RESPONSE_MSG_TYPE,PUBLISH_MSG_TYPE,ERROR_MSG_TYPE,NAK_MSG_TYPE,共五种。
MessageID:消息的功能共有四种,分别是Sessio
i
itiateSessio
closeKeepalivePassthrough。这个字段对于检测comma
d有至关重要的作用,当消息功能为Sessio
close和Keepalive时,应用层内容只有Header,而Body内容为空;当功能为Sessio
i
itiate时,Body会包括1个字节的主机类型和4个字节的时钟信息,指出该段对话的失效时间;当功能为Passthrough时,Body部分就会是HART协议的内容,大多数情况下,这种报文的出现频率是最高的。
Status:通常情况下这个值为0x00。
Seque
ceNumber:消息的序列号。
fMessageLe
gth:该条HartIP报文应用层的总长,包括了Header部分和Body部分。由于Hart协议数据部分的长度是不固定的,所以可以根据长度字段判断出数据部分的长度。
fr
好听全球资料 返回顶部