Skip to main content

SPACE - Scalable Pubsub, Asymmetric and CachEd transport for Deep Space communications
draft-nandakumar-deepspace-moq-00

Document Type Active Internet-Draft (individual)
Author Suhas Nandakumar
Last updated 2024-10-21
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-nandakumar-deepspace-moq-00
Network Working Group                                      S. Nandakumar
Internet-Draft                                                     Cisco
Intended status: Informational                           21 October 2024
Expires: 24 April 2025

SPACE - Scalable Pubsub, Asymmetric and CachEd transport for Deep Space
                             communications
                draft-nandakumar-deepspace-moq-00

Abstract

   Deep Space communications can be benefited by a publish/subscribe,
   store-and-forward and asymmetric delivery network over IP that allows
   communications across links with high latencies and dynamic network
   conditions (losses and high bit error rates).  This specification
   proposes to use Media over QUIC Transport (MOQT) [MoQTransport] as
   the common delivery protocol for deep space communications.

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 24 April 2025.

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
     1.1.  Requirements Notation and Conventions
     1.2.  Terminology
   2.  Media Over QUIC Transport
   3.  Experimental Architecture
   4.  Solution Motivation
     4.1.  Data mobility via Named Data
     4.2.  Resilient against intermittent connections via in-network
           caching
     4.3.  Prioritized delivery
     4.4.  Federation across domains of operation
     4.5.  End to End Security
   5.  QUIC Transport
   6.  Next Steps
   7.  Security Considerations
   8.  IANA Considerations
   9.  References
     9.1.  Normative References
     9.2.  Informative References
   Appendix A.  Acknowledgements
   Author's Address

1.  Introduction

   Deep space communications are characterized by extreme distances with
   long delays and high rates of data losses, under certain
   circumstances.  This along with constant orbital movement, link
   handovers and discontinuous vehicle operations, result in
   intermittent communications.

   In order to address some of the challenges, the work on Delay
   Tolerant Networking and a protocol suite based on a store-and-forward
   paradigm implemented in the Bundle Protocol(BP) [RFC9171] and its
   various components, such as convergence-layer adapters([RFC9174],
   [RFC7122]) and BP Security(BPSEC)[RFC9172], was developed as a
   parallel solution to IP network design.

   More recently, space agencies are planning to deploy IP networks on
   celestial bodies, such as Moon[LunaNet] or Mars[MarsReport], ground,
   and vicinity, using layer2 technologies such as WIFI or 5G.

   This documents proposes using Media Over QUIC Transport (MOQT) as the
   one common delivery network protocol for inter-planetary
   communications.

   MOQT aims at supporting multiple application classes with varying
   latency requirements including ultra low latency applications as well
   as applications that are benefitted by store-and-forward delivery.
   It is based on a publish/subscribe metaphor where entities publish
   and subscribe to data that is sent through, and received from,
   relays.  The information subscribed to is named such that this forms
   an overlay information centric network.  The relays allow for
   efficient large scale deployments and enabling store-and-forward
   topology.

   MOQT changes applications to be written in a pub/sub way, where the
   data being moved around is named and cannot be changed.  This is in
   contrast to, say an HTTP REST protocol, for example.  This makes it
   possible to build many types of applications on top of this pub/sub
   Named Data Networking (NDN) style networking.  This protocol model
   seems more aptly suited for deep space communications than the way
   many existing protocols work.

1.1.  Requirements Notation and 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
   [RFC2119].

1.2.  Terminology

   TODO

