DLMS/COSEM协议—(Green-Book)Gateway protocol

news2024/9/21 12:46:08

DLMS/COSEM协议 — Gateway protocol

    • 10.10 Gateway protocol (网关协议)
      • 10.10.1 概述
      • 10.10.2 网关协议 (The gateway protocol)
      • 10.10.3 HES在WAN/NN中作为发起者(拉取操作)
      • 10.10.4 LAN中的终端设备作为发起者(推送操作)
        • 10.10.4.1 General(一般情况)
        • 10.10.4.2 End device with WAN/NN knowledge(了解WAN/NN的终端设备)
        • 10.10.4.3 End devices without WAN/NN knowledge(不了解WAN/NN的终端设备)
      • 10.10.5 安全性

10.10 Gateway protocol (网关协议)

10.10节描述了DLMS/COSEM(数据语言管理规范/公用服务元素模型)的网关协议,这是一种在不同网络之间传输数据的方法,特别是当网关连接到广域网(WAN)或邻近网(NN)的一侧,而另一侧连接到局域网(LAN),并且DLMS服务器连接到这个局域网时。

以下是对10.10节内容的详细翻译和解释:

10.10.1 概述

  • 网关协议的作用:本小节规定了一种方法,用于在通过网关连接的DLMS客户端和服务器之间交换数据。这种网关可以连接到广域网(WAN)或邻近网(NN)的一侧,以及连接到局域网(LAN)的另一侧,并且有DLMS服务器连接到这个LAN。

  • 双向通信:网关是双向的,也就是说,LAN中的服务器也能够通过网关向WAN/NN中的客户端发送消息(推送应用)。

  • 网关的实现:网关功能可以集成在DLMS/COSEM设备中,也可以是独立的设备。

  • DLMS/COSEM规范的通信模型:DLMS/COSEM规范的设备数据交换基于客户端/服务器模型,其中头端系统(HES)作为客户端请求服务,而终端设备(例如电表)作为服务器提供服务。在许多情况下,客户端可以直接使用单播、多播或广播消息到达每个设备。

  • 网关的使用场景:然而,在某些情况下,将多个终端设备连接到LAN并通过网关访问这些设备是实际的。LAN上使用的协议栈可能与WAN/NN上使用的相同,也可能不同。

General architecture with gateway

图199 General architecture with gateway

  • 网关的透明性:如果配置正确,网关可以透明地在HES或NNAP和COSEM服务器(终端设备)之间传递COSEM应用协议数据单元(APDU)。

  • 推送应用:网关还可以支持LAN中的服务器(终端设备)向WAN/NN中的客户端(HES)发送消息,而无需事先接收到请求服务(推送应用)。

在这一节中,概述了网关协议的基本概念,包括其在DLMS/COSEM通信模型中的作用、双向通信能力、实现方式,以及在不同网络环境中的应用场景。此外,还强调了网关在数据交换过程中的透明性,以及它支持的推送应用能力。

10.10.2 网关协议 (The gateway protocol)

10.10.2 节的标题为 “The gateway protocol”,即 “网关协议”。以下是对该节内容的详细翻译和解释:

网关协议

  • 应用层结构:DLMS/COSEM通信配置文件的最顶层是DLMS/COSEM应用层(AL)。为了不影响较低层的协议栈和DLMS/COSEM应用层,通过在COSEM应用协议数据单元(APDU)前添加一些字节来指定使用的网络和LAN上设备的地址,从而解决将每个消息从客户端路由到LAN上的终端设备的问题。

  • 消息前缀:为了路由消息,COSEM APDUs会被前缀几个字节,这些字节指定了要使用的网络和LAN上设备的地址。这样,无论客户端和服务器使用的是相同的通信协议还是不同的协议,网关都能够正确地将消息路由到目的地。

  • 前缀字段结构:前缀字段由四个字段组成,包括头部、网络ID、地址长度和物理设备地址。这些字段的结构如图200所示。

 The fields used for pre-fixing the COSEM APDUs

