[Docs] [txt|pdf] [Tracker] [Email] [Diff1] [Diff2] [Nits]

Versions: 01 02 03 04

Internet Engineering Task Force                              Fumio Teraoka
INTERNET DRAFT                                                    Sony CSL
                                                               3 June 1997


                         Mobility Support in IPv6

                 <draft-teraoka-ipv6-mobility-sup-04.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 to support mobility in IPv6.  The mobile
   node has an identifier (home address) and a temporary address (care-of
   address).  The IPv6 base header includes the temporary addresses so that
   the source and destination addresses are always topologically
   significant, while the identifiers are included in the Destination
   Options Header.  End nodes may have authentic cache information between
   identifiers and addresses for routing optimization.  This protocol
   introduces two new destination options: `Source Identifier' and
   `Destination Identifier', and also introduces two control packets using
   UDP.

1.  Introduction

   The mobility support protocol (Mobile-IP) in IPv4[1] has several
   problems.  The packet sent to the mobile node is always routed on
   redundant route.  Since the source address of the packet sent by the
   mobile node is not topologically significant, a firewall might discard
   such a packet and multicast routing based on reverse path forwarding is
   not applicable.  Thus, it is obvious that the architecture of Mobile-IP
   is not suitable for mobility support in IPv6.



Teraoka                  Expires: 3 December 1997                  [Page 1]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


   This memo describes a protocol to support mobility in IPv6.  This
   protocol is based on the same concept of VIP[2], a protocol for mobility
   support in IPv4.  The mobile node has an identifier (home address) and a
   temporary address (care-of address).  TCP/UDP uses the identifier to
   specify a node.  The IPv6 base header includes the temporary address of
   the mobile node so that the source and destination addresses are always
   topologically significant, while the identifier of the mobile node is
   included in the Destination Options Header.  End nodes may have
   authentic cache information between identifiers and addresses for
   routing optimization.  This protocol introduces two new destination
   options: `source Identifier' and `destination Identifier', and also
   introduces two control packets using UDP.

2.  Terminology

   This memo uses the following terms:

      node:

         The general term for both a host and a router.

      mobile node (MN):

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

      stationary node (SN):

         A node that does not changes the point of attachment to the
         Internet.  A stationary node also understands the mobility support
         protocol.

      correspondent node (CN):

         A peer with which a mobile node is communicating. A correspondent
         node may be either mobile or stationary.

      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
         to the Internet.  The identifier has the same format of the
         address and can be used as the default address of the node.

      home address:

         The identifier of a node can be thought of as the `home address',
         in the document[1].

      address:




Teraoka                  Expires: 3 December 1997                  [Page 2]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


         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 means when it is connected to
         a subnet.

      temporary address:

         Since the address of a node changes when the node moves to another
         subnet, an address can be called a `temporary address' of a node.

      care-of address:

         A temporary address is similar to a care-of address in the
         document[1].

      home subnet:

         The subnet indicated by the identifier (home address) of a mobile
         node.

      address mapping table (AMT):

         A table that consists of entries, each of which holds the mapping
         information between an identifier (home address) and an temporary
         address (care-of address) of a mobile node.  Each node may have an
         AMT for address resolution.

      address resolution:

         A function that maps an identifier (home address) to a temporary
         address (care-of address).

      primary address resolver (PAR):

         An address resolver is a node that performs address resolution.  A
         primary address resolver of a mobile node is an address resolver
         connected to the home subnet of the mobile node.  A primary
         address resolver advertises routing information for the mobile
         nodes it is managing.  A mobile node notifies its primary address
         resolver(s) of its identifier (home address) and the temporary
         address (care-of address) when its address changes.  A primary
         address resolver may be either a router connected to the home
         subnet or a host that has a `pseudo' network interface connected
         to the `pseudo' home subnet.

      home agent (HA):

         The primary address resolver is similar to the Home Agent (HA) in
         the document[1].



Teraoka                  Expires: 3 December 1997                  [Page 3]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


