CIGRE2003
CIGRE2003
by
University of Seville
(Spain)
ABSTRACT.
This paper justifies and describes the use of the telecommunication network management
protocol SNMP versión 3 to implement the application functions defined by IEC 870-5-104 [1],
and the replacement of the functional profile defined by this standard with a profile based on the
TCP/IP protocol suite, including SNMP in its application layer.
This work is part of a project financed by the Spanish Ministry of Science and
Technology (TIC2000-1114).
1. INTRODUCTION.
In the field of electrical network telecontrol the protocols being traditionally used were
either specific of a manufacturer, or result of standardizing efforts in this specific area (for
instance, the EPA model from IEC). This kind of solutions makes sense in an application with
strong real time restrictions, slow transmission speeds, and a high homogeneity of equipment to
be telecontrolled. However, during the last years, although real time restrictions are still present,
it does not happen the same with the other two determinants. In effect, from one side, the
available means of communication today have removed speed restrictions prevailing till some
years ago; from the other, the intelligence available in many of the equipment present in
substations or control centers makes the supplied information not simply being an alarm contact
or a set of measurements semantically very restricted. [2]
In this new context, the use of classic protocols must be reevaluated, thus being possible
the consideration of solutions more flexible and with a higher rate of commercial penetration and
standardization, although of lesser efficiency. This approach opens a new field of solutions that
permits the exploitation of all the rich and dynamic experience of a field in constant evolution
such as network management for electrical network telecontrol.
Specifically it is proposed the use of the "de facto" network management standard
SNMPv3, member of the TCP/IP architecture, to carry out the telecontrol functions defined by
the IEC 870-5-104 standard. This companion standard defines the network access for the
functional profiles defined by IEC 870-5-101, based on the EPA model, using standard transport
profiles; and the correspondence between the application functions defined by IEC 870-5-5 and
the services provided by TCP/IP. It is not based on the EPA model as it includes a transport and
network layer. The profile proposed by IEC 870-5-104 combines the application layer of IEC
870-5-101 with transport functions provided by a TCP/IP-based WAN. This permits stations to
be connected via data networks made up of nodes that store and retransmit messages, and
provide virtual circuits among those. TCP/IP supports different kinds of networks, such as X.25,
frame relay, ATM and ISDN.[3]
This new approach based on SNMPv3 gives us independence from vendors since free
implementations of SNMPv3 exist. Additionally, this could be applied to other fields of
telecontrol besides electrical networks, like industry or intelligent home.
2. PROTOCOL STACKS.
The proposed approach replaces the stack based in the standard protocols of the IEC 870-
5 series (specific of telecontrol) that drive the communication between RTUs and control centers
by a stack of protocols non specific of telecontrol. To be exact, the services of the
telecommunication network management protocol SNMPv3 are used to implement the
telecontrol specific application functions defined by IEC 870-5-104. [4]
Both stacks of protocols are compared by equating their equivalent layers. Figure 1
shows three protocol stacks: the first shows the standards selected from the IEC 870-5 series for
each layer of the EPA model by the companion standard IEC 870-5-101; the second one is the
protocol stack defined by IEC 870-5-104, based on the previous adding network access via the
TCP/IP protocol suite; the last protocol stack reflects our new approach, replacing the application
layer from IEC 870-5-104 by SNMPv3 services implementing an API providing its functions.
Selection of application API implementing the
User process functions from IEC 870-5-5 User process application functions of
according to IEC 60870-5-101 IEC 870-5-104
Selection of ASDUs
Layer 7: Application from IEC 60870-5-101 Layer 7: Application SNMP
and IEC 60870-5-104
Selection of application
User process functions from IEC 870-5-5 Layer 4: Transport Layer 4: Transport
Selection of application
Selection of ASDUs
information elements from Layer 7: Application from IEC 870-5-3
Layer 3: Network Layer 3: Network
Selection of TCP/IP Selection of TCP/IP
IEC 870-5-4
protocol suite protocol suite
ITU-T V.24
Layer 1: Physical ITU-T V.28
Layer 1: Physical Layer 1: Physical
The EPA model and the functional profile defined Functional profile defined by IEC 870-5-104 New profile based on SNMP
by IEC 870-5-101
In this approach, control centers play the role of SNMP managers and RTUs are the
SNMP agents.
3. RTUs MIB.
A MIB must be designed to carry out this tasks. This MIB contains the information
handled by the RTU in an organized way and is stored in the agent present in it. The manager
can access to this MIB via SNMP services, such as SETREQUEST (to set the value of a
variable), GETREQUEST (to get the value of a variable) and GETBULKREQUEST (to get the
values of many variables).
The implementation of the most interesting functions of the application layer from IEC
870-5-104 via the SNMPv3 services will be exposed now.
To implement this application function via SNMPv3 services a MIB variable is defined
for each command. This variable would contain one of the next values representing the state of
the command: Inactive command, Selection request, Accepted selection, Refused selection,
Interruption of selection request, Interrupted selection, Execution request, Executing command,
Refused command and Executed command. Both stations modify the value of this variable to
reflect the evolution of the command, when the agent does it a TRAP is sent to notify the
manager of this change of state.
The initial state is Inactive command, the control center must check that the desired
command is in this state before request it, otherwise this could not be requested. This is done by
a GETREQUEST PDU over the variable for this command.
The evolution of the value of this variable depends on the kind of command:
The manager begins the selection phase setting the value of the variable to Selection
request by SETREQUEST. Then the agent could:
• Accept the selection setting the value of the variable to Accepted selection by SETREQUEST
and sending a TRAP PDU notifing this. The agent stays in this state until the manager:
• Requests the execution of the command setting the value of the variable to Execution
request by SETREQUEST. Then the agent sets it to Executing command, sends a TRAP
PDU to notify this to the manager and executes the command. Once the execution has
finished the agent sets the value of the variable to Executed command and sends the
TRAP PDU to inform the manager. As response, this sets the value of the variable to
Inactive command by SETREQUEST. Figure 2.
• Requests the interruption of the selection procedure setting the value of the variable to
Interruption of selection request by SETREQUEST. The agent sets the value of the
variable to Interrupted selection and sends a TRAP PDU informing the manager that the
interruption of the selection proccess has been done. As response, the manager
deactivates the command setting the value of the variable to Inactive command by
SETREQUEST. Figure 3.
• Refuse the selection setting the value of the variable to Refused selection and sending a
notifing TRAP PDU. When the manager receives this, it deactivates the command setting the
value of the variable to Inactive command by SETREQUEST. Figure 4.
Direct commands.
To request the execution of the command the manager sets the value of the variable to
Execution request by SETREQUEST. Then the agent could:
• Accept the command setting the value of the variable to Executing command, sending a
TRAP PDU to inform the manager about this and executing the command. Once the
execution of the command has finished the agent notifies it, setting the value of the variable
to Executed command and sending the TRAP PDU to the manager. As response, this sets the
value of the variable to Inactive command by SETREQUEST. Figure 5.
• Refuse the command, setting the value of the variable to Refused command and sending a
TRAP PDU to inform the manager about that. As response, this sets the value of the variable
to Inactive command by SETREQUEST. Figure 6.
Manager Agent Value of the variable Manager Agent Value of the variable
Control Center RTU associated with the command associated with the command
Control Center RTU
Inactive command Inactive command
GetRequest
GetRequest
Once the state of Response
the command is checked Inactive command
Once the state of Response
to be inactive the manager the command is checked Inactive command
may request its selection SetRequest to be inactive the manager
Selection request
Selection request may request its selection SetRequest
The RTU accepts Selection request
Response Selection request
the selection Accepted selection
Selection request
Response The RTU accepts
Trap the selection Accepted selection
Selection request
Once the selection Accepted selection
has been accepted Trap
the execution is requested SetRequest The control center request Accepted selection
Execution request the interruption of
Execution request SetRequest Interruption of selection request
Response the selection procedure
Start of the execution Executing command Interruption of selection request
Execution request
Trap Response
Executing command Interruption of selection request Interrupted selection
Trap
Interrupted selection
SetRequest
End of the execution Executed command Inactive command
Trap Inactive command
Executed command
Response
SetRequest Inactive command
Inactive command Inactive command
Response
Inactive command
Implementation via SNMP of the command transmission function of IEC 60870-5-104
Select and execute command: interrupted selection
Figure 2 Figure 3
Trap
Refused request
SetRequest
Inactive command Inactive command
Response
Inactive command
Figure 4
Manager Agent Value of the variable Manager Agent Value of the variable
Control Center RTU associated with the command associated with the command
Control Center RTU
Inactive command Inactive command
GetRequest GetRequest
Response Implementation via SNMP of the command transmission function of IEC 60870-5-104
Inactive command Refused direct command
Figure 5 Figure 6
The implementation of this application function via SNMP simplifies it very much,
reducing it to a SETREQUEST PDU updating simultaneously the value of the MIB variables
associated with the desired parameters. This makes the two phases described by IEC 870-5-104
unnecessary.
Local changes of parameters may be notified to the control center by a TRAP PDU.
This application function is implemented via the TRAP PDU. This PDU is sended to the
manager when an event occurs in the agent. This has the advantage of making unnecessary the
poll of the agent by the manager for events since they are immediately reported.
The acquisition of values from the counters can be ordered by the manager o by local
timers in the agent.
The acquisition ordered by the manager is implemented by means of two commands that
this sends to the agent: the incremental information acquisition command and the integrated
total acquisition command, these cause the execution of a process that stores the values from the
counters in MIBs variables, resetting these counters to zero for incremental information.
The acquisition may be activated in the agent by local timers that cause the execution of
the mentioned process. The transmission is carried out by TRAP PDUs.
The agent overwrites and transmits the values of some variables to the manager at cyclic
intervals. This is done with low priority which means that it can be interrupted by event-triggered
communications requests.
To implement this application function with SNMP, a MIB variable is defined. This
variable reflects the existence of cyclic data in the agent waiting to be sent. Its activation causes
the transmission of a TRAP PDU to the manager. Its reception makes the manager to request
cyclic data by GETREQUEST or GETBULKREQUEST when it finishes its current taks. This is
called trap directed polling.
Events can interrupt the general interrogation, since if an event occurs in the agent a
TRAP PDU is sent to the manager so that it is punctually notified and can interrupt that process
to serve the event.
The manager updates the value of a MIB variable containing temporal information by
SETREQUEST. This can be periodically done.
Two classes of data can by trasnmitted from the agent to the manager: events are called
class 1, they are prioritary; cyclic data are called class 2 data.
The acquisition of events is carried out by the procedure described in the section
"Acquisition of events".
To implement the acquisition of cyclic data a MIB variable is defined. This is an structure
with optional fields representing these data, if there are cyclic data waiting to be transmitted the
value of its field in the structure is not NULL. The acquisition is performed by reading the value
of this variable by GETREQUEST. Once these data have been transmitted the values of the
respective fields in the structure are set to NULL until they are changed by the system.
5. CONCLUSIONS.
This new approach presents several advantages that will be exposed below.
• The possibility of using free implementations of SNMP that dissociate us from the vendors.
• As its name suggests, SNMP is a very simple protocol. Its implementation is easy in large
networks and the management information needing exchange takes few network resources.
• The wide experience in SNMP makes it robust and well-known since there are many groups
analysing and improving it, given its importance in the right operation of the networks in
many organizations.
• SNMP means a standard way of managing devices from a broad spectrum of types, being
perfectly applicable to telecontrol devices.
• SNMP allows the user to choose the variables he wishes to monitor in an easy way.
6. REFERENCES.