Internet DRAFT - draft-saldana-tsvwg-simplemux-blast

draft-saldana-tsvwg-simplemux-blast







TSVWG                                                         J. Saldana
Internet-Draft                                   CIRCE Technology Center
Intended status: Standards Track                          3 January 2024
Expires: 6 July 2024


                         Simplemux Blast flavor
                 draft-saldana-tsvwg-simplemux-blast-00

Abstract

   Many utilities are nowadays connected via dedicated networks, but the
   trend toward a fully IP network is gaining more traction in some
   sectors (e.g. electric power).  In some use cases, although it would
   be desirable to avoid the use of IP networks, this may prove
   unavoidable.  Consequently, equipment is linked to extensive
   communication networks, the performance of which cannot be fully
   controlled or known.

   Some utilities that are not connected to a dedicated network may use
   public wireless networks, which present certain degree of variability
   of some parameters (delay, jitter, packet loss, and bandwidth
   limits).  Considering the importance of receiving packets with a low
   delay, this document presents a solution for using tunnels to send
   frames or packets between remote facilities, with a certain degree of
   redundance.  This can be useful in some use cases as e.g. the sending
   of event-driven field commands between eletric substations.  In some
   cases, these messages can be very critical, and their loss or delay
   can make the difference between a blackout and a simple outage.

   Considering the high redundancy of the protocol, its use must be
   restricted to traffic flows which require very low delay to control
   critical equipment.

About This Document

   This note is to be removed before publishing as an RFC.

   Status information for this document may be found at
   https://datatracker.ietf.org/doc/draft-saldana-tsvwg-simplemux-
   blast/.

   Discussion of this document takes place on the Transport Area Working
   Group (tsvwg) Working Group mailing list (mailto:tsvwg@ietf.org),
   which is archived at https://mailarchive.ietf.org/arch/browse/tsvwg/.
   Subscribe at https://www.ietf.org/mailman/listinfo/tsvwg/.





Saldana                    Expires 6 July 2024                  [Page 1]

Internet-Draft                  Simplemux                   January 2024


Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 6 July 2024.

Copyright Notice

   Copyright (c) 2024 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Conventions . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Description of the protocol . . . . . . . . . . . . . . . . .   4
     3.1.  Example 1 . . . . . . . . . . . . . . . . . . . . . . . .   5
     3.2.  Example 2 . . . . . . . . . . . . . . . . . . . . . . . .   6
   4.  Definition of the protocol fields . . . . . . . . . . . . . .   7
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   8
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   9






Saldana                    Expires 6 July 2024                  [Page 2]

Internet-Draft                  Simplemux                   January 2024


1.  Introduction

   Many utilities are nowadays connected via dedicated networks, but the
   trend toward a fully IP network is gaining more traction in some
   sectors (e.g. electric power).  In some use cases, although it would
   be desirable to avoid the use of public IP networks, this may prove
   unavoidable.  Consequently, equipment is linked to extensive
   communication networks, the performance of which cannot be fully
   controlled or known.

   For example, some use cases defined in IEC 61850-90-5
   [IEC_61850-90-5] (IEC stands for International Electrotechnical
   Commission), state that IP networks can be used to communicate with
   receivers outside a substation if the added delays are acceptable for
   the application.  The sending of Ethernet frames over other
   technologies is defined in IEC/TR 61850-90-1 ([IEC_61850-90-1]).

   Some utilities that are not connected to a dedicated network may use
   public wireless networks, which present certain degree of variability
   of some parameters (delay, jitter, packet loss, and bandwidth
   limits).  Considering the importance of receiving packets with a low
   delay, this document presents a solution for using tunnels to send
   frames or packets between remote facilities, with a certain degree of
   redundance.  This can be useful in some use cases as e.g. the sending
   of event-driven field commands between eletric substations.  In some
   cases, these messages can be very critical, and their loss or delay
   can make the difference between a blackout and a simple outage.

   The solution is called Simplemux blast flavor, and its headers are
   defined as a new flavor of [I-D.saldana-tsvwg-simplemux].  It is
   based on sending redundant frames.  It periodically sends the same
   packet a number of times to grant the delivery of every single frame.
   It minimizes the delay caused by packet loss, thus keeping actuation
   times within acceptable limits.

   Its protocol stack is presented in Figure 1

       +--------------------------------+
       |     Tunneled packet/frame      |     Tunneled protocol
       +--------------------------------+
       |   Simplemux header/separator   |     Multiplexing protocol
       +--------------------------------+
       |       Tunneling header         |     Tunneling protocol
       +--------------------------------+

                                  Figure 1





Saldana                    Expires 6 July 2024                  [Page 3]

Internet-Draft                  Simplemux                   January 2024


   In contrast to the other Simplemux flavors, only a multiplexed
   packet/frame is included inside each tunneling packet.  In addition,
   application-level ACKs (Acknowledgements) and heartbeats are used.