2.  Media Over QUIC Transport

   Media Over QUIC Transport (MOQT) [I-D.ietf-moq-transport] is a
   protocol that is optimized for the QUIC protocol, either directly or
   via WebTransport.  MOQT defines a publish/subscribe delivery layer
   across set of participating relays for supporting wide range of use-
   cases with different resiliency and latency (live, interactive)
   needs.  It supports application media objects through sets of relays
   nodes.  Relay nodes can optionally cached objects for later
   retrieval.

   Section 2 of [I-D.ietf-moq-transport] defines hierarchical object
   model for application data, comprised of objects, groups and tracks.

   Objects defines the basic data element, an addressable unit whose
   payload is sequence of bytes.  All objects belong to a group,
   indicating ordering and potential dependencies.  A track contains a
   sequence of groups and serves as the entity against which a consumer
   issues a subscription request.

   Media Over QUIC Application
   |
   |                                                           time
   +-- TrackA --+---------+-----+---------+-------+---------+------>
   |            | Group1  |     | Group2  |  ...  | GroupN  |
   |            +----+----+     +----+----+       +---------+
   |                 |               |
   |                 |               |
   |            +----+----+     +----+----+
   |            | Object0 |     | Object0 |
   |            +---------+     +---------+
   |            | Object1 |     | Object1 |
   |            +---------+     +---------+
   |            | Object2 |     | Object2 |
   |            +---------+     +---------+
   |                ...
   |            +---------+
   |            | ObjectN |
   |            +---------+
   |
   |                                                          time
   +-- TrackB --+---------+-----+---------+-------+---------+------>
                | Group1  |     | Group2  |  ...  | GroupN  |
                +----+----+     +----+----+       +----+----+
                     |               |                 |
                     |               |                 |
                +----+----+     +----+----+       +----+----+
                | Object0 |     | Object0 |       | Object0 |
                +---------+     +---------+       +---------+

                   Figure 1: Structure of an MOQT session

   Objects are comprised of two parts: envelope and a payload.  The
   envelope is never end to end encrypted and is always visible to
   relays.  The payload portion may be end to end encrypted, in which
   case it is only visible to the producer and consumer.  The
   application is solely responsible for the content of the object
   payload.

   Tracks are identified by a combination of its TrackNamespace and
   TrackName.  TrackNamespace and TrackName are treated as a sequence of
   binary bytes.  Group and Objects are represented as variable length
   integers called GroupId and ObjectId respectively.

   ObjectName is combination of following properties:

   ObjectName = (FullTrackName, GroupId, ObjectId)

   Two important properties of objects are:

   1.  ObjectNames are globally unique in a given relay network.

   2.  The data inside an object (and its size) can never change after
       the object is first published.  There can never be two objects
       with the same name but different data.

   One of the ways system keep the object names unique is by using a
   fully qualified domain names or UUIDs as part of the TrackNamespace.

3.  Experimental Architecture

   Below picture depicts an experimental architecture for a delivery
   network between Earth and Moon using MOQT publish/subscribe delivery
   network of relays.

   The picture captures the following high level entities:

   *  Surface Relay Nodes: These are interconnected cluster of MOQ
      relays deployed on the surface of the moon.  Such relays can be
      provided by multiple cooperating operators.

   *  Lunar Relay Nodes: These MOQ relay(s) acts as aggregation points
      for the communication between Moon and the Earth.  These relays
      also enable communications between surface and orbiter relays.

   *  Orbiter Relay: These set of MOQ relays typically orbit around
      Moon, gather data and deliver to consumers on the surface via one
      or more surface relay nodes.

   *  Earth Relay Nodes: These MOQ relays serves as peers for the lunar
      relays and provide communications back to the base station on the
      Earth's surface.

   All the relay nodes operate MOQT publish/subscribe protocol for
   delivering the objects between the producers and consumers and cache
   objects as appropriate.

                           +------------+
                            |   Lunar    |
              +-------------|   Relay    |-------+----------------------------------------+
              |             +------------+       |                                        |
       +------------+                            |                                 +------------+
       |   Orbiter  |                            +------------+                    |   Earth    |
       |   Gateway  |                            |   Orbiter  |                    |   Relay    |
       | MOQ Relay  |                            |   Gateway  |                    +------^-----+
       |            |                            | MOQ Relay  |                           |
       +------------+                            |            |                           +--+
             ||                                  +-----+------+                              |
             |+---------+                              |                                     |
