Prerequisites
The IEC 60870-5-104 transport handler is located in the IEC60870 Wrapper Feature.
To use the IEC60870 Wrapper Feature, one has to install the j60870 Feature that is licensed under the GPLv3. The j60870 Feature contains the j60870 library that is originally developed by Stefan Feuerhahn (Frauenhofer ISE) and provided by openMUC under the GPLv3. It is modified by the University of Oldenburg.
Protocols
...
The protocol itself
The source of this section is Wikipedia.
...
IEC 60870-5-101/102/103/104 are companion standards generated for basic telecontrol tasks, transmission of integrated totals, data exchange from protection equipment & network access of IEC101 respectively. IEC 60870-5-101 is a standard for power system monitoring, control & associated communications for telecontrol, teleprotection, and associated telecommunications for electric power systems. This is completely compatible with IEC 60870-5-1 to IEC 60870-5-5 standards and uses standard asynchronous serial tele-control channel interface between DTE and DCE. The standard is suitable for multiple configurations like point-to-point, star, mutidropped etc.
Features
The source of this section is Wikipedia.
- Supports unbalanced (only master initiated message) & balanced (can be master/slave initiated) modes of data transfer.
- Link address and ASDU(Application Service Data Unit) addresses are provided for classifying the end station and different segments under the same.
- Data is classified into different information objects and each information object is provided with a specific address.
- Facility to classify the data into high priority (class-1) and low priority (class-2) and transfer the same using separate mechanisms.
- Possibility of classifying the data into different groups (1-16) to get the data according to the group by issuing specific group interrogation commands from the master & obtaining data under all the groups by issuing a general interrogation.
- Cyclic & Spontaneous data updating schemes are provided.
- Facility for time synchronization
- Schemes for transfer of files-Example:IED's will store disturbance recorder file in the memory, When electrical disturbance is occurred in the field. This file can be retrieved through IEC103 protocol for fault analysis
Frame format
The source of this section is Wikipedia.
...
IEC 101 Frame Format, Variable length
Data unit | Name | Function |
---|---|---|
Start Frame | Start Character | Indicates start of Frame |
Length Field (*2) | Total length of Frame | |
Start Character (repeat) | Repeat provided for reliability | |
Control Field | Indicates control functions like message direction | |
Link Address (0,1 or 2) | Normally used as the device / station address | |
Data Unit Identifier | Type Identifier | Defines the data type which contains specific format of information objects |
Variable Structure Qualifier | Indicates whether type contains multiple information objects or not | |
COT (1 or 2) | Indicates causes of data transmissions like spontaneous or cyclic | |
ASDU Address (1 or 2) | Denotes separate segments and its address inside a device | |
Information Object | Information Object Address (1 or 2 or 3) | Provides address of the information object element |
Information Elements (n) | Contains details of the information element depending on the type | |
Information Object-2 | ----- | |
----- | ----- | |
Information Object-m | ||
Stop Frame | Checksum | Used for Error checks |
Stop Char | Indicates end of a frame |
Types supported
The source of this section is Wikipedia.
...
The security of IEC 104, by design has been proven to be problematic, as many of the other SCADA protocols developed around the same time. Though the IEC technical committee (TC) 57 have published a security standard IEC 62351, which implements end-to-end encryption which would prevent such attacks as replay, man-in-the-middle and packet injection. Unfortunately due to the increase in complexity vendors are reluctant to roll this out on their networks.
Anchor | ||||
---|---|---|---|---|
|
In Odysseus, both protocol stacks, client and server, are implemented as transport handler. A "104 server" represents a field station and a "104" client a grid control system. Important is that both transport handler do also the work of protocol handlers. Therefore, they must always be combined with the "None" protocol handler. See the examples below for the usage of the transport handler.
...