Appearance
Appearance
ANSI C12.22(也称为 IEEE Std 1703)是一种应用层协议,设计用于 Smart Grid 的电力公用事业仪表网络。其正式标题是 Protocol Specification for Interfacing to Data Communication Networks,但这个标题比该协议本身略显宽泛。该协议用于传输 ANSI C12.19 表,这些表是面向计量的特定数据结构。ANSI C12.22/IEEE 1703 协议定义了在 Smart Grid 的 IP 网络上传输 ANSI C12.22/IEEE 1703 Advanced Metering Infrastructure (AMI) Application Layer Messages 的框架。
该系列中的前两个协议是 ANSI C12.18 和 ANSI C12.19,分别是红外近距离点对点电话通信协议,以及电力公用事业仪表(电能表)的标准化数据结构。几乎所有面向北美市场生产的电子式公用事业电能表都实现了这些标准。ANSI C12.18 最初于 1996 年发布,并于 2006 年修订。ANSI C12.19/IEEE 1377 最初于 1997 年发布。ANSI C12.19 的最新版本是 IEEE Std 1377-2012/ANSI C12.19-2012。
ANSI C12.21 是对简单 ANSI C12.18 光学协议的改编,旨在通过拨号调制解调器使用。它最初于 1999 年发布,并于 2006 年修订。
ANSI C12.22 最初于 2008 年发布,并已修订为 IEEE Std 1703-2012/ANSI C12.22-2012。ANSI C12.22 保留了与 C12.18 和 C12.21 相同的 read table/write table 应用层服务和编码,但使用 ASN.1 wrapper,并增加了加密能力。
ANSI C12.22 / IEEE Std 1703:定义在任意网络段上使用的应用层消息格式和通信协议。
IETF RFC 6142:定义通过 Internet 使用 IPv4 和/或 IPv6 实现 ANSI C12.22 / IEEE Std 1703 的要求。该协议使用 TCP、UDP 和 IGMP 来通信 C12.22 Messages,其中 UDP 和 IGMP 用于 multicast messaging。TCP 和 UDP 也可用于 unicast messages。
IGMP with UDP multicast:支持来自网络的 multicast message delivery service。在 C12.22 IP Nodes 需要执行 Native IP Address discovery 的情况下,这是必要的(例如,发现提供从 C12.22 IP Network Segment 出站路由的 C12.22 IP Relays 的 Native IP Address,或者发现 C12.22 IP Network 上 C12.22 IP Master Relay 的 Native IP Address)。在这种情况下,C12.22 IP Nodes 使用 IP multicast 在 LAN 上发送包含 EPSEM Resolve Service request 的 C12.22 Message。例如,当 C12.22 Host 需要读取大量配置了共同 C12.22 multicast group ApTitle 的 C12.22 Nodes(如仪表)时,IP multicast 也是可取的。所有 C12.22 IP Relays 和 Master Relays 都应实现 IP multicast 和 UDP。还建议非 C12.22 Relay Nodes 也实现 IP multicast 和 UDP。以下 multicast addresses 已由 IANA 注册,供 ANSI C12.22 / IEEE Std 1703 标准使用:
IPv4 -- "All C1222 Nodes" address 224.0.2.4
IPv6 -- "All C1222 Nodes" address FF0X::204
在端口 1153 上。
UDP:ANSI C12.22 可以使用 UDP 作为传输协议;这是 IETF RFC 6142 中描述的 connectionless-mode 操作的首选通信模式。C12.22 流量的 well known UDP port 是 1153。
TCP:ANSI C12.22 可以使用 TCP 作为传输协议;这是 IETF RFC 6142 中描述的 connection-mode 操作的首选通信模式。C12.22 流量的 well known TCP port 是 1153。
ASN.1:由 ISO/IEC 15955:1999 Information technology -- Open Systems Interconnection -- Connectionless protocol for the Application Service Object Association Control Service Element / ITU-T RECOMMENDATION X.237 bis 定义的 C12.22 Message wrapper,其中 AP-title 可根据 Module Connectionless-ACSE-1 (X.237 bis:09/1998) 的详细语法表示为 OBJECT IDENTIFIER 和 RELATIVE-OID。
OIDs:封装在 Module Connectionless-ACSE-1 (X.237 bis:09/1998) 消息中的 C12.22 Object identifiers 通过已批准的对象管理机构(Registries)进行管理,例如 The Energy Communications Management Exchange®。
C12.22 dissector 自版本 1.8 起已包含在主代码中。该 dissector 实现了全部三种 C12.22 security modes(none、Authentication only 和 Ciphertext with Authentication)以及 TCP packet reassembly。
以下首选项设置与 C12.22 dissector 相关:
decryption table 是一组加密密钥列表,用于 C12.22 协议的特定实例。该表的搜索机制非常简单:dissector 从表顶部到底部进行线性搜索,直到找到匹配的 key ID。这意味着该表可以包含某个特定 key ID 的多个条目。也就是说,一个表中可能有多个不同密钥都标记为 key 0,但 dissector 只会使用列出的第一个。这样做是为了方便,只需将相关 key 移到列表顶部,就可以分析不同的捕获文件。根据协议规范,key ID 是单个字节,每个 key 长度为十六个字节。在此 dissector 中,两者都以十六进制表示法指定。
SampleCaptures/c1222overIPv4.cap.gz C12.22 对 Standard Table 1 的读取及响应。此通信使用 Ciphertext with Authentication 模式,key 0 = 6624C7E23034E4036FE5CB3A8B5DAB44
SampleCaptures/c1222_over_ipv6.pcap C12.22 对 Standard Tables 1 和 2 的读取及响应。此通信使用 Ciphertext with Authentication 模式,key 0 = 000102030405060708090A0B0C0D0E0F
完整的 C12.22 display filter fields 列表可在 display filter reference 中找到
仅显示基于 C12.22 的流量:
c1222捕获时无法直接过滤 C12.22 协议。不过,如果你知道所使用的 TCP 端口(见上文),可以基于该端口进行过滤。
仅捕获默认端口(1153)上的 C12.22 流量:
tcp port c1222-acseIEEE STANDARD 1703-2012- 用于补充公用事业行业终端设备数据表的 Local Area Network/Wide Area Network (LAN/WAN) Node Communication Protocol 的 IEEE 标准。
NEMAAmerican National Standard for Protocol Specification for Interfacing to Data Communication Networks - 描述该协议是什么以及如何获取副本
IEEE STANDARD 1377-2012- Utility Industry Metering Communication Protocol Application Layer (End Device Data Tables) 的 IEEE 标准。
An Overview of ANSI C12.22 trade magazine article 概述了该协议。
OSI Model vs. TCP/IP Model and use case of ANSI C12.22 / IEEE Std 1703™ 对两个主要参考模型 Open System Interconnection Model (OSI) 和 Transport Control Protocol /Internet Protocol (TCP/IP) 进行比较和对照。说明 ANSI C12.22 / IEEE Std 1703 如何根据 IETF RFC 6142 位于 OSI transport layer (4) 或 TCP/IP transport layer 之上。
Imported from https://wiki.wireshark.org/C12.22 on 2020-08-11 23:11:44 UTC