3.  Protocol Overview

   The protocol defined in this document has two types of packet formats:
   the data packet and the control packet (AMT Update Request/Reply
   packet).  The data packet is a IPv6 packet to carry an upper layer PDU,
   while the AMT Update Request/Reply packet is a UDP packet to update an
   AMT on Primary Address resolver (home agent) and the correspondent node
   (CN) when a mobile node (MN) moves to another subnet.

   When a MN moves to a subnet, it obtains a temporary address (care-of
   address) by some method such as DHCPv6[4], while its identifier (home
   address) remains unchanged.  The MN transmits an AMT Update Request
   packet to its Primary Address Resolver (home agent).  It may also send
   the AMT Update Request packet to each CN with which it is communicating.
   Since the AMT Update Request packet has the Authentication Header, the
   Primary Address Resolver (home agent) or a CN can have an authentic AMT
   entry for the MN.

   When a CN not having an AMT entry for a MN transmits a packet, the
   packet reaches the Primary Address Resolver (home agent) of the MN, and
   then the packet is forwarded to the temporary address of the MN by
   tunneling.  The MN learns that the CN does not have the AMT entry for
   the MN.  The MN sends an AMT Update Request packet with the
   Authentication Header to the CN.

   Once the CN has the AMT entry for the MN, it sets the temporary address
   (care-of address) of the MN in the IPv6 base header and adds the
   Destination ID option in the Destination Options header to specify the
   identifier (home address) of the MN.  This packet is forwarded to the MN
   along the optimal route.

   When a MN sends a packet, the temporary address of the MN is set in the
   Source Address field of the IPv6 base header while the identifier (home
   address) of the MN is included in the Source Identifier option in the
   Destination Options Header.  So the source address is topollogically
   significant.

4.  Option Formats

   This protocol introduces the `Source Identifier' option and the
   `Destination Identifier' option in the Destination Options Header.

4.1.  Destination Identifier Option Format

   The destination Identifier option specifies the identifier (home
   address) of the final destination node of a packet.  The format of the
   destination ID option is depicted in Figure 1.







Teraoka                  Expires: 3 December 1997                  [Page 4]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                      |  Option Type  |Opt Data Len=16|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                    Destination Identifier                     +
      |                  (Destination Home Address)                   |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Figure 1: Destination Identifier option (destination option)



      Option Type:

         0x0? which indicates that this option is included in integrity
         assurance computation of the Authentication Header[5].

      Option Data Length:

         The length is 16 octets.

      Destination Identifier.

         A 128-bit number that uniquely identifies the final destination
         node regardless of the location, i.e., regardless of the
         Destination Address in the IPv6 base header.

4.2.  Source Identifier Option Format

   The source Identifier option specifies the identifier (home address) of
   the source node of a packet.  The format of the source Identifier option
   is depicted in Figure 2.
















Teraoka                  Expires: 3 December 1997                  [Page 5]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
                                      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                      |  Option Type  |Opt Data Len=16|
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                       Source Identifier                       +
      |                     (Source Home Address)                     |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Figure 2: source Identifier option (destination option)



      Option Type.

         0x0? which indicates that this option is included in integrity
         assurance computation of the Authentication Header[5].

      Option Data Length:

         The length is 16 octets.

      Source Identifier.

         A 128-bit number that uniquely identifies the source node
         regardless of the location, i.e., regardless of the Source Address
         in the IPv6 Header.

