– 114 –
IEC 61375-2-3:2015 IEC 2015
Annex A
(normative)
Train Real-Time Data Protocol (TRDP)
A.1 General
This annex defines the train real-time data protocol (TRDP) which shall be used for the
exchange of TCN process data and TCN message data over ETB. The TRDP is executed by a
TRDP layer which is placed on top of the TCP/UDP transport layer (Figure A.1). This layer may
optionally be extended by a safety layer which provides safe end-to-end data transmission of
safety critical process data and message data between any two end devices in the network.
All TRDP data on the wire is defined as big endian and byte alignment. Possible marshalling of
user data needs to be done by a specific service primitive called from application layer before
calling the TRDP service primitives to send data. As well a possible unmarshalling of user data
needs to be done at application level after receiving data from the TRDP layer.
NOTE Also the optional safety layer uses the data in wire format (big endian and byte alignment).
END DEVICE
END DEVICE
Application
Application
safety
layer
TRDP safe data
transmission protocol
safety
layer
other
TRDP
TRDP protocol
TRDP
other
TCP/UDP
IP
Ethernet
TCN
TCP/UDP
IP
Ethernet
IEC
Figure A.1 – Overview of the protocol stack
A.2 Lower Layers
A.2.1
Data link layer
TRDP uses the ETB as defined in IEC 61375-2-5 for data communication within trains.
A.2.2
Network Layer
TRDP is based on IP (RFC 791) for data exchange between functions located in different
consists of a train.
IP Addressing of functions and devices is defined in IEC 61375-2-5 and in this part of
IEC 61375. IP address assigments may change after train inaugurations.
Data transfer between ETB and CN is provided by a gateway functionality of the ETBN as
defined in IEC 61375-2-5. As a recommendation, this gateway should only transfer data
between ETB and CN if the data are consistent with the actual train backbone view (defined by
Copyright International Electrotechnical Commission Provided by IHS under license with IECLicensee=Hong Kong Polytechnic University/9976803100 Not for Resale, 02/27/2016 19:09:14 MSTNo reproduction or networking permitted without license from IHS--``,,,`,``,,,````,`,,,`,,``,,`,-`-`,,`,,`,`,,`---
IEC 61375-2-3:2015 IEC 2015
– 115 –
the ‘etbTopoCnt’ value) and (optionally) operational train view (defined by the ‘opTrnTopoCnt’
value). This consistency can be checked by comparing the values of ‘etbTopoCnt’ and
‘opTrnTopoCnt’ contained in TRDP telegrams to the values stored in the ETBN. In case of a
discrepancy the telegrams should be discarded.
NOTE 1 The filtering of inconsistent data within the ETBN reduces the probability that inconsistent data are
transferred to the destination. But it does not release the destination from the responsibility to check the
consistency by itself.
NOTE 2 A possible implementation will be to define corresponding firewall rules for the IP router within the ETBN
(if IP router is available)
A.2.3
Transport Layer
TRDP uses the services of the UDP (RFC 768) and TCP (RFC 793) transport layer protocols
for data communication.
TRDP process data shall be sent with UDP. TRDP process data packet size shall be restricted
to the size of one Ethernet frame.
TRDP message data may be sent with UDP or with TCP. The choice shall be done by the user
when the message data transfer is invoked.
NOTE Message data packets exceeding the Ethernet MTU in size (about 1 500 bytes) can be transmitted by TCP
in order to avoid problems with packet fragmentation. However, TCP restricts to point-to-point communication.
For interoperable data communication, the destination port assignments (well-known ports)
defined in Table A.1 shall be used.
Table A.1 – UDP/TCP port assignments
Protocol
Process Data
Message Data (UDP)
Message Data (TCP)
20548
20550
20550
Destination Port
For receiving any process data telegrams and for receiving UDP message data notification,
request and confirm telegrams the well-known port shall be used.
For receiving UDP message data reply telegrams the port the related request was sent from
shall be used.
For sending any process data telegrams and for sending UDP message data notification,
request and confirm telegrams a private source port different from the well-known port shall be
used.
For sending UDP message data reply telegrams any source port different from the one the
request was received from can be used.
TCP connections shall be established between a source port different from the well-known port
and the well-known port as destination.
Using different well-known port numbers may be allowed for project specific purposes.
The used well-known port numbers should be given as a configuration parameter to the
communication stack.
Copyright International Electrotechnical Commission Provided by IHS under license with IECLicensee=Hong Kong Polytechnic University/9976803100 Not for Resale, 02/27/2016 19:09:14 MSTNo reproduction or networking permitted without license from IHS--``,,,`,``,,,````,`,,,`,,``,,`,-`-`,,`,,`,`,,`---
– 116 –
IEC 61375-2-3:2015 IEC 2015
A.3 TRDP FCS Computation
For TRDP FCS CRC computation the CRC32 according to IEEE802.3 is used. The CRC
calculation shall be done on the data prepared for transmission – big endian format and byte
alignment. The CRC itself shall be appended in little endian format (least significant byte first).
Based on the table below the following algorithm in C programming language notation with start
value ‘FFFFFFFF’H is used (see Figure A.2 and Figure A.3):
/*******************************************************************************
* GLOBAL FUNCTION DEFINITIONS
*/
/**
* @internal
* Computes and returns a 32-bit FCS.
*
* @param buf Input buffer
* @param len Length of input buffer
* @param fcs Initial (seed) value for the FCS calculation
*
* @return Computed fcs value
*/
static UNSIGNED32 fcs32(const UNSIGNED8 buf[], UNSIGNED32 len, UNSIGNED32 fcs)
{
UNSIGNED32 i;
for (i=0; i < len; i++)
{
fcs = (fcs >> 8)^fcstab[(fcs ^ buf[i]) & 0xff];
}
return (fcs ^ 0xffffffff);
}
Figure A.2 – FCS Computation
Copyright International Electrotechnical Commission Provided by IHS under license with IECLicensee=Hong Kong Polytechnic University/9976803100 Not for Resale, 02/27/2016 19:09:14 MSTNo reproduction or networking permitted without license from IHS--``,,,`,``,,,````,`,,,`,,``,,`,-`-`,,`,,`,`,,`---
IEC 61375-2-3:2015 IEC 2015
– 117 –
/* The FCS-32 generator polynomial:
* x**0 + x**1 + x**2 + x**4 + x**5 + x**7 + x**8 + x**10 + x**11 +
* x**12 + x**16 + x**22 + x**23 + x**26 + x**32.
*/
static const UINSIGNED32 fcstab[256] =
{
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba,
0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec,
0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5,
0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940,
0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116,
0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f,
0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d,
0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a,
0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818,
0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457,
0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c,
0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb,
0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9,
0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086,
0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4,
0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad,
0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683,
0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe,
0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7,
0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252,
0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60,
0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79,
0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f,
0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04,
0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a,
0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21,
0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e,
0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45,
0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db,
0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0,
0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6,
0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf,
0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
};
Figure A.3 – FCS Table
Copyright International Electrotechnical Commission Provided by IHS under license with IECLicensee=Hong Kong Polytechnic University/9976803100 Not for Resale, 02/27/2016 19:09:14 MSTNo reproduction or networking permitted without license from IHS--``,,,`,``,,,````,`,,,`,,``,,`,-`-`,,`,,`,`,,`---
– 118 –
IEC 61375-2-3:2015 IEC 2015
A.4
Interaction between TRDP user and TRDP Layer
The TRDP layer shall provide services for process data and message data communication to
the TRDP user at upper layer (application) as shown in Figure A.4. This service interface will
be defined in an abstract way in the subsequent clauses for process data and message data
communication.
TRDP User (Application)
service user
TRDP service
primitives
TRDP Layer
TCP/UDP
service provider
IEC
Figure A.4 – TRDP service model
A.5 Communication Identifier (ComId)
All TRDP communication is using a so called ComId transmitted in the header of each PDU.
The ComId is a unique identifier for the user data structure of the PDU.
The ComId forms together with the source IP address a unique identifier of the PDU within the
train.
The ComId is application dependent but should be standardized in the application profiles. It
should be the reference towards the following parameters of the PD telegram:
• structure (data set) (one-to-one relation)
• source URI
• sink URI
• communication parameters (TTL, QoS)
•
• validity behavior (behavior in case of invalid data / timeout) (only for PD_PDU)
• cycle time (only for PD-PDU)
•
• safe data transmission parameters (if used, only for PD-PDU)
redundancy (source is redundant) (only for PD-PDU)
timeout
The ComId shall be set to zero (ComId = 0) in the following cases:
•
•
•
for PDUs with unspecified user dataset.
in message data confirmation messages
in message data error messages
The ComIds 1..999 shall not be used by the application since they are reserved for specific
use as defined in Table A.2.
Copyright International Electrotechnical Commission Provided by IHS under license with IECLicensee=Hong Kong Polytechnic University/9976803100 Not for Resale, 02/27/2016 19:09:14 MSTNo reproduction or networking permitted without license from IHS--``,,,`,``,,,````,`,,,`,,``,,`,-`-`,,`,,`,`,,`---
IEC 61375-2-3:2015 IEC 2015
– 119 –
Table A.2 – Reserved ComIds
comId
Description
0
1
2
3
4 – 9
10
11 – 29
30
31
32-34
35
36
37
38
39
40
41
50 – 79
80
81
82
83
84
85
86
87
88
89 – 99
100
101
102
103
104
105
106
107
108
109
110
111
unspecified PDU
ETBCTRL telegram
CSTINFO notification message
CSTINFOCTRL notification message
Additional ComIds reserved for communication framework and ETB control
service
TRDP Echo
Additional ComIds reserved for communication framework and ETB control
service
Additional ComIds reserved for TRDP statistics data
TRDP – statistics request command
Additional ComIds reserved for TRDP statistics data
TRDP – global statistics data
TRDP – subscription statistics data
TRDP – publishing statistics data
TRDP – redundancy statistics data
TRDP – join statistics data
TRDP- UDP listener statistics data
TRDP – TCP listener statistics data
Additional ComIds reserved for communication framework and ETB control
service
Conformance test – control telegram
Conformance test – status telegram
Conformance test – confirmation request telegram
Conformance test – confirmation reply telegram
Conformance test – opTrnDir request telegram
Conformance test – opTrnDir reply telegram
Conformance test – echo request telegram
Conformance test – echo reply telegram
Conformance test – echo notification telegram
Additional ComIds reserved for conformance test
TTDB – operational train directory status telegram
TTDB – operational train directory notification
TTDB – train directory information request
TTDB – train directory information reply
TTDB – consist information request
TTDB – consist information reply
TTDB – train network directory information request
TTDB – train network directory information reply
TTDB – operational train directory information request
TTDB – operational train directory information reply
TTDB – train information complete request
TTDB – train information complete reply
Copyright International Electrotechnical Commission Provided by IHS under license with IECLicensee=Hong Kong Polytechnic University/9976803100 Not for Resale, 02/27/2016 19:09:14 MSTNo reproduction or networking permitted without license from IHS--``,,,`,``,,,````,`,,,`,,``,,`,-`-`,,`,,`,`,,`---
– 120 –
IEC 61375-2-3:2015 IEC 2015
comId
112 – 119
120
121
122
123
124 – 129
130
131
132
133
134 – 139
140
141
142 – 149
150 – 199
200 – 999
Description
Additional ComIds reserved for TTDB
ECSP – control telegram
ECSP – status telegram
ECSP – Confirmation/Correction request
ECSP – Confirmation/Correction reply
Additional ComIds reserved for ECSP
ETBN – control request
ETBN – status reply
ETBN – train network directory request
ETBN – train network directory reply
Additional ComIds reserved for ETBN
TCN-DNS – resolving request telegram (query)
TCN-DNS – resolving reply telegram
Additional ComIds reseraaved for TCN-DNS
Additional ComIds reserved for communication framework and ETB control
service
ComIds reserved for other standards and norms
A.6 Process Data
A.6.1
Communication model
The TRDP process data protocol defines the exchange of PD-PDUs for the transfer of process
data.
PD-PDUs shall be cyclically transmitted or transmitted on request between a publisher and one
or many subscribers using a connectionless and unconfirmed TRDP service.
A.6.2
Roles
The communication partners in a process data transfer can have different roles:
publisher:
the source of process data
subscriber:
the sink of process data
requester:
requesting the publisher(s) to publish its process data
Publisher and requester coincide in push communication pattern.
A subscriber may also be a requester in pull communication patterns.
A.6.3
Communication pattern
A.6.3.1
Push communication pattern
Process data exchange shall support the following push communication pattern as defined in
IEC 61375-1:
a) point to point, cyclic without acknowledge, source knows the sink (Figure A.5);
Copyright International Electrotechnical Commission Provided by IHS under license with IECLicensee=Hong Kong Polytechnic University/9976803100 Not for Resale, 02/27/2016 19:09:14 MSTNo reproduction or networking permitted without license from IHS--``,,,`,``,,,````,`,,,`,,``,,`,-`-`,,`,,`,`,,`---
IEC 61375-2-3:2015 IEC 2015
– 121 –
b) point to multipoint, cyclic without acknowledge, source knows the sink, e.g.redundancy
groups (Figure A.6);
c) point to multipoint, cyclic without acknowledge, source does not know the sink
(Figure A.6).
NOTE From communication point of view there will be no difference in a point to multipoint communication pattern
whether the source knows the sinks or not. It is listed here only for completeness.
publisher
subscriber
PD publish
PD publish
PD publish
PD-PDU (data)
PD-PDU (data)
PD-PDU (data)
PD consumption
PD consumption
PD consumption
IEC
Figure A.5 – PD push pattern (point to point)
publisher
PD publish
PD publish
PD publish
PD-PDU (data)
PD-PDU (data)
PD-PDU (data)
subscriber
subscriber
subscriber
PD consumption
PD consumption
PD consumption
IEC
Figure A.6 – PD push pattern (point to multipoint)
A.6.3.2
Pull communication pattern
Process data exchange shall support the following pull communication pattern as defined in
IEC 61375-1:
• Point to point, without acknowledge, sink knows the source (Figure A.7).
Copyright International Electrotechnical Commission Provided by IHS under license with IECLicensee=Hong Kong Polytechnic University/9976803100 Not for Resale, 02/27/2016 19:09:14 MSTNo reproduction or networking permitted without license from IHS--``,,,`,``,,,````,`,,,`,,``,,`,-`-`,,`,,`,`,,`---