图200 The fields used for pre-fixing the COSEM APDUs

  • 头部:第一个字节是头部,其值为0xE6或0xE7,指示后续字节不仅包含COSEM APDU,还包含带有前缀的COSEM APDU。0xE6表示从DLMS客户端到服务器的请求消息或从服务器到客户端的请求消息(数据通知);0xE7表示从DLMS服务器到客户端的响应消息。

  • 网络ID:第二个字节携带目标网络的标识符,该网络是消息被传输到的地方。这个网络ID允许通过同一个网关使用相同或不同的通信协议访问多个网络。网络ID与通信协议无关,可以设置为任何值。如果只存在一个网络,则应使用0x00。

  • 地址长度:第三个字节定义了接下来的L个字节中给出的物理设备地址的长度。它取决于所使用的通信协议。

  • 物理设备地址:第四个字节到第4+(L-1)个字节携带终端设备或HES的物理设备地址,如通信协议所请求。

  • 前缀字段的处理:当带有前缀字段的报文到达一个不是网关或不支持前缀字段的设备时,该报文应被简单地丢弃。当客户端直接与主设备交换数据时,不出现前缀字段。

  • 通信流程:客户端通过WAN或NNAP发送请求,这些请求由支持DLMS/COSEM AL的协议层承载。网关接收到这些请求后,根据前缀字段中的网络ID和物理设备地址将COSEM APDU转发到适当的网络。客户端和服务器的应用进程(AP)地址从WAN/NNAP的协议层中提取出来,并插入到LAN的DLMS/COSEM AL的协议层中。

  • 响应处理:当LAN中的设备响应请求时,它就像直接连接到客户端一样处理请求并提供答案。当网关在LAN上接收到携带.response服务原语的COSEM APDU时,它会提取客户端和服务器AP的地址,并将它们插入到WAN/NNAP的DLMS/COSEM AL的协议层中,然后将带有前缀字段的消息发送回客户端。

这一节详细描述了网关如何在DLMS/COSEM通信中工作,包括如何使用前缀字段来路由消息,以及如何处理请求和响应。通过这种方式,网关能够确保即使在复杂的网络环境中,客户端和服务器之间的通信也能正确地进行。

10.10.3 HES在WAN/NN中作为发起者(拉取操作)

10.10.3 节的标题为 “HES in the WAN/NN acting as Initiator (Pull operation)”,即 “广域网/邻近网中的HES作为发起者(拉取操作)”。以下是对该节内容的详细翻译和解释:

Pull message sequence chart

图 201 – Pull message sequence chart

广域网/邻近网中的HES作为发起者(拉取操作)

  • 前提条件:在WAN或NN中的客户端(HES)需要知道它想要联系的LAN上服务器的网络ID、协议和物理设备地址。

  • 请求过程:DLMS客户端(HES)发送的每个请求都是通过一个COSEM APDU承载的,并使用WAN/NN支持的DLMS/COSEM AL协议层,以图200中显示的带有四个字段的前缀形式发送。

  • 网关的转发:网关将每个携带.request服务原语的COSEM APDU转发到适当的网络,使用前缀字段中包含的网络ID和物理设备地址。客户端和服务器的应用进程(SAP)地址从WAN/NN的协议层中提取出来,并插入到LAN上DLMS/COSEM AL的协议层中。

  • 终端设备处理请求:到达LAN上终端设备的APDUs在到达时没有前缀。每个终端设备处理请求并提供答案,就像它直接连接到客户端一样。

  • 响应过程:当设备对请求做出响应时,它就像直接连接到客户端一样:APDU不需要前缀。当网关在LAN上接收到携带.response服务原语的COSEM APDU时,它从LAN上DLMS/COSEM AL的协议层中提取客户端和服务器SAP,然后将其插入到WAN/NN上DLMS/COSEM AL的协议层中,并使用WAN/NN协议将带有前缀字段的消息发送给客户端。

  • 消息序列图:图201展示了DLMS客户端和服务器通过网关进行传统拉取数据交换的消息序列图。

  • 安全性:DLMS/COSEM AL的安全机制确保了通过网关的端到端安全性。

这一节详细描述了在DLMS/COSEM通信模型中,当HES作为发起者时,如何通过网关从LAN上的服务器拉取数据。它强调了请求和响应过程中的地址提取和插入,以及网关在消息路由中的关键作用。此外,还提到了安全性,确保了数据交换的安全性。

10.10.4 LAN中的终端设备作为发起者(推送操作)

10.10.4 节的标题为 “End devices in the LAN acting as Initiators (Push operation)”,即 “局域网中的终端设备作为发起者(推送操作)”。这一节分为三个子部分,以下是对这三个子部分的详细翻译和解释:

10.10.4.1 General(一般情况)
  • 推送操作的定义:在DLMS/COSEM架构中,LAN中的终端设备(服务器)不仅可以响应来自WAN/NN中客户端(HES)的请求,还可以主动向客户端发送消息,这种操作称为推送操作。

  • 网关的作用:推送操作允许终端设备在没有收到客户端请求的情况下,通过网关向客户端发送消息。这可以用于实现如数据通知等主动通信。

  • 操作的灵活性:根据终端设备对WAN/NN网络的知识,推送操作有两种不同的情况:一种是终端设备知道WAN/NN的网络信息,另一种是终端设备不知道这些信息。