5.  AMT Update Packet Formats

   The AMT Update packet is a UDP packet.  There are two types of AMT
   Update packets: Request and Reply.  The mobile node (MN) sends the AMT
   Update Request packet to its Primary Address Resolver (Home Agent) when
   it moves to another subnet.  The MN may also send the AMT Update Request
   packet to each correspondent node (CN) with which it is communicating.
   When the `Acknowledge' bit is set in the AMT Update Request packet, the
   receiver returns the AMT Update Reply packet to the source node.

5.1.  AMT Update Request Packet Format

   Figure 3 depicts the format of the AMT Update Request packet, which
   follows the IPv6 header and the UDP header.







Teraoka                  Expires: 3 December 1997                  [Page 6]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      Type     |S|A|    rsv    |           Lifetime            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Sequence Number (32)                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Identification (64)                      |
      +---------------------------------------------------------------+
      |                Identifier (Home Address) (128)                |
      +---------------------------------------------------------------+
      |           Temporary Address (Care-of Address) (128)           |
      +---------------------------------------------------------------+

               Figure 3: AMT Update Request Packet (UDP packet)



      Type:

         1 (Update Request)

      S (simultaneous):

         This bit requests that the receiver creates another AMT entry for
         the MN even if an AMT entry already exists.

      A (acknowledge):

         This bit requests that the receiver returns the AMT Update Reply
         packet to the sender.

      Lifetime:

         The number of seconds for which the receiver should hold this
         entry before expiration.

      Identification:

         This number is created by the MN and used for matching AMT Update
         Requests and AMT Update Replies.

      Identifier (home address):

         The identifier of the MN.

      Temporary Address (care-of address):

         The address that specifies the current location of the MN.





Teraoka                  Expires: 3 December 1997                  [Page 7]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


5.2.  AMT Update Reply Packet Format

   Figure 4 depicts the format of the AMT Update Reply packet, which
   follows the IPv6 header and the UDP header.

       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      Type     |      Code     |             rsv               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Identification (64)                      |
      +---------------------------------------------------------------+
      |                Identifier (Home Address) (128)                |
      +---------------------------------------------------------------+

                Figure 4: AMT Update Reply Packet (UDP packet)



      Type:

         2 (AMT Update Reply).

      Code:

         A value indicating the result of the AMT Update Request.

      Identification:

         The value in the Identification field of the AMT Update Request
         packet.  This value is used for matching AMT Update Requests with
         AMT Update Replies.

      Identifier (home address):

         The identifier of the MN from which the AMT Update Request packet
         was received.


5.3.  AMT Update Packets

   Figure 5 depicts the whole packet format of the AMT Update Request/Reply
   packet.  The AMT Update Request packet must include the Authentication
   Header[5] to allow the receiver to authenticate the sending MN and the
   integrity of the contents.









Teraoka                  Expires: 3 December 1997                  [Page 8]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


                         +--------------------------+
                         |     IPv6 Base Header     |
                         |- - - - - - - - - - - - - |
                         |  Authentication Header   |
                         +--------------------------+
                         |        UDP Header        |
                         +--------------------------+
                         | AMT Update Request/Reply |
                         +--------------------------+

                  Figure 5: AMT Update Request/Reply Packet



      IPv6 Base Header:

         - Source Address: the temporary address (care-of address) of the
           sending node.

         - Destination Address: the address of the target node.


      UDP Header:

         - Source Port: TBD

         - Destination Port: TBD


6.  Data Packet Formats

   Figure 6 shows data packet formats.  The packet shown in Fig.6-(a) is a
   normal IPv6 packet and used when a correspondent node (CN) sends a
   packet to a mobile node (MN).

     IPv6 Header:

       - Source Address: the address of the sending CN.

       - Destination Address: the identifier (home address) of the target
         MN.

   The packet sent by the CN reaches the Primary Address Resolver (Home
   Agent) of the MN and is encapsulated as shown in Fig.6-(b).

     Outer IPv6 Header:

       - Source Address: the address of the Primary Address Resolver (Home
         Agent).

       - Destination Address: the temporary address (care-of address) of



Teraoka                  Expires: 3 December 1997                  [Page 9]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


         the target MN.

   When a MN sends a packet to a stationary node (SN), the packet shown in
   Fig.6-(c) is used.

     IPv6 Header:

       - Source Address: the temporary address (care-of address) of the
         source MN.

       - Destination Address: the address of the target CN.

       - Source Identifier Option: the identifier (home address) of the
         source MN.

   The packet shown in Fig.6-(d) is used when a SN has the AMT entry for
   the target MN.

     IPv6 Header:

       - Source Address: the address of the source SN.

       - Destination Address: the temporary address (care-of address) of
         the target MN.

       - Destination Identifier Option: the identifier (home address) of
         the target MN.

   The packet shown in Fig.6-(e) is used when a MN has the AMT entry for
   the target MN.

     IPv6 Header:

       - Source Address: the temporary address (care-of address) of the
         source MN.

       - Destination Address: the temporary address (care-of address) of
         the target MN.

       - Source Identifier Option: the identifier (home address) of the
         source MN.

       - Destination Identifier Option: the identifier (home address) of
         the target MN.










Teraoka                  Expires: 3 December 1997                 [Page 10]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


                                            +------------------+
                                            | IPv6 base header |
                 +------------------+ - - - +------------------+
                 | IPv6 base header |       |                  |
                 +------------------+       |                  |
                 |   upper layer    |       |                  |
                 |  header & data   |       |                  |
                 +------------------+ - - - +------------------+
                    (a) CN to HA               (b) HA to MN

        +------------------+   +------------------+   +------------------+
        | IPv6 base header |   | IPv6 base header |   | IPv6 base header |
        |- - - - - - - - - |   |- - - - - - - - - |   |- - - - - - - - - |
        |  Src ID Option   |   |  Dst ID Options  |   |  Src ID Option   |
        +------------------+   +------------------+   |- - - - - - - - - |
        |   upper layer    |   |   upper layer    |   |  Dst ID Option   |
        |  header & data   |   |  header & data   |   +------------------+
        +------------------+   +------------------+   |   upper layer    |
           (c) MN to SN           (d) SN to MN        |  header & data   |
                                                      +------------------+
                                                           (e) MN to MN

                             Figure 6: Packet formats

7.  AMT Entry Format

   Each node may have an Address Mapping Table (AMT) for routing
   optimization and fault tolerance of network partitioning.  When a node
   receives the AMT Update Request packet and the authentication of the
   packet is successful, it creates or updates the AMT entry for the node
   specified by the Identifier field of the AMT Update Request packet.  A
   typical format of the AMT entry is depicted in Figure 7.






















Teraoka                  Expires: 3 December 1997                 [Page 11]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Sequence Number                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              rsv              |             Lifetime          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                           Identifier                          +
      |                         (Home Address)                        |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                       Temporary Address                       +
      |                        (Care-of Address)                      |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                 Figure 7: Address mapping table entry format



      Sequence Number:

         The sequence number of the AMT Update Request Packet that created
         or updated this AMT entry.

      Lifetime:

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

      Identifier:

         The identifier (home address) of the mobile node.

      Address:

         The temporary address (care-of address) of the mobile node.


8.  Procedures in Connecting to a Subnet






Teraoka                  Expires: 3 December 1997                 [Page 12]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


8.1.  Procedures on a Mobile Node

   When a mobile node (MN) connects to a subnet, it obtains a temporary
   address by some method such as DHCPv6[4].  Again, the identifier (home
   address) of the MN remains unchanged.  The MN transmits an AMT Update
   Request packet to its Primary Address Resolver (Home Agent).  Next, the
   MN may transmit the AMT update packet to each correspondent node (CN)
   with which it is communicating.

8.2.  Procedures on a Node Receiving an AMT Update Request Packet

   When a node receives an AMT Update Request packet, it authenticates the
   packet.  If authentication failed, the packet is discarded.  If the
   authentication is successful, the receiving node searches its AMT for
   the entry for the MN specified by the Identifier field.  A new entry is
   created if an AMT entry for the MN does not exist.  If the AMT entry
   exists, the Sequence Number field of the AMT Update Request packet is
   compared with the Sequence Number field of the AMT entry.  The existing
   AMT entry is modified if the AMT Update Request packet has larger
   sequence number than the AMT entry.

   If the AMT entry exists and the Sequence Number is same as the AMT
   Update Request packet, only the Lifetime field of the AMT entry is
   updated.

   If the `A' bit of the AMT Update Request packet is set and
   authentication is successful, the receiving node returns an AMT Update
   Reply packet to the MN.