2.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  Description of the protocol

   The elements of the system are presented in Figure 2.  A period is
   defined: each frame sent by the source is stored in the sender router
   and sent periodically via the tunnel.  An identifier (i.e. an
   increasing field) is included on each tunneled packet.  This
   identifier is the same for each packet sent by the source, which
   means that the packets that are sent periodically are exactly the
   same.

   The destination router decapsulates the received frame, forwards it
   to the destination node and sends an ACK to the sender router.  The
   periodical sending of a frame is interrupted as soon as the first ACK
   arrives.

         +------+  +------+   public IP  +------+   +-----------+
         |source|  |sender|    network   |destin|   |destination|
         |      |  |router|              |router|   |           |
         +------+  +------+              +------+   +-----------+
              |          |                   |          |
              |--frame/->|                   |          |
              |  packet  |                   |          |
              |          |                   |          |
              |          |---  tunneled  --->|          |
              |          |   frame/packet    |          |
              |          |                   |          |
              |          |                   |--frame/->|
              |          |                   |  packet  |
              |          |<------- ACK ------|          |
              |          |                   |          |
              |          |<--- heartbeat ----|          |
              |          |                   |          |
              |          |---- heartbeat --->|          |

                                  Figure 2




Saldana                    Expires 6 July 2024                  [Page 4]

Internet-Draft                  Simplemux                   January 2024


   The fact of periodically sending the same frame increases the
   throughput, but it guarantees that every single frame will arrive on
   the other side.  As the mechanism works between a pair of
   intermediate machines, it is totally transparent for the end nodes,
   which only receive a single copy of the original frame.  This is
   quite different from TCP: the proposed method does not wait for the
   ACK; it periodically sends a copy of the same frame to the other
   side.

   In networks with high RTT, this can significantly reduce the incurred
   delay: instead of waiting for the whole RTT, a copy of any lost frame
   will soon be available.

   A new Simplemux (see [I-D.saldana-tsvwg-simplemux]) flavor named
   "blast" has been defined.  It includes an identifier field and
   another field that specifies whether the packet is an ACK or not.

   The redundancy can potentially lead to traffic congestion if not
   managed appropriately.  Besides maintaining the period at an optimal
   value, another strategy to keep redundancy at acceptable levels
   involves transmitting only the most critical flows via Simplemux
   blast, while the rest are sent without confirmation.  VLAN tags or
   other methods can be effectively utilized to categorize the packets.
   The value of the period will therefore be limited by the redundancy
   allowed by the available bandwidth.

   Some tests exploring the trade-off between the redundancy and the
   resulting delay of Simplemux blast flavor, in the electrical domain,
   were published in [Saldana].

   Some examples are next presented to describe the protocol.

3.1.  Example 1

   As shown in Figure 3, a period is defined: each frame sent by the
   source is stored in the sender router and sent periodically via the
   tunnel until the first ACK arrives.  The destination router
   decapsulates the received frame, forwards it to the destination node
   and sends an ACK to the sender router.

   In the example, frame 1 is sent three times by the source router.  It
   is sent periodically until the first ACK arrives.  This means that,
   in this case, the RTT is between 2 and 3 times the sending period.








Saldana                    Expires 6 July 2024                  [Page 5]

Internet-Draft                  Simplemux                   January 2024


   When the second copy of frame 1 arrives to the destination router, it
   is dropped because it has already been delivered to the destination.
   A new ACK is sent.  Considering that ACKs can also be lost in the
   public IP network, every packet arrived to the destination router
   MUST be acknowledged.

    +------+  +------+   public IP  +------+   +-----------+
    |source|  |sender|    network   |destin|   |destination|
    |      |  |router|              |router|   |           |
    +------+  +------+              +------+   +-----------+
         |          |                   |          |
         |----1---->|--1-->             |          |
         |    ^     |     -->           |          |
         |    |     |       -->         |          |
         |  period  |         -->       |          |
         |    |     |           -->     |          |
         |    V     |--1-->       -->   |          |
         |    ^     |     -->       --->|----1---->| 1 arrived
         |    |     |       -->  <-ACK1-|send ACK1 |    ^
         |  period  |         <->       |          |    |
         |    |     |       <-- -->     |          |  period
         |    V     |--1--><-     -->   |          |    |
         |          |   <- ->       --->|drop 1,2  |    V
         |      ACK1|<---  -->   <-ACK1-|send ACK1 |
         |          |        -><--      |          |
         |          |        <- ->      |          |

                           ...

    Note: "--1--> " represents the tunneled version of packet/frame 1.
          "<-ACK1-" represents an ACK corresponding to packet/frame 1.

                                  Figure 3