+------------+----------+--------+       +-------------+-------------+             +-------------------+
|            |          |        |       |             |             |             |       Earth       |
|  Operator  |   +------------+  |       |             +--+          |             |    Base Station   |
|     A      |   |  Node 2    |  |       |  Operator      |          |             |                   |
|            +---|  Surface   |--+------+|     B          |          |             |     MOQ Relay     |
|            |   | MOQ Relay  |  |      ||                |          |             |                   |
|            |   +------------+  |      ||                |          |             +-------------------+
|            |                   |      ||         +------------+    |
|     +------------+             |      ||         |  Node 3    |    |
|     |  Node 1    |             |      ++---------|  Surface   |    |
|     |  Surface   |             |       |         | MOQ Relay  |    |
|     | MOQ Relay  |             |       |         +------------+    |
|     +------------+             |       |                 ^         |
|            ^                   |       |                 |         |
+------------+-------------------+       +-----------------+---------+
           +-+                                          +--+
           |                                            |
           |                                            |
        .-----.                                       .-+---.
       /       \                                     /       \
      ; User A  :                                   ; User B  :
      :  Moon   ;                                   :  Moon   ;
       \       /                                     \       /
         \---'                                         \---'

4.  Solution Motivation

   This section lays out few properties about MOQ transport that helps
   addresses challenges typically observed deep space communications.

4.1.  Data mobility via Named Data

   In a typical IP network design, IP addresses form the basic element
   for mobility within the network.  However, such a design limits the
   applicability as the network topology changes frequently, which is a
   common occurrence with deep space communications.

   MOQT network delivers objects based on names akin to Named Data
   Networking.  Named data networking defines a computing and
   communication paradigm where bits being distributed are assigned
   network unique names.  This paradigm enables a publish/subscribe
   based data delivery, where the consumers subscribe to interested data
   (via their names), publisher(s) produce named data that are delivered
   to matching subscribers as and when they are availabe, over a network
   that is capable of distributing and caching the named data.  This
   along with connection migration and multipath services provided by
   QUIC allows applications to seamless move their data between the
   nodes in the network.

4.2.  Resilient against intermittent connections via in-network caching

   It is typical in deep space communications to expect intermittent
   connections either due to link losses, link handovers or scheduled
   delivery affected by orbital movements.

   MOQT allows published data to be cached at the relay nodes.  Relay
   nodes provide two important functionalities:

   *  forward the published objects to interested subscribers as and
      when they are received, and

   *  optionally cached the received data.

   The latter allows subscribing nodes (relays or end consumers) to
   fetch the objects when they are online for receiving the data.  The
   duration a given object can be cached at a relay node is set by the
   publisher of the data typically and can be overridden by network
   policies.

4.3.  Prioritized delivery

   Transport must allow delivering objects in priority order to ensure
   that important data gets transmitted as soon as it is allowed.  This
   property becomes salient especially in deep space communications
   where long delays, cost of running the networks coupled with losses,
   would require that the network resources are spent on delivering
   important information first.

   MOQT objects carry priority set by the publisher that allows relay
   nodes to prioritize the underlying QUIC streams to match the object
   priority.  It also allows the subscriber to influence the object
   delivery order by specifying subscriber priority per subscription.
   This allows for flows where a subscribing relay coming online after a
   certain period of ceased operation, may choose to fetch the objects
   in a different order, driven by changing conditions at the time of
   data consumption, for example.

4.4.  Federation across domains of operation

   For successful deep space network operations, it becomes of paramount
   importance that the protocol can interoperate across different
   operators to enable end to end delivery of data.

   The uniqueness property of MOQT's FullTrackName can benefit from
   delivering objects for a given track uniformly across MOQ Relays
   operated by different operators.

4.5.  End to End Security

   An end to end path in deep space communications may traverse multiple
   hops and possibly across different domains of operation.  Since MOQT
   is a hop-by-hop protocol running over QUIC, each hop is protected by
   QUIC.  For end to end protection, lightweight protection schemes as
   defined in [SecureObjects] can be employed.