9.  Procedures in Data Communication

9.1.  From a Correspondent Node to a Mobile Node

   If the source correspondent node (CN) does not have an AMT entry for the
   destination mobile node (MN), the packet depicted in Fig.6-(a) is used.
   The identifier (home address) of the MN is set in the Destination
   Address field.  This packet reaches the Primary Address Resolver (Home
   Agent) of the MN.  The Home Agent encapsulates the packet and forwards
   it to the MN as shown in Fig.6-(b).  The temporary address (care-of
   address) of the MN is set to the Destination Address field of the outer
   header.

   If a CN has the AMT entry for the destination MN, the packet depicted in
   Fig.6-(d) is used.  The temporary address (care-of address) of the MN is
   set to the Destination Address field of the IPv6 base header.  The
   identifier (home address) of the MN is included in the Destination
   Identifier option.  This packet is forwarded on the optimal route to the
   MN.






Teraoka                  Expires: 3 December 1997                 [Page 13]


draft-teraoka-ipv6-mobility-sup-04.txt                          3 June 1997


9.2.  From a MN to a CN

   If the source MN does not have an AMT entry for the destination CN, the
   packet depicted in Fig.6-(b) is used.  The temporary address (care-of
   address) of the MN is set to the Source Address field of the IPv6 base
   header.  The Source ID option includes the identifier (home address) of
   the MN.

   If the MN have the AMT entry for the CN, the packet depicted in Fig.6-
   (d) is used.  the temporary address (care-of address) of the CN is set
   to the Destination Address field of the IPv6 base header and the
   identifier (home address) of the CN is included in the Destination
   Identifier option.


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@sonycsl.co.jp

References

[1] C. Perkins, "IP Mobility Support," RFC 2002, October 1996.

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

[3] S. Deering and R. Hinden, "Internet Protocol, Version 6 (IPv6)
    Specification," RFC 1883, December 1995.

[4] J. Bound and C. Perkins.  Dynamic Host Configuration Protocol for IPv6
    (DHCPv6).  Internet-draft draft-ietf-dhc-dhcpv6-10.txt, May 1997.

[5] R. Atkinson.  IP Authentication Header.  RFC 1826, August 1995.

















Teraoka                  Expires: 3 December 1997                 [Page 14]


Html markup produced by rfcmarkup 1.129b, available from https://tools.ietf.org/tools/rfcmarkup/