Internet DRAFT - draft-teraoka-ipv6-mobility-support

draft-teraoka-ipv6-mobility-support



HTTP/1.1 200 OK
Date: Tue, 09 Apr 2002 11:48:42 GMT
Server: Apache/1.3.20 (Unix)
Last-Modified: Fri, 20 Jan 1995 23:00:00 GMT
ETag: "3ddad5-6f0f-2f204070"
Accept-Ranges: bytes
Content-Length: 28431
Connection: close
Content-Type: text/plain




Internet Engineering Task Force                              Fumio Teraoka
INTERNET DRAFT                                                    Sony CSL
                                                            Keisuke Uehara
                                               University of Electro-Comm.
                                                           20 January 1995


                   Options for Mobility Support in IPv6
                draft-teraoka-ipv6-mobility-support-00.txt



Status of this Memo


        This document is an Internet-Draft.  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.''

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).



Abstract


        This memo describes a protocol for mobility support in IPv6[1].
   This protocol is based on the same concept of VIP[2], a protocol for
   mobility support in IPv4.  The basic concept in this memo is to separate
   identifiers and addresses.  A cache mechanism is employed for mapping
   between an identifier and an address so that most packets travel the
   optimal route.  TCP/UDP communicates with other hosts by specifying the
   identifiers.  Two options are added in the Hop-by-Hop Options Header to
   support mobility.  One option is used for data communication while
   another for control.  Each message has authentication data to prevent
   impersonation and guarantee the integrity of the mobile option headers.








Teraoka                    Expires: 20 July 1995                   [Page 1]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


1.  Introduction


        The basic concept for mobility support in this memo is to separate
   identifiers and addresses.  Both the identifier and the address have the
   same format.  The identifier of a mobile node never changes no matter
   where it moves.  The address of a mobile node specifies the point of
   attachment to the Internet.  The address is used only for packet
   routing, not for identifying the node.  The identifier can also be used
   as the default address.

   Two options are added in the Hop-by-Hop Options Header to support
   mobility.  One option is used for data communication while another for
   control.

   TCP/UDP specifies a node with the identifier, not with the address.  For
   routing optimization, each node has a cache called Address Mapping Table
   (AMT).  IPv6 resolves the identifier into the address by accessing AMT,
   and then forwards the packet based on the address.

   AMT entries are created/updated upon receiving/forwarding a packet with
   the mobility option after authenticating the packet, ie., AMT entries
   propagate along the communication path.  Since a node creates the AMT
   entry for the correspondent host once it receives a packet, most packets
   travel the optimal route.




2.  Terminology

        This memo uses the following terms:

      o  node.  The general term for both a host and a router.

      o  mobile node.  A node that changes the point of attachment to the
         Internet.

      o  address.  A number that specifies the point of attachment to the
         Internet.  An address is assigned to each network interface of a
         node.  In IPv6, a 128-bit number is used as the address[3].  The
         address of an interface changes when the node moves to another
         subnet.  The node must obtain an address by some method when it is
         connected to a subnet.

      o  identifier.  A number that uniquely identifies a node.  Each node
         has one identifier regardless of the number of network interfaces
         it has.  The identifier is immutable no matter where the node is
         connected in the Internet.  The identifier has the same format of
         the address and can be used as the default address of the node.




Teraoka                    Expires: 20 July 1995                   [Page 2]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


      o  home subnet.  The subnet indicated by the identifier of a mobile
         node.

      o  address resolution.  A function that maps an identifier to the
         corresponding address.

      o  address resolver.  A node that performs address resolution.  There
         are two types of address resolvers for a mobile node:

         - primary resolver.  An address resolver connected to the home
           subnet of a mobile node.  A mobile node notifies its primary
           resolver(s) of its identifier and the current address when its
           address changes.  A mobile node also periodically notifies the
           current address to its primary resolver(s).

         - temporary resolver.  An address resolver not connected to the
           home subnet of a mobile node.  A temporary resolver
           creates/updates its AMT upon receiving/forwarding a packet with
           the mobile option.

      o  address mapping table (AMT): A table that consists of entries,
         each of which holds the mapping information between an identifier
         and an address.  Each node should have an AMT for address
         resolution.