10.10.4.2 End device with WAN/NN knowledge(了解WAN/NN的终端设备)
  • 前提条件:LAN中的服务器必须知道它想要联系的WAN/NN中客户端的网络ID、协议和地址。

  • 推送流程:了解WAN/NN网络信息的终端设备会向网关发送带有前缀字段的请求,这些字段包括网络ID、协议和客户端地址。这些信息允许网关正确地将请求转发到WAN/NN中的客户端。

  • 消息序列图:图202提供了一个推送操作的消息序列图,展示了从LAN中的终端设备到WAN/NN中客户端的消息传递流程。

Push message sequence chart

图 202 – Push message sequence chart

10.10.4.3 End devices without WAN/NN knowledge(不了解WAN/NN的终端设备)
  • 操作限制:如果LAN中的终端设备不了解WAN/NN网络,或者不知道它是否连接到网关,它不能像了解网络信息的设备那样发送带有前缀字段的请求。

  • 网关的职责:在这种情况下,终端设备可以向网关发送标准的数据通知请求,不使用特定的前缀。然后,网关有责任处理这些消息,可能需要根据其配置或网络策略来转发这些请求。

  • 使用场景:这种操作模式适用于那些不需要终端设备了解复杂网络细节的场景,简化了终端设备的通信需求,但增加了网关的复杂性。

这三个子部分共同描述了LAN中的终端设备如何作为发起者进行推送操作,无论是它们是否了解WAN/NN的网络信息。这提供了一种灵活的通信机制,允许终端设备根据其能力和网络环境,主动向客户端发送信息。

10.10.4 节的标题为 “End devices in the LAN acting as Initiators (Push operation)”,即 “局域网中的终端设备作为发起者(推送操作)”。以下是对该节内容的详细翻译和解释:

局域网中的终端设备作为发起者(推送操作)

  • 一般情况:在某些情况下,局域网(LAN)中的服务器(终端设备)也可以在没有先前接收到来自广域网(WAN)或邻近网(NN)的客户端(HES)的请求服务的情况下,通过网关向客户端发送消息。这种情况被称为推送操作。

  • 两种场景:根据网关的能力,支持两种不同的场景:

    1. 终端设备具有WAN/NN知识:如果LAN中的服务器知道它想要联系的WAN/NN中客户端的网络ID、协议和地址,它可以主动发送请求。
    2. 终端设备没有WAN/NN知识:如果终端设备对WAN/NN网络没有了解,或者不知道它是否连接到网关,它可以向网关发送标准的数据通知请求,而不使用特定的前缀。
  • 推送消息序列图:图202展示了推送操作的消息序列图,详细说明了当LAN中的服务器作为发起者时,消息是如何通过网关发送到WAN/NN中的客户端的。

  • 终端设备作为发起者:在推送操作中,LAN中的终端设备(服务器)使用DLMS/COSEM AL协议层支持的协议层,向网关发送每个请求(例如数据通知请求)。这些请求由COSEM APDU承载,并使用前缀字段,就像在拉取操作中一样。

  • 网关的角色:网关接收到来自LAN中终端设备的请求后,根据前缀字段中包含的网络ID、协议和客户端地址(例如WAN/NN MAC地址),将COSEM APDU转发到适当的网络。客户端和服务器的应用进程(SAP)地址从LAN的协议层中提取出来,并插入到WAN/NN的DLMS/COSEM AL的协议层中。

  • 安全性:DLMS/COSEM AL的安全机制确保了即使在推送操作中,数据交换也是安全的,并且通过网关保持了端到端的安全性。

这一节详细描述了在DLMS/COSEM通信模型中,LAN中的终端设备如何作为发起者进行推送操作,以及网关在这一过程中的作用。推送操作允许终端设备在没有收到客户端请求的情况下,主动向客户端发送消息,这在某些应用场景中非常有用,例如实时数据通知或事件报告。

10.10.5 安全性

  • 端到端安全:DLMS/COSEM应用层的安全机制确保了通过网关的端到端安全性。

10.10.5 节的标题为 “Security”,即 “安全性”。以下是对该节内容的详细翻译:

