IPN Research Group                                               V. Cerf
Internet Draft                        Worldcom/Jet Propulsion Laboratory
May 2001                                                     S. Burleigh
Expires November 2001                                           A. Hooke
                                                            L. Torgerson
                                          NASA/Jet Propulsion Laboratory
                                                                R. Durst
                                                                K. Scott
                                                   The MITRE Corporation
                                                               E. Travis
                                           Global Science and Technology
                                                                H. Weiss
                                                            SPARTA, Inc.

        Interplanetary Internet (IPN):  Architectural Definition

                     draft-irtf-ipnrg-arch-00.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.
   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.


Abstract

   This document describes the Interplanetary Internet: a communication
   system to provide Internet-like services across interplanetary
   distances in support of deep space exploration.  Our approach, which
   we refer to as bundling, builds a store-and-forward overlay network
   above the transport layers of underlying networks.  Bundling uses
   many of the techniques of electronic mail, but is directed toward
   interprocess communication, and is designed to operate in
   environments that have very long speed-of-light delays.  We partition
   the Interplanetary Internet into IPN Regions, and discuss the
   implications that this has on naming and routing.  We discuss the way
   that bundling establishes dialogs across intermittently connected
   internets, and go on to discuss the types of bundle nodes that exist
   in the interplanetary internet, followed by a discussion of security
   in the IPN, a discussion of the IPN backbone network, and a
   discussion of remote deployed internets.

Cerf, et al.                                                  [Page 1]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001




Table of Contents

   Status of this Memo................................................1
   Abstract...........................................................1
   Table of Contents..................................................2
   Copyright Notice...................................................2
   Desiderata of Interplanetary Internetworking.......................3
   Acknowledgments....................................................3
   Foreward...........................................................4
   Executive Summary..................................................5
   1. Introduction....................................................8
         1.1. Preliminary Considerations .............................9
         1.2. The IPN Operating Environment .........................11
         1.3. A "Postal" Communications Model .......................14
   2. IPN Architectural Overview.....................................14
   3. Inter-Internet Dialogs.........................................15
         3.1. Principles of Design ..................................15
         3.2. Information Carried by the Bundle Layer ...............19
         3.3. Reliability at the Bundle Layer .......................21
         3.4. Bandwidth Allocation via Market Mechanisms:
              "Starbucks" ...........................................21
   4. IPN Nodes......................................................23
         4.1. Types of IPN Nodes ....................................24
         4.2. Example end-to-end transfer ...........................24
         4.3. Error Conditions at the Bundle Layer ..................32
         4.4. Support of existing Internet applications .............35
   5. Security in the IPN............................................36
         5.1. Assumptions Regarding Required IPN Security
              Mechanisms ............................................36
         5.2. Secure Email Technology ...............................38
         5.3. Application of Secure Email Technology to the IPN .....40
         5.4. Protecting IPN Data and the IPN Backbone
              Infrastructure ........................................41
   6. Building a Stable Backbone for the IPN.........................42
         6.1. Backbone Design Considerations ........................43
   7. Deployed Internets in the IPN..................................46
         7.1. Applications of deployed internets in the IPN .........47
         7.2. Characteristics of remote deployed internets
              in the IPN ............................................48
         7.3. Effects of environmental characteristics on
              protocols for the IPN RDIs ............................49
         7.4. Summary ...............................................53
   8. Working Conclusions............................................53
   9. Security Considerations........................................56
   10. Authors' Addresses............................................57


Copyright Notice

   Copyright (C) The Internet Society (2001).  All Rights Reserved.


Cerf, et al.             Expires November 2001                  [Page 2]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001




              Desiderata of Interplanetary Internetworking

   Go thoughtfully in the knowledge that all interplanetary
   communication derives from the modulation of radiated energy, and
   sometimes a planet will be between the source and the destination.
   Therefore rely not on end-to-end connectivity at any time, for the
   universe does not work that way.

   Neither rely on ample bandwidth, for power is scarce out there and
   the bit error rates are high.  Know too that signal strength drops
   off by the square of the distance, and there is a lot of distance.

   Consider the preciousness of interplanetary communication links, and
   restrict access to them with all your heart.  Protect also the
   confidentiality of application data or risk losing your customers.

   Remember always that launch mass costs money.  Think not, then, that
   you may require all the universe to adopt at once the newest
   technologies.  Be backward compatible.

   Never confuse patience with inaction.  By waiting for acknowledgement
   to one message before sending the next, you squander tracking pass
   time that will never come to you again in this life.  Send as much as
   you can, as early as you can, and meanwhile confidently await
   responses for as long as they may take to find their way to you.

   Therefore be at peace with physics, and expect not to manage the
   network in closed control loops -- neither in the limiting of
   congestion nor in the negotiation of connection parameters nor even
   in on-demand access to transmission bands.  Each node must make its
   own operating choices in its own understanding, for all the others
   are too far away to ask.  Truly the solar system is a large place and
   each one of us is on his or her own.  Deal with it.

                                        S. Burleigh






Acknowledgments

   Robert Braden, of USC ISI, Deborah Estrin, of UCLA, and Craig
   Partridge, of BBN all contributed useful thoughts and criticisms to
   this document.

   This work was performed under DOD Contract DAA-B07-00-CC201, DARPA AO
   H912; JPL Task Plan No. 80-5045, DARPA AO H870; and NASA Contract
   NAS7-1407.


Cerf, et al.             Expires November 2001                  [Page 3]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



Foreward

   This document presents the current state of our team's efforts to
   define an end-to-end architecture for the Interplanetary Internet.
   This is a "living" document, and is frequently updated.  In this
   version of the document, we introduce a new construct, a tuple
   consisting of a topologically significant routing handle and the
   administrative name.  In this model, the routing handle identifies an
   "IPN Region," an area of the Interplanetary Internet in which A) the
   administrative name is resolvable, and in which B) a route can be
   formed from anywhere within the region to the address returned when
   the administrative name is resolved.

   On the presumption that the exploration of space will eventually lead
   to the need for communication among planets, satellites, asteroids,
   robotic spacecraft and crewed vehicles, our project has a heavy focus
   on advocating the development of a stable interplanetary backbone
   network. We have concluded that simply extending the Internet suite
   to operate end-to-end over interplanetary distances is not feasible.
   Rather, we envision a "network of internets" _ ordinary internets
   that are interconnected by a system of gateways that cooperate to
   form the stable backbone across interplanetary space.  Each
   internet's protocols are terminated at its local gateway, which then
   uses a specialized long-haul transport protocol to communicate with
   peer gateways.  An end-to-end "bundle" protocol will operate above
   the transport layer to carry necessary information from one internet
   to another.  Bundling will, to the extent possible, remove any
   "chattiness" from the local protocols, forming atomic units that will
   be shipped across the backbone.  Bundles may be protected from
   unauthorized access and unauthorized modification. The IPN will have
   a global namespace that is broken into a number of name-to-address
   binding regions, referred to as IPN regions.  Names carried in the
   bundles consist of a tuple, one element identifying the destination
   IPN region and used for routing and a second element that carries the
   administrative name of the destination in the namespace that is
   relevant within the destination IPN region.  The administrative name
   will be bound to an address that is routable within the destination
   IPN region.  Finally, strong authentication and strict access
   controls at several levels will protect the IPN from tampering.

   In summary, the best way to envision the fundamental architecture of
   the Interplanetary Internet is to picture a network of internets.
   Ordinary internets (many being wireless in nature) are placed on the
   surface of moons and planets as well as in free-flying spacecraft.
   These remotely deployed internets run ordinary Internet protocols. A
   system of Interplanetary Gateways connected by deep-space
   transmission links form a backbone communication infrastructure that
   provides connectivity for each of the deployed internets. New long-
   haul protocols, some confined to the backbone network and some
   operating end-to-end, allow the deployed internets to communicate
   with each other.


Cerf, et al.             Expires November 2001                  [Page 4]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



Executive Summary

   This document describes the Interplanetary Internet: a communication
   system to provide Internet-like services across interplanetary
   distances in support of deep space exploration.  The communications
   environment is characterized by high bandwidth-delay products
   resulting from very long signal propagation delays, intermittent
   connectivity that results in long periods of network partitioning,
   and discontinuities in the capabilities of adjacent networks.  Many
   of these characteristics are similar to those facing emerging
   communication services in the terrestrial Internet. For example,
   terabit networks exhibit very high bandwidth-delay products, mobility
   can result in partitioning of both nodes and subnetworks, and
   interconnecting different physical layer technologies can result in
   "impedance mismatches."  It is possible to build an end-to-end
   solution to address any of these, but difficult to build one that is
   adequate for all of them simultaneously.

   The long bandwidth-delay products shared by the IPN and very high-
   speed terrestrial networks argue in favor of non-chatty communication
   protocols.  In the IPN, the long delays mean that protocols that use
   many round-trips to accomplish some task pay a significant time
   penalty.  In terrestrial terabit networks where switches can forward
   data very fast but take a (relatively) long time to reconfigure, the
   penalty is one of lost efficiency in the use of the resources.  Both
   environments benefit from protocols that pack as much as possible
   into each transmission and minimize the number of round-trips needed.
   Thus a file transfer protocol that can place the entire file and
   associated control information together in a single atomic
   transaction completes faster within the IPN and makes more efficient
   use of terrestrial high-speed networks.

   Most of the problems cited above have existed and been considered,
   albeit separately, during the evolution of what is now the Internet.
   Many of the solutions, however, represent branches of the Internet's
   evolutionary tree that have withered and died as a result of the
   availability of infrastructure to mitigate environmental differences.
   This effective homogeneity is diminishing, however, with the rapid
   deployment of new technologies with fundamentally different
   characteristics, such as wireless communication and Dense Wavelength
   Division Multiplexing (DWDM) networks.  One solution, electronic
   mail, provides a means to span very different networks that are not
   necessarily always connected.  The electronic mail approach has a
   number of attractions.  First, there is no expectation of continuous
   or instantaneous connectivity.  Second, electronic mail embodies the
   concept of indirection as a means of providing store-and-forward
   traversal of different, sometimes-disconnected networks.  Finally,
   the electronic mail concept is generally considered to be a non-
   interactive communications mechanism, potentially well suited to long
   delay environments.  The electronic mail approach has limitations,
   though.  Without and end-to-end retransmission mechanism, electronic
   mail does not provide true end-to-end reliability.  Additionally,

Cerf, et al.             Expires November 2001                  [Page 5]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   electronic mail is oriented toward human use rather than interprocess
   communication.  Further, the protocol that typically provides
   electronic mail services in the Internet, SMTP, is highly interactive
   in its control traffic, even though the electronic mail concept is
   only minimally interactive.

   Our approach, which we refer to as bundling, builds a store-and-
   forward overlay network above the transport layers of underlying
   networks.  Thus two nodes that are adjacent in bundle space may be
   many hops apart in the context of the underlying network topology.
   We see the bundle layer as a second "thin waist of the hourglass"
   that allows applications built on top of it to communicate across
   discontinuities in connectivity, and to communicate efficiently over
   a multitude of underlying transport technologies.  This discontinuity
   in connectivity may result from fluctuations in link availability or
   from artificial discontinuities, such as are imposed by firewalls.
   For efficient communication, the bundle layer attempts to minimize
   interactivity of its control traffic, and expects applications to do
   likewise.  The bundle layer also provides a level of indirection
   between applications and the specific services of the underlying
   network protocols.  Bundle applications can specify requested
   "handling instructions," such as reliability and quality of service
   requests that are mapped into the most appropriate mechanisms
   available in the underlying networks.

   Bundling uses many of the techniques of electronic mail, but is
   directed toward interprocess communication.  Bundle nodes use the
   capabilities of the underlying networks, including transport layer
   retransmission protocols, to effect the transfer of bundles between
   bundle nodes.  Optional end-to-end reliability at the bundle layer
   facilitates end-to-end reliability at the application layer.  In
   addition, the bundle layer allows any bundle node in the path to take
   custody of a bundle.  When custody is transferred, the receiving
   bundle node assumes responsibility for delivering the bundle
   according to its handling instructions, and the previous bundle
   custodian is allowed to recover its storage resources.  The bundle
   protocol is designed to function over simplex and half-duplex links,
   and custody transfers may occur between non-adjacent bundle nodes.
   Finally, because the bundle layer operates over networks that are
   often disconnected, the bundle-layer reliability mechanisms adapt the
   operation of timers to accommodate this episodic connectivity.

   To illustrate how bundling allows connectivity across intermittently
   connected networks, one could envision a "strobe light" that
   illuminates the portions of the network's topology that are connected
   at a given time.  Lit portions of the network are available for
   bundle forwarding.  If one imagines a high-persistence CRT capturing
   an ordered sequence of illuminations that proceed from source to
   destination, one can envision the available routes for bundle
   forwarding.  This environment, therefore, requires a mechanism to
   route based on both current and expected connectivity.  This routing
   mechanism exploits predictability, such as that provided by orbital

