IEC 61375-2-5 (TTDP)

Glossary

  • CN - Consist Network
  • ECN - Ethernet Consist Network
  • ECSC - ETB Control Service Client 1
  • ECSP - ETB Control Service Provider 1
  • ETB - Ethernet Train Backbone
  • ETBN - Ethernet Train Backbone Node
  • TCMS - Train Control and Management System
  • UUID - Universally Unique IDentifier 2

Introduction

Train Topology Discovery Protocol (TTDP) is part of the IEC 61375 series of protocols.

In short, TTDP dynamically discovers the backbone routers (ETBNs) and consist networks (ECNs) in the train, and the way that they are connected. Furthermore, TTDP assigns IP addresses to the ETBNs and ECNs, and establishes routing and NAT entries in ETBNs based on these IP assignments. TTDP is designed to accomplish this as a distributed protocol running on the ETBNs.

Overview

TTDP is managing train backbone inauguration (ETB inauguration) in train networks adopting the IEC 61375 train topology model. TTDP is a distributed protocol running on the train router nodes, here referred to as ETB nodes or simply ETBNs.

The TTDP protocol provides a wide range of services listed below.

TTDP acts as a link aggregation control protocol on the train backbone, thereby replacing LACP for link aggregation for IEC 61375 backbone networks.

Discovery of train topology

With TTDP, ETBNs will discover other ETBNs present on the backbone and exchange information. This TTDP signalling in turn allows each ETBN to gather information about:

  • Consists: The identity of present consists (Consist Universally Unique Identifier, or simply CstUUID) and their order/position in the train backbone.

  • ETBNs: The identity (ETBN MAC address) and order of the ETBNs on the backbone, and also the consist where each of the ETBNs reside. The ETBNs even learn the position of “missing” ETBNs (known, but currently down); this is true as long as at least one ETBN in each consist is up and running.

  • ECNs: Every ETBN advertises information about the consist networks (ECNs) present in its consist. Thereby, each ETBN is able to gather information on all ETBNs and ECNs, and how they are interconnected.

IP Address assignment

TTDP is capable of assigning IP addresses dynamically based on the discovered topology. Addresses are allocated from a range defined in IEC 61375-2-5, and concern:

  • ETBN addresses on the ETB subnet: An IP address is allocated to each ETBN on the ETB subnet.

  • Train-wide IP subnet allocation for ECN subnets: ECNs typically make use of local (private) addresses in range 10.0.0.0/18. TTDP allocates a train-wide/18-subnet to each of the discovered ECNs.

  • Virtual addresses on ETB subnet: In topologies where ECNs are connected to two or more ETBNs for redundancy, TTDP allocates a virtual IP address to be shared between the ETBNs on the ETB subnet. A virtual IP address is assigned for each ECN with redundant ETBNs.

      .---------------------------.
     /           CstUUID           \ cst1
     '-----------------------------'
        .-------.    .-------.
      --+       +----+       +--
  <-dir1| etbn1 |    | etbn2 |dir2->
      --+       +----+       +--
        '-+--+--'    '-------'
          |  |          |  |
        --+----------------+-- CN1
             |          |
          ---+----------+-------- CN2

Figure 1: A single consist with two consist nets managed by two redundant ETB nodes

Usage recommendations

Inauguration Inhibition

Inauguration must be inhibited on all ETBNs/ECSPs by means of ECSC_Control TRDP messages (or other means) once the train composition is correct.

Additionally, it is preferred that communication on the ETB be disabled until the above has been performed, in order to prevent data sent over the ETB from being used before the train length and composition have been verified by the train application.

Nodes not having Inauguration Inhibition locally set can re-inaugurate as a new train composition, and become lost from the remainder of the train, in cases of ETB instability, malfunction or overload. This will lead to loss of connectivity between these nodes and the remainder of the train.

This gets indicated with a lengthening indication in the train with Inhibit still active and can be resolved by all nodes by removing Inhibition to allow the lost nodes back in again. Having Inauguration Inhibition set locally on every node prevents this from occurring.

ETB sink/source data handling

All ETB data should be verified based on the current etbTopoCnt value to make sure no data from previous inauguration is sent or received by end devices.

When an inauguration occurs, all end devices shall disable ETB traffic until the ETBN again is in state inaugurated and a new etbTopoCnt value is available and stable. This is recommended even for traffic sent with a etbTopoCnt value of 0, intended for intra-consist communication.

Configuration

TTDP can be activated from the top-level configuration context in the CLI.

example:/#> configure
example:/config/#> ttdp
Activating TTDP with default settings.
DNS Server activated
example:/config/ttdp/#>

NOTE: TTDP will be enabled by default when entering the configuration context.

For configuration examples, see

Syntax

[no] enable

Enable TTDP.

NOTE: Simply entering the TTDP config context will enable TTDP when leaving the TTDP context or config context.

no
Disable TTDP. The current configuration is saved, for when you re-enable the service again.

NOTE: The TTDP configuration can be completely removed from the config context using no ttdp.

[no] uuid UUID

Set consist uuid to UUID. Each device belonging to the same consist must have the exact same UUID.

UUID
A valid UUID as specified in RFC 4122.
no
Reset UUID to all zeros.
[no] node ETBN_NB ecn ECN_ID[,ECN_ID]

Add ECN(s) to an ETBN to describe the consist topology.

ETBN_NB
The static relative position of an ETBN in the consist. Not to be confused with ETBN id which is assigned to the ETBN during inauguration and depends on the train composition. Valid range: 1-32.
ECN_ID
The consist net id.
no
Remove ECN from ETBN_NB.
[no] ecn ECN_ID IFΑCE