5.  QUIC Transport

   MOQT allows application objects to be delivered over QUIC streams
   and/or QUIC datagrams.  [QUICProfile] describes profile for QUIC
   comprising of transport parameters that is more suitable for deep
   space communications.

   Author believes further research into application layer error
   recovery mechanisms may be need if QUIC's native retransmissions
   under losses is insufficient.  Same holds true for the appropriate
   choice of congestion control or its absence, for deep space
   communications.

6.  Next Steps

   The author would like experiment further with considerations defined
   in [QUICProfile] and bring concrete proposal for using MOQT as
   dataplane for inter-planetary communications.

7.  Security Considerations

   TODO

8.  IANA Considerations

9.  References

9.1.  Normative References

   [MoQTransport]
              Curley, L., Pugin, K., Nandakumar, S., Vasiliev, V., and
              I. Swett, "Media over QUIC Transport", Work in Progress,
              Internet-Draft, draft-ietf-moq-transport-07, 21 October
              2024, <https://datatracker.ietf.org/doc/html/draft-ietf-
              moq-transport-07>.

   [RFC9171]  Burleigh, S., Fall, K., and E. Birrane, III, "Bundle
              Protocol Version 7", RFC 9171, DOI 10.17487/RFC9171,
              January 2022, <https://www.rfc-editor.org/rfc/rfc9171>.

   [RFC9174]  Sipos, B., Demmer, M., Ott, J., and S. Perreault, "Delay-
              Tolerant Networking TCP Convergence-Layer Protocol Version
              4", RFC 9174, DOI 10.17487/RFC9174, January 2022,
              <https://www.rfc-editor.org/rfc/rfc9174>.

   [RFC7122]  Kruse, H., Jero, S., and S. Ostermann, "Datagram
              Convergence Layers for the Delay- and Disruption-Tolerant
              Networking (DTN) Bundle Protocol and Licklider
              Transmission Protocol (LTP)", RFC 7122,
              DOI 10.17487/RFC7122, March 2014,
              <https://www.rfc-editor.org/rfc/rfc7122>.

   [RFC9172]  Birrane, III, E. and K. McKeever, "Bundle Protocol
              Security (BPSec)", RFC 9172, DOI 10.17487/RFC9172, January
              2022, <https://www.rfc-editor.org/rfc/rfc9172>.

   [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/rfc/rfc2119>.

   [I-D.ietf-moq-transport]
              Curley, L., Pugin, K., Nandakumar, S., Vasiliev, V., and
              I. Swett, "Media over QUIC Transport", Work in Progress,
              Internet-Draft, draft-ietf-moq-transport-07, 21 October
              2024, <https://datatracker.ietf.org/doc/html/draft-ietf-
              moq-transport-07>.

9.2.  Informative References

   [SecureObjects]
              "Secure Objects for Media over QUIC", n.d.,
              <https://suhashere.github.io/moq-secure-objects/#go.draft-
              jennings-moq-secure-objects.html>.

   [MOQ-MLS]  "Secure Group Key Agreement with MLS over MoQ", n.d.,
              <https://suhashere.github.io/moq-e2ee-mls/draft-jennings-
              moq-e2ee-mls.html>.

   [IPAsses]  "IP Protocol in Deep Space: Assessment and Possible
              Solutions", n.d., <https://www.ietf.org/archive/id/draft-
              many-deepspace-ip-assessment-02.html>.

   [QUICProfile]
              "QUIC Profile for Deep Space", n.d.,
              <https://datatracker.ietf.org/doc/draft-many-deepspace-
              quic-profile/>.

   [LunaNet]  "Lunar Communucation Architecture", n.d.,
              <https://www.ioag.org/Public%20Documents/Lunar%20communica
              tions%20architecture%20study%20report%20FINAL%20v1.3.pdf>.

   [MarsReport]
              "Future Mars Communication Architecture", n.d..

Appendix A.  Acknowledgements

   Thanks to Cullen Jennings for review and suggestions to this
   specification.

Author's Address

   Suhas Nandakumar
   Cisco
   Email: snandaku@cisco.com