Protocol Overview
GOOSE, MMS, and Sampled Values
(SV) Protocols
Estimated timeline
GOOSE Protocol
• Key Features:
• - Real-time data exchange for substation automation.
• - Based on IEC 61850 standard.
• - High-speed communication with low latency.
• Message Structure:
• 1. Ethernet Header: MAC addresses, EtherType, VLAN (Optional).
• 2. GOOSE PDU: gocbRef, timeAllowedtoLive, GoID, stNum, sqNum.
• 3. Variable Portion: User-defined dataset with Boolean, Integer, Bit-string values.
• 4. ASN.1 Encoding: TAG, LENGTH, VALUE.
• Example GOOSE Packet:
• - Destination MAC: [Link]
• - Source MAC: [Link]
• - gocbRef: Relay1/PROT1.GOOSE1
1. Fixed Portion of the GOOSE Message
•Ethernet Header:
•Destination MAC Address: Typically a multicast address, 6 bytes long.
•Source MAC Address: The MAC address of the sender, 6 bytes long.
•EtherType: Set to 0x88B8 to indicate GOOSE messages .
•802.1Q VLAN Header (Optional):
•TPID (Tag Protocol Identifier): Value is 0x8100 for VLAN tagging.
•TCI (Tag Control Information): Includes priority bits and VLAN ID.
•APPID (Application Identifier):
•Identifies GOOSE messages and their application association. It is 2
bytes long.
2. GOOSE Protocol Data Unit (goosePdu)
•Structure:
•Tag: Indicates the type of data (e.g., Primitive Constructed
or ).
•Length: Specifies the number of bytes in the data.
•Data: Contains the actual data.
3. Variable Fields:
gocbRef (GOOSE Control Block Reference): Specifies the logical node
and data set associated with the message .
timeAllowedtoLive: The maximum time the GOOSE message is valid
(in milliseconds).
GoID: A unique identifier for the GOOSE message.
t (Timestamp): Indicates the time the message was sent.
stNum (State Number): Increments with every change in the dataset.
sqNum (Sequence Number): Tracks the sequence of messages within
the same state.
confRev (Configuration Revision): Revision number of the dataset.
ndsCom (Needs Commissioning): Indicates if the device requires
commissioning.
numDatSetEntries: Number of entries in the dataset.
• 3. User Portion of the GOOSE Message
• This section contains the user-defined dataset with attributes
specified by the user. Examples include:
• Boolean values (e.g., breaker open/closed).
• Integer values (e.g., numerical measurements).
• Bit-strings for encoded status information.
• 4. ASN.1 Encoding
• Abstract Syntax Notation One (ASN.1) is used for encoding the data
in the GOOSE message.
• Format: TAG, LENGTH, VALUE.
• TAG: Describes the type of information.
• LENGTH: Indicates the number of bytes in the data.
• VALUE: Contains the actual information.
MMS Protocol
• Key Features:
• - Application-layer protocol based on ISO 9506.
• - Client-server architecture for data and control
communication.
• - Utilizes ASN.1 and BER encoding.
• Communication Stack:
• - Physical: Ethernet
• - Transport: TCP/IP, COTP, TPKT
• - Application: MMS, ACSE
The MMS protocol uses ASN.1 and BER encoding for its data structure,
organized as Tag-Length-Value (TLV) triplets.
Key Components:
[Link] Header:
•Version (1 byte): Always 0x03
.
•Reserved (1 byte): Reserved for future use.
•Length (2 bytes): Total length of the packet (header + payload).
[Link] PDU:
•Length Indicator (LI): Specifies the header length.
•PDU Type: Encodes the type of message (e.g., Data Transfer).
•TPDU Number: Sequence number for data transfer.
3. MMS Protocol Data Unit (PDU):
1. Confirmed-RequestPDU: Sent by the client to request data or services.
2. Confirmed-ResponsePDU: Server's response with requested data.
3. Confirmed-ErrorPDU: Indicates an error in processing the request.
4. MMS Object and Service Model
•Virtual Manufacturing Device (VMD):
•Represents real devices in a generic, virtualized form.
•Provides access to objects like variables, events, and journals.
•Service Primitives:
•Get: Retrieves object values.
•Set: Writes values to objects.
•Create/Delete: Instantiates or removes objects.
•Query Attributes: Fetches object structure details.
•Object Access:
•Objects are accessed via named or unnamed variables.
•Each object has attributes like Access Control
for permission settings
Sampled Values (SV) Protocol
• Key Features:
• - Digital transmission of analog signals (e.g.,
voltages, currents).
• - Real-time data exchange for substation devices.
• - Based on IEC 61850-9-2.
• Communication Model:
• - Publisher (MUs) and Subscriber (IEDs) architecture.
• The IEC 61850 Sampled Values (SV) message structure
includes key components for transmitting time-
synchronized, sampled data (e.g., voltage and current). Key
fields are:
• Destination and Source MAC Addresses for Ethernet
communication
• Ethertype to identify the protocol (0x88BA for SV)
• APPID for application-specific data streams
• APDU containing the sampled data and its associated
metadata, including sequence number, time stamps, and
sample count.
APDU
• The APDU field contains the payload of the SV messages. Every
APDU contains up to 8 ASDU (Application Specific Data Unit),
where each ASDU contains one three phase current and
voltage measurements and each ASDU has a unique SV
identification value
• As defined by the IEC 61850-9-2LE guide, every ASDU field
must contain the following fields:svID - Sampled Values
Identifier, a user-defined unique string identifier used for
subscription.
• smpCnt - index of the Sampled Values message
• confRev - configuration revision
• smpSynch - defines the synchronization mechanism of the
clock used for sending the SV messages. The value can be:
• 0 - None
• 1 - Local
• 2 - Remote
• Sequence of Data - sequence of measured voltage and
current values