Internet Engineering Task Force                          S. Schuetz, Ed.
Internet-Draft                                                 R. Winter
Intended status: Experimental                                        NEC
Expires: March 17, 2008                                       L. Burness
                                                              P. Eardley
                                                                      BT
                                                              B. Ahlgren
                                                                    SICS
                                                      September 14, 2007


               Node Identity Internetworking Architecture
                       draft-schuetz-nid-arch-00

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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.

   This Internet-Draft will expire on March 17, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

Abstract

   This document describes a new proposal for a future Internet
   architecture.  Similar to many other proposals it employs a locator/
   identifier split to overcome the short-comings arising from the dual



Schuetz, et al.          Expires March 17, 2008                 [Page 1]


Internet-Draft         Node Identity Architecture         September 2007


   role of IP addresses.  Similar to the Host Identity Protocol, each
   node carries a unique, randomly self-generated identifier - the
   public part of a public/private key pair.  It can therefore directly
   be used for authentication and authorisation purposes.  Different
   from some other proposals, the Node Identity Internetworking
   architecture does not try to converge on a single (globally managed)
   address space, but instead accepts the co-existence of different
   networking domains - here called locator domains.  Routing within the
   architecture is based on a two-level approach.  First, routing within
   a locator domain is managed by the internal addressing and routing
   scheme of the locator domain.  Second, routing between locator
   domains involves specialized nodes at locator domain borders.  By
   grouping the nodes into locator domains, the effects of certain
   events such as mobility can often be localised, thus reducing the
   impact on the global network.


Table of Contents

   1.  Introduction and Motivation  . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Architecture Description . . . . . . . . . . . . . . . . . . .  6
     3.1.  Assumptions and Principles . . . . . . . . . . . . . . . .  6
     3.2.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.3.  Details  . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.4.  Mobility and Multihoming . . . . . . . . . . . . . . . . . 10
       3.4.1.  Node and Network Mobility  . . . . . . . . . . . . . . 10
       3.4.2.  Node and Network Multihoming . . . . . . . . . . . . . 11
   4.  Protocol Sketch  . . . . . . . . . . . . . . . . . . . . . . . 12
     4.1.  NID Registration Protocol  . . . . . . . . . . . . . . . . 12
       4.1.1.  Recursive Operation  . . . . . . . . . . . . . . . . . 12
       4.1.2.  Iterative Operation  . . . . . . . . . . . . . . . . . 13
     4.2.  Data Packets . . . . . . . . . . . . . . . . . . . . . . . 14
       4.2.1.  Stateless Operation  . . . . . . . . . . . . . . . . . 15
       4.2.2.  Stateful Operation . . . . . . . . . . . . . . . . . . 15
   5.  Open Design Issuses  . . . . . . . . . . . . . . . . . . . . . 16
   6.  Report on Prototype Implementation . . . . . . . . . . . . . . 17
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 18
   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 18
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 18
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 19
     10.2. Informative References . . . . . . . . . . . . . . . . . . 19
   Appendix A.  Document Revision History . . . . . . . . . . . . . . 19
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20
   Intellectual Property and Copyright Statements . . . . . . . . . . 21





Schuetz, et al.          Expires March 17, 2008                 [Page 2]


Internet-Draft         Node Identity Architecture         September 2007


1.  Introduction and Motivation

   The fundamental basis of today's Internet is the global deployment of
   the Internet Protocol (IP).  IP is very flexible in the sense that it
   runs over many link layer technologies and can carry many different
   kinds of data traffic over it.  However, IP also has some limitations
   by design as it relies on principles that do not reflect today's
   reality well.

   The dual role of an IP address serving as both a node's identifier as
   well as its locator in the network topology has a set of
   disadvantages.  A change of a node's IP address implies the change of
   its identity as seen by its peers.  Nodes, i.e. hosts and routers,
   are becoming increasingly mobile, in the sense that they appear in
   the network at different points-of-attachment over time, usually
   implying a change of a node's (or a node's interface's) IP address.
   Similarly, multi-homed nodes that attach to the network with
   different IP addresses through multiple interfaces appear in the
   network as having different identities or as being different entities
   altogether.  It is not possible to verify that a set of IP addresses
   or a changed IP address actually belong to the same node using IP
   alone.  These characteristics of IP have an impact on techniques to
   achieve e.g. session survivability or can lead to de-facto provider
   lock-in as re-numbering can become a quite complex and painful
   process.

   IP on its own does not provide support for authentication of a node
   (or packets) and also does not provide a means for data encryption.
   To bridge IP's security gap, IPsec [RFC4301] was developed to provide
   this functionality, but it is an "add-on" rather than an integral
   design part of the architecture and therefore experiences problems,
   e.g. when traversing middleboxes such as Network Address Translators
   (NATs) or firewalls.

   The attempts to migrate to IPv6 together with the proliferation of
   NAT:ed private address space have shown that a new architecture must
   support multiple address domains and networking technologies, rather
   than trying to unify on a single address space and single technology.
   In other words, the architecture needs to brigde over heterogeneous
   domains.  This is to some extent the original internetworking problem
   that IPv4 once solved, but which over time has reappeared.  We must
   also conclude that there is no benefit in introducing yet another
   global, managed address space to solve this bridging problem, since
   that will not provide significant advantage over the IPv6 address
   space.

   This draft introduces the Node Identity Architecture
   [nid-global-internet], which is designed to address the above