Cerf, et al.             Expires November 2001                  [Page 6]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   mechanics or by scheduled network events (possibly including rate
   changes, such as "5c Sundays").  It is important to note that this
   routing mechanism may choose to defer communication even though a
   current path toward the destination exists, if a substantially more
   attractive path is expected to become available.

   We believe that the bundle layer functionality has utility within the
   context of the terrestrial Internet as well.  The Internet is
   evolving to encompass very different networking technologies,
   architectures, and applications.  Some of these, such as firewalls,
   result in logical partitioning of the Internet, while others, such as
   extreme rate mismatches, may result in inefficient use of network
   resources.  The bundle layer extends the Internet architecture to
   provide consistent end-to-end communication in the current and
   emerging partitioned environments, facilitating the deployment of new
   applications that can operate reliably while allowing networks to
   operate efficiently.

  Readers may find more about the project at http://www.ipnsig.org/,
  the Interplanetary Internet Special Interest Group of the Internet
  Society (http://www.isoc.org).


Cerf, et al.             Expires November 2001                  [Page 7]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001





1. Introduction

   The exploration of space began with naked-eye observations of the
   stars and moon. In more recent centuries, this exploration was aided
   by new Earth-based technologies such as optical and radio telescopes.
   Even more recently, we have placed observing resources into near
   Earth orbit, such as the Hubble Space Telescope. We have also sent
   robotic missions to other parts of the Solar system for a closer
   look.

   It is the latter activity -- the current exploration of the Solar
   System by robotic means and possibly later by missions crewed by
   people -- that motivates our interest in an Interplanetary Internet.
   The new technology of the terrestrial Internet needs to be extended
   into space. We believe that the creation and adoption of Internet-
   friendly standards for space communication will enhance our ability
   to build a common interplanetary communication infrastructure.  We
   think this infrastructure will be needed to support he expansion of
   human intelligence throughout the Solar System.  The current
   terrestrial Internet and its technology provide a robust basis to
   support these missions in an efficient and scalable manner.

   Although many missions during the last 40 years of space exploration
   have by necessity provided a substantial portion of their own
   communication resources, a significant amount of shared
   infrastructure is already in place. For example, the multi-mission
   Deep Space Network (DSN) provides a complex of large-diameter (up to
   70-meter) tracking and data acquisition dishes at three points on the
   Earth's surface, each about 120 degrees from each other. Similarly,
   the Tracking and Data Relay Satellite System (TDRSS) and a global
   network of small ground tracking stations are used to relay data to
   and from many near-Earth missions.

   In terms of the communications protocols that support space
   exploration, the Consultative Committee for Space Data Systems
   (CCSDS) has for almost twenty years been developing internationally
   agreed standards for the physical and link layers that interconnect
   remote spacecraft with their ground control systems. NASA, through
   CCSDS, has also been working since 1993 on general application of
   terrestrial Internet or Internet-like protocols for space data use.
   Such standardization opens up the possibility of re-purposing and re-
   using existing and planned communication facilities for multiple
   subsequent missions.

   Early in 1998, it became apparent to our team that the space
   communications research community and the Internet research and
   development community were pursuing technology paths that can
   potentially lead to a kind of convergence. A few members of the
   Internet community began thinking about adaptation of the terrestrial
   Internet to deep space communications. The space communications

Cerf, et al.             Expires November 2001                  [Page 8]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   research community was already trying out variants of the Internet's
   TCP/IP protocol suite to support space-based applications. Mutual
   recognition led to the formation of a program of work that was aimed
   at extending the notion of Internet to interplanetary scale. The
   heretofore-independent "rivers" of evolving space technology and
   Internet technology are converging in this program.

   To realize this convergence, the effort to define the IPN
   architecture is being undertaken at the Jet Propulsion Laboratory
   (JPL) that is operated by the California Institute of Technology
   (Caltech) for the US National Aeronautics and Space Administration
   (NASA). Partial funding for the effort comes from the US Defense
   Advanced Research Projects Agency (DARPA) that sponsored the original
   Internet design work starting in 1973 and its predecessors, such as
   the ARPANET, in 1969. NASA supplies in-kind support and staffing
   through its standardization program with CCSDS as well as program
   involvement from the Mars exploration enterprise.

   An Interplanetary Internet Research Group (IPNRG) has been formed
   under the auspices of the Internet Research Task Force of the
   Internet Society and an Interplanetary Internet Special Interest
   Group has also been created as a means of keeping the public informed
   as to progress.

   Early protocol design phases are underway now and prototype testing
   of candidate designs is anticipated within a year. Demonstration of
   these protocols in terrestrial environments will likely occur during
   2001 and plans for their use in interplanetary contexts are under
   consideration as part of the NASA Mars mission in the years beyond
   2003. The Mars exploration program is particularly interesting as a
   "reference model" for our work, since it includes a "Mars Network"
   project that hopes to deploy a series of remote communications
   satellites into orbit around the planet. These satellites will be
   dedicated to servicing the local communication and positioning
   requirements of the other in-orbit and surface observation and
   exploration missions that are in the vicinity of the planet. By 2010,
   as many as seven communications and navigation satellites could be in
   orbit around Mars, most in low Mars orbit (LMO) but with perhaps at
   least one in an "areo" synchronous orbit that is analogous to a
   geosynchronous orbit around the Earth.

1.1.   Preliminary Considerations

   The remarkable success and growth of the Earth-bound TCP/IP protocols
   of the Internet illustrate the power of communication
   standardization. The simplicity of the Internet architecture, with
   its layered structure, contributes to its ability to adapt to almost
   any underlying communication capability. As with the terrestrial
   Internet, the ultimate test of the IPN technology is whether it
   successfully supports commercial applications that have a space
   component. We expect that space will eventually be commercialized -
   not only for communication services, but also for mining the

Cerf, et al.             Expires November 2001                  [Page 9]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   asteroids, for the operation of space-based hotels, for manufacturing
   and medical treatments, and for general tourism. While such
   developments may still lie decades in the future, the potential
   investment and benefits can be appreciated as we contemplate the
   explosion of new markets associated with the commercialization of the
   Internet that began only ten years ago, in 1990. We will therefore
   architect the Interplanetary Internet in anticipation of possibly
   rapid commercialization.

   In terms of technologies, the current Internet capabilities work well
   on Earth where the propagation delay of light-speed signals is short.
   The packets exchanged according to the TCP protocol reach their
   destination in fractions of a second, for the most part. The TCP/IP
   protocols (a system of over 150 related communication standards), are
   therefore expected to work just as well on the surface of other
   planets or moons, on space craft and orbiting space stations, all of
   which involve data exchange over fairly short distances, subject to
   the availability of sufficient power to maintain good signal-to-noise
   ratios. However tempting it is to employ similar concepts in
   extending the Internet into deep space, there are problems - deep
   space communications really still are "rocket science." The distances
   between the planets are, well, astronomical. For example, the round-
   trip propagation delays - at the speed of light - between Earth and
   Mars range from about 8 minutes to over 40 minutes. This makes
   "chatty" protocols like TCP relatively unattractive because of their
   heavy dependence on near real-time exchanges between the
   communicating parties.

   These large distances also impair the data rates that can be
   sustained because of radio signal degradation and attenuation.
   Moreover, the celestial mechanics of the solar system mean that the
   distances between the planets change with time. While these changes
   are essentially calculable, they still cause variations in delay, in
   transmission capacity and occasionally in connectivity due to
   occultation of satellites as they orbit a planet, or of ground-based
   facilities as planets rotate.

   Size, weight and - most of all - power are supreme challenges for
   space-based communication systems, as they are for ground-based
   mobile systems. Launching mass into interplanetary trajectories,
   injecting mass into orbit, and landing mass into the gravity well of
   another planet is currently very expensive. Mass translates directly
   into the local availability of power. Efficient use of the
   communications channel allows more information to be carried per unit
   of transmitted power. But power limitations introduce asymmetries in
   the communication capacities available between Earth, for example,
   and the remote spacecraft and planets. There can be factors of ten or
   more differences between the data rate that can be received on Earth
   and the rates of reception of off-Earth resources. It is quite common
   to be able to receive transmissions from Mars at 100 kilobits/second
   while the Mars-based systems may only receive from Earth at 1
   kilobits/second.

Cerf, et al.             Expires November 2001                 [Page 10]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001




   All of these effects combine to make the design of an interplanetary
   backbone communication system a considerable challenge. The Deep
   Space Network - the current interplanetary backbone - uses its three
   terrestrial communication complexes to communicate with spacecraft,
   orbiting satellites and ground-based resources on moons or other
   planets of the Solar System.  Because these resources must be shared
   among many missions, it is necessary to schedule them to be aimed in
   particular directions at particular times. Time synchronization is
   needed among the various parts of such a system. For example, a
   signal from Mars may take 20 minutes to reach Earth, at which time,
   the appropriate antenna of the Deep Space network must be aimed
   properly to receive the transmission, 20 minutes after it was sent.
   This same antenna might then have to be repositioned to send data to
   another spacecraft elsewhere in the Solar System, and the receiving
   system must be ready to receive that transmission at the right time.
   In some ways, this problem is somewhat like the problem of scheduling
   trains on railroad tracks; since multiple trains use the tracks, they
   must be scheduled to avoid collisions.

1.2.     The IPN Operating Environment

   There are a number of fundamental differences between the
   environments for terrestrial communications and those we envision for
   the IPN.  These differences include delay, low and asymmetric
   bandwidth, intermittent connectivity, and a relatively high bit error
   rate.  Taking these into account affects the entire model for
   communicating; shifting us from the "telephony" model implicit in
   current Internet communications to the "Postal", or "Pony Express,"
   model. We will first therefore describe the environmental differences
   between terrestrial communications and the IPN and gives a brief
   accounting of why the standard Internet protocol for reliable
   transport, TCP, is unsuitable for end-to-end communications in the
   IPN.

   The most obvious difference between communicating between points on
   Earth and communicating between planets is the delay.  While round-
   trip times in the terrestrial Internet range from milliseconds to a
   few seconds, round-trip times to Mars range from 8 to 40 minutes,
   depending on the planet's position, and round-trip times between
   Earth and Europa run between 66 and 100 minutes.  In addition to the
   propagation delay, communicating over interplanetary distances
   currently requires special equipment (large antennas, high-
   performance receivers, etc.).  For most deep-space missions, even
   non-NASA ones, these are currently provided by NASA's Deep Space
   Network (DSN). The communication resources of the DSN are currently
   oversubscribed and will probably continue to be so in the future.
   While studies have been done as to the feasibility of upgrading or
   replacing the current DSN, the number of deep space missions will
   probably continue to grow faster than the terrestrial infrastructure
   needed to support them, making over-subscription a persistent
   problem.

Cerf, et al.             Expires November 2001                 [Page 11]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001




   This over-subscription means that the round-trip times experienced by
   packets will be affected not only by the propagation delay, but also
   by the scheduling and queuing delays imposed by the Earth-based
   resources.  Thus packets to a given destination may have to be queued
   until the next scheduled contact period, which may be hours, days, or
   even weeks away.  While queuing and scheduling delays are generally
   known well in advance except when missions need emergency service
   (such as during landings and maneuvers), the long and highly variable
   delays make the design of timers, and retransmission timers in
   particular, quite difficult.  This again forms a point of departure
   from the current Internet model, as IPN-aware applications will
   probably need ways to track the status of a communication and to
   apprise users of the expected delay before a response can be
   expected.  This will be complicated once the IPN moves from its
   initial Earth-centric approach to a peer-to-peer network, since
   notifying users of the progress of their communications will itself
   consume precious bandwidth within the network.

   The combined effects of large distances, the expense and difficulty
   of deploying large antennas to distant planets, and the difficulty in
   generating power in space all mean that the available bandwidth for
   communications in the IPN will likely be modest compared to
   terrestrial systems.  Data rates on the order of hundreds of kilobits
   per second to a few megabits per second will probably be the norm for
   the next few decades.  Another characteristic prevalent in today's
   deep-space missions is bandwidth asymmetry, where data is transmitted
   at different rates in different directions.  Current missions are
   usually designed with a much higher data return rate (from space to
   Earth) than command rate.  The reason for the asymmetry is simple:
   nobody ever wanted a high-rate command channel, and, all else being
   equal, it was deemed better to have a more reliable command channel
   than a faster one.  This design choice has led to data rate
   asymmetries in excess of 100:1, sometimes approaching 1000:1.  A
   strong desire for a very robust command channel will probably remain,
   so that any transport protocol designed for use in the IPN will need
   to function with a relatively low bandwidth outbound channel to
   spacecraft / landers.

   The difficulties of generating power on and around other planets will
   also result in relatively high bit error rates.  Current deep-space
   missions operate with very high bit error rates (on the order of 10e-
   1, or one error in ten bits) that are then improved using heavy
   coding.  The tradeoffs between coding, bit error rate, and
   reliability requirements will need to be reexamined in the context of
   the IPN.

   Finally, interplanetary communications will, at least in the near
   future, be characterized by intermittent connectivity between nodes.
   As satellites or moons pass behind planets, and as planets pass
   behind the sun as seen from Earth, we lose the ability to communicate
   with them.  This effect adds to the delays experienced by packets,

Cerf, et al.             Expires November 2001                 [Page 12]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   and could push queuing delays to several weeks or a month if the
   source and destination are in opposition (on opposite sides of the
   sun).  Inter-layer signaling, especially from the link layer to
   provide notifications of such breaks in connectivity, will probably
   be required.

   We see the IPN growing outwards from Earth as we explore more and
   more planets, moons, asteroids, and possibly other stars.  Thus there
   will always be a fringe to the fabric of the IPN, an area without a
   rich communications infrastructure.  As a result, the data rate,
   connectivity, and error characteristics mentioned above will probably
   always be an issue somewhere in the IPN.  For the more highly
   developed core areas of the IPN, it is interesting to note that delay
   is the only truly immutable characteristic that differentiates the
   IPN from terrestrial communications.  Data rates, intermittent
   connectivity, and bit error rate can all be mitigated or eliminated
   by adding additional infrastructure, in theory if not in practice.
   Additional infrastructure can also mitigate the scheduling and
   queuing delays mentioned above, but the propagation delays will
   remain unless and until we find a way to transmit information faster
   than the speed of light.

   These environmental characteristics: long delays, low and asymmetric
   bandwidth, intermittent connectivity, and relatively high error rate
   make using unmodified TCP/IP for end to end communications in the IPN
   infeasible.  Using the equations from Mathis, et al [ref:
   http://www.psc.edu/networking/papers/model_ccr97.ps], we can
   calculate an upper bound on the sustainable throughput of a TCP
   connection, taking into account TCP's congestion avoidance
   mechanisms.  Even if only 1 in 100 million packets are lost, a TCP
   connection to Mars is limited to just under 250kbps.  If we assume
   that 1 in 5000 packets is lost (this figure was reported by Paxson as
   the packet corruption rate in the Internet ref:
   ftp://ftp.ee.lbl.gov/papers/vp-thesis/dis.ps.gz caution: very large
   file) then that number falls to around 1,600bps.  These values are
   upper bounds on steady-state throughput; since the number of packets
   in a connection will generally be under 10,000, TCP performance would
   be dominated by its behavior during slow-start.  Even when Mars is at
   its closest approach to Earth, this means that it would take a TCP
   nearly 100 minutes to ramp up to a transmission rate of 20kbps.  Lab
   experiments using a channel emulator and standard applications show
   that even if TCP could be pushed to work efficiently at such
   distances, many applications either rely on several rounds of
   handshaking or have built-in timers that render them non-functional
   when the round-trip-time is pushed over a couple of minutes.  It
   typically takes eight round trips for FTP to get to a state where
   data can begin flowing, for example, and an FTP server may time out
   and reset the connection after 5 minutes of inactivity.  This means
   that a conformant standard FTP server could be unusable for
   communicating even with the closest planets.


Cerf, et al.             Expires November 2001                 [Page 13]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



1.3.     A "Postal" Communications Model

   We have concluded that the standard Internet protocols should be
   essentially "terminated" at the Interplanetary Gateways and the
   information payloads conveyed through a new set of protocols better
   suited to the long distances, variable delays and asymmetric data
   rates of the interplanetary backbone network.  In essence, the design
   is analogous to a kind of postal relay system in which messages are
   delivered to the intermediate Interplanetary Gateways, extracted from
   their standard Internet protocols, and encapsulated in new link and
   transport protocols to be forwarded to the next IPN gateway and
   ultimately into the target internet.

   Internet electronic mail already works in this fashion but the
   transfer of files, the operation of the World Wide Web, and remote
   interactive applications do not fit into this model directly. There
   are circumstances under which researchers on planet Earth do need an
   ability to interact with remote devices, for example to steer wheeled
   robotic vehicles around on the surface. But because of the enormous
   round-trip delays, such systems must work very indirectly. For
   example, to steer the Mars Pathfinder rover, one sends instructions
   about intermediate points that the robot must steer past. This is
   analogous to automatic airplane pilots that are given a series of
   coordinates through which to pass. In effect, a planned itinerary is
   sent and the robot vehicle executes the plan, dealing with local
   conditions as required.

   The "store-and-forward" nature of this communication method is
   reminiscent of bucket brigades, except that the contents of the
   buckets are actually the payloads (i.e. data) of the applications
   that utilize the network. The concept of "custody" is important in
   such a system. A sender does not relinquish a copy of a transmission
   until it is sure that the next in line has successfully received it.

2. IPN Architectural Overview

   We now consider five broad areas that represent areas of significant
   research in the Interplanetary Internet architecture:

    *  The communication conducted between independent internets
       (termed "Inter-internet dialogs")
    *  The architecture and functions of the unique nodes of the
       Interplanetary Internet
    *  A security architecture for meeting anticipated data and
       infrastructure protection needs
    *  The issues in developing a stable backbone network for the
       Interplanetary Internet
    *  The issues in deploying internets on remote planets, asteroids,
       and spacecraft

   The following five sections of this document consider each of these
   areas.  Following these sections we present our conclusions to-date.

Cerf, et al.             Expires November 2001                 [Page 14]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001





3. Inter-Internet Dialogs

   This section first presents four principles that guide the design of
   the Interplanetary Internet.  In doing so, we introduce the concept
   of the "bundle" layer, a protocol layer providing end-to-end service
   in the IPN.  The section continues by discussing the information
   carried by the bundle layer, and concludes by discussing reliability
   at the bundle layer.

3.1.   Principles of Design

3.1.1. Name Tuples Consisting of Administrative and Routing Parts are
       the Means of Reference

   In the (terrestrial) Internet, names are administrative in nature,
   and are hierarchically organized.  The Domain Name System (DNS) uses
   a highly distributed database to translate the name to a numeric
   address, and addresses are the common medium used throughout the
   network for reference.  This scheme has worked well in the Internet,
   but the emergence of network address translators and other
   partitioning mechanisms have begun to cause some problems with this
   scheme.

   One of the problems involved with using DNS names across
   interplanetary space is the distributed nature of the DNS database.
   This means that it is entirely possible for the portion of the
   database that can resolve a name to its address to be far (very far,
   in the Interplanetary Internet) from the host requesting resolution.
   This means that the times required to resolve names to addresses can
   become impossibly high, especially when the issues of intermittent
   connectivity come into play.  The DNS has a mechanism to replicate
   portions of its database, using a technique known as zone transfers.
   However, this is not a good solution in the Interplanetary Internet,
   either.  One could easily spend all of the available communication
   time transferring the ".com" zone to another planet, rather than
   actually transferring data.  Clearly, another approach is indicated.

   In our initial designs, we considered creating a new top-level
   domain, e.g. ".sol", and assigning to it topological significance.
   We constructed a scheme by which we routed on the "most significant"
   portions of the domain name, such as ".mars.sol", and essentially bet
   that these portions would be topologically significant, rather than
   administratively significant.  This scheme, while attractive from the
   standpoint of making use of existing infrastructure, makes use of
   that infrastructure in a bad way.  We were forced to "grandfather"
   existing top-level domain names to be bound to Earth's Internet, so
   that ".com" meant ".com ON EARTH."  This spawned philosophical
   debates within the group regarding sovereignty and the current top-
   level domain structure within the internet, but also had the
   potential of creating serious technical problems.  For example, some

Cerf, et al.             Expires November 2001                 [Page 15]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   organizations encode geographic information at fairly low levels of
   their DNS names (consider "zurich.ibm.com", and then consider
   "mars.ibm.com").  If all ".com's" are shipped off to Earth, the
   "mars.ibm.com" data is going to take a serious detour.  We eventually
   concluded that this was not the right approach.

   We have concluded that names in the Interplanetary Internet should
   consist of a tuple that contains the administrative part plus a
   routing part.  These names must be carried end-to-end throughout the
   Interplanetary Internet.  The routing part serves the purpose of the
   new top-level domain described above, except that it is not required
   to conform to the naming conventions of the Domain Name System (i.e.,
   it may be numeric rather than textual), it may be hierarchically
   organized, and it must be routed.  This requires us to develop the
   means for computing and distributing routing information, but
   relieves us from a dependence on the relationship between
   administrative names and network topology.

3.1.2. The Routing Part of an IPN Tuple Identifies an Internet

   The routing portion of the name identifies an IPN Region.  We
   envision the IPN as a "network of Internets", and the IPN Region, to
   some extent, allows us to route to a particular Internet.  The use of
   an IPN Region is an explicit form of aggregation that is not
   otherwise possible using administrative names.

   It is necessary and sufficient that the administrative portion of an
   IPN name be resolvable to a useful address within its IPN Region.  We
   are currently treating the structure of the routing part of the name
   in a manner similar to the structure of DNS names:  the name space of
   the routing part is a tree of text labels separated by "dots," with
   the root node of the space having a null label.  We denote a name in
   the IPN in the following manner:  {administrative part, routing
   part}.  So, if "earth.sol" were an IPN Region encompassing the entire
   Earth, the web site for the Internet Society's IPN Special Interest
   Group would be { www.ipnsig.org, earth.sol}.

   In order that any node in the IPN be able to send data to any other
   node, the routing part of the name must be interpretable everywhere.
   That is, any IPN node, when confronted with any valid IPN Region
   name, must be able to identify a transport layer destination that
   moves the data toward that region.

3.1.3. The "Bundle Layer" Terminates Local Transport Protocols and
       Operates End-to-End

   In the IPN, we cannot ever assume that there is direct connectivity
   between source and destination.  That is, we cannot assume that bits
   emitted by a source can travel, delayed only by routing and
   transmission delays, to the destination.  There may be any number of
   reasons for this, ranging from physical (the destination is on the
   far side of a distant planet and can't communicate with anything

Cerf, et al.             Expires November 2001                 [Page 16]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   right now), to schedule-related (a required IPN gateway is currently
   serving other customers), to administrative (the source is only on
   during the day, the destination only during the night).  For the
   long-haul links of the backbone, information will almost certainly
   have to be stored for some amount of time as the antennas used for
   the long-haul links will almost surely be highly directional.

   Thus depending on the schedules of the nodes involved and the
   possibility of high-priority interrupt traffic, the nodes that make
   up the IPN may have to buffer data for hours, days, or weeks before
   it can be forwarded.  Also, the highly varying communications
   environments that will make up the IPN, ranging from optical fiber on
   Earth to wireless communications around Mars, to the long-haul links
   of the backbone, suggest that different transport protocols will be
   needed for the different environments. It makes sense, therefore, for
   the IPN nodes to terminate the transport-layer protocols used in the
   respective IPN regions, holding data at a higher layer before
   forwarding it on, possibly using a different transport-layer
   protocol.

   We call this higher layer the "bundle layer," and the protocol used
   to send data between the various nodes of the IPN the "bundle
   protocol."  The term "bundle" is used to connote the store-and-
   forward aspect of communications where as much interactivity as
   possible has been distilled out of the communication.  A bundle file
   transfer request, for example, might contain the user's
   authentication (login/password, e.g.), the location of the file to
   get, and where that file should be delivered in the requester's IPN
   domain.  All of this information would be transmitted as one atomic
   "bundle," and the requested file would be returned. We use the term
   "bundle" rather than "transaction" to avoid notions of two-phase and
   three-phase commitment that are commonly associated with transaction
   processing.

   In traditional networking terminology it is generally the transport-
   layer protocol that operates end-to-end.  Since IPN nodes terminate
   transport layer protocols in order to buffer data and to enable them
   to use a transport protocol appropriate to the IPN region through
   which data will be sent, it is the bundle layer in the IPN that
   operates end-to-end.

   It should be noted that terminating the transport protocols at the
   IPN nodes decouples the internets in different IPN regions to a
   significant degree.  This has the desirable effect of also decoupling
   the evolutionary rates of those internets: changes in the Earth's
   Internet do not necessarily dictate changes in other internets.  This
   is important in an environment in which resources are and will
   continue to be severely constrained.

   Figure 1 illustrates the progression of a bundle of data through the
   Interplanetary Internet, from its source at host "A" to the
   destination at host "E."  Custody transfers are indicated by

Cerf, et al.             Expires November 2001                 [Page 17]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   asterisks (*), and occur at B, C, D, and E.  Host "A" initiates the
   bundle transfer, and the bundle is transferred using internet
   protocols (i.e., TCP and IP) to bundle node "B", which serves as the
   gateway between the left-hand internet and the interplanetary
   backbone.  The box icon indicates that custody of the bundle is
   transferred to that gateway.  When conditions permit, the bundle is
   forwarded on to the next hop in the store-and-forward chain.  In this
   case the next hop is another host within the interplanetary backbone
   network: host "C".

   Also illustrated in Figure 1 is the notion of a "return receipt" sent
   by the ultimate destination of the data back to the source.  This is
   an optional service, much like a return receipt within the postal
   system. If the source desires notification of delivery, that is
   accomplished by a separate return receipt, which is transmitted as
   its own bundle, and is subject to the same custody transfers as the
   original transmission (similar to the fact that a postal return
   receipt is, in itself, a postcard).  It is shown figuratively as
   bypassing the forwarding path (E to D to C to B to A), but this is
   simply for clarity.  The return receipt is forwarded in exactly the
   same manner as the original data is.



      An Internet         The IPN Backbone          An Internet
   +----------------+ +------------------------+ +----------------+
   |                | |                        | |                |
   |  +---+        +---+        +---+         +---+        +---+  |
   | /   /|       /   /|       /   /|        /   /|       /   /|  |
   |+---+ |      +---+ |      +---+ |       +---+ |      +---+ |  |
   ||   |=+=====>|   |=+=====>|   |=+======>|   |=+=====>|   | +  |
   || A |/       | B*|/       | C*|/        | D*|/       | E*|/   |
   |+---+        +---+|       +---+         +---+|       +---+    |
   |  /\           |  |                       |  |         ||     |
   |  ||           |  |                       |  |         ||     |
   |  ||           |  |                       |  |         ||     |
   +--||-----------+  +-----------------------+  +---------||-----+
      ||                                                   ||
      +=====================================================+
                            Return Receipt

                       Figure 1.  Custody Transfers

   Many aspects of this mode of data transfer resemble the postal
   system, or even the Pony Express.  The source depends on the store-
   and-forward nodes in the chain to operate on its behalf to deliver
   data that may not be retained at the source.  Source notification
   that the destination has received the data is optional, and there is
   no guarantee or even any firm expectation on the part of the source
   about when the data will be delivered.

   Conceptually, the bundle protocol resides above the transport

Cerf, et al.             Expires November 2001                 [Page 18]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   layer(s), and operates end-to-end between the ultimate source and the
   ultimate destination of the data.  The bundle layer provides a number
   of services to applications using it. For example the bundle layer
   carries the source and destination name tuples end-to-end to support
   the late binding of the destination name's administrative part to an
   address.  The bundle layer also carries the users' specifications for
   reliability, quality of service, and security.  Because the
   communication resources are precious, it is desirable to provide
   error recovery mechanisms that do not necessitate discarding of
   bundles that contain errors.  We are considering adding to the
   information carried in a bundle some information to assist in
   transfer-related error handling.  We are thinking in terms of active
   networking, using a combination of active packets and active nodes as
   a means of specifying appropriate actions to take in the event of
   problems in completing the transfer.  Additionally, the bundle layer
   provides invoking applications with a transfer identifier that is
   carried with the bundle, and is used in "return receipts." [Ref:
   http://www.comsoc.org/pubs/surveys/1q99issue/psounis.html]

3.2.   Information Carried by the Bundle Layer

   To effect the end-to-end transfers necessary in the IPN, the bundle
   layer must carry some information end-to-end.  This section documents
   our current thinking on the information that must be carried end-to-
   end, and notes which of those data elements may be supplied by the
   application using the bundle service.

    *  Bundle Identifier: this is a monotonically increasing number
       that is carried in the bundle, and also returned to the
       application to support return receipt processing.  It is not
       necessarily a sequence number, and as a result, there is no
       requirement that the value of Bundle Identifiers increase
       consecutively.  The requirement for monotonicity derives from a
       need to provide robustness against system crashes, and therefore
       must be persistent across system crashes.
    *  Remote entity name: this is the IPN name of the remote bundle
       agent, and is a tuple, as described above.  It is supplied by
       the local application using the bundle service.
    *  Source entity name: this is the IPN name of the local bundle
       agent, and is a tuple.  It is supplied by the local bundle
       service, since a particular host may have multiple names and one
       may be chosen based on routing decisions or other criteria
       opaque to the application (as in multihomed hosts).  The source
       name may be returned to the application to support return
       receipt processing.
    *  Authentication information: this is information, such as a
       digital signature, that is passed by the application to the
       bundle layer to unambiguously identify the source of the bundle.
       (Just what the source of the bundle is, person, place, address,
       etc. is still undecided.)  This information is checked for
       validity at both the source bundle agent and the destination
       bundle agent.  The authentication information may also be used

Cerf, et al.             Expires November 2001                 [Page 19]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



       for access control purposes within the network.
    *  Source application instance handle: this is similar in nature to
       a source port number in that it identifies the sending
       application.  Since bundles are inherently non-interactive, the
       typical use for this handle is to "reanimate" the source
       application when a return receipt arrives.  This could be hours,
       days, or weeks after the initial transmission, so the handle may
       well be a reference to a structure that allows the application
       to be reinstantiated with known state.  The source application
       instance handle may be used at the destination as an identifier,
       but may also be redundant with the end-to-end authentication
       information for this purpose.  This handle is supplied by the
       source application.
    *  Destination application instance handle: this is essentially the
       destination port identifier.   As with ports, these must be
       known to and supplied by the source application.  We have not
       yet fully explored the implications of port advertisement across
       the IPN.
    *  Size of data: this is a statement of the size of the bundle, in
       bytes.  It is supplied by the source application, and is used
       initially to ensure that sufficient space is available to store
       the bundle for its initial transmission.  Nodes receiving
       transmitted bundles use this information in the same manner: as
       a means of making a determination about the availability of
       storage early in the bundle handling process.  In forming the
       initial bundle, the bundle layer at the source may use the size
       of data parameter as a consistency check on the amount of data
       actually delivered.
    *  Handling instructions: these are parameters supplied by the user
       with the bundle that convey the user's preferences to the
       network.  Our thoughts on just exactly what these parameters
       look like are not yet firm, however, our thoughts are that they
       include some or all of the following: priority, quality of
       service (although we are still debating what this means in the
       context of the IPN), elapsed time after which the content of
       this bundle is meaningless (time to live as specified by the
       user), reliability requirements, and any error handling
       information.  For the most part, these are requests, and we
       perceive that the bundle layer may either override some or all
       of these requests or fail the request if local policy does not
       permit that particular user to make that particular request at
       that particular time.
    *  Data Descriptor: This is a reservation token that is generated
       by the bundle layer.  Its detailed definition and use are still
       to be determined.
    *  Time to Live: This is the time after which this bundle is to be
       discarded from the network.  It is present to facilitate the
       recovery of network resources and to terminate routing loops,
       should they occur.
    *  Loose/Strict Source Route and Record: This information is
       provided by the source application to facilitate debugging of
       the network.  It consists of a list of names of IPN nodes

Cerf, et al.             Expires November 2001                 [Page 20]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



       through which the bundle must pass on its way to the
       destination, and our intent is that it should behave similarly
       to the corresponding option within IP.
    *  Current bundle custodian: the bundle protocol supports store-
       and-forward operation in which the custody of a bundle (that is,
       the responsibility for ensuring reliable delivery) may transfer
       from one IPN node to another as the bundle progresses through
       the IPN.  There is not a requirement for each IPN node
       encountered to assume custody of a bundle.  As a result, it is
       necessary to identify the upstream node that has custody of the
       bundle, in order to either request retransmissions or to accept
       custody of the bundle.
    *  User data: this is intended to be all of the data that the
       remote entity requires to perform whatever operation is
       requested.  Since the environmental characteristics of the IPN
       make interactivity difficult, the notion is that all of the
       information that is required to perform a particular
       "transaction" would be provided in a single bundle.

3.3.   Reliability at the Bundle Layer

   Because no single transport-layer protocol operates end-to-end across
   the IPN, end-to-end reliability can only be assured at the bundle
   layer.  At each node along an end-to-end route, the bundle-layer
   protocol entity passes bundle data to the Transport layer for
   transmission.  Each bundle layer entity is highly confident that the
   transport layer will successfully convey the data entrusted to it to
   the next bundle-layer protocol entity (which may "take custody" of
   the data or merely relay it; a single hop).  But failures are
   possible (e.g., a host computer does an unplanned reboot).  Just in
   case the highly unlikely happens and a Transport-layer transmission
   fails, the first subsequent node that detects the failure and is
   capable of taking custody of the bundle will request that the prior
   custodian re-transmit any missing data (again using Transport-level
   transmission services across, potentially, one or more relay nodes).

   The bundle layer's confidence in the effectiveness of the underlying
   Transport-layer protocols is reflected in the design of the timers
   for bundle-layer reliability.  These timers are highly optimistic _
   that is, they expire as late as possible _ in order to give the
   Transport protocols every opportunity to complete reliable
   transmission.  The effect of this optimism is to minimize the chance
   of unnecessary bundle-layer retransmission, which could seriously
   degrade IPN performance by consuming valuable bandwidth.

3.4.   Bandwidth Allocation via Market Mechanisms:  "Starbucks"

   To promote effective and efficient use of the IPN's scarce
   transmission resources, some sort of sophisticated and adaptable
   bandwidth allocation system will probably be needed.  The scheme
   described below is based on a free-market notion of "fare-paying
   packets", where at initial transmission each bundle is issued a

Cerf, et al.             Expires November 2001                 [Page 21]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   "draft" on some small percentage of IPN resources.  These resources
   might well map back to actual monetary funds provided by the
   originator of the bundle to the provider(s) of the IPN service.  The
   bundle in effect pays its own way across the various legs of end-to-
   end transmission.  As it traverses each hop, the bundle spends funds
   from its original draft until either it is received or else its funds
   are exhausted.  If a bundle is dropped due to insufficient funds then
   the hope is that all available transmission resources were allocated
   to bundles that were allotted more funds and therefore were
   presumably more important (to somebody).

   At the initial Send-bundle service request, the source application
   (bundle sender) would specify total funds allocated to getting the
   bundle delivered to the destination.  Total funds allocation needs to
   be a function of (a) the total number of bytes of data and metadata
   to be sent, and (b) the prices charged for each "transmission class,"
   (something like First Class, Business Class, Economy Class, Steerage,
   Overhead Bin; etc.).  The allocation should cover the anticipated
   costs of traversing all the bundle hops along the anticipated route
   to destination.  If the bundle must be split up into multiple packets
   (bindles, segments), the bundle agent that performs the split also
   distributes the bundle's total funds among individual packets.  This
   distribution will probably be on a prorated basis.

   Also, the source application would supply the bundle (and, by
   implication, each of its packets) with traveling instructions:

   For each time epoch that elapses while awaiting transmission from any
   single bundle transmission agent:

    *  The length of the epoch in units of time (seconds?)
    *  The queue (transmission class) to wait in over the course of the
       epoch

   For example: get in the Steerage queue, but if 30 minutes pass and
   you still haven't been transmitted then pay for an upgrade to
   Business Class; if you still haven't been transmitted after 20
   minutes in Business Class, then give up.

   At each bundle transmission agent, each packet is handled as follows:

    *  For each of the packet's authorized time epochs until the packet
       is transmitted (that is, initially handed to the underlying
       communication layer; retention until successful custody
       acquisition by downstream agent is provided at no charge):

       - If (epoch duration * packet length * agent's price per unit of
         time per byte for this epoch's transmission class, i.e. queue)
         is greater than packet's residual funds, then discard the
         packet.  The packet's residual funds remain unexpended.

       - Else, append the packet to the requested queue.  Then:

Cerf, et al.             Expires November 2001                 [Page 22]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001





       - If epoch expires before packet is de-queued for transmission,
         then charge the source application an amount equal to (epoch
         duration * packet length * price per unit of time per byte for
         queue), reduce packet's residual funds by this amount, and
         start the next epoch; if no more authorized epochs, give up.

       - Else, upon de-queuing the packet for transmission, charge the
         source application an amount equal to (length of time spent in
         queue * packet length * price per unit of time per byte for
         queue) and reduce packet's residual funds by this amount.


    *  Transmission classes _ queues _are of varying maximum length
       (the more expensive queues are shorter) but packets in all
       transmission classes are at the same level of priority; packets
       are de-queued in round-robin fashion to ensure that no class is
       altogether starved for service.  Because First Class is a
       shorter queue than Business Class, packets that pay for First
       Class spend less time waiting.

    *  Separately, an Emergency queue is provided for system-critical
       packets.  Everything in the Emergency queue has higher priority
       than everything else, so nothing else gets transmitted until the
       Emergency queue is emptied.

   Periodically, each bundle protocol agent reports aggregate charge
   amounts back to the source applications and also to some central
   accounting authority ["the bank", nominally based on Earth]; this is
   a separate application-layer protocol.  When the central authority
   determines that a source application is out of funds, it reports the
   source application's bankruptcy to all bundle agents; from that time
   on, all service requests and packets received from that source
   application are rejected.

   Although this particular scheme may ultimately prove too complex to
   be workable, we think the general principle of fine-grained bandwidth
   allocation could contribute significantly to the viability of the
   IPN.

4. IPN Nodes

   Nodes within the IPN have a number of responsibilities.  As members
   in a store-and-forward chain, they have the responsibility for
   resource allocation to support bundle transfers.  These resources
   include, among other things, buffer space and transmission capacity.

   Additionally, IPN nodes have the responsibility of actually executing
   the bundle transfer.  Reliability requirements for bundle transfers
   are specified by the using application, and include both reliable and
   unreliable transfers (possibly with some intermediate, or partial,

Cerf, et al.             Expires November 2001                 [Page 23]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   reliability services).  The IPN nodes are responsible for using
   whatever reliability mechanisms exist in the underlying (transport-
   and-below) layers, and augmenting those mechanisms as necessary to
   effect the required reliability.

   Finally, IPN nodes are responsible for routing bundles between IPN
   domains.  IPN nodes may depend upon the services of the local
   internets (or the IPN backbone) for intra-domain routing.

   In this section, we first briefly state the types of IPN nodes that
   we have identified, and then we provide a number of exemplary end-to-
   end data transfer descriptions.  Finally, we list the error
   conditions that we have identified that may occur at the bundle layer
   during the course of end-to-end data transfer.

4.1.   Types of IPN Nodes

   We identify three grades of IPN functional capability.  In order of
   increasing scope, they are: agent capability, relay capability, and
   gateway capability.  All IPN nodes are able to act as bundle agents;
   some bundle agents are additionally able to act as IPN relays; some
   IPN relays are additionally able to act as IPN gateways.

   * Bundle agents build and consume bundles.  These could be stand-
     alone proxy devices or could be an operating system service
     collocated with an application.  The endpoints of an end-to-end
     bundle transmission need not be any more than bundle agents,
     though they may additionally have relay or even gateway
     capability.

   * IPN Relays receive bundles and forward them toward their
     destinations, either within or between IPN regions.

   * IPN Gateways reside at the interface between IPN regions.  The IPN
     gateways perform routing between the IPN regions.

   Orthogonal to these grades of capability is the ability to take
   custody of a bundle.  The endpoints of a bundle transaction are
   typically the initial and final custodians of the bundle.  Non-
   gateway relays may take custody of the bundles they receive;
   alternatively, they may simply provide mitigation of R2 effects
   (signal strength losses due to the extreme distances of
   interplanetary communication), but provide no custody transfer
   capabilities.  (In the latter case they are essentially "repeaters.")
   Gateways normally take custody but are not required to do so.

4.2.   Example end-to-end transfer

   We provide the following example of an end-to-end transfer that
   crosses multiple IPN Regions:  A host on Earth sends a bundle to a
   destination on Mars.  Figure 2 illustrates the network that is the
   subject of this example _ the Interplanetary Internet in this example

Cerf, et al.             Expires November 2001                 [Page 24]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   has five distinct regions interconnected by four IPN Gateways.  This
   example highlights the actions taken by the bundle layer and the
   interactions of the bundle layer with applications and with
   underlying transport protocols.

4.2.1. Backbone connectivity

   It is important to have some understanding of the routing that is
   required at the IPN Gateways.  Unlike terrestrial communications, the
   IPN's long-haul communication links are directional, mobile, and
   highly scheduled.  This is important, because directionality combined
   with mobility means that a transmitter and receiver must track each

                       +-------------------------+
                       |     Earth's Internet    |
                       |  IPN Region:  earth.sol |
                       |            +---+        |
                       +-----------/   /|--------+
                                  +---+ |
                                  |G/W| +
                       +----------| 1 |/---------+
                       |          +---+          |
                       |     The "Backbone"      |
                       |  IPN Region:  ipn.sol   |
                      +---+       +---+        +---+
                     /   /|------/   /|-------/   /|
                    +---+ |     +---+ |      +---+ |
                    |G/W| +     |G/W| +      |G/W| +
   +----------------| 3 |/  +---| 4 |/-----+ | 2 |/-------------------+
   |                +---+   |   +---+      | +---+                    |
   | Venus's Internet |     | Jupiter's    |   |    Mars's Internet   |
   | IPN Region       |     |  Internet    |   |    IPN region:       |
   |  venus.sol       |     | IPN Region   |   |      mars.sol        |
   +------------------+     |  jupiter.sol |   +----------------------+
                            +--------------+

         Figure 2.  An Interplanetary Internet of Five IPN Regions

   other in order to establish and maintain a communication link.  In
   the IPN, much of the mobility is due to orbital mechanics and is
   therefore relatively predictable.  However, this means that nodes
   that we would normally consider to be fixed, such as antennas on the
   surface of the Earth, are actually highly mobile as a result of the
   Earth's rotation and its revolution around the Sun.  (In this
   example, we confine ourselves to our local solar system, and do not
   consider the motion of our sun relative to celestial bodies outside
   our solar system.)  We can describe the predictable aspects of node
   mobility with an ephemeris, a table of the positions of celestial
   bodies at specified intervals of time.  Both a directional sender and
   receiver must know the other's position in order to establish a link
   between the pair.  In addition, these communication resources are
   highly scheduled.  It is not sufficient for a receiver to point at a

Cerf, et al.             Expires November 2001                 [Page 25]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   prospective target and just wait _ for example, a terrestrial node
   will typically have to point at several targets sequentially, and an
   interplanetary node will typically not have enough power to just wait
   for incoming messages.  Rather, a schedule of communication
   opportunities must be calculated and then refined with planned
   communication instances.  A communication opportunity establishes
   that the endpoints could establish a link if they were pointing at
   each other at the proper times.  We refer to a planned communication
   instance as an agreement (although not irrevocable) between the two
   parties to establish contact and communicate for a defined period of
   time.  The protocols for establishing the schedule of communication
   instances between all pairs of possible communicants will evolve --
   from something primarily done manually to something more automated as
   the Interplanetary Internet grows.

   The scheduled nature of connectivity in the Interplanetary Internet,
   particularly across the deep-space links, means that at the time of a
   bundle's arrival at an IPN Gateway, some or all of the possible
   outbound routes may be "down."  The gateway must store the bundle
   until the appropriate link is available and then transmit the bundle
   over that link.  One of the fundamental differences between the
   Interplanetary Internet and the terrestrial Internet is this inherent
   use of store-and-forward mechanisms in routing bundles.   With that
   in mind, let us consider the routing decisions made at some of the
   IPN Gateways in Figure 2.

4.2.2. IPN Gateway routing

   Bundle routing at an IPN gateway will typically have to deal with a
   mix of continuously available links and intermittently available
   links. Routing across a continuously available link is a relatively
   straightforward activity.  Routing in the presence of intermittently
   available links can be significantly more complex, as the gateway
   will need to decide not only the next hop destination but also the
   time at which to send the bundle.  Conditions elsewhere in the
   network may make it more desirable to send a bundle to a next-hop
   destination that is not yet accessible, even when an alternative
   route is currently available.  The routing function in IPN Gateways
   and other IPN nodes that have intermittent links has three distinct
   parts:  the contact scheduler, the route evaluation algorithm, and
   the dispatcher algorithm.

   Figure 3 illustrates the relationship of these functions with each
   other and with other elements of the communication protocol suite.
   The contact scheduling application establishes the schedule for
   communicating with next-hop neighbors.  The implications of this
   scheduling activity are broad _ orbital mechanics, resource
   management onboard the spacecraft, prospective communications loads,
   and so forth all play a role.  Because spacecraft resources must be
   coordinated among all functions (not just communications), this is
   typically going to be part of a larger resource management
   application (interactions with functions such as pointing and power

Cerf, et al.             Expires November 2001                 [Page 26]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   control are not shown in Figure 3, but are present nonetheless).  It
   is very likely that the contact scheduler will *not* be local to the
   bundle node, but rather a centralized function that distributes a
   contact schedule to IPN nodes that perform routing.  This may change
   in the future to a distributed contact scheduling algorithm, but for
   the foreseeable future, this will not be the case.  The product of
   the contact scheduler is a schedule of planned contacts, durations,
   expected data rates, etc.  It is intrinsically link-state in nature.



            +-------------------------------+
            |        User Applications      |
            +-------------------------------+
            +-------------------------------+   +--------+
            |    +-----------------------+  |   |        |
+---------+ |    |    Bundle Transport   |  |   | Policy |
| Contact | |    +-----------------------+  |   |        |
|Scheduler| |    +-----------------------+  |   +--------+
+---------+ |    |                       |  |       |
     |      |    |    +---------------+  |  |       |
     V      |    |    |  Dispatcher   |<------------+
 /-------\  |    |    |  Algorithm    |  |  |            +----------+
<Schedules>----->|    |               |  |  | /------\   |Route     |
 \-------/  |    |    +---------------+  |<--< Routes ><-|Evaluation|
            |    |   Bundle Routing      |  | \------/   |Algorithm |
            |    +-----------------------+  |            +----------+
            | Bundle Agent Functions        |
            +-------------------------------+
            +-------------------------------+
            |  +------+  +------+  +------+ |
            |  |  TCP |  |  UDP |  | LTP  | |
            |  +------+  +------+  +------+ |
            |  +----------------+  +------+ |
            |  |       IP       |  |  -   | |
            |  +----------------+  +------+ |
            +-------------------------------+
            +-------------------------------+
            |  Link and Physical Interfaces |
            +-------------------------------+

    Figure 3.  IPN routing applications and their relation to other
                        communication functions.

   The route evaluation application exchanges information with all
   first-hop neighbors (we hope this occurs infrequently) to build a
   general picture of the IPN beyond the first-hop neighbors.  We
   currently view this in terms of a distance-vector representation, but
   with metrics such as the expected delay to the destination IPN region
   and average aggregate data rate to the destination IPN region.  The
   mechanics for building these metrics are still in development.


Cerf, et al.             Expires November 2001                 [Page 27]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   The dispatcher algorithms accepts routing requests from the bundle
   transport layer and builds a "manifest" for each next-hop contact
   that is subsequently consumed by the bundle routing layer.  The
   dispatcher application consumes some or all of the following in
   deciding how to schedule bundle transmissions:  the contact schedule,
   the routing information, local policy information, and the per-bundle
   specifics provided by the bundle transport layer (such as bundle
   destination, length, priority, time-to-live, and possibly
   "Starbucks"-related information).  We envision a family of different
   dispatcher algorithms, operating as "plug-ins," that provide
   different levels of sophistication in the scheduling function to suit
   different needs.  The simplest versions of the dispatcher might just
   consider destination to schedule the bundle on the soonest-possible
   outbound contact.  More sophisticated versions might consider
   priority, bundle length (to preserve atomicity), and time-to-live
   requirements.  Others could support the Starbucks model or apply
   optimization techniques to attempt to improve the use of each
   contact.

   The following is a conceptual description of what happens:  when a
   bundle arrives at the bundle layer and needs to be routed, the bundle
   routing function posts a request to the dispatcher, noting the
   destination, length, priority, time to live, etc. of the bundle to be
   routed.  The dispatcher integrates this bundle into its manifest and,
   at the bundle's transmission time, informs the bundle routing
   function to send the bundle to the appropriate next-hop destination.

4.2.3. Systems participating in example bundle data transfer

   Figure 4 is a revision of Figure 2 to highlight those portions of the
   Interplanetary Internet that participate directly in the bundle
   transfer example.  Also shown in Figure 4 are the source and
   destination for the bundle data transfer, and the Domain Name System
   equivalents in the terrestrial Internet (DNS 1), in the IPN
   "Backbone" (DNS 2), and in the Mars Internet (DNS 3).  This figure
   will serve as the basis for the following bundle data transfer
   example.

   Table 1 provides the full host names of each of the primary elements
   in Figure 4.

Cerf, et al.             Expires November 2001                 [Page 28]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001




                                        +---+
                                       /   /|
             +------------------------+---+ |
           +---+   Earth's Internet   |DNS| +
          /   /|IPN Region:  earth.sol| 1 |/
         +---+ |          +---+       +---+
         |SRC| +---------/   /|--------+
         |   |/         +---+ |
         +---+          |G/W| +
             +----------| 1 |/---------+
             |          +---+          |
             |     The "Backbone"      |
             |  IPN Region:  ipn.sol   |
            +---+                    +---+              +---+
           /   /|-------------------/   /|             /   /|
          +---+ |                  +---+ |            +---+ |
          |DNS| +                  |G/W| +            |DST| +
          | 2 |/                   | 2 |/-------------|   |/+
          +---+                    +---+              +---+ |
                                     |    Mars's Internet   |
                                  +---+   IPN region:       |
                                 /   /|     mars.sol        |
                                +---+ |---------------------+
                                |DNS| +
                                | 3 |/
                                +---+

       Figure 4.  Interplanetary Internet showing principal systems.

   Table 1.  Host name tuples.
   +------------+------------------+---------------------------+
   | Host       | IPN Regions      |   Host name tuples        |
   +------------+------------------+---------------------------+
   | SRC        | earth.sol        |   {src.jpl.nasa.gov,      |
   |            |                  |    earth.sol}             |
   +------------+------------------+---------------------------+
   | IPN G/W1   | earth.sol        |    {ipngw1.jpl.nasa.gov,  |
   |            |                  |     earth.sol}            |
   |            | ipn.sol          |    {ipngw1.jpl.nasa.gov,  |
   |            |                  |     ipn.sol}              |
   +------------+------------------+---------------------------+
   | IPN G/W2   | ipn.sol          |    {ipngw2.nasa.mars.org, |
   |            |                  |     ipn.sol}              |
   |            | mars.sol         |    {ipngw2.nasa.mars.org, |
   |            |                  |     mars.sol}             |
   +------------+------------------+---------------------------+
   | DST        | mars.sol         |    {dst.jpl.nasa.gov,     |
   |            |                  |     mars.sol}             |
   +------------+------------------+---------------------------+



Cerf, et al.             Expires November 2001                 [Page 29]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



4.2.4. Step 1:  Bundle creation and first-hop transmission

   An application on the source host in Figure 4 has data that it wishes
   to send to the destination on Mars.  The exact content of this data
   is opaque to the bundle transfer, but assume that it contains all of
   the information necessary to accomplish some desired function.  That
   is, assume that application-specific instructions for storage,
   handling, error processing, and disposal accompany whatever data
   object is to be operated upon.  The application invokes the bundle
   agent, supplying it the information shown in Table 2.

   Table 2.  Information passed from source application to bundle
   agent.

   +-------------+---------------------+------------------------------+
   | Item        | Value               | Description                  |
   +-------------+---------------------+------------------------------+
   | Destination | {dst.jpl.nasa.gov,  |  IPN Name tuple of the       |
   | host name   |  mars.sol}          |  destination                 |
   +-------------+---------------------+------------------------------+
   | Destination | 0x00000008          |  Similar to port number.  Can|
   | application |                     |  be "well-known" (i.e.,      |
   | instance    |                     |  identify a daemon) or       |
   | handle      |                     |  "ephemeral" (i.e., identify |
   |             |                     |  a running, suspended, or    |
   |             |                     |  hibernating process         |
   +-------------+---------------------+------------------------------+
   | Source      | 0x1763421A          |  Value used to identify the  |
   | application |                     |  appropriate instance of the |
   | instance    |                     |  source application for      |
   | handle      |                     |  response processing         |
   +-------------+---------------------+------------------------------+
   | Handling    | Reliable delivery,  |  The services requested from |
   | instructions| normal priority,    |  the bundle layer.           |
   |             | data obsolete in 36 |                              |
   |             | hours.              |                              |
   +-------------+---------------------+------------------------------+
   | User data   | N/A                 |                              |
   +-------------+---------------------+------------------------------+

   The bundle agent creates a bundle and stores it in persistent storage
   (on disk or other non-volatile memory).  There are some fields of the
   bundle header that the bundle agent must supply:  the Bundle
   Identifier, the Source Host name tuple, the Custodian name tuple, and
   the time to live.  (The application may state a time after which the
   data are obsolete, but the actual time-to-live field in the bundle
   header uses the application's data in combination with network
   restrictions on time-to-live to initialize this field properly.)  The
   bundle agent's routing function requests a route from the dispatcher
   application, and receives next-hop destination information and source
   information.  (Since a host may reside in multiple IPN Regions, the
   source host name tuple is a function of the outbound route selected.

Cerf, et al.             Expires November 2001                 [Page 30]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   The bundle agent uses this information to complete the Source Host
   and Custodian name tuples prior to transmission.)

   Note:  For hosts that have continuously available communication
   resources, it is likely that an optimization would be implemented to
   reduce the required interaction with the dispatcher application.  In
   this instance, the bundle routing function might consult a local
   routing table before contacting the dispatcher, and only requesting
   routing information from the dispatcher if there is no appropriate
   entry in the routing table.

   The bundle in this example is destined for the "mars.sol" IPN Region
   (per Table 1).  The dispatcher (or routing table) determines that the
   proper next-hop destination for the mars.sol region is
   {ipngw1.jpl.nasa.gov, earth.sol}, and that the appropriate transport
   protocol to use is TCP.  The bundle agent consults the Terrestrial
   Domain Name Server to resolve ipngw1.jpl.nasa.gov to an IP address,
   establishes a TCP connection with ipngw1, and transfers the bundle to
   it.  The bundle agent at the source retains a custodial copy of the
   bundle in persistent storage.


4.2.5. Step 2:  Bundle processing at first-hop destination

   When the IPN Gateway {ipngw1.jpl.nasa.gov, earth.sol} receives the
   bundle via TCP, it stores it on persistent storage (disk).  The
   bundle agent consults the dispatcher, and is informed that the
   appropriate next-hop destination is in the "ipn.sol" IPN Region:
   {ipngw2.nasa.mars.org, ipn.sol}.  The dispatcher provides the time at
   which the bundle should be transmitted, at which time the contact
   scheduler and its associated functionality will ensure that there is
   a contact with ipngw2 via the Long Haul Transport Protocol (LTP).  In
   considering alternative contacts for the bundle, the dispatcher
   checks the time-to-live in the bundle, which was 36 hours from the
   time of initial submission to the bundle agent at the source, to
   ensure that the route selected is consistent with the time-to-live
   requirements of the bundle.  The bundle transport functionality of
   the bundle agent in ipngw1 accepts custody of the bundle, updates
   this information in the bundle header, and informs the source that
   has done so.  The sources bundle agent deletes its custodial copy of
   the bundle.  When the time indicated by the dispatching function
   arrives, the bundle is transmitted via LTP to the IPN Gateway that
   connects the ipn.sol Region with the mars.sol Region:
   {ipngw2.nasa.mars.org, ipn.sol}.

4.2.6. Step 3:  Bundle processing at gateway to destination IPN Region

   The Mars gateway, {ipngw2.nasa.mars.org, mars.sol}, receives the
   bundle from the Earth gateway via LTP.  It stores the bundle in
   persistent storage and accepts custody of the bundle, signaling back
   to the Earth gateway that it has done so.  When the notification of
   acceptance reaches the Earth gateway, ipngw1 deletes its custodial

Cerf, et al.             Expires November 2001                 [Page 31]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   copy.  The Mars gateway consults its dispatcher application to find
   an outbound contact to forward the bundle over.  The dispatcher
   returns an indication that the appropriate next hop is the
   destination itself, that the proper transport protocol is TCP, and
   that the destination is accessible immediately.  The gateway verifies
   that the time-to-live has not expired, and forwards the bundle to the
   destination.

4.2.7. Step 4:  Bundle processing at destination

   The destination bundle agent receives the bundle via TCP, stores it
   on its own persistent storage, and accepts custody of the bundle from
   IPN G/W2.  The bundle agent "awakens" the destination application
   process identified by the Destination Application Instance Handle.
   This may involve creating a new instance of a server from a daemon
   process, signaling an idle running process, or reinstantiating a
   process that has been suspended with its state stored on persistent
   storage.  (The specifics of this are system-dependent, and may have
   to be robust against system restarts, upgrades, and migration of
   processes from one host to another.)  The bundle agent deletes the
   copy of the bundle from persistent storage when the application has
   received it.  The destination application may generate an
   application-layer acknowledgment in a new bundle and send it to the
   source's application instance identifier (0x1763421A from Table 2).

4.3.   Error Conditions at the Bundle Layer

   This section describes the error conditions that may arise at the
   bundle layer during bundle creation and transport.  When these errors
   occur within the sender's IPN domain, it may be possible to conduct a
   near-real-time dialog to correct them before the bundle is forwarded.
   We say `may be possible' because even if two nodes are in the same
   IPN domain, they may not have real-time connectivity.  An example of
   such a situation would be if a lander were on the opposite side of
   the planet from its IPN gateway, and used bundles to communicate with
   the gateway through a low altitude orbiter, with the orbiter itself
   serving as a bundle agent.


Cerf, et al.             Expires November 2001                 [Page 32]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   Table 3: Error conditions at the bundle layer.
   +-------+---------------------------+------------------------------+
   | Error | Description               | Places where Error can Occur |
   +-------+---------------------------+------------------------------+
   | 1*    | Unknown destination region| Source Bundle Agent          |
   +-------+---------------------------+------------------------------+
   | 2*    | Invalid Source App.       | Source Bundle Agent          |
   +-------+---------------------------+------------------------------+
   | 3*    | Bundle Parameter Syntax   | Source Bundle Agent          |
   |       | Error                     |                              |
   +-------+---------------------------+------------------------------+
   | 4*    | Bundle Parameter Semantic | Source Bundle Agent          |
   |       | Error                     |                              |
   +-------+---------------------------+------------------------------+
   | 5*    | Invalid Node Name in LSRR | Any bundle node              |
   |       | or SSRR                   |                              |
   +-------+---------------------------+------------------------------+
   | 6     | Insufficient buffer space | Any bundle node              |
   +-------+---------------------------+------------------------------+
   | 7     | DNS unreachable           | Any bundle node              |
   +-------+---------------------------+------------------------------+
   | 8*    | Time exceeded             | Any bundle node other than   |
   |       |                           | the source agent             |
   +-------+---------------------------+------------------------------+
   | 9*    | Source Entity Access      | Any bundle node other than   |
   |       | Denied                    | the source agent             |
   +-------+---------------------------+------------------------------+
   | 10*   | Invalid Administrative    | IPN gateway serving          |
   |       | Destination Name          | destination IPN domain       |
   +-------+---------------------------+------------------------------+
   | 11*   | Invalid Destination App.  | Destination                  |
   +-------+---------------------------+------------------------------+
   | 12*   | End-to-end Access Denied  | Destination                  |
   +-------+---------------------------+------------------------------+

   The errors that can occur at the bundle layer are shown in Table 3.
   Error numbers marked with an asterisk (*) are reported back to the
   sending application.

   * Unknown Destination Region: This error occurs when the source
     bundle agent is directed to create a bundle destined for an IPN
     Region that is not recognized (i.e. one for which there is no
     applicable route known to the Dispatcher Application).  Note that
     only the IPN Region part of the destination name has to be
     interpretable outside the destination's IPN Region.  In
     particular, the administrative part of the destination name need
     not be interpretable to the source DNS (assuming the source and
     destination are in different IPN Regions), so it cannot
     necessarily be checked when the bundle is created.

   * Invalid Source Application: If the source application instance
     handle supplied by the source application is invalid, the source

Cerf, et al.             Expires November 2001                 [Page 33]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



     bundle agent responds with an Invalid Source Application error.
     This might be the case, for instance, if the source application
     provided an instance handle referencing a system process for which
     the application didn't have privileges.

   * Bundle Parameter Syntax Error: The source bundle agent may check
     the syntax of some of the bundle-creation parameters (i.e. it may
     ensure that the end-to-end and IPN access security certificates
     are well-formed, etc.)  If a parameter is found to be
     syntactically incorrect or obviously and definitely erroneous, the
     bundle agent will report a Bundle Parameter Syntax Error back to
     the source that includes, at a minimum, the parameter that caused
     the error.

   * Bundle Parameter Semantic Error: If the source bundle agent can
     identify a particular bundle creation parameter as being well-
     formed but unserviceable, it will report a Bundle Parameter
     Semantic Error to the source application that includes, at a
     minimum, the parameter that caused the error.

   * Invalid Node Name in LSRR/SSRR: If an invalid node name is
     discovered in the loose or strict source route & record, the
     bundle agent that detects the error will propagate it back to the
     source application.  Note that it may be advantageous to have
     bundle agents check the validity not only of the next hop in the
     source route but as many entries as they can.  The value of
     checking multiple entries would be in detecting errors as soon as
     possible, preferably before the bundle traversed any of the long-
     haul links.

   * Insufficient Buffer Space: If a bundle agent does not have
     sufficient buffer space to accept a bundle, it drops the bundle
     and generates an Insufficient Buffer Space error.  Note that a
     bundle node may choose to drop lower priority bundles in order to
     make room for higher priority ones. This error is not propagated
     back to the source.

   * DNS Unreachable: If a bundle agent needs access to its DNS (or
     DNS-equivalent) and cannot obtain information from it, it
     generates a DNS Unreachable error.  This information is not
     propagated back to the source application.

   * Time Exceeded: If the time-to-live field (either the source-
     provided TTL or the internal bundle TTL) expires, the source is
     notified with a Time Exceeded message.  These errors are
     propagated to the source application.

   * Source Entity Access Denied: This error indicates that the source
     entity does not have access to a needed resource at an IPN node.
     The source might not be authorized to use the node at all, or it
     might not have authorization to use a particular interface
     required by the bundle.  Source Entity Access Denied errors

Cerf, et al.             Expires November 2001                 [Page 34]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



     indicate that the source is not authorized to use a particular
     resource; other errors (e.g. Insufficient Buffer Space) indicate
     that a particular resource is unavailable to a bundle.  For
     example, an entity on the surface of a planet might be authorized
     to communicate, using the bundle protocol, with another entity on
     the other side of the planet via a low-altitude orbiter that is
     also an IPN gateway.  The sender might not, however, be authorized
     to send bundles across interplanetary space.  In this case bundles
     sent to the orbiter destined for the other side of the planet
     would not cause errors, while any bundles with off-planet
     destination addresses would.  Source Entity Access Denied errors
     are propagated back to the source application.

   * Invalid Administrative Destination Name: Once a bundle has reached
     its destination IPN Region, the administrative part of the
     destination name can be verified.  If the administrative part of
     the destination name is not valid, the source is notified with an
     Invalid Administrative Destination Name error message.  As with
     LSRR/SSRR, it would probably be advantageous to check the
     administrative part of the destination name as soon as possible to
     avoid propagating misnamed bundles and error messages across the
     backbone.

   * Invalid Destination Application: If the destination bundle agent
     cannot instantiate the destination application (based on the
     destination application instance handle in the bundle), it
     notifies the source application with an Invalid Destination
     Application error message.

   * End-to-End Access Denied: If the bundle destination does not
     accept the bundle due to an authentication or access-control
     error, the source is notified with an End-to-End Access Denied
     Message.

4.4.   Support of existing Internet applications

   There is no clean way to support "legacy" applications in the IPN.
   One might think that application-layer proxies could protect
   applications from the rigors of interplanetary communications, but it
   turns out that this is not the case, even if the appropriate timers
   (at both application and transport layers) could be scaled correctly.
   As an example, consider a legacy FTP client on Earth trying to get a
   file from an FTP server on Mars.  If the client's connection request
   to {foo.bar.com, mars.sol} is somehow coerced into binding to an
   Earth-resident application proxy (as can be done with nonstandard
   modifications to the terrestrial DNS) the proxy then has to negotiate
   enough information out of the client to form the bundle that will
   travel to Mars.  This bundle needs to include at least:
   * The client's IPN domain name
   * The server's name tuple on Mars  (Note that if wildcarded A-
     records are used to cause the off-planet server name to bind to
     the proxy, the proxy will not have a notion of the destination

Cerf, et al.             Expires November 2001                 [Page 35]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



     name.  The proxy will have to explicitly request the source name
     from the source.)
   * The file to be retrieved
   * Where to deliver the retrieved file to, since it probably won't be
     coming back in this session

   While all of this information could in principle be elicited from a
   command-line client via appropriate server messages and extensive use
   of the `quote' command, there is no guarantee that other clients
   (specifically GUI clients) will be able to accomplish this.  SMTP (e-
   mail) is perhaps the only application that could possibly be tuned to
   work over interplanetary distances, but even SMTP has embedded timers
   that would have to be altered significantly before it would work.

5. Security in the IPN

   We do not have a detailed list of security requirements for the
   Interplanetary Internet, primarily because there currently aren't any
   "users" of the IPN and few, if any, of the potential users have given
   enough thought to security to commit to a set of security
   "requirements".  However, we know that the Interplanetary Internet's
   bandwidth resources will be precious. We can also safely assume that
   the IPN will be a prized hacker's target (at least from Earth).  We
   can also envision that there will be precious, private data flowing
   across the IPN.  As a result, we assume that various security
   mechanisms and services will be required to provide protection for
   the bundles traversing the IPN and for the IPN infrastructure itself.

   There are two aspects to IPN security: protection of the IPN
   infrastructure and protection of the data traversing the IPN. The
   protection of the IPN infrastructure is not unlike the protection
   required for the Earth-based Internet infrastructure.  There will be
   a need to exchange routing information securely among the IPN nodes
   as well as to securely manage them.  For the IPN infrastructure to
   protect itself, the IPN nodes need to be mutually suspicious of one
   another.  That is, the IPN nodes will authenticate themselves to each
   other to ensure that they are not being spoofed by an untrustworthy
   entity.  One might ask if this is overkill if we believe that there
   will always be a small, controlled number of IPN nodes (a la the
   original ARPANET). However, one could equally envision that there
   could be many IPN nodes that are sponsored and controlled by multiple
   organizations (a la the current Internet).  Since we would like the
   IPN to easily scale, we want to build mutual suspicion and security
   mechanisms into the IPN architecture from the outset. It should be
   noted that the same mechanisms could be used to provide security for
   both the IPN infrastructure and the data flowing through it.

5.1.   Assumptions Regarding Required IPN Security Mechanisms

   The security mechanisms assumed to be required for the IPN are:
   * Access control
   * Authentication

Cerf, et al.             Expires November 2001                 [Page 36]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   * Data integrity
   * Data privacy

   Access controls will be required because the IPN's space-based assets
   will have limited resources available and because it will be a likely
   target from a hacking perspective.  By limiting access to the IPN
   resources, we limit the availability of the IPN to only those users
   who require its services and do not allow it to be overburdened by
   those who are not authorized to access the IPN services.

   Authentication of identity will be required to perform access control
   mediation.  To allow or disallow access to the IPN, an assured
   identity of the source of the network traffic will be needed.  The
   identity might be of an individual (e.g., a payload principal
   investigator) or a location (e.g., a science payload control center
   or a spacecraft control center).

   Data integrity will be required to ensure that data received across
   the IPN is the same data that was originally sent.  This is true from
   both an IPN infrastructure perspective (e.g., management data) as
   well as from a user's perspective (e.g., science data, command
   sequences). Data integrity assures that any unauthorized modification
   of the data will be detectable by the receiver.

   Data privacy will be required to ensure that only those who are
   authorized to obtain data traversing the IPN or destined to/from the
   IPN infrastructure will be able to do so.  This mechanism is also
   known as confidentiality.

   In the network security community, there are two well-known security
   paradigms: hop-by-hop security (also known as link security) and end-
   to-end security.  In the hop-by-hop paradigm, the data to be
   transmitted over the network is protected on a hop-by-hop basis.
   That is, the data is protected at its source, but in order to be
   routed to its final destination, it must be unprotected at a trusted
   routing point (e.g., a ground-based gateway, an IPN gateway) in order
   to be examined for onward routing.  The trusted routing point must
   then re-protect the data and forward it on to its next routing point.
   Each successive hop point must unprotect and re-protect the data
   until it reaches its ultimate destination.  A negative aspect of this
   security paradigm is that, depending on how the protection is
   applied; the data might be completely exposed while in the gateway
   (hence the term trusted gateway).  This means that the data is
   potentially vulnerable to unauthorized modification and unauthorized
   disclosure.

   The end-to-end paradigm does not employ trusted gateways.  Rather, it
   assumes that the path between the source of the data and its
   destination is hostile and cannot be trusted.  As a result, the data
   is protected at its source and is not unprotected until it reaches
   its destination.  However, in order for this scheme to work, routing
   information must remain unprotected so that the intermediate gateways

Cerf, et al.             Expires November 2001                 [Page 37]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   are able to determine how to forward the data without having the
   opportunity to read or change the data.

   One problem with the end-to-end paradigm is that it can only work
   across a network where there are end-to-end protocols (e.g., TCP).
   There has to be a protocol below the data that provides the ability
   to route.  One example of this is the Internet Engineering Task
   Force's (IETF) Internet Protocol Security Protocol (IPSEC).  The
   IPSEC Encapsulating Security Payload (ESP) protocol provides an end-
   to-end security service between the IP and TCP protocol layers.

   However, in the IPN, as has already been discussed earlier, IP and
   TCP are not necessarily carried end-to-end protocols.  Rather, those
   protocols can/will be terminated in a local internet (e.g. a ground
   segment on earth or another celestial body) and not carried end-to-
   end through the IPN.  The data will be carried end-to-end via the
   bundle protocol that would in turn, be transported by other IPN
   protocols (e.g., LTP, TCP) using the pony express model.

   Since the IPN must be structured on a store-and-forward basis, and
   since users may not trust the IPN gateways, solutions such as IPSEC
   cannot be employed.  In order to provide an end-to-end like security
   solution, security mechanisms can only be applied to the data and not
   any other protocol layer(s) below the bundle protocol.  This is the
   way the Secure Sockets Layer (SSL) (now being specified within the
   IETF as the Transport Layer Security (TLS) protocol) and secure email
   techniques such as S/MIME and OpenPGP work.  In essence, security
   services are only applied to the data portion of a packet, leaving
   all of the packet's protocol headers in the open and available for
   use by intermediate systems.  For example, to transmit the string
   "hello world" across the Internet would entail encapsulating the
   string into a TCP header, an IP header, and a media access (MAC)
   layer header.  To provide end-to-end security services, only the
   payload ("hello world") would have security services applied to it
   (e.g., it might be encrypted to provide privacy/confidentiality).
   However the TCP, IP, and MAC headers would all remain without
   security services applied to them.  In comparison, when using IPSEC
   ESP, the TCP header would have security services applied to it to
   protect it as well as the payload data.  And if it were operating in
   "tunnel" mode, ESP would encapsulate the entire payload - the TCP and
   IP headers - inside of an IP packet.

   Given that data will be transported across the IPN in bundles using
   an email-like paradigm, borrowing technology from email security is a
   solution for the IPN.

5.2.   Secure Email Technology

   Since secure electronic mail operates in a non-interactive mode, and
   since both communicating parties have not necessarily communicated
   with one another previously, a technique different than used by IPSEC
   was developed.  One way in which email could be securely wrapped

Cerf, et al.             Expires November 2001                 [Page 38]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   (e.g., encrypted and/or digitally signed) is via through the use of
   public key cryptography.  Using this technology, an email sender
   would use the public key of the intended recipient to encrypt the
   payload (i.e., the message) and the recipient would use its private
   key to decrypt the payload.  Likewise, the sender could digitally
   sign the message (in order to authenticate the message) using its
   private key and the recipient would verify the message's authenticity
   using the sender's public key.   However, there are two problems with
   this scheme for the IPN.

   The first problem is that public key cryptography is quite
   consumptive of processor power.  Therefore, the common practice is to
   use symmetric key (i.e., shared secret) algorithms for large amounts
   of data.  With changes in technology, this problem may disappear, at
   least for earth-based systems.  However, it is not clear that space-
   based assets will catch up as quickly.  The second problem is that
   public key cryptography is consumptive of bandwidth.  A public key
   exchange technology that allows two communicating entities to derive
   a shared symmetric key by virtue of knowing each other's public keys
   and exchanging some random information is known as a Diffie-Hellman
   exchange.  However, the exchange of information must be performed in
   a near-real-time environment so that the shared key can be used to
   encrypt transmissions.  This is not practical in the IPN since there
   are no real-time exchanges of data on an end-to-end basis.

   However, the secure email community has realized that they also
   operate under a pony-express model. The secure email community has
   also realized that secure email may be sent to entities with which
   one has not previously communicated.  Therefore, there needed to be a
   base-level expectation of a common, minimal set of security services
   that both sides could use.

   The general technique used by the secure email community is that the
   sending entity decides what security mechanism(s) to employ (e.g.,
   encryption for confidentiality, digital signature for authentication
   and integrity, or both).  If the data to be sent via email is to be
   encrypted, the sender generates a random key that is used to encrypt
   the data and the data is encrypted.  The sender then either has in
   its possession the public key of the receiver, or queries a public
   key server (e.g., a public key infrastructure or PKI) to obtain the
   receiver's public key, which would be contained in a digital
   certificate. At the expense of additional bandwidth, the sender can
   transmit its digital certificate in the email message, which the
   receiver can verify as genuine based on the well-known certificate
   authority's signature on the certificate.  The key used to encrypt
   the data is encrypted using the public key of the receiver and the
   message is sent.  The receiver uses its private key to first decrypt
   the key used to encrypt the message and then uses the decrypted key
   to decrypt the data.

   When a digital signature is used, the sender calculates a hash of the
   message using a digest algorithm such as MD5 or the Secure Hash

Cerf, et al.             Expires November 2001                 [Page 39]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   Algorithm (SHA-1).  The resulting hash is then encrypted using the
   sender's private key.  The encrypted hash is sent along with the
   message data.  The receiver uses its copy of the sender's public key
   to authenticate the fact that the message was sent by the sender.

5.3.   Application of Secure Email Technology to the IPN

   Given that the IPN and electronic mail share the same operational
   paradigm, the IPN's notion of "bundle-space" is directly analogous to
   a secure email MIME body part.  As was previously explained, in
   secure email the contents of the message are encrypted using a
   symmetric key.  The actual message contents are "containerized"
   (which can be analogized to the contents being "bundled") into a MIME
   body part.  Additional MIME body parts are also attached which would
   contain the encrypted symmetric key and additional information needed
   for decryption.

   Therefore, the same security techniques can be applied to the IPN's
   notion of "bundle-space." It can be seen how bundle payload data
   carried through the IPN is equivalent to an email message.
   Therefore, the bundle payload data, like the email message, can have
   security services applied to it before being sent as a protected
   entity via bundling across the IPN.

   In essence, the really difficult part of deploying an IPN security
   solution based on secure email is the problem of deploying a public
   key infrastructure (PKI) in the IPN. Deploying a PKI on Earth is
   equally difficult as can be seen by the continuing problems faced in
   the various PKI pilot programs currently underway.

   On Earth, the problem is how do competing PKIs cross certify public
   keys and who acts as the root certification authority? (PKI is based
   on a tree hierarchy where a root certificate authority's public key
   is well known in order to certify public key certificates).  On
   Earth, when a user does not have the necessary public keys, the user
   can go off to a public key certificate server to obtain the needed
   certificates which contain digitally signed (i.e., certified and
   authenticated) public keys. In the case of email, the sender can
   attach its public key certificate as a MIME body part.  The receiver
   then validates the digital certificate and uses it to obtain the
   information contained in the message.  Eventually, a cache of digital
   certificates is formed containing the information needed to securely
   communicate among a cadre of entities without having to resort to the
   use of a key/certificate server.

   The IPN, however, will not have the luxury of being able to query on-
   line PKI certificate servers (at least not in the same sense as is
   being contemplated on Earth).  The problem is very much analogous to
   the one with the Domain Name System (DNS).  When a user sends a
   secured "bundle" to an IPN entity on another celestial body, we would
   not want the receiver to have to first query a PKI for a public key
   certificate on Earth to obtain the receiver's public key.  A local

Cerf, et al.             Expires November 2001                 [Page 40]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   PKI might exist. However there is the issue of the dynamic nature of
   such a server and the high likelihood that it would quickly drop out
   of synch.  It would seem reasonable that the public key certificates
   of the various space-based entities would not change often, but this
   could not be said about the Earth-based entities.

   An earth-based sender may be able to query a certificate authority to
   obtain a certificate for an IPN entity not located on earth.
   However, an IPN entity in space sending a bundle would not be able to
   perform such a query.  Therefore, it would appear that a set of pre-
   placed, cached certificates containing the public keys of those IPN
   entities that are expected to be communicated with would make sense.
   In addition, an IPN sender should always include its public key
   certificate as part of the bundled transmission across the IPN as is
   done using secure email.  This would "cost" us in terms of bandwidth
   (a typical X.509 public key certificate is about 1K bytes in size but
   can be larger when certificate chains are included).  However, by
   including the certificate, we can be assured that the receiver will
   not have to use any additional bandwidth, or incur any additional
   delays in making use of the transmitted data.

5.4.   Protecting IPN Data and the IPN Backbone Infrastructure

   The IPN will have few and precious resources.  Therefore, not only
   the user data flowing across the IPN will require security services -
   the backbone infrastructure itself will require similar services.  In
   order for the IPN infrastructure to be self-protecting, it must be
   built using the paradigm of mutual suspicion.  Mutual suspicion
   requires each entity of the IPN to not assume that another IPN entity
   with which it is communicating is a "friendly" entity.  That is, it
   should not assume that the IPN entity is who it claims to be without
   a verified means of identification.  Based on a verified identity,
   access controls can be performed to allow or disallow communications
   between entities.

   Infrastructure information such as routing updates, node management
   information, distribution of digital certificates, and certificate
   revocation lists need to be protected from unauthorized modification
   and potentially from unauthorized disclosure.  The IPN nodes would
   use the same mechanisms as are used to provide protection for user
   data - namely the security services available to a bundle aware
   application (e.g., a "bundle-agent").

   A bundle aware application would encrypt and/or digitally sign the
   IPN infrastructure payload to be transmitted to another IPN node.
   The signed and/or encrypted payload would then be presented to a
   bundle-agent that would prepare the payload data to be carried across
   the IPN in a bundle.  Potentially, the bundle-agent might also sign
   and/or encrypt for hop-by-hop security protection, which would allow
   each bundle-agent receiving the bundle to authenticate the identity
   of the transmitting bundle-agent.  This mechanism provides the
   ability to ensure that no other entity can masquerade as a rogue

Cerf, et al.             Expires November 2001                 [Page 41]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   bundle-agent.

   The bundle-agent residing at a ground-based IPN gateway should check
   the signature of the bundle payload to perform an access control
   check to limit access to the IPN only to those who are authorized to
   use it.  The access control check can be accomplished via an access
   control list.

   Finally, the receiving application would make the final security
   checks before accepting the data payload from the final receiving
   bundle-agent.  Should all the final checks succeed, the receiving
   application would then be free to consume the data.

6. Building a Stable Backbone for the IPN

   Just as the performance and capability of the terrestrial Internet
   are largely determined by the capacity and stability of its backbone
   links, so will the performance and capability of the Interplanetary
   Internet depend in large part on the capacity and stability of the
   interplanetary backbone.

   By "backbone" we mean a set of high-capacity, high-availability links
   between points of access to high-activity subnets.  In the
   terrestrial Internet, backbone links are typically between the high-
   activity subnets for cities such as Houston and Chicago.  In the
   Interplanetary Internet the backbone links will be between the high-
   activity "subnets" for planets such as Earth and Mars.

   But the IPN backbone will differ from familiar terrestrial backbones
   in several important ways.

   * The media by which information is transmitted obviously differ.
     Terrestrial backbone links used to be copper wire and are now
     optical fiber.  In the Interplanetary Internet, all information
     will be via radiation _ either RF or optical _ through empty
     space.
   * The nature of the connectivity between backbone points of presence
     (POPs) will be fundamentally different.  Terrestrial Internet
     connectivity is structural and relatively static: nodes are
     physically attached to fiber.  Interplanetary Internet
     connectivity will be operational, directed, and highly dynamic:
     radiation must be directed at the right moment toward nodes that
     are prepared to detect it, and the transmitting and receiving
     entities will be in continuous movement relative to one another.
   * The costs of deploying, repairing, and upgrading infrastructure
     will be much higher for the interplanetary backbone than for
     terrestrial backbones.
   * The costs of configuring, operating, and managing the
     interplanetary backbone will likely be somewhat higher than for
     terrestrial backbones.  One factor in this is the scarcity and
     high cost of electrical power at IPN nodes deployed off Earth.
   * Perhaps most important of all, the distances between nodes of the

Cerf, et al.             Expires November 2001                 [Page 42]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



     interplanetary backbone will be vastly greater than the distances
     between nodes of terrestrial backbones _ so great that the speed
     of light becomes a very significant constraint on backbone
     operations.

6.1.   Backbone Design Considerations

   The differences described above imply two general constraints on the
   design of the interplanetary backbone.

   1.
     Bandwidth is not free, or even cheap.  Reliable delivery cost per
     bit will be far higher across the interplanetary backbone than
     across any terrestrial backbone, so bandwidth must be thoughtfully
     allocated.  Both retransmission and forward error correction
     coding contribute to reliable delivery, but both cost bandwidth;
     we must seek a balance between the two that minimizes overall
     overhead.
   2.
     Interactive protocols don't work, at least not well.  Negotiation
     _ connection establishment, flow control, congestion control _ can
     easily take so long as to consume all available transmission time.
     Reliable, in-order stream delivery can be so severely delayed by
     retransmission latency as to be operationally useless.

   These design constraints, in turn, must be accommodated at four
   layers of the protocol stack.

   At the physical layer, the relevant research is in radiant RF or
   optical communication.  The physical infrastructure of the
   interplanetary backbone consists mainly of antennae, many of them
   mounted aboard orbiting or landed spacecraft, rather than cable in
   buried or undersea conduit.  In the near to medium term, the
   principal elements of this infrastructure will be Earth-based
   tracking stations, such as NASA's Deep Space Network, and the planned
   "Marsnet" of low-Mars orbiters plus a possible areostationary relay
   satellite.  In the long term these assets might be augmented by
   optical communication satellites orbiting Earth and/or other
   planetary bodies, and perhaps by additional relay satellites
   positioned at the LaGrange points of planetary orbits (possibly using
   solar sailing technology for autonomous station-keeping).

   Although this infrastructure will not be subject to some of the
   problems of terrestrial backbones _ for example, we needn't worry
   about backhoes cutting through underground fiber _ there will be
   other challenging operational issues.  Accuracy in pointing and
   transmission scheduling at the backbone antennae will be critical to
   assuring the most efficient use of these assets.  This means that all
   elements of the interplanetary backbone infrastructure must share a
   common understanding of (a) one another's orbital dynamics and (b)
   the current time.  The latter argues for the importance of reliable
   space-borne clocks, together with a protocol for frequent correction
   of clock drift based on current navigation data.


Cerf, et al.             Expires November 2001                 [Page 43]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   Moreover, there will be times at which connectivity between a given
   pair of backbone antennae will be impossible due to the interposition
   of large, radiant planetary bodies _ or worse, the sun.  These
   occultations will be predictable, given good models of orbital
   dynamics, but will nonetheless necessarily constrain the manner in
   which data flow through the backbone.

   At the link layer, the design issues are somewhat less exotic.  The
   interplanetary backbone will require link protocols that minimize
   overhead and that have no inherent expectations of low noise or low
   point-to-point transmission latency.  CCSDS protocol standards such
   as Proximity-1 are plausible candidates. They support robust encoding
   to reduce bit error rates, at some cost in bandwidth consumption.

   Our current thinking is that no interplanetary backbone functionality
   will be required at the network layer.  The reason for this is that
   we expect the endpoints of transport-layer protocol on the backbone
   to be in direct line-of-sight contact as discussed below; since there
   will be no intervening nodes to route through, there will be no need
   for routing functionality at the network layer.  [Selection of
   endpoints for point-to-point transport-layer communication does
   indeed imply the need for routing and network functionality, but this
   requirement is addressed at the Bundling layer above Transport.]

   Finally, the general constraints on the design of the interplanetary
   backbone mandate constraints on the protocol used at the transport
   layer.  The TCP transport protocol used in both the backbones and the
   subnets of the terrestrial Internet _ and of other planetary subnets
   of the IPN _ will not be suitable: connection negotiation and in-
   order stream delivery are incompatible with the enormous distances
   between nodes of the interplanetary backbone.

   As noted earlier, the bundle protocol residing just above the
   transport layer is by nature relatively optimistic about transmission
   success but it must have transport-layer-like properties, i.e., it
   must be able to recover from transmission failure at lower layers.
   The capacity for timeout detection and custodian-to-custodian
   retransmission has to be built into it.

   However, the bundle protocol's structural optimism would result in
   poor performance if such a capacity were exercised frequently.  That
   optimism has to be justified by the general trustworthiness of lower
   layers:

   * When the bundle protocol runs over TCP in a deployed internet,
     TCP's own retransmission regime automatically recovers from errors
     in the network and link layers, and only a failure in TCP itself
     will trigger retransmission at the bundle layer.

   * When the bundle protocol is operating over interplanetary
     distances, a similar level of trustworthiness must be provided by
     a new interplanetary transport protocol.

Cerf, et al.             Expires November 2001                 [Page 44]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001




   This protocol will necessarily be very different in operation from
   TCP.  For example, connection time within the interplanetary backbone
   will be too rare and valuable to squander in waiting for reciprocal
   traffic of any kind.  Consequently the basic mode of operation in the
   interplanetary transport protocol will be asynchronous: data will be
   issued continuously throughout each episode of connectivity, with
   return traffic _ acknowledgements and coordination messages _ matched
   up to the corresponding original data as it arrives.  Data will
   arrive at the final destination out of order (because retransmitted
   data will arrive late); in many cases, even out-of-order delivery to
   applications maybe preferable to waiting the minutes, hours, or even
   days required for complete, error-free acquisition of data.

   Fortunately, out-of-order delivery due to retransmission delay may be
   made relatively rare by forward error correction at the link layer.
   Only a failure in that error correction need trigger retransmission
   at the transport layer.

   Accurate timeout detection will be critical to the success of this
   retransmission regime.  Premature timeouts would result in
   unnecessary retransmission, consuming precious bandwidth and
   degrading link utilization; late detection of timeouts would delay
   both bundle delivery and the recovery of retransmission processing
   and storage resources.  We believe interplanetary transmission
   timeouts can be detected accurately, but only when round-trip times
   can be calculated from firm operational data rather than estimated
   from past experience: the extreme variability in round-trip time
   introduced by intermittent connectivity means that the total round-
   trip time for transmission N might be hundreds of times greater than
   that for transmission N _ 1.  The required operational data could in
   theory be provided regardless of the topological relationship between
   the Transport-layer endpoints, but we believe support for any model
   other than point-to-point, direct line-of-sight transmission between
   the endpoints will not scale.  [Note that accurate clock
   synchronization across the interplanetary backbone is as important
   for implementation of timeouts at the transport layer as it is for
   resource scheduling at the physical layer.]

   Any number of blocks of transport-layer data traffic might
   concurrently be in various stages of transmission and retransmission,
   so the aggregate storage space allocated to transmission state data
   and retransmission buffers might be very large.  Moreover, loss of
   this information due to (for example) an unplanned power cycle could
   abort any number of transmissions _ unlike an unplanned reboot of a
   TCP host, which will crash only the messages that are currently being
   transmitted on all open streams.  For these reasons, it may well be
   desirable to retain interplanetary transport protocol data in non-
   volatile storage rather than dynamic memory.

   In some cases a set of transport protocol agents _ e.g., the set of
   relay satellites orbiting a planet _ may be most useful if they can

Cerf, et al.             Expires November 2001                 [Page 45]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   operate in concert as a single "aggregate" entity.  By distributing
   the retransmission workload across multiple agents as they
   successively acquire connectivity to a common peer agent, this
   collective behavior might reduce the total elapsed time required to
   effect reliable completion of a large block.  If so, we'll
   additionally need some sort of application-layer coordination
   protocol operating among the members of this aggregate entity.

   Flow control and congestion control are possibly the least tractable
   interplanetary backbone design issues at the transport layer.  TCP's
   strategies are based on reciprocal message exchange that the large
   delays in interplanetary communication make generally impractical.
   Alternative approaches remain to be discovered.

7. Deployed Internets in the IPN

   We differentiate between two types of networks in the IPN: the long
   haul backbone and deployed internets.  The long haul backbone,
   described in the previous section, is characterized by long
   propagation times, due to the great physical separation among the
   communicating elements.  Its protocols are designed to operate
   efficiently in long-delay, intermittent-connectivity environments.
   As discussed in [ref: Why not TCP], as delays increase, the
   efficiency of the Internet suite steadily decreases until
   applications fail altogether due to embedded time outs.

   We designate a network to be a "deployed internet" if it meets the
   following criteria:

   * It has connectivity to an interplanetary gateway, and through that
     gateway can reach the interplanetary backbone or other deployed
     networks.
   * It has a communication environment that doesn't inherently
     preclude the use of (possibly enhanced) internet protocols.
   * It uses the Domain Name space as a common means of referencing
     objects and systems across deployed internets.

   This designation covers a wide range of possible configurations.  The
   following list provides examples of deployed internets:

   * A single lander that hosts an interplanetary gateway and a (real
     or virtual) lander-internal network;
   * A small number of cooperating robots on a planetary surface, such
     as a single lander and a single rover;
   * An orbiter, a lander, and a sample-return vehicle communicating
     among themselves and via interplanetary gateways hosted in the
     orbiter and/or the lander;
   * Multiple "cells" of robots on a planet surface communicating
     beyond line of sight via low-orbiting satellites that serve as
     relays and as interplanetary gateways;
   * Similar scenarios as above, but with one or more planet-stationary
     satellites serving as interplanetary gateways;

Cerf, et al.             Expires November 2001                 [Page 46]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   * Spacecraft-onboard networks that communicate with remote endpoints
     via interplanetary gateways;
   * The earth's Internet is the initial instantiation of a "deployed
     internet."

7.1.   Applications of deployed internets in the IPN

   It is appropriate to consider the types of activities that will
   exercise the deployed internets.  Clearly, we do not yet know all of
   the types of applications that will be used in deployed internets,
   but we do have a basic idea of some of the types of applications that
   will be used in the relatively near term.  In developing this notion
   of applications within deployed internets, we want to eventually
   develop the ability to characterize their use of the IPN in terms of
   arrival rates, data volume, latency and reliability requirements,
   number and location of producers, number and location of consumers
   (within the IPN), etc.  At this moment, we have only highly
   qualitative notions of these kinds of data.  Over time, we will
   develop a more quantitative representation of this traffic as an
   adjunct for testing.  The model that we develop will probably never
   accurately reflect the actual use of the IPN, because the use of the
   IPN will be affected by its availability:  users will adapt their
   usage patterns as their understanding of the network's capabilities
   develops.  We don't ever expect to hit this moving target, but we
   hope to come close enough to discover most of the usage-related
   issues that might exist.

   One of the primary uses of a deployed internet is to return science
   data from the point where it is collected to the point where it will
   be processed.  The processing point could be on a remote internet
   (say, on earth) or at some point in the local deployed internet.
   Depending on the resource availability at the gathering site versus
   the availability at the processing point, the transfer could be
   largely unprocessed data, shipped as a formatted stream or as a file.
   Alternatively, the data could be processed to reduce its transmission
   size, which would likely result in a file transfer operation.  Sizes,
   frequency, precise reliability requirements, and so forth remain to
   be determined.  However, in general, this data is not particularly
   time-sensitive (although the equipment may be quite sensitive to the
   amount of time that it takes to complete a transfer due to power
   considerations, which will be discussed later).

   Another primary application, the reporting of health and status
   telemetry, is typically accomplished via repetitive, unreliable
   transmission in today's spacecraft.  There is underway a slow
   evolution toward data-summarization on board spacecraft.  But there
   is, understandably, some resistance to filtering or summarizing data
   at the spacecraft, since in the event of a spacecraft catastrophe,
   data not previously transmitted is not available for post-mortem
   analysis.  An important aspect of current telemetry systems is its
   delivery characteristics, which are either "stream-oriented" or
   periodically delivered.  Mission operators perceive that "heartbeat"-

Cerf, et al.             Expires November 2001                 [Page 47]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   style information that is ancillary to a periodic or "continuous"
   stream of telemetry is an important characteristic that will not
   displace event-driven telemetry for the foreseeable future.

   A third type of application is the command and control of in-situ
   elements.  Command and control refers to the closed-loop control of
   remote systems.  The endpoints of the control loop could be separated
   by interplanetary space, as in the case of terrestrial commanding of
   a rover.  Alternatively, the endpoints could be in reasonably close
   proximity, but resident on physically separate platforms connected by
   wireless media.  This is the case when a lander controls a rover.
   These types of applications must be designed to accommodate the
   delays intrinsic in the network, but the network can permit more
   responsive control operations by providing qualities of service that
   mitigate those delays.  With command and control applications, data
   volumes tend to be fairly low, and the commands tend to be followed
   by responses (although in some instances, command responses are
   inferred from returned telemetry, described above).

   The final type of application we consider is telescience and the
   development of a "virtual presence."  This type of application is
   intended to synthesize great volumes of information about the local
   environment in order to allow earth-resident scientists, in-situ
   controlling robots, or eventually in-situ astronauts to interact with
   high-fidelity models of a portion of a remote environment. To an
   extent, this technology has already been used to assist in planning
   the Mars Pathfinder/Sojourner excursions (ref
   http://www.piercorp.com/Projects/mars/mars2.htm). However, the
   technology for fully exploiting this type of adjunct to exploration
   is still in development.  Terrestrial research into telepresence and
   tele-immersion (ref:
   http://www.advanced.org/tele-immersion/publications.html) may provide
   insight into the workload that this type of application might
   represent for the IPN.

7.2.   Characteristics of remote deployed internets in the IPN

   Although we consider the Earth's Internet to be the first instance of
   a deployed internet, the environmental characteristics affecting
   internets deployed in remote locations may differ significantly from
   those affecting Earth's Internet.  In examining these
   characteristics, we must differentiate between two different types of
   environments in the Earth's Internet: the traditional, "wired"
   environments; and the emerging mobile, ad hoc wireless environments.

   First and foremost among the environmental characteristics of note is
   that of power availability.  In the "wired" Internet on Earth, power
   is cheap and plentiful.  Power availability is more of an issue in
   terrestrial mobile, ad hoc networks (MANETs), because the mobile
   nodes operate using portable power sources, typically batteries.
   However, in terrestrial MANETs, the mobile nodes eventually have
   access to the same cheap and abundant sources of power that the

Cerf, et al.             Expires November 2001                 [Page 48]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   "wired" nodes use.  This is not the case for remote deployed
   internets (RDIs) in the IPN.  For the foreseeable future, the primary
   source of power for RDIs in the IPN will be the sun.  Solar power
   conversion is currently relatively inefficient, but even if dramatic
   improvements in conversion efficiency occur, the fact remains that as
   one moves away from the sun, the available power diminishes.  In the
   orbit of Mars, the average solar intensity is 590 W/m2, less than
   half of the 1370 W/m2 in Earth orbit [ref:
   http://powerweb.lerc.nasa.gov/pv/marspower.html ].  On the surface of
   a planet, the solar intensity is by seasonal variations, by dust
   build-up on solar panels, and by dust erosion of the solar panels
   over time.   As a result, power availability is and will be of
   overriding importance to all aspects of communication in RDIs, and
   will dictate a need for efficiency at all protocol layers.

   The signal-to-noise ratios (SNRs) experienced in the terrestrial
   wired Internet are currently very high, making loss due to data
   corruption a rare experience.  In terrestrial MANETs, SNRs are lower,
   due to both power availability and to node density.  In remote
   deployed internets, SNRs will be very low, due primarily to power
   availability.

   In the terrestrial wired Internet, the bulk of the routing
   infrastructure is fixed in terms of its location.  Conversely, in
   terrestrial MANETs, the infrastructure is deployed on an as-needed
   basis, and may be mobile.  In RDIs, this infrastructure is also
   deployable and mobile, but will have a large component of satellite-
   based resources.

   If we examine the transmission media in use, the terrestrial wired
   Internet uses primarily copper cable and optical fiber.  Terrestrial
   MANETs use free-space propagation in the radio frequency (RF) range
   or the infrared range of the electromagnetic spectrum.  In RDIs, we
   anticipate that free-space RF will be the primary communication
   medium, even for many permanent, immobile installations as they
   develop, due to the cost of landing, deploying, and maintaining cable
   or fiber.

   The cost characteristics of deployment, operations, repair of RDIs is
   not currently well understood.  However, deployment cost of anything
   that must be landed on the surface of another planetary body is quite
   high.  Correspondingly, repair or replacement costs of components of
   the RDIs are also high.  We do not yet have a clear understanding of
   how the operations costs of the RDIs will compare to the operating
   costs of terrestrial MANETs or of the terrestrial wired Internet.

7.3.   Effects of environmental characteristics on protocols for the
       IPN RDIs

   In considering how to deal with the anticipated operating environment
   for RDIs, we are encouraged that a significant amount of relevant
   research is currently under way to support protocols for terrestrial

Cerf, et al.             Expires November 2001                 [Page 49]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   MANETs.  This section briefly reviews some of the areas in which work
   is required, and is organized by protocol layer.

   At the physical layer, spectrum management is an issue that requires
   coordination.  There is currently no "Federal Communications
   Commission" or International Telecommunications Union that regulates
   use of radio-frequency spectrum outside of earth.  However,
   coordination of this sort is needed sooner rather than later, due to
   the attractiveness of certain frequency bands as a result of their
   free-space propagation loss and refractive characteristics [ref:
   private communication].

   The cost of landing equipment on remote planetary surfaces motivates
   designers to keep as much communication infrastructure in orbit as
   possible.  Low-orbiting satellites will be used extensively to
   support surface-to-surface communication and RDI-to-RDI
   communication.  Antenna design to support wideband communication
   between surface-based mobile nodes and these low-orbiting satellites
   is an area where research might yield great benefit.  Although we
   have heard of some research in these areas to support military on-
   the-move applications, we have seen nothing in detail and feel that
   it is an area that is ripe for additional study.

   At the link layer, management of low SNRs is of significant
   importance, with many areas of relevant research.  While many
   different coding schemes are available, it is not yet clear whether
   one of these is best for all RDI use or whether the QOS requirements
   of different types of traffic will dictate the use of different
   coding schemes on a per-packet basis.  Many codes are currently being
   considered, including convolutional coding, concatenated codes (such
   as Reed Solomon codes), and the emerging Turbo codes.  Each of these
   has different properties related to delay, residual error rate, and
   link acquisition characteristics.

   Resource reservation schemes at the media access level may be of
   significant importance in supporting closed-loop control operations.
   Some of these schemes have the benefits of providing bounded delays
   and of avoiding interference, which is important in power-constrained
   environments.

   Link-layer status detection and signaling (to upper layers) is
   important in resource-constrained environments. We believe that the
   link layers must detect and signal link availability, link capacity
   and congestion status, and current error conditions.  As the
   terrestrial cellular telephone industry becomes internet-enabled,
   some of these issues are beginning to be addressed in single-hop
   wireless environments.  There is also ongoing research of interest in
   MANETs and in DARPA-sponsored research [ref.
   ftp://ftp.rooftop.com/pub/apis/link_api.pdf ].

   At the network layer, there is a need for routing protocols to
   support both fast- and slow-moving mobile nodes.  The routing

Cerf, et al.             Expires November 2001                 [Page 50]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   protocols must be able to constitute and maintain networks comprised
   of a combination of fixed and mobile nodes.  Significant research in
   this area is currently being performed, and is being coordinated by
   the IETF's MANET working group [ref.
   http://www.ietf.org/html.charters/manet-charter.html ].

   Another area of relevant network-layer research concerns "vertical
   handoffs," which allow nodes to adapt to changes in available links
   or the resources available via particular links.  This work [ref.
   http://daedalus.cs.Berkeley.edu/publications/monet97.ps.gz ] is
   focused on "last-hop" use.  Its potential for use within wireless
   routers requires further research.

   As link layers enhance their capabilities to monitor and report their
   status internally to the network layer, network layer control
   protocols and algorithms must be enhanced to appropriately propagate
   this information to affected parties within the RDI.  This topic is
   an active research area, with some applicable work having been done
   within the SCPS project [ref: http://www.scps.org ].

   Just as resource reservation schemes within the link layer may be
   important mechanisms for providing bounded link-layer delays,
   resource allocation schemes at the network layer may also be
   important for providing such bounds on end-to-end communication
   within the RDI.  However, resource allocation and resource
   reservation within mobile wireless networks is still a subject of
   ongoing research.  Should wireless networks use the integrated
   services model of resource allocation?  Or should they use the
   differentiated services model?  It is relatively clear that
   guarantees of network capacity are not feasible in a highly dynamic
   environment.  However, the specification of operating ranges may be
   more tractable, and may provide useful services
   * To applications (by giving them feedback on available network
     capacity),
   * To the transport layer (by providing dynamic rate control
     information), and
   * To the network layer (by ensuring that resources are not over
     allocated in the non-bottleneck portions of the network).

   The applicability to MANETs of the current integrated services versus
   differentiated services models is the subject of ongoing research
   [ref: http://comet.ctr.columbia.edu/insignia/,
   http://www.cs.ucla.edu/~terzis/mobile.html].

   The networks that will be deployed remotely are truly without any
   fixed infrastructure.  Therefore, the elements of this network will
   need to establish and maintain the set of services necessary to
   bootstrap the network.  Self-configuration has relevance here in the
   areas of addresses allocation and management, name-to-address
   binding, and dynamic hierarchical organization.  There is ongoing
   research in all of these areas that is of potential utility, ref:
   http://www.ietf.org/html.charters/zeroconf-charter.html

Cerf, et al.             Expires November 2001                 [Page 51]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   http://www.ietf.org/html.charters/dhc-charter.html
   http://www.ietf.org/html.charters/svrloc-charter.html
   http://www.ietf.org/html.charters/dnsind-charter.html
   http://gershwin.utdallas.edu/publications].

   At the transport layer, there is a need for development of new
   protocols or extensions to existing protocols that are capable of
   participating in power efficient and mobility-aware communication
   schemes [ref:
   http://www.isi.edu/workshop/public_html/wmcw97/nsf4.html ].

   These enhanced transport protocols must be able to adapt to changing
   network conditions.  This applies in particular to adaptation of the
   protocol's behavior in order to meet application Quality of Service
   requirements.  Additionally, support is required for explicit
   signaling of and responses to changing network conditions such as
   link outages, congestion, and corruption trends.

   For the foreseeable future, some links in the RDIs will exhibit
   significant data rate asymmetry (on the order of 100s: 1).  The
   effective asymmetries may be even higher, since the low-capacity link
   may not necessarily be dedicated to supporting the movement of data
   across the high capacity link.  Accordingly, accommodation of
   significant data rate asymmetries will be required while still
   maintaining a high degree of power efficiency in the presence of
   errors.

   At the application layer, service location in mobile ad hoc networks
   is an issue that is closely related to self-configuration at the
   network layer, and is of current research interest, ref:
   http://www.ietf.org/html.charters/zeroconf-charter.html,
   http://www.ietf.org/html.charters/svrloc-charter.html ).
   This is important both in initial network startup, and also in the
   (potentially frequent) case that RDIs with low connectivity become
   partitioned, either expectedly or unexpectedly.

   Efficient, autonomous network management and control in RDIs is an
   area of interest.  There is some ongoing research in the area, ref:
   http://www.ietf.org/html.charters/disman-charter.html,
   ftp://ftp.ece.orst.edu:/pub/users/singh/papers/anmp.ps.gz
    that is of potential interest, but this is an area in which further
   research is required.

   Finally, monitoring the health and status of mobile nodes (not
   necessarily just the networking components) is of significant
   importance in RDIs.  The cost to land new elements on a planetary
   surface is extremely high.  Therefore, we are motivated to perform
   preemptive maintenance and to repair, rather than replace, failed
   parts.  The ability to perform these activities autonomously is an
   area where a significant amount of research is required (and sounds
   really fun).


Cerf, et al.             Expires November 2001                 [Page 52]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



7.4.   Summary

   The effects of power limitations in RDIs are significant and will be
   present in at least some portions of the IPN for the foreseeable
   future.  These effects strongly suggest the likelihood of some
   divergence from the standard internet suite of protocols that is in
   current use on Earth.  Whether these changes become the standard
   internet suite on Earth, as a result of the significant increase in
   the use of mobile, wireless internet nodes, remains to be determined.
   It is also likely that some of the RDIs that are deployed will use a
   model of organization that is substantially different than that
   employed in the Internet.  It may be that the IPN treats these
   networks as single, distributed nodes, but further investigation is
   required.

8. Working Conclusions

   With the increasing pace of space exploration, Earth will distribute
   large numbers of robotic vehicles, landers, and possibly even humans,
   to asteroids and other planets in the coming decades.  Possible
   future missions include lander/rover/orbiter sets, sample return
   missions, aircraft communicating with orbiters, and outposts of
   humans or computers remotely operating rovers.  All of these missions
   involve clusters of entities in relatively close proximity
   communicating with each other in challenging environments. These
   clusters, in turn, will be in intermittent contact with one another,
   possibly across interplanetary space.  This dual-mode communications
   environment: relatively cheap round-trips and more constant
   connectivity when communicating with "local" elements coupled with
   the very long-delay and intermittent connectivity with non-local
   elements has led us to the architecture just described, with the
   following working conclusions.

We need to use a "Pony-Express" model and bundles for interplanetary
communication

   For communicating between IPN domains such as Earth and Mars, the
   standard Internet protocols fail, both at the application and
   transport layers, mainly due to the large delays. Intermittent
   connectivity and bit error rate are also significant issues, but
   delay cannot be mitigated by any current means. Communicating over
   these distances requires a fundamentally different model that does
   not assume that round-trip-times are cheap.  To combat this we
   propose a "pony-express" model, where senders submit bundles
   describing entire transactions to the network, which then uses
   custody transfers to move bundles from node to node.  Under this
   model the sender has little or no expectation of real-time delivery
   of the bundle, which may be stored at intermediate nodes for
   arbitrary periods of time.  In time, the communications links
   connecting the various deployed internets will grow to form a stable
   interplanetary backbone network.


Cerf, et al.             Expires November 2001                 [Page 53]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



We can't support most legacy applications, even with application-layer
proxies

   SMTP (e-mail) is perhaps the only application that could possibly be
   tuned to work over interplanetary distances, but even SMTP has
   embedded timers that would have to be altered significantly before it
   would work.

Name tuples consisting of a routing part and an administrative part are
the means of reference

   To assist in interplanetary routing, we have introduced the notion of
   an IPN name tuple.  These tuples, each consisting of a topology-
   related routing part and an administratively controlled
   administrative part are the analog of IP addresses in the terrestrial
   Internet.  Just as with IP addresses, bundles carry these name tuples
   (source and destination) end-to-end.  The routing part of an IPN name
   tuple serves as an identifier of the destination internet and is
   consulted to find the next bundle-hop destination whenever the bundle
   is NOT in its destination IPN region.  The administrative part of an
   IPN name tuple serves the same function as DNS names in the
   terrestrial Internet, allowing symbolic names to be used in place of
   network-layer addresses.  For the IPN region that includes Earth, and
   possibly others, we envision using actual DNS names as the
   administrative parts of the tuples.

   This two-part naming approach has a number of advantages.  First, it
   explicitly allows routing information to be encoded in the IPN name
   tuple (in the routing part) without interfering with the
   administrative part.  Second, since the administrative parts of name
   tuples are only resolved in the destination IPN region,
   administrative parts of IPN names do not have to be exchanged between
   IPN regions for the purpose of routing.  Third, while all IPN nodes
   must be able to interpret the routing part of a name tuple, different
   name-to-address binding mechanisms for the administrative part can be
   used in the different regions.  Finally, decoupling the
   administrative parts of the various IPN regions from one another
   allows autonomy of the administrative naming in different regions.

IPN Nodes will be used as "impedance-matchers" between the (relatively)
rich environment of local communications and the long-delay
interplanetary environment

   We refer to the nodes that perform the store-and-forward operations
   on bundles simply as interplanetary nodes, and the bundle-agents on
   these nodes are responsible for routing bundles through the IPN.

We need flexible and bandwidth-efficient security (particularly
authentication and access control)

   For the foreseeable future, the Interplanetary Internet will be an
   expensive resource, and an irresistible lure to hackers.  For these

Cerf, et al.             Expires November 2001                 [Page 54]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   reasons, access to the IPN will need to be strictly controlled and
   IPN gateways and resources will need to authenticate commands sent to
   them.  In many cases, data privacy will be required by scientists to
   ensure that they get first access to the data from their instruments,
   and integrity will of course be required for command sequences and
   some telemetry return.  At the same time, the goal of the IPN is to
   allow scientists, researchers, and on occasion the general public,
   easy access to information from outside of Earth's domain.  These
   competing goals will require a flexible security scheme.

   In addition to being flexible, the security mechanisms used over the
   deep-space links will also need to be bit efficient.  Standard
   Diffie-Hellman exchanges cannot be used to generate traffic keys, as
   they require the exchange of several rounds of random information in
   near-real time.  Something similar to secure email may be a better
   approach, where the sender applies the appropriate security to the
   payload of a bundle and then attaches its public key certificate to
   the bundle.  This approach, while costly in terms of bandwidth, will
   allow the receiver to immediately authenticate/verify/decode the
   contents of received bundles.

The long-haul transport protocol used to carry bundles in interplanetary
space will be very different from TCP

   The transport layer that moves these bundles across interplanetary
   space will necessarily be very different from TCP, the predominant
   transport protocol in the terrestrial Internet.  Since bandwidth is a
   precious commodity in the IPN, the LTP must be "connectionless" in
   that it cannot wait a round-trip to establish a connection before
   beginning to send data.  It is quite possible that the LTP will
   provide partial data delivery where data with "holes" or errors is
   delivered to the application out of order instead of in order, as
   with TCP.  A major challenge of the LTP is how to perform flow and
   congestion control without timely feedback.

Deployed internets may or may not use internet protocols.

   For the "local" communications, between nodes on a spacecraft LAN,
   elements on the surface of a planet, or between elements on the
   surface and in orbit, for example, round-trip times are comparable to
   those in the terrestrial Internet.  In these cases, it is feasible
   and indeed very reasonable to use protocols like the standard
   Internet Protocols (TCP/IP).  Using an internet model, and perhaps
   even versions of the standard internet protocols themselves, will
   allow deployed devices to easily communicate with one another and to
   share a common communications infrastructure.  A common, shared
   infrastructure will free each mission from having to design, build,
   test, and operate its own custom communications system, and will pay
   off in terms of development time, development cost, mass,
   interoperability (reliability), and efficiency. Thus we envision the
   deployments of fragments that are similar to Earth's Internet to
   remote locations of interest.  Current advances such as Mobile IP and

Cerf, et al.             Expires November 2001                 [Page 55]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   SCPS that extend the internet model to include mobile nodes and
   stressed environments will be useful in these environments.

   At the same time, it may be advantageous to use protocols entirely
   foreign to the internet suite in an "RDI."  For example, it might be
   preferable in some instances to deploy a self-organizing sensor
   network in which only data sets, not individual nodes, are
   addressable.  We believe that the naming method under consideration,
   where each entity name is divided into an IPN domain part and a
   domain-specific part, would support these types of RDIs.  The
   mechanics of how to interface such a network with the rest of the IPN
   and whether/how such a network could be integrated with an RDI using
   internet protocols are topics of current discussion.

Terrestrial advances in Mobile Ad Hoc networking are necessary but
possibly not sufficient for RDIs

   There is a large and growing body of ongoing work in the IETF,
   universities, and government and private agencies to develop
   protocols for mobile ad hoc networks.  While much of this work will
   be directly applicable to the remotely deployed internets, RDIs will
   remain a breed apart from terrestrial wireless networks.  The main
   differences are in power and node density.  Terrestrial MANETs, while
   they may be power-starved, still have the prospect of recharging at a
   wall socket; elements of an RDI have no such expectation.  Secondly,
   the density of elements in an RDI may be low compared to a typical
   terrestrial MANET (although it is too soon to know that a "typical"
   terrestrial MANET will look like).  The node density may be so low in
   fact that real-time communications between members of the RDI may not
   be possible.  This will be the case if many landed elements
   communicate with one another via a small number of low-altitude
   orbiters, for example.

9. Security Considerations

   Security is an integral concern of the Interplanetary Internet.
   Section 5 of this document is devoted to examining the security
   requirements in the IPN, some potential approaches for securing data
   in the IPN, and some approaches for securing the backbone
   infrastructure of the IPN.


Cerf, et al.             Expires November 2001                 [Page 56]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



10. Authors' Addresses

   Dr. Vinton G. Cerf
   MCI WorldCom
   22001 Loudoun County Parkway
   Building F2, Room 4115, ATTN: Vint Cerf
   Ashburn, VA 20147
   Telephone +1 (703) 886-1690
   FAX  +1 (703) 886-0047
   Email vcerf@mci.net

   Scott C. Burleigh
   Jet Propulsion Laboratory
   4800 Oak Grove Drive
   M/S: 179-206
   Pasadena, CA 91109-8099
   Telephone +1 (818) 393-3353
   FAX  +1 (818) 354-1075
   Email Scott.Burleigh@jpl.nasa.gov

   Adrian J.  Hooke
   Jet Propulsion Laboratory
   4800 Oak Grove Drive
   M/S: 303-400
   Pasadena, CA 91109-8099
   Telephone +1 (818) 354-3063
   FAX  +1 (818) 393-3575
   Email Adrian.Hooke@jpl.nasa.gov

   Leigh Torgerson
   Jet Propulsion Laboratory
   4800 Oak Grove Drive
   M/S: T1710-
   Pasadena, CA 91109-8099
   Telephone +1 (818) 393-0695
   FAX  +1 (818) 354-9068
   Email Leigh.Torgerson@jpl.nasa.gov

   Robert C. Durst
   The MITRE Corporation
   1820 Dolley Madison Blvd.
   M/S W650
   McLean, VA 22102
   Telephone +1 (703) 883-7535
   FAX +1 (703) 883-7142
   Email durst@mitre.org


Cerf, et al.             Expires November 2001                 [Page 57]


Internet Draft       draft-irtf-ipnrg-arch-00.txt        May 2001



   Dr. Keith L. Scott
   The MITRE Corporation
   1820 Dolley Madison Blvd.
   M/S W650
   McLean, VA 22102
   Telephone +1 (703) 883-6547
   FAX +1 (703) 883-7142
   Email kscott@mitre.org

   Eric J. Travis
   Global Science and Technology, Inc.
   6411 Ivy Lane
   Suite 300
   Greenbelt, MD  20770
   Telephone  +1 (301) 474-9696
   FAX  +1 (301) 474-5970
   Email travis@gst.com

   Howard S. Weiss
   SPARTA, Inc.
   9861 Broken Land Parkway
   Columbia, MD 21046
   Telephone +1 (410) 381-9400 x201
   FAX  +1 (410) 381-5559
   Email hsw@columbia.sparta.com


Cerf, et al.             Expires November 2001                 [Page 58]