3.  Mobility Option Formats


        There are two options for mobility support in the Hop-by-Hop
   Options Header of IPv6.  The reason why these options are included in
   the Hop-by-Hop Options Header is to create or update AMT entries on
   every node along the packet forwarding path.


3.1.  Mobility Option for User Data


        The format of the mobility option for user data is depicted in
   Figure 1.  This option is included in all IPv6 packets carrying an upper
   layer PDU.












Teraoka                    Expires: 20 July 1995                   [Page 3]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


                                      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                      |  Option Type  |Opt Data Len=64|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                       Source Identifier                       +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Source Address Version                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Holding Time                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Timestamp                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                      Authentication Data                      |
      +                          (keyed MD5)                          +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                    Destination Identifier                     +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   Destination Address Version                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Figure 1: Mobility option for user data (Hop-by-Hop Option)




      o  Option Type.  The value is 0x2?, which means that this option is
         excluded from integrity computation of the authetication header[4]
         because the option data may change along the path.

      o  Option Data Length.  The length is 64 octets.

      o  Source Identifier.  A 128-bit number that uniquely identifies the
         source node regardless of the location, ie., regardless of the
         Source Address in the IPv6 header.




Teraoka                    Expires: 20 July 1995                   [Page 4]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


      o  Source Address Version.  A 32-bit number that specifies the
         version of the source identifier/address pair.  This number must
         be incremented monotonously when a new address is assigned.

      o  Holding Time.  A 32-bit number that specifies the time in second a
         node should keep the AMT entry for the source node of this packet.

      o  Timestamp.  A 32-bit number that specifies the time in second when
         the source node transmits this packet.  This field is used to
         prevent replay attack.

      o  Authentication Data. The result of keyed MD5 calculation.  A 128-
         bit number that authenticates the source node of this packet and
         guarantees the integrity of the option data.

      o  Destination Identifier.  A 128-bit number that uniquely identifies
         the final destination node regardless of the location, ie.,
         regardless of the Destination Address in the IPv6 header.

      o  Destination Address Version.  A 32-bit number that specifies the
         version of the destination identifier/address pair.



3.2.  Mobility Option for Control


        The format of the mobility option for control is depicted in Figure
   2.  This option is included only in the control packet.  The control
   packet should not include an upper layer PDU.
























Teraoka                    Expires: 20 July 1995                   [Page 5]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


                                      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                      |  Option Type  |OptDataLen=108 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                           Identifier                          +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                            Address                            +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Address Version                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Holding Time                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Timestamp                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |                                                               |
      |                      Authentication Data                      |
      |            (RSA digital signature and/or keyed MD5)           |
      |                                                               |
      |                                                               |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Figure 2: Mobility option for control (Hop-by-Hop option)




      o  Option Type.  The value is 0x0?, which means that this option is
         included in integrity computation.

      o  Option Data Length.  The length is 108 octets.

      o  Identifier.  A 128-bit number that uniquely identifies the node
         whose AMT entry should be created/updated.

      o  Address.  An IPv6 address of the node whose AMT entry should be
         created/updated.

      o  Address Version.  A 32-bit number that specifies the version of



Teraoka                    Expires: 20 July 1995                   [Page 6]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


         the Identifier/Address pair.

      o  Holding Time.  A 32-bit number that specifies the time in second a
         node should keep the AMT entry for the node specified by the
         Identifier field.

      o  Timestamp.  A 32-bit number that specifies the time in second when
         the source node transmits this packet.  This field is used to
         prevent replay attack.

      o  Authentication Data. RSA digital signature.  A 64-octets number
         that authenticates and guarantees the integrity of the option
         data.



4.  AMT Entry Format


        Each node should have an Address Mapping Table (AMT) for address
   resolution.  When a packet with the mobility option is
   received/forwarded, an AMT entry for the node specified by the Source
   Identifier field (in case of a packet with the mobility option for user
   data) or the Identifier field (in case of a packet with mobility option
   for control) is created/update.  When a packet is transmitted/forwarded,
   the destination address is modified if an appropriate AMT entry for the
   destination node exists.  The format of the AMT entry is depicted in
   Figure 3.


