Schuetz, et al.          Expires March 17, 2008                 [Page 3]


Internet-Draft         Node Identity Architecture         September 2007


   described challenges.  Its key characteristics and ingredients are:

   o  an identifier/locator split

   o  a node's "node identity" is the public part of a randomly, self-
      generated public/private key pair

   o  multiple locator domains, which may use different addressing
      schemes, are intrinsically supported, where at locator domain
      borders a process similar to twice-NAT is performed

   o  there is a relatively stable core locator domain, via which a node
      can reach any other node

   o  a global name resolution system mapping node names to the
      identities of the node and the router in the core though which the
      node can be reached

   o  there is a default mechanism for installing routing information
      for a node (based on the default route to the core locator domain
      and the reverse path).  Other routing mechanisms for more optimal
      routes are out of scope of this draft

   This draft describes the high-level approach taken by the Node
   Identity architecture, its principal mechanisms and outlines its
   general functionality by example.  The Node ID architecture is in
   line with many of the goals of a future Internet architecture as
   described in [I-D.irtf-rrg-design-goals], although a detailed
   analysis is out of scope.  Some goals are addressed explicitly such
   as security, others more implicitly such as the expected benefits of
   the general ID/LOC split approach including the possibility to
   aggressively aggregate prefixes in the default-free zone (DFZ) of the
   Internet.  In addition, the Node Identity Internetworking
   architecture naturally supports the bridging of heterogeneous
   networking domains, such as ones based on IPv4 and IPv6 as described
   in later chapters.  It further does not mandate the introduction of
   an additional managed namespace and it supports multiple levels of
   hierarchy.  Further details will follow in subsequent versions of
   this and additional drafts.


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119]

   Terms and abbreviations special to this document are defined in



Schuetz, et al.          Expires March 17, 2008                 [Page 4]


Internet-Draft         Node Identity Architecture         September 2007


   Table 1 and Table 2.

   +------------+------------------------------------------------------+
   | Node       | General term for end-host or router.                 |
   |            |                                                      |
   | Locator    | A network domain with a consistent internal          |
   | Domain     | addressing and routing system.                       |
   |            |                                                      |
   |            |                                                      |
   | Node       | Identifies a node within the architecture; the       |
   | Identity   | public part of a randomly self-generated             |
   |            | public/private key pair                              |
   |            |                                                      |
   | Node       | A fixed-length hash of the node identity.  Used to   |
   | Identity   | register a node and make it reachable outside its    |
   | Forwarding | own locator domain(s).                               |
   | Tag        |                                                      |
   |            |                                                      |
   | Node       | A border router that connects locator domains and    |
   | Identity   | makes forwarding decisions based on either the       |
   | Router     | routing hint or the Node Identity Forwarding Tag.    |
   |            |                                                      |
   | Core Node  | A border router that has an interface attached to    |
   | Identity   | the core locator domain.                             |
   | Router     |                                                      |
   |            |                                                      |
   | Routing    | A forwarding token mainly used to traverese the core |
   | hint       | locator domain towards a core node identity router   |
   |            | through which a destination node is reachable.       |
   +------------+------------------------------------------------------+

                           Table 1: Definitions

                  +------+------------------------------+
                  | CNR  | Core Node Identity Router    |
                  | ID   | Identity                     |
                  | LD   | Locator Domain               |
                  | LS   | Routing hint lookup system   |
                  | NID  | Node Identity                |
                  | NIFT | Node Identity Forwarding Tag |
                  | NR   | Node Identity Router         |
                  | NS   | Global naming system         |
                  +------+------------------------------+

                          Table 2: Abbreviations






Schuetz, et al.          Expires March 17, 2008                 [Page 5]


Internet-Draft         Node Identity Architecture         September 2007


3.  Architecture Description