安全性

  • 端到端安全:DLMS/COSEM 应用层的安全机制确保了通过网关的数据交换是端到端安全的。这意味着从客户端到服务器,以及通过网关的整个通信过程中,数据的安全性得到了保障。

  • 安全特性:DLMS/COSEM 规范提供了一系列的安全特性,包括但不限于数据加密、认证和完整性保护。这些安全特性可以在不同的通信场景中使用,以防止未授权访问和确保数据的保密性。

  • 网关的角色:在安全性方面,网关充当了数据传输的中介,但它并不参与到数据的解密和加密过程中。因此,即使数据经过网关,网关也不会对数据的安全性造成威胁。

  • 通信协议的支持:DLMS/COSEM 应用层的安全机制与底层通信协议栈是解耦的。这意味着无论底层使用的是哪种通信协议,只要它们支持必要的安全特性,就可以与DLMS/COSEM 应用层安全机制一起使用。

  • 安全性配置:安全性的配置和实施是根据具体的项目需求和安全策略来决定的。不同的项目可能会选择不同的安全机制和策略,以满足特定的安全要求。

  • 安全性的灵活性:DLMS/COSEM 应用层提供了灵活性,允许在不同的通信配置文件中实施不同的安全措施。例如,某些配置文件可能需要更强的加密和认证机制,而其他配置文件可能由于性能或成本考虑而采用较轻量级的安全措施。

  • 安全性的实现:安全性的具体实现,包括密钥管理、加密算法的选择和安全策略的制定,通常是由实施DLMS/COSEM 系统的组织或个人根据具体的安全需求来完成的。

这一节强调了DLMS/COSEM 应用层在设计时就考虑了安全性,提供了一套完整的安全机制来保护数据交换过程,并通过网关在不同的网络环境中安全地传输数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1870089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库物理结构设计-定义数据库模式结构(概念模式、用户外模式、内模式)、定义数据库、物理结构设计策略

一、引言 如何基于具体的DBMS产品,为数据库逻辑结构设计的结果,即关系数据库模式,制定适合应用要求的物理结构 1、在设计数据库物理结构前,数据库设计人员首先 要充分了解所用的DBMS产品的功能、性能和特点,包括提供…

【最新综述】基于伪标签的半监督语义分割

Semi-Supervised Semantic Segmentation Based on Pseudo-Labels: A Survey 摘要: 语义分割是计算机视觉领域的一个重要而热门的研究领域,其重点是根据图像中像素的语义对其进行分类。然而,有监督的深度学习需要大量数据来训练模型&#xff…

Asm动态生成类和get and set方法

asm在解析文件的时候是按照特定顺序进行分析的,首先是visit方法,做类相关的解析,然后是注解,然后是属性,最后才是方法,属性是在所有方法分析前面进行,也就是只有当class文件中的所有属性都遍历完…

【Android11】开机启动日志捕捉服务

一、前言 制作这个功能的原因是客户想要自动的记录日志中的报错和警告到设备的内存卡里面。虽然开发者模式中有一个“bug report” 会在/data/user_de/0/com.android.shell/files/bugreports/目录下生成一个zip包记录了日志。但是客户觉得这个日志很难获取到他们需要的信息&am…

无需劳师动众,让石油化工DCS集散控制系统轻松实现无线传输!

石油化工中,为了保证较高的可靠性和安全性,大量使用的是DCS集散控制系统。与FCS现场总线的“现场采集,转换为数字信号来集中传输”不同,DCS系统为了避免由于线缆断裂或者节点问题导致整个控制系统失灵,采用“分散传输,集中采集”的方式,即每个传感器通过4-20mA的模拟量通…

el-upload 上传图片及回显照片和预览图片,文件流和http线上链接格式操作

<div v-for"(info, index) in zsjzqwhxqList.helicopterTourInfoList" :key"info.id" >编辑上传图片// oss返回线上地址http链接格式&#xff1a;<el-form-itemlabel"巡视结果照片":label-width"formLabelWidth"><el…

【MySQL】 -- 用户管理

1. 权限 如果我们只能使用root用户&#xff0c;这样存在安全隐患。这时&#xff0c;就需要使用MySQL的用户管理。创建出非root用户&#xff0c;限制其权限。 权限这个概念拿出来就是用来限制非root用户的。这样从技术手段上保证了数据的安全性和完整性&#xff0c;防止有人删库…

LeetCode11. 盛最多水的容器题解

LeetCode11. 盛最多水的容器题解 题目链接&#xff1a; https://leetcode.cn/problems/container-with-most-water 示例 思路 暴力解法 定住一个柱子不动&#xff0c;然后用其他柱子与其围住面积&#xff0c;取最大值。 代码如下&#xff1a; public int maxArea1(int[]…

麒麟系统安装Redis