Teraoka                    Expires: 20 July 1995                   [Page 7]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            status             |           reserved            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                           Identifier                          +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                            Address                            +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Address Version                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Holding Time                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Timestamp                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |                                                               |
      |                      Authentication Data                      |
      |            (RSA digital signature and/or keyed MD5)           |
      |                                                               |
      |                                                               |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 3: Address mapping table entry format




      o  Status.  The flags that show the status of this entry.  There are
         three flags as follows:

         -  invalid: this entry is invalid if this flag is on.  The reason
            why the invalid AMT entry exists is to detect a stale AMT entry
            on another node.

         -  home: the node that holds this AMT entry is connected to the
            home subnet of the node specified by this AMT entry.

         -  local: the node specified by this AMT entry is connected to the
            same subnet if this flag is on.



Teraoka                    Expires: 20 July 1995                   [Page 8]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


      o  Identifier.  The key of this entry.

      o  Address.  The current address of the node specified by the
         Identifier field.

      o  Address Version.  The address version of the Identifier/Address
         pair.

      o  Holding Time.  The value of this field is periodically
         decremented.  This entry is deleted when the value becomes zero.

      o  Timestamp.  The timestamp of the mobility option that
         created/updated this entry.

      o  Authentication Data.  The authentication data of the mobility
         option that created/updated this entry.



5.  Authentication Methods


        The mobility options use two authentication methods, keyed MD5 and
   RSA digital signature.  Keyed MD5 is used for end-to-end authentication
   of a packet with the mobility option for user data since it requires to
   share a secret common key between the authenticating node and the
   authenticated node.  RSA digital signature is used for authentication on
   intermediate nodes upon forwarding a packet with the mobility option for
   control.

   In the mobility option for user data, MD5 calculation covers the
   following fields: Source Address (in the IPv6 header), Source
   Identifier, Source Address Version, Holding Time, and Timestamp.  The
   key size is 128 bits.

   In the mobility option for control, digital signature calculation covers
   the following fields: Identifier, Address, Address Version, Holding
   Time, and Timestamp.  The key size is 512 bits.

   Protocols for key distribution is beyond the scope of this memo.




6.  Connecting to a Subnet


        When a mobile node is connected to a subnet, it obtains a temporary
   IPv6 address in the subnet by Address Auto-configuration.  Again, the
   identifier of the mobile node never changes.  The mobile node transmits
   an IPv6 packet with the mobility option for control to its home subnet.



Teraoka                    Expires: 20 July 1995                   [Page 9]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


   On the path of this packet, AMT entries for the mobile node is
   created/updated on intermediate nodes as well as the nodes in the home
   subnet.



6.1.  Procedures on a Mobile Node


        When a mobile node is connected to a subnet, it transmits an IPv6
   packet with the mobility option for control to its home subnet.  This
   packet should not include an upper layer PDU.  Each field is assigned as
   follows:

      o  Identifier: the identifier of the mobile node.

      o  Address: the temporary IPv6 address of the interface to be used.

      o  Address Version: the version number of the temporary IPv6
         address/identifier pair.

      o  Holding Time: the time in second for which the AMT entry for this
         mobile node should be kept.

      o  Timestamp: the current time at which this packet is transmitted.

      o  Authentication Data: RSA digital signature which covers the above
         five fields.



6.2.  Procedures on an Intermediate Node


        When an intermediate node receives a packet with the mobility
   option for control, it may execute the following procedures before/after
   forwarding the packet.

      1. Authentication: the intermediate node authenticates the packet if
         it has the public key of the mobile node specified by the
         Identifier field of the mobility option.  If the authentication
         succeeded, AMT modification is executed.

      2. AMT modification: the intermediate node creates an AMT entry for
         the mobile node specified by the Identifier field of the mobility
         option if it does not have the entry for the mobile node, or it
         updates the existing AMT entry if it has an obsolete AMT entry,
         ie., the Address Version of the mobility option is newer (larger)
         than that of the AMT entry.

         In case that an obsolete AMT entry exists, the intermediate node



Teraoka                    Expires: 20 July 1995                  [Page 10]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


         may broadcast the received packet to all interfaces it has.



6.3.  Procedures on a Boundary Node of the Home Subnet


        When a packet with the mobility option for control is received, a
   boundary node of the home subnet of the mobile node specified by the
   Identifier field of the option executes the authentication procedure and
   the AMT modification procedure described above, and then broadcasts the
   packet within the home subnet if it is a broadcast-type subnet.  If the
   boundary node had an obsolete AMT entry, it also transmits the packet to
   the address specified by the Address field of the obsolete AMT entry.