3.1.  Assumptions and Principles

   Each node within the Node Identity Architecture carries a unique
   identity, the Node Identity or NID in short.  The NID is the public
   part of a randomly self-generated public/private key pair.  This
   allows the use of the NID for authentication purposes.  The NID is a
   flat label and does not contain any topological semantics.  In
   addition, a node has one or several locators.  In contrast to the
   NID, the locators usually have topological semantics.  The locator is
   used to route messages to the node within its network.  It can be
   e.g. an IPv4 or IPv6 address.  The locators of a node may be assigned
   to one or multiple interface and can be of different kind.

   A key assumption in the Node Identity Internetworking architecture is
   the co-existence of independent locator domains.  A locator domain
   (LD) has a consistent internal addressing and routing system.  Nodes
   within one LD can freely communicate, only relying on internal
   services of the LD.  Different LDs may employ different networking
   technologies, in particular IPv4, IPv6, global and private address
   spaces, so an LD boundary may also be a technology boundary.  The
   Node Identity Internetworking architecture does not aim to unify the
   global network into a single, globally deployed networking
   technology, but accepts or even encourages the existence of different
   networking domains.  E.g. the global IPv4 network can be seen as one
   LD.  Private, NAT:ed networks can be seen as separate LDs.

   A second assumption is that connectivity between locator domains is
   dynamic, especially in the edge topology.  That is, the existence and
   characteristics of connectivity between two locator domains, and
   between nodes and locator domains, may change dynamically on
   relatively short timescales, due to routing changes, mobility or
   multi-homing events or provider change of nodes or networks.

   A third assumption is that there will be a "core" LD, that is rather
   static.  It can be compared to the current IPv4 backbone.  Dynamicity
   - such as frequent (node or network) mobility and routing changes -
   is rather expected to happen closer to the edge of the topology.

   Similar to many other new network architecture proposals, the Node
   Identity Internetworking architecture is based on a naming scheme
   separating the node's identity from its locator or address.  In this
   respect, it is very similar to the Host Identity Protocol [RFC4423].
   Routing inside an LD is performed on LD-internal locators such as
   IPv4 and IPv6 addresses.  When routing across LD boundaries
   forwarding is performed on forwarding tokens generated from the node
   ID (by e.g. hashing the node's public key) - the Node Identity



Schuetz, et al.          Expires March 17, 2008                 [Page 6]


Internet-Draft         Node Identity Architecture         September 2007


   Forwarding Tag (NIFT) -, similar to the host identity tag employed in
   HIP.  This approach will be explained in much more detail in later
   chapters.

3.2.  Overview

   As already mentioned, the Node Identity Internetworking Architecture
   groups nodes into so-called locator domains or LDs in short.  To
   recap, an LD is defined as a network domain with a consistent
   internal addressing and routing system, that means nodes can
   communicate without relying on any service that is external to the
   network domain.  This also implies that a single LD has only one type
   of locator, e.g.  IPv4 or IPv6 addresses.  Note that one node can
   belong to more than one LD if it has more than one locator.

   A locator within one LD has absolutely no meaning within another LD,
   even if the two LDs employ the same internal addressing and routing
   system.  As a consequence, overlapping locator/address spaces are not
   an issue anymore and locators do not need to be globally managed.
   They only need to be unique within a single LD.

   Routing within the Node Identity Internetworking Architecture follows
   a two-level approach:

   o  Routing between nodes within an LD is solely based on the internal
      routing scheme of the respective LD.  Each LD can therefore have a
      different routing scheme.

   o  When crossing LD borders, the routing is based on the NID of the
      node, or more precisely on a fixed-length hash of its NID - the
      NID Forwarding Tag (NIFT) -, or on a so-called routing hint, which
      can also be a NIFT in the simplest case.

   The nodes that are attached to more than one LD and perform routing
   between the LDs are called Node Identity routers, or NRs for short.
   More details are given in Section 3.3.  Note that within an IP-based
   LD two NRs can be multiple IP-hops apart from each other.

3.3.  Details

   Figure 1 presents a small example topology that will be used to
   describe the Node Identity Internetworking Architecture in more
   detail.  It shows one core LD (LD1) that is supposed to be rather
   static.  In addition, there are two more LDs (LD2 and LD3) that are
   attached to the core LD through NRs (NR1 and NR2).  LD4 and LD5 are
   attached to LD3 through NR3 and NR4.  In addition, three other nodes
   A, B and C are present and belong to LD2, LD4 and LD5 respectively.




Schuetz, et al.          Expires March 17, 2008                 [Page 7]


Internet-Draft         Node Identity Architecture         September 2007


                        /--------------\
                       /                \
                      /    LD1 (core)    \
                     /                    \
                     \   ------  ------   /
                      \  | NS |  | LS |  /
                       \ ------  ------ /
                    ----\--------------/-----
                   ( NR1 )             ( NR2 )
           /-------\-----               ----/-------\
          /         \                      /         \
         X    LD2    X                    X    LD3    X
          \         /                      \         /
           \-------/                    ----\-------/-----
               |                       ( NR3 )      ( NR4 )
             +---+              /-------\----        ----/-------\
             | A |             /         \              /         \
             +---+            X    LD4    X            X    LD5    X
                               \         /              \         /
                                \-------/                \-------/
                                    |                        |
                                  +---+                    +---+
                                  | B |                    | C |
                                  +---+                    +---+


                        Figure 1: Example topology

   Nodes within one LD, as described before, can directly communicate
   using the LD internal addressing and routing scheme.  As an example,
   in the above figure node A can directly talk to NR1.  To be reachable
   from outside their own LD, nodes need to register their NIFT along a
   chain of NRs starting from their own, local LD to a NR connected to
   the core LD.  The NRs connected to the core are called core NRs (NR1
   and NR2 in Figure 1) and have a special role as will be described
   later.  During the registration process, the NRs use the registration
   information to set up a route from the node to the core NR and vice-
   versa.  After this process has finished, a packet that needs to be
   delivered to a node can be routed along that path once it reaches the
   destination node's core NR.  To illustrate this process, node A in
   Figure 1 would only need to register with its local Node ID router
   NR1.  Packets arriving at NR1 destined for A can be delivered to A,
   as it has registered its locator, which is only valid within LD2
   together with its NIFT.

   To actually get to NR1 from somewhere across the core network, e.g.
   from NR2, the Node Identity Internetworking Architecture employs so-
   called routing hints.  Routing hints are tags that are used by any



Schuetz, et al.          Expires March 17, 2008                 [Page 8]


Internet-Draft         Node Identity Architecture         September 2007


   core NR to retrieve the core locator (e.g.  IPv4 address) of a
   destination's core NR.  In the simplest case, the routing hint for a
   specific node is the NIFT of its core NR.  To explain it with the
   help of Figure 1, a packet that arrives at NR2, destined for node A
   needs to be delivered to NR1 first as it holds the mapping between
   node A's NIFT and its LD2-internal locator.  Similar to other ID/
   LOC-based approaches, either a lookup system is needed to retrieve
   NR1's locator or, within the core, all core NRs need to hold this
   state about all other core NRs.

   Assuming the destination node is registered and both core NRs "know"
   each other or their NIFT can be resolved into a locator inside the
   core LD, a source node still needs to retrieve the destination
   nodes's NIFT and routing hint before communication between the two
   nodes can be initiated.  The Node Identity Internetworking
   Architecture therefore requires a global naming system that maps a
   fully qualified domain name (FQDN) into a node's NIFT and a node's
   routing hint.  The source node then needs to lookup the FQDN to
   receive these parameters before establishing communication.  DNS is a
   candidate for such a naming system.

   As a complete example, if node A in Figure 1 wants to contact node B,
   the following actions need to be performed:

   1.  A sends a request to the global naming system (NS) to resolve the
       FQDN for B. This query returns B's NIFT and B's routing hint,
       i.e. in this case NR2's NIFT.

   2.  As A does not know where B is located it sends the packet to its
       default NR (NR1).  The packet contains B's NIFT and B's routing
       hint.

   3.  NR1 also does not know where B is located (as it is not B's core
       NR) and checks the routing hint, which is NR2's NIFT.

   4.  NR1 either sends a request to the routing hint lookup system (LS)
       to resolve B's routing hint into NR2's locator (e.g.  IPv4
       address) or it has state for this mapping itself and can readily
       forward the packet to NR2.

   5.  NR1 forwards the packet to NR2.

   6.  NR2 knows from the registration information that B registered
       through NR3 and forwards the packet to NR3.

   7.  NR3 knows from the registration information that B is in its
       local LD and directly delivers the packet to B.




Schuetz, et al.          Expires March 17, 2008                 [Page 9]


Internet-Draft         Node Identity Architecture         September 2007


3.4.  Mobility and Multihoming

   The Node Identity Internetworking Architecture can support a number
   of different protocol implementations and options for both routing
   and registration protocols.  For example, registration can be
   recursive or iterative and there are protocol options that require
   more state than others (see Section 4).  To a certain degree, the
   impact on mobility and multihoming depends on the chosen options.
   This section describes some of these implications.

3.4.1.  Node and Network Mobility

   A node can move within its locator domain without impacting the Node
   ID architecture outside the LD itself.  If locator changes occur
   within the LD, they have to be handled LD-internally, for example by
   refreshing the registration state inside the local NR or employing
   some mobility scheme locally.  The sizing and layout of an LD
   therefore has some impact on the mobility handling.  This fact could
   be used e.g. by a radio access network operator, giving the operator
   full control over the mobility mechanism employed without affecting
   the rest of the network not belonging to the operator when mobility
   events occur.

   When a node changes its attachment to a new locator domain, it needs
   to register with the new network.  Depending on the topology overlap,
   the registration might reach a router which already knows the node
   re-registering.  At this point, the registration process can stop -
   thus the effect of movement can be localized.  Stale registration
   state will eventually time out, or explicit de-registration messages
   could be sent.  Taking Figure 1 as an example and assuming node B
   attaches to LD5, then B's registration would eventually reach NR2
   making B globally reachable again without having to propagate any
   information about the mobility event beyond NR2.

   If mobility causes a node to change the core NR it is attached to,
   and assuming the node is using the core NR's forwarding token as a
   routing hint, then the node would need to update the naming system
   (e.g.  DNS) that maintains its reachability record.

   When a network moves, its NRs will obviously need to make itself
   "known" to the locator domain it attaches to.  In addition, and more
   importantly, any registration state associated with nodes within the
   moving network needs to be correctly propagated towards, if possible,
   the old core NR to keep the overall registration overhead to a
   minimum.  In that respect, the consequences are similar to the node
   mobility case depicted before.  The nodes will not need to
   (re-)register in the local locator domain though.




Schuetz, et al.          Expires March 17, 2008                [Page 10]


Internet-Draft         Node Identity Architecture         September 2007


3.4.2.  Node and Network Multihoming

   A node with multiple interfaces could register in multiple locator
   domains simultaneously.  In case the registration has disjoint
   registration paths ending up at two separate core NRs, the node's
   reachability record, e.g. its DNS entry, should hold both possible
   routing hints.  A source node could then decide on a routing hint
   based on available criteria, such as possibly taken from the
   reachability record.  In case registration paths overlap, routers
   receiving registrations for the same forwarding tag from different
   sources could perform traffic engineering based on policies.

   A key requirement in today's Internet is network multi-homing.
   Network multi-homing can be done in a number of different ways as
   shown in Figure 2.  A network may be multi-homed to its provider
   network for example having multiple NRs connecting the two networks
   (NR5 and NR6 in Figure 2).  A network may also be multi-homed in a
   way that it connects to two different provider networks (LD2 and LD3
   in Figure 2).  These provider networks in turn may or may not share a
   common core NR.


                          /---------------------------\
                         /                             \
                        /    LD1 (core)                 \
                       /                                 \
                       \                                 /
                        \                               /
                         \                             /
                          \---------------------------/
                       (NR1)      (NR2)        (NR3)
                  /------\          /-------\---   ---/-------\
                 /        \        /         \       /         \
                X   LD2    X      X     LD3   X     X    LD4    X
                 \        /        \         /       \         /
                  \------/          \-------/         \-------/
                      (NR4)      (NR5)     (NR6)     (NR7)
                          /---------------------------\
                         /                             \
                        /    LD5                        \
                        \                               /
                         \                             /
                          \---------------------------/
                                      |
                                    +---+
                                    | B |
                                    +---+




Schuetz, et al.          Expires March 17, 2008                [Page 11]


Internet-Draft         Node Identity Architecture         September 2007


                     Figure 2: Multi-homing topologies

   The registration process is the key in multi-homing and the
   description of the detailed operation is deferred to later draft
   versions.  This section merely depicts the way it is done
   conceptually.

   Depending on the implementation details either the node has the
   responsibility to carry out the necessary registrations or NRs take
   care of this process.  E.g. a service such as DHCP could advertise
   NR4 and NR5 to the node, which then registers at both.
   Alternatively, the NRs within an LD interact and exchange
   registration state to multi-home node B. Similarly, registration
   state can be propagated further up towards the core.  For example,
   when being multi-homed using NR5 and NR6 in Figure 2, in LD3 multi-
   homing can be done in different ways, depending on implementation
   details, policy and security considerations.  In addition, whenever a
   router receives registration state for the same forwarding tag
   relating to different routes, it can use it to perform traffic
   engineering on it or it can be used in case one of those multihoming
   options fails.


4.  Protocol Sketch

   This section sketches how protocols implementing the Node Identity
   Architecture can be designed.  It does not define the protocols in
   detail, but gives an overview of possible approaches and their
   implications.  Section 4.1 sketches the protocol for registering a
   node's NID in the network while Section 4.2 sketches the protocol for
   sending actual data packets.

4.1.  NID Registration Protocol

   A node that wants to be globally reachable needs to register its NID
   along a set of NRs from its own LD up to the core LD.  This
   registration follows a default route up to the core, and builds the
   route from the core NR to the node in its local LD.  The way NID
   registration is performed can be designed in a number of ways:
   recursive, iterative or in a mixed version.  The details are
   discussed in the following sub-sections.

4.1.1.  Recursive Operation

   In recursive operation, a node sends a registration request to its
   local (first hop) NR and waits for a response.  The local NR is then
   in charge of further registering the NID towards the core LD on
   behalf of the node.  The NRs should wait with sending a response



Schuetz, et al.          Expires March 17, 2008                [Page 12]


Internet-Draft         Node Identity Architecture         September 2007


   until they have received responses to the upstream requests, to
   inform the registering node about success or failure of the
   registration.  This is illustrated in Figure 3 for Node B registering
   at NR 3 and NR 2.


              +--------+         +-------+          +-------+
              | Node B |         | NR 3  |          | NR 2  |
              +--------+         +-------+          +-------+
                  |                  |                  |
                  |   Request(B)     |                  |
                  |----------------->|   Request(B)     |
                  |                  |----------------->|
                  |                  |                  |
                  |                  |   Response(OK)   |
                  |   Response(OK)   |<-----------------|
                  |<-----------------|                  |
                  |                  |                  |


                     Figure 3: Recursive Registration

   The advantage of recursive operation is that the node only needs to
   know or find a local NR.  Additionally, the scheme minimizes message
   round-trips.  In recursive mode however, the NRs need to perform
   registrations on behalf of other nodes.  That implies that, the nodes
   cannot influence where they get registered on the path towards the
   core.  Second, the NR must be authorized through some mechanism that
   it can register another node.

4.1.2.  Iterative Operation

   In iterative operation, a node that wants to be globally reachable
   registers its NID along a path towards the core LD one step at a
   time, as illustrated in Figure 4 for the same setup as in Figure 3.
   It needs to send one request after the other to each involved NR and
   receives an appropriate response.  Optionally, if there is no other
   lookup system available to find the right NRs, the response can
   include the (or a set of potential) next hop NR that needs to be
   contacted .











Schuetz, et al.          Expires March 17, 2008                [Page 13]


Internet-Draft         Node Identity Architecture         September 2007


              +--------+         +-------+          +-------+
              | Node B |         | NR 3  |          | NR 2  |
              +--------+         +-------+          +-------+
                  |                  |                  |
                  | Request(B)       |                  |
                  |----------------->|                  |
                  |<-----------------|                  |
                  | Response(OK,NR 2)|                  |
                  |                  |                  |
                  | Request(B)       |                  |
                  |------------------------------------>|
                  |<------------------------------------|
                  | Response(OK)     |                  |
                  |                  |                  |


                     Figure 4: Iterative Registration

   While the round-trip time for a full registration increases compared
   to the recursive operation, the iterative operation has different
   security properties and gives much more control of the path creation
   process to the end nodes - a node knows exactly at which NRs it gets
   registered or might even choose from several options.  As the node
   itself registers it can use its own key material to register at NRs.
   If the security credentials of the registering nodes are to be used
   for the registration process in general (e.g. within organizations),
   then the iterative operation does not need an authorization mechanism
   to enable the NRs to carry out subsequent registrations.

4.2.  Data Packets

   Data packets are routed on two levels.  Within an LD, they are routed
   with the common routing system applied within that LD.  At LD
   borders, routing is based on NIFTs.  This section discusses different
   options for routing the data packets across LD borders.

   The following sub-sections differentiate the options based on the
   state that a NR needs to hold.  In all proposals, NRs need to hold at
   least the forwarding state installed during NID registration, i.e.
   the default path from/to the core LD.  This state is present in the
   NRs, no matter whether there is actual data traffic present or not.

   In this context, a routing approach is called "stateless" if no
   additional state/forwarding information needs to be created or held
   by a NR when a pair of nodes starts communication.  On the other
   hand, a routing approach is called "stateful" if it requires to set
   up additional state/forwarding information in the NRs per
   communication pair or maybe even per communication session.  For



Schuetz, et al.          Expires March 17, 2008                [Page 14]


Internet-Draft         Node Identity Architecture         September 2007


   example, a NAT box needs to install port mapping information per
   communication session, i.e. it is stateful.

4.2.1.  Stateless Operation

   The first option is to include a new "NID header" in the data
   packets.  This header includes (among others) the NIFT of the
   destination node and the same for the source node (see Figure 5) in
   addition to source and destination routing hint, all acquired from
   the FQDN resolution operation mentioned earlier.  A NR - when
   receiving such a packet - checks the destination NIFT in the packet,
   to look up the next-hop NR or to send it directly to the destination
   node if it is in a local LD.


       ++-----+-----+---++-------+------+-------+------+---++-------+
       ||dstIP|srcIP|...||dstNIFT|dstHnt|srcNIFT|srcHnt|...||payload|
       ++-----+-----+---++-------+------+-------+------+---++-------+

       |--- IP header --||----------- NID header ----------|


            Figure 5: Example data packet within an IP-based LD

   The advantage of stateless operation for data packets is that a NR
   only needs to cache one entry per currently communicating destination
   NID, even if multiple sources communicate with it or run multiple
   sessions.  The disadvantage is the overhead in message size and
   processing by including a NID header in every packet.

   Note: The result of a lookup of a next-hop NR as described above may
   be cached for a short period for efficiency reasons, i.e. to prevent
   a time-consuming lookup for every data packet, which makes the
   approach more stateful again.  Still, this state can be dropped any
   time and re-created on demand.

4.2.2.  Stateful Operation

   With stateful operation, communicating endpoints first need to signal
   to each other in order to install forwarding state at every NR on the
   communication path.  NRs need to capture or read these signalling
   messages and install a mapping state for later data packets that do
   not include a NID header.

   An example for such an approach is HIP SPINAT [hip-spinat], which
   uses the SPI values in ESP packets [RFC4303] that are exchanged
   between peer nodes during the HIP base exchange [I-D.ietf-hip-base]
   to forward the HIP data packets, which are ESP encapsulated.



Schuetz, et al.          Expires March 17, 2008                [Page 15]


Internet-Draft         Node Identity Architecture         September 2007


   Using stateful operation reduces the header overhead compared to
   stateless operation, but also has some disadvantages.  It requires an
   explicit signalling before the data packets can be sent, which
   prolongs communication establishment.  It also makes the established
   communication more vulnerable to dynamics within the network, because
   every routing change - due to mobility or other reason - requires
   either to update installed state or install state at new NRs along
   the path.


5.  Open Design Issuses

   This document presents an initial version of the Node Identity
   Internetworking Architecture.  However, there is still a number of
   open design issues that need more detail and further discussion.
   This section gives an overview on the main open issues.  Different
   options for the various issues should be discussed in later versions
   of this draft or as separate follow-up drafts.

   Routing Hint:  The routing hint is a tag to find the locator of a
      core NR that is able to route towards the destination node.  This
      document uses a simple approach and proposes to use the core NRs
      NIFTs as the routing hint.  The architecture, however, can also
      support other types of routing hints.  Currently under
      investigation is the introduction of an LD identifier - or LD ID -
      such that nodes register only within their local LD, and a local
      NR needs to register the LD (instead of the individual NIDs)
      towards the core.  In that case, the routing hint would be the LD
      ID.

   Routing Hint Resolution System:  Core NRs need to be able to map a
      routing hint into a routable (core) locator.  In case of core NR
      NIFTs being the routing hint, it might be feasible to keep the
      mapping in every core NR.  However, depending on the number of
      core NRs or different types of routing hints, a specialized
      resolution system may need to be installed.  Such a system has not
      been designed yet, but could e.g. be based on DHT systems.

   Global Naming System:  The Node Identity Internetworking Architecture
      requires a global naming system that needs to be able to map FQDNs
      into a node's NID and a node's routing hint.  It is an open
      question whether this could also be implemented in two separate
      systems or should be integrated into a single one.  DNS would be a
      natural candidate for such a system, which would require the
      definition of additional resource records.






Schuetz, et al.          Expires March 17, 2008                [Page 16]


Internet-Draft         Node Identity Architecture         September 2007


   NID Registration Protocol:  The protocol design for a NID
      registration protocol is not decided yet.  As discussed in section
      Section 4.1, different messaging schemes could be used to design
      such a protocol.

   Data Packet Protocol:  Like the NID registration protocol, the
      protocol for sending data packets has not been defined yet.  As
      discussed in section Section 4.2, various options are available to
      for its design.


6.  Report on Prototype Implementation

   The concepts and design of the Node Identity Internetworking
   Architecture have been developed within the context of the EU/IST
   project Ambient Networks.  The project is also required to provide a
   first proof-of-concept implementation.

   In order to speedup the development process, the project decided to
   base the first prototype on an existing implementation for the Host
   Identity Protocol (HIP) [I-D.ietf-hip-base].  The reason for using
   HIP as a code base is that the Host Identity Protocol employs a
   similar identifier/locator split as the Node Identity Internetworking
   Architecture.  Basically, the Host Identity is used as a NID and the
   Host Identity Tag as the NIFT.

   The NID registration protocol is implemented as an extension to the
   HIP protocol.  It was extended with a new HIP control packet type and
   a few new HIP parameters.  The NID registration protocol was
   implemented in a recursive version as discussed in Section 4.1.

   The routing functionality is implemented as an extension to the
   previously existing HIP SPINAT implemenation [hip-spinat].  HIP
   SPINAT is a NAT implementation that multiplexes ESP data traffic
   based on the SPI values.  HIP SPINAT basically reads all passing HIP
   control packets to extract the SPI values exchanged between end-hosts
   during a HIP base exchange or HIP UPDATE procedure.  This
   functionality is modified to meet the needs of a NR.  Consequently,
   the data packet protocol is implemented in a stateful version as
   discussed in Section 4.2.  When two nodes start communication, they
   first execute an end-to-end HIP base exchange.  The NRs along the
   path read the exchanged SPI values, which are later on used to
   forward the ESP-encapsulated data traffic.  HIP control packets are
   forwarded by the NRs using an additional NID routing table which
   holds the forwarding information gathered by NID registrations.

   On IP-level, all packets (control and data) are always addressed to
   the next-hop NID node (either a NR or the destination node).  A NR



Schuetz, et al.          Expires March 17, 2008                [Page 17]


Internet-Draft         Node Identity Architecture         September 2007


   receiving the packet replaces or rewrites the IP header to address
   the packet to the next-hop NID node.

   Prototype implementation is still work in progress, but the current
   implementation is already able to handle tree-based LD structures.
   LDs can be IPv4 or IPv6 networking domains, having local or global
   addresses.  Within the testing environment, multi-hop communication
   across multiple NRs/LDs with different networking domain types has
   been succesfully tested.


7.  IANA Considerations

   This document includes no request to IANA.


8.  Security Considerations

   The Node Identity Internetworking architecture is based on
   cryptographic node identifiers similar to the Host Identity Protocol
   [RFC4423].  Therefore, the end-to-end security properties are -
   assuming proper protocol design - similar to those already expressed
   for the Host Identity Protocol [RFC4423] as it also employs a
   locator/identifier split with cryptographic identifiers.

   In addition, the NID registration process needs to be secured in
   various ways.  First, the NRs must be protected against spoofed
   registrations, which can be done by authenticating the registration
   using the cryptographic nature of the NID.  Second, NRs need to be
   DoS protected against registration floods.  Third, a node performing
   a NID registration needs a secure means to lookup the right NRs to
   register with.  Furthermore, depending on the design of the
   registration protocol, a recursive registration scheme needs a
   mechanism for authorizing NRs to perform registrations on behalf of
   other nodes.


9.  Acknowledgments

   The authors are partly funded by Ambient Networks, a research project
   supported by the European Commission under its Sixth Framework
   Program.  The views and conclusions contained herein are those of the
   authors and should not be interpreted as necessarily representing the
   official policies or endorsements, either expressed or implied, of
   the Ambient Networks project or the European Commission.

   The authors would like to thank Jarno Rajahalme and Hannu Flinck for
   their valuable comments that greatly helped to improve this document.



Schuetz, et al.          Expires March 17, 2008                [Page 18]


Internet-Draft         Node Identity Architecture         September 2007


10.  References

10.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

10.2.  Informative References

   [I-D.ietf-hip-base]
              Moskowitz, R., "Host Identity Protocol",
              draft-ietf-hip-base-08 (work in progress), June 2007.

   [I-D.irtf-rrg-design-goals]
              Li, T., "Design Goals for Scalable Internet Routing",
              draft-irtf-rrg-design-goals-01 (work in progress),
              July 2007.

   [RFC4301]  Kent, S. and K. Seo, "Security Architecture for the
              Internet Protocol", RFC 4301, December 2005.

   [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)",
              RFC 4303, December 2005.

   [RFC4423]  Moskowitz, R. and P. Nikander, "Host Identity Protocol
              (HIP) Architecture", RFC 4423, May 2006.

   [hip-spinat]
              Ylitalo, J., Salmela, P., and H. Tschofenig, "SPINAT:
              Integrating IPsec into Overlay Routing", In Proc.
              of Security and Privacy for Emerging Areas in
              Communications Networks (SecureComm '05)., Sept. 2005.

   [nid-global-internet]
              Ahlgren, B., Arkko, J., Eggert, L., and J. Rajahalme, "A
              Node Identity Internetworking Architecture", In Proc.
              of 9th IEEE Global Internet Symposium, Barcelona, Spain,
              April 2006.


Appendix A.  Document Revision History

   +----------+-------------------------------------------------------+
   | Revision | Comments                                              |
   +----------+-------------------------------------------------------+
   | 00       | Initial version.                                      |
   +----------+-------------------------------------------------------+




Schuetz, et al.          Expires March 17, 2008                [Page 19]


Internet-Draft         Node Identity Architecture         September 2007


Authors' Addresses

   Simon Schuetz (editor)
   NEC Laboratories Europe
   Kurfuersten-Anlage 36
   Heidelberg,   69115
   Germany

   Email: simon.schuetz@nw.neclab.eu


   Rolf Winter
   NEC Laboratories Europe
   Kurfuersten-Anlage 36
   Heidelberg,   69115
   Germany

   Email: rolf.winter@nw.neclab.eu


   Louise Burness
   BT Group Networks Research Centre
   B54/77 BT Labs
   Martlesham Heath, Ipswich  IP5 3RE
   United Kingdom

   Email: louise.burness@bt.com


   Philip Eardley
   BT
   B54/77, Sirius House Adastral Park Martlesham Heath
   Ipswich, Suffolk,   IP5 3RE
   United Kingdom

   Phone:
   Fax:
   Email: philip.eardley@bt.com


   Bengt Ahlgren
   Swedish Institute of Computer Science
   Box 1263
   Kista,   SE-164 29
   Sweden

   Email: bengta@sics.se




Schuetz, et al.          Expires March 17, 2008                [Page 20]


Internet-Draft         Node Identity Architecture         September 2007


Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





Schuetz, et al.          Expires March 17, 2008                [Page 21]