XMPP Protocol

Introduction

In line with IEC 61850 guidelines, communication modeling encompasses DER information modeling, service modeling, communication protocol mapping, and telecommunication media.

IEC 61850 information models establish hierarchical class structures (e.g., logical device, logical node, data, dataset, report control, or log) defining components within the system. Services essential for information exchange, like get, set, report, define, and delete, are articulated as ACSI services corresponding to these information models.

ACSI objects and services that are non-time critical are aligned with MMS services, while time-critical services are directly linked to Ethernet layers such as GOOSE and Sampled Values (SVs). This mapping, known as SCSM (Specific Communication Service Mapping), is detailed in IEC 61850-8-1.

While MMS-based SCSM has proven efficient for LAN-based substation communication networks with fixed topologies, it falls short in addressing the complexities of smart grid scenarios. Smart grid communication networks, often WANs or public networks, demand heightened attention to cybersecurity and confidentiality due to their expansive nature. Moreover, these networks witness a large and dynamic influx of devices, including intermittent power resources, necessitating a technology capable of supporting such scalable and fluctuating systems for effective smart grid and microgrid communications.

IEC 61850-80-3 confronts this challenge by advocating for the XMPP protocol as a viable solution. Multiple other middleware solutions have also emerged to tackle the complexities in microgrid communications. The table below offers a feature-based comparison of various middleware solutions tailored for microgrid communication.



Due to its exceptional network scalability, robust security measures, decentralized architecture, and endorsement by established standards, XMPP emerges as the optimal middleware solution for microgrid communication. It ensures strong security through the SASL framework and TLS for secure authentication and encryption, offering a comprehensive and reliable framework for facilitating communication within microgrids.


XMPP Encapsulation

XMPP, an open XML (Extensible Markup Language) protocol developed by the Internet Engineering Task Force, functions within wide area networks. XMPP clients establish connections with XMPP servers and exchange data through server elements known as "stanzas," using unique system identifiers called JabberIDs (or JIDs) alongside domain names. A JabberID format typically appears as "client_name@domain.com," where "client_name" denotes the client identifier and " domain.com," signifies the server identifier. The XMPP protocol defines three message types: iq stanza, message stanza, and presence stanza.

The Abstract Communication Service Interface (ASCI) is a security measure associated with the XMPP protocol, mapped within the framework of IEC 61850-8-2. XMPP communication follows a client-server architecture. As depicted in figure below, IEC 61850 devices are hosted by XMPP clients, which initiate TCP/IP connections to XMPP servers. Upon establishing the TCP/IP connection, a transport layer security (TLS) connection is negotiated. XMPP clients and servers exchange data elements known as "stanzas," constituting the fundamental unit of communication in XMPP. A stanza, analogous to a mail message, contains attributes such as "from" (identifying the source of the message by its JID) and "to" (indicating the destination's JID). There are three distinct message formats: [message formats description continues].



  • <iq> (dedicated for request/response exchange—solicited service)

  • <message> (dedicated for push-exchange –unsolicited communication)

  • <presence> (dedicated for presence announcement)

In this communication flow, an IEC 61850 request originates from an IEC 61850 client, hosted by XMPP client-1. This request is transmitted to an IEC 61850 server, hosted by XMPP client-2. The request, formatted as an MMS request encapsulated in XER (XML Encoding Rules), is initially received by XMPP client-1. Subsequently, this XER-encoded request is forwarded using its JID address through the XMPP server to XMPP client-2, which hosts the IEC 61850 server.

At XMPP client-2, responsible for the IEC 61850 server, the XER message is unpacked and translated into the initial IEC 61850 request. This request is then redirected to the IEC 61850 server. Upon processing, the IEC 61850 server formulates an IEC 61850 response. This response is re-encapsulated in the XER message format and routed back through XMPP client-2 to the XMPP server.

Finally, the XER-encoded response is transmitted to the originating XMPP client-1 via the XMPP server. The IEC 61850 client, housed within XMPP client-1, unwraps the XER response, converts it into an IEC 61850 response, and ultimately delivers it to the IEC 61850 client, concluding the communication process.


Relvant links:

XMPP - Wikipedia