3.2.  Example 2

   In the example presented in Figure 4, the first copy of the packet 1
   is lost in the network.  Considering that a second copy has been sent
   after a period, the new copy arrives at the destination.  If the
   period is smaller than the RTT, some delay will be avoided, at the
   cost of a level of redundancy.










Saldana                    Expires 6 July 2024                  [Page 6]

Internet-Draft                  Simplemux                   January 2024


    +------+  +------+   public IP  +------+   +-----------+
    |source|  |sender|    network   |destin|   |destination|
    |      |  |router|              |router|   |           |
    +------+  +------+              +------+   +-----------+
         |          |                   |          |
         |----1---->|--1-->             |          |
         |    ^     |     -->           |          |
         |    |     |       -->X LOST   |          |
         |  period  |                   |          |
         |    |     |                   |          |
         |    V     |--1-->             |          |
         |    ^     |     -->           |          |     ^
         |    |     |       -->         |          |     |
         |  period  |         -->       |          |   period
         |    |     |           -->     |          |     |
         |    V     |--1-->       -->   |          |     V
         |    ^     |     -->       --->|----1---->| 1 arrived
         |    |     |       -->  <-ACK1-|send ACK1 |
         |  period  |         -><-      |          |
         |    |     |       <--  -->    |          |
         |    V     |--1--><--     -->  |          |
         |          |   <--         --->|drop 1,3  |
         |      ACK1|<---  -->   <-ACK1-|send ACK1 |
         |          |        --><--     |          |

                           ...
    Note: "--1--> " represents the tunneled version of packet/frame 1.
          "<-ACK1-" represents an ACK corresponding to packet/frame 1.

                                  Figure 4

4.  Definition of the protocol fields

   The structure of a Simplemux separator in blast flavor is shown in
   Figure 5.  The size is always 6 bytes.


          +-----------------+--------+----------------+--------+
          |      Length     |Protocol|   Identifier   | ACK/HB |
          +-----------------+--------+----------------+--------+
                 16 bits      8 bits       16 bits      8 bits

                                  Figure 5


   These are the details of the fields:





Saldana                    Expires 6 July 2024                  [Page 7]

Internet-Draft                  Simplemux                   January 2024


   *  Length (LEN, 16 bits).  The length of the multiplexed packet/
      frame.

   *  Protocol (8 bits).  Defined according to IANA "Assigned Internet
      Protocol Numbers."

   *  Identifier (16 bits).  It uniquely identifies each packet of a
      flow (packets in different directions MAY have the same
      identifier).

   *  ACK/Heartbeat (8 bits).  It may have three values:

   - 0: this is a packet that requires an ACK.

   - 1: the packet is an ACK.

   - 2: the packet is a heartbeat.

   The structure of an ACK is the same, but the Length and Protocol
   fields MUST be 0.

   Both communication ends exchange heartbeat packets periodically.  The
   Length and Protocol fields MUST be 0.

   Examples of the structure of Simplemux packets can be found in
   [I-D.saldana-tsvwg-simplemux]

   As the Identifier field has 16 bits, the same identifiers will be
   repeated periodically.  It will be necessary to define a timeout for
   stopping the periodical sending of a frame.

5.  IANA Considerations

   The same protocol number used for [I-D.saldana-tsvwg-simplemux] can
   be employed.

6.  Security Considerations

   Security protocols can be employed to protect the traffic that
   traverses a public IP network.  There is no need to define any new
   security protocol for this use case.

7.  References

7.1.  Normative References






Saldana                    Expires 6 July 2024                  [Page 8]

Internet-Draft                  Simplemux                   January 2024


   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [IEC_61850-90-5]
              IEC, "Communication networks and systems for power utility
              automation-Use of IEC 61850 to transmit syn-chrophasor
              information according to IEEE C37.118 Technical Report
              Edition 1.0.", IEC 61850 90-5, 2012.

   [IEC_61850-90-1]
              IEC, "Communication networks and systems for power utility
              automation-Use of IEC 61850 for the communication between
              substations Technical Report Edition 1.0", IEC 61850 90-1,
              2010.

7.2.  Informative References

   [Saldana]  Saldana, J., Prada Hurtado, A., Martinez-Carrasco, E.,
              Galve, Y., and J. Torres, "Fast and Reliable Sending of
              Generic Object Oriented Substation Event Frames between
              Remote Locations over Loss-Prone Networks", MDPI
              Sensors 2023, 23(21), 8879, 2023.

   [I-D.saldana-tsvwg-simplemux]
              Saldana, J., "Simplemux. A generic multiplexing protocol",
              December 2023, <https://datatracker.ietf.org/doc/draft-
              saldana-tsvwg-simplemux/>.

Author's Address

   Jose Saldana
   CIRCE Technology Center
   Spain
   Email: jmsaldana@fcirce.es











Saldana                    Expires 6 July 2024                  [Page 9]