7.  Data Communication


        In data communication, the mobility option for user data is
   included in every IPv6 packet.  TCP/UDP specifies the destination node
   with the identifier.  Address resolution for the destination node is
   executed on the source node, an intermediate node, or a node in the home
   subnet of the destination node, and then the packet is routed to the
   destination node.



7.1.  Procedures on the Source Node


        The source node creates an IPv6 packet with the mobility option for
   user data.  In the option, the fields related to the source node (Source
   Identifier, Source Address Version, Holding Time, and Timestamp) are
   filled with appropriate values, and then authentication data is
   calculated and assigned to the Authentication Data field.

   A transmission request from the upper layer specifies the destination
   node with the identifier, not the address.  This destination identifier
   is assigned to the Destination Identifier field.  The source node
   attempts to resolve the destination identifier into the address by
   accessing the AMT.  If the AMT entry for the destination node exists,
   the address and the address version in the entry are assigned to the
   Destination Address field of the IPv6 header and the Destination Address
   Version field of the option, respectively.  If not, the Destination
   Address field of the IPv6 header is also assigned the identifier of the
   destination node, and the Destination Address Version field is assigned
   zero.





Teraoka                    Expires: 20 July 1995                  [Page 11]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


7.2.  Procedures on an Intermediate Node


        There are two procedures on an intermediate node upon forwarding a
   packet with the mobility option for user data, AMT modification and
   address resolution.

   In AMT modification, the AMT entry for the mobile node specified by the
   Source Identifier field of the option may be created/modified.  First,
   the intermediate node authenticates the packet if it has the common key
   of the source node.  If the authentication succeeded, the following
   procedures are executed.  If an AMT entry for the mobile node specified
   by the Source Identifier field of the option does not exist, it is
   created.  If there is an AMT entry holding obsolete information, it is
   modified in accordance with the values in the option.

   In address resolution, the Destination Address in the IPv6 header and
   the Destination Address Version field of the option may be modified.  If
   the AMT entry for the destination node of the packet exists, the
   Destination Address Version field of the packet is compared with the
   Address Version field of the entry.  If the entry has newer information,
   the Destination Address field of the IPv6 header and the Destination
   Address Version field of the option are modified in accordance with the
   entry.

   Note that the information related to the source node of the packet is
   used in the AMT modification procedure while the information related to
   the destination node of the packet is used/modified in the address
   resolution procedure.



7.3.  Procedures on the Destination Node


        The destination node executes the AMT modification procedure
   described above, and then it notifies the upper layer of the receipt of
   a packet with the identifier of the source node, not the address.



Author's Address:

   o  Fumio Teraoka
      Sony Computer Science Laboratory Inc.
      3-14-13 Higashigotanda, Shinagawa-ku, Tokyo 141, Japan.
      Phone: +81-3-5448-4380
      Email: tera@csl.sony.co.jp

   o  Keisuke Uehara
      University of Electro-Communications.



Teraoka                    Expires: 20 July 1995                  [Page 12]

draft-teraoka-ipv6-mobility-support-00.txt                  20 January 1995


      1-5-1 Chofugaoka, Chofu, Tokyo 182, Japan.
      Phone: +81-424-83-2161, ext. 4122
      Email: kei@cs.uec.ac.jp


References

   [1] S. Deering. "Simple Internet Protocol Plus (SIPP) Specification
       (128-bit address version)," Internet-Draft draft-ietf-sipp-spec-
       01.txt, Jul. 1994.

   [2] F. Teraoka, K. Uehara, H. Sunahara, and J. Murai. "VIP: A Protocol
       Providing Host Mobility," in CACM, Vol. 37, No. 8, Aug. 1994.

   [3] P. Francis, S. Deering, R. Hinden, and R. Govindan.  "Simple
       Internet Protocol Plus (SIPP): Addressing Architecture," Internet-
       Draft draft-ietf-sipp-routing-addr-02.txt, Jul. 1994.

   [4] R. Atkinson. "IPv6 Authentication Header," Internet-Draft draft-
       ietf-sipp-ap-04.txt, Aug. 1994.


































Teraoka                    Expires: 20 July 1995                  [Page 13]