Map ECN with ECN_ID to interface IFACE.

ECN_ID
ECN id. Valid range: 1-32.

NOTE: ECN_ID must fulfill the following criterias:
1. Each CN must have a unique number
2. There must be one and only one CN with the number 1
3. There can be no gaps in the sequence of assigned numbers

IFACE
The interface used for the ECN_ID.
no
Remove the ECN_ID’s interface mapping.

NOTE: This does not remove the ECN itself, just the interface’s mapping to that ECN.

[no] dir1 PORT[,PORT]

Set ETBN backbone port(s) for direction 1.

PORT
The port(s) to be added to aggregate in direction 1.

NOTE: Limited to max 2 ports per direction.

no
Remove all ports from dir1’s aggregate.
[no] dir2 PORT[,PORT]

Set ETBN backbone port(s) for direction 2.

PORT
The port(s) to be added to aggregate in direction 2.

NOTE: Limited to max 2 ports per direction.

no
Remove all ports from dir2’s aggregate.
[no] local-id ETBN_NB

Set this ETBN’s static position within the consist.

ETBN_NB
The static relative position of an ETBN in the consist. Not to be confused with ETBN id which is assigned to the ETBN during inauguration and depends on the train composition. Valid range: 1-32.

NOTE: ETBN_NB must fulfill the following criterias:
1. Each node must have a unique number
2. There must be one and only one node with the number 1
3. There can be no gaps in the sequence of assigned numbers

no
Set to 0.
[no] backbone-iface IFACE

Set VLAN used for TTDP signalling on the ETB. Default: vlan2.

IFACE
Interface to be used on ETB.

NOTE: Ensure that IGMP snooping is disabled on IFACE.

no
Reset to default (vlan2).
[no] ecsp-addr ADDRESS

Local ECSP address. Should be set to a local address of the ecsp-iface interface, on which the CN-facing ECSP service runs.

ADDRESS
Local ECSP address. Default 10.0.0.1.
no
Reset to default (10.0.0.1).
[no] ecsc-addr ADDRESS

ECSC address. Telegrams to the local ECSC will be sent to this address.

ADDRESS
ECSC address. Default 10.0.0.99.
no
Reset to default (10.0.0.99).
[no] ecsp-leader-addr ADDRESS

If set to a non-zero value, ECSP telegrams will only be transmitted if the device owns the supplied address.

ADDRESS
ECSP leader address. Default 0 (disabled)
no
Disable ECSP leader address.

NOTE: Only set this when using redundant ETBN’s in a consist. That is, when VRRP instance(s) for TTDP redundancy have been configured in this consist.

[no] ecsp-iface IFACE

Local ECSP interface. The CN-facing ECSP service will run on this interface.

IFACE
Local ECSP interface. Default: vlan1.
no
Reset to default (vlan1).
[no] mroute group MULTICAST_GROUP out NET_ID[,NET_ID]

Configure custom IEC 61375 multicast routes.

The specified MULTICAST_GROUP will be routed to NET_ID from every other connected ECN as well as from the local ETB.

MULTICAST_GROUP
Must be a valid multicast group (RFC2365) that is not within the reserved IEC61375-2-5- group range 239.192.0.0/24.
NET_ID
NET_ID can be a numeric ECN_ID or the special value “etb”, which maps to the ETB that the local ETBN is connected to. In this case the multicast group will be routed from all local CNs to the ETB.
no
Removes all configured multicast routes.

NOTE: This setting needs to be configured on all the potential source and receiver ETBNs.

[no] recovery-mode <default|wait ADDR>

Specifiy how to handle recovery of a lost node.

ADDR
The IP address as listening address in wait/deferred mode
no
Reset to default recovery mode.

NOTE: In wait mode, the node will wait until it receives ECSP_CTRL data on the multicast address ADDR, and positively reads that inhibition is not set from that data, before activating the bypass relays (i.e. joining the ETB) and starting to transmit TOPOLOGY frames. Thus, an ECSC must be up and running, signaling ECSP_CTRL inhibit off (0), before the node will function properly.

[no] cn-bitmask-endianness <little|big>

Select CN bit mask endianness little (default) or big.

no
Reset to default CN bit mask endianness (little).

NOTE: This setting is only useful for interoperability.

show
Show a summary of ttdp settings

Status

To see the current status of TTDP, run the show ttdp command in Admin context, like so:

example:/#> show ttdp
local-uuid
11111111-5555-1111-1111-111111111111

etbn-ip
10.128.0.1

-------------------------------------------------------------------------------

ETBN id:      1

-------------------------------------------------------------------------------

TTDP Connectivity table:
  Crc32:        0x00000000
  1:            mac: 00:07:7c:80:01:00, orient: Direct, ip: 0.0.0.0


-------------------------------------------------------------------------------

TTDP Train Network Directory:
  EtbTopoCnt:   0x3a2226cf
  1:            uuid: 11111111-5555-1111-1111-111111111111, cn: 1, subnet: 1, etbn: 1, orient: Direct

-------------------------------------------------------------------------------

inaug-train-inhibit
1
-------------------------------------------------------------------------------
TOPOLOGY:     MAC: 00:07:7c:80:01:00
  ETB-TLV:
    etbnInaugState: INAUGURATED

    ownMacAddr:     00:07:7c:80:01:00
    etbnInhibition: 1
  CN-TLV:
    EtbTopoCnt:     0x3a2226cf
------------------------------------------------------------------------------

Custom multicast routes

See a simple multicast example on how to configure custom multicast routes.


  1. See communication profile 

  2. See RFC 4122