一、背景 如前文&#xff08;《麒麟系统安装MySQL》&#xff09;所述。 二、下载Redis源码 官方未提供麒麟系统的Redis软件&#xff0c;须下载源码编译。 下载地址&#xff1a;https://redis.io/downloads 6.2.14版本源码下载地址&#xff1a;https://download.redis.io/re…

ADI-DSP|在指定内存写入数据

一、LDF文件设置内存空间 user_data_test { TYPE(BW RAM) START(0x00380010) END(0x0039bfff) WIDTH(8) }//usr data dxe_user_data_bw BW{INPUT_SECTION_ALIGN(4)INPUT_SECTIONS( $OBJS_LIBS(user_data) )} > user_data_test 二、在C文件中设置数据 /************…

2.x86游戏实战-跨进程读取血量

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 接下来会写C/C代码&#xff0c;C/C代码不是很难&#xff0c;然后为了快速掌握逆向这个技能&#xff0c;我…

List常用操作比for循环更优雅的写法

private String name; //姓名 private Integer age; //年龄 private Integer departId; //所属部门id } List list new ArrayList<>(); 复制代码 简单遍历 使用lamada表达式之前&#xff0c;如果需要遍历list时&#xff0c;一般使用增强for循环&#xff0c;代码如…

uboot基本使用网络命令和从服务器端下载linux内核启动

网络命令ip地址设置: setenv gmac_debug 0; setenv mdio_intf rgmii; setenv bootdelay 1; setenv ethaddr 00:xxxx:81:70; // mac地址 setenv ipaddr xxx; //开发板 IP 地址 setenv netmask 255.255.255.0; setenv gatewayip xxx.1; setenv serverip xxxx; //服…

RP2040 开发,用 Arduino 通过 ADC 获取电压测量数据

这两天测试了一下如何通过 RP2040 的内置 ADC 获取一个待测量的电压数据&#xff0c;RP2040 内置了4路ADC&#xff0c;分辨率是12bit&#xff0c;也就是说&#xff0c;可以获取4096阶的变化量&#xff0c;但第4个 ADC 已经用于测量芯片的内部温度&#xff0c;所以实际能用的仅有…

YOLO模型评价指标

在模型训练完成之后&#xff0c;需要对模型的优劣作出评估&#xff0c;YOLO系列算法的评价指标包括&#xff1a; 1. 准确率&#xff08;Precision&#xff09;&#xff1a;指模型预测为正样本中实际为正样本的比例。 &#x1d447;&#x1d443;、&#x1d439;&#x1d443;、…

计算机方向国际学术会议推荐

*华中师范大学伍伦贡联合研究院与南京大学联合主办 第三届人工智能、物联网和云计算技术国际会议&#xff08;AIoTC 2024&#xff09; 大会官网&#xff1a;www.icaiotc.net 时间地点&#xff1a;2024年9月13-15日&#xff0c;中国武汉 收录检索&#xff1a;EI Compendex&a…

从一道算法题开始,爱上Python编程

Python是一门简单易学、高效强大的编程语言&#xff0c;许多人因为它的便捷性和广泛应用而爱上编程。今天&#xff0c;我将通过一道有趣的算法题&#xff0c;带领大家一步步写出Python代码&#xff0c;并最终解决问题。希望通过这篇文章&#xff0c;能激发大家对Python编程的兴…

从万里长城防御体系看软件安全体系建设@安全历史03

长城&#xff0c;是中华民族的一张重要名片&#xff0c;是中华民族坚韧不屈、自强不息的精神象征&#xff0c;被联合国教科文组织列入世界文化遗产名录。那么在古代&#xff0c;长城是如何以其复杂的防御体系&#xff0c;一次次抵御外族入侵&#xff0c;而这些防御体系又能给软…

C++语法20 一维数组及其相关问题详解

这是《C算法宝典》语法入门篇的第20节文章啦~ 如果你之前没有太多C基础&#xff0c;请点击&#x1f449;专栏&#xff1a;C语法入门&#xff0c;如果你C语法基础已经炉火纯青&#xff0c;则可以进阶算法&#x1f449;专栏&#xff1a;算法知识和数据结构&#x1f449;专栏&…

stm32学习笔记---TIM输入捕获(代码部分)输入捕获模式测频率/PWMI模式测频率占空比

目录 第一个代码&#xff1a;输入捕获模式测频率 调整频率 PWM.c PWM.h 输入捕获 IC.c 输入捕获初始化步骤 TIM.h库函数 TIM_ICInit TIM_PWMIConfig TIM_ICStructInit TIM_SelectInputTrigger TIM_SelectOutputTrigger TIM_SelectSlaveMode 单独配置四个通道的分…