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

Versions: 00 01

IETF - NGTRANS Working Group                            Hesham Soliman,
INTERNET Draft                                          Ericsson
Expires: August 2001                                    Erik Nordmark
                                                        Sun Microsystems
                                                        November 2001

            Extensions to SIIT and DSTM for enhanced routing of
                              inbound packets

Status of this memo

   This document is a submission by the NGTRANS Working Group of the
   Internet Engineering Task Force (IETF). Comments should be submitted
   to the ngtrans@sunroof.eng.sun.com mailing list.

   This document is an Internet-Draft and is in full conformance
   with all provisions of Section 10 of RFC2026.
   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time. It is inappropriate to use Internet-Drafts as reference
   material or cite them other than as "work in progress".

   The list of current Internet-Drafts can be accessed at
   The list of Internet-Draft Shadow Directories can be accessed at


   This document specifies a transition mechanism that combines both
   [SIIT] and [DSTM] mechanisms by adding some extensions to allow fast
   routing of inbound packets. This will result in a more decentralised
   and flexible tool to allow IPv6-only nodes to communicate with IPv4-
   only nodes.

   The proposed extensions will provide a way that allows SIIT routers
   to route packets addressed to a host running a single IPv6 stack with
   minimum delay which is suited to real time services. It should be
   noted that the proposed protocol between SIIT routers and AIIH
   servers is generic and is not limited to its use between these two
   nodes. This protocol can be used for mapping any IPv4 address to an
   IPv6 address for a given lifetime.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 1]

INTERNET-DRAFT                                             November 2001


      1.  Introduction..........................................    3

      2.  Terminology...........................................    4

            2.1.  Addresses.....................................    4

            2.2.  Requirements..................................    4

      3.  Operation overview....................................    5

            3.1   Communication between AIIH and SIIT routers...    6

            3.2.  Support for Mobility.............€€...........    7

                  3.2.1 Connection intiated by an IPv4 MN.......    7

                  3.2.2 Connection intiated by an IPv6 MN.......    8

                  3.2.3 SIIT extensions for mobility support....    9

                  3.2.4 Considerations for MNs using MIPv6......    9

      4.  Message formats for AIIH-SIIT router communication ...    9

            4.1.  Discovering an AIIH server ...................    9

            4.2.  Address-mapping cache entry ..................   10

            4.3.  Address-mapping cache Request.................   10

            4.4.  Address-mapping cache Reply...................   11

            4.5.  DELTA updates.................................   13

            4.6.  Address-mapping cache Acknowledgement.........   14

            4.7.  Keepalive message.............................   15

      5.  Acknowledgements......................................   16

      6.  Authors addresses.....................................   16

      7.  References............................................   16

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 2]

INTERNET-DRAFT                                             November 2001

1. Introduction

   The expected increase in use of real time services like voice and
   video over IPv6 places some requirements on packet processing delay
   within routers. Furthermore, currently voice services have very
   strong requirements on network reliability and the frequency of
   network failures. These requirements are expected to maintain the
   same standard in future or even higher. For the transition between
   IPv4 and IPv6 to be successful, migration tools need to meet the
   requirements of real time services for processing speed and

   The translation mechanism specified in [SIIT] provides a flexible and
   decentralised function to allow a host running an IPv6 stack to
   communicate with a host running an IPv4 stack. The ability to
   decentralise this function can be very powerful from a reliability
   point of view. Such distribution allows current connections to
   survive despite the failure of one SIIT router.

   However, due to the stateless nature of [SIIT], there is no mechanism
   defined to allow a router implementing SIIT to route IPv4 packets to
   IPv6 hosts configured with an IPv4-translated address in a fast

   In this document an IPv6 host is assumed to acquire an IPv4 address
   by using the DSTM technology specified in [DSTM]. This document
   introduces a mechanism that allows an SIIT-enabled router to forward
   the received IPv4 packets to their final destination (being the IPv6
   host) with minimum delay. As mentioned earlier, this is an important
   requirement to real time services.

   Packets sent from IPv6 node to IPv4-mapped address can be routed to
   an SIIT router by it injecting a route for ::ffff:0:0/96. If a site
   has multiple SIIT routers they can all inject the above route into
   the site's IPv6 routing. This will cause IPv6 nodes, through regular
   IPv6 routing, to send packets to the closest SIIT router (Note that
   if there are multiple SIIT routers they can also inject longer IPv4-
   mapped address prefix routes into the site such as
   ::ffff:0:0: The above /96 route is the equivalent of
   an IPv4 default route).

   Packets from the SIIT router to the IPv6 node need to be encapsulated
   (as specified in RFC 2473 - IPv6 in IPv6) since their IPv4-
   translatable IPv6 address does not contain enough toplogical
   information to route the packets to the link/node. The goal of the
   mechanisms in this document is for SIIT routers to be able to do this
   encapsulation without any manual configuration and also without a
   single SIIT router being a single point of failure. To accomplish
   this the SIIT routers need to be able to dynamically determine, for
   each IPv6-only node in the site, the mapping between the node's IPv4-

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 3]

INTERNET-DRAFT                                             November 2001

   translatable address and the node's 'regular' (global or site-local)
   IPv6 address.

   Some extensions are proposed to an AIIH server and [SIIT] to allow an
   SIIT router to request information regarding the mapping of
   temporarily allocated IPv4 addresses and a host's IPv6 address.
   It should be noted that although this draft focuses on the case where
   SIIT is used, the protocol proposed between SIIT and an AIIH server
   is independent of the transition mechanism and can be used between
   AIIH servers and any other node in the network seeking such mapping
   between a nodeËs IPv6 address and its IPv4 address allocated by a
   DHCPv6 server.

2.  Terminology

   This documents uses the terminology defined in [IPv6], [TRANS- MECH]
   and [SIIT] with this addition:

         SIIT router:

              A router implementing IPv4->IPv6 translation function
              as outlined in [SIIT]

2.1.  Addresses

   In addition to the forms of addresses defined in [ADDR-ARCH] this
   document uses the IPv4-translated addresses defined in [SIIT]. The
   address forms are:


            An address of the form 0::ffff:a.b.c.d which refer to a
            node that is not IPv6-capable.  In addition to its use in
            the API this protocol uses IPv4-mapped addresses in IPv6
            packets to refer to an IPv4 node.


            An address of the form 0::0:a.b.c.d which refers to
            an IPv6/IPv4 node that supports automatic tunneling.
            Such addresses are not used in this protocol.


            An address of the form 0::ffff:0:a.b.c.d which
            Refers to an IPv6-enabled node.  Note that the
            prefix 0::ffff:0:0:0/96 is chosen to checksum to
            zero to avoid any changes to the transport protocol's
            pseudo header checksum.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 4]

INTERNET-DRAFT                                             November 2001

2.2.  Requirements

   in this document, are to be interpreted as described in [KEYWORDS].

3. Operational overview

3.1 Communication betweem AIIH servers and SIIT routers

   The AIIH server described in [DSTM] allows an IPv6 host to acquire an
   IPv4 address for the duration of its communication with an IPv4 host.
   Outbound packets (originating from the V6 host) containing an IPv4-
   translated source and an IPv4-mapped destination address can then be
   translated by an SIIT router and forwarded according to the
   translation rules in [SIIT].

   For inbound packets (addressed to a host's temporary IPv4 address) an
   SIIT router needs to find out the final destination address (IPv6)
   for the packets after the translation is performed. To have this
   knowledge, an SIIT router requires a mapping between all the leased
   IPv4 addresses and their corresponding hosts' IPv6 addresses. This is
   achieved via communication with an AIIH server as illustrated below.

           |  AIIH  |      Client-Server communication
           | Server |
              |          |            |            |             |
              |          V            V            V             V
              |      +--------+   +--------+   +--------+   +--------+
              |      | SIIT   |   | SIIT   |   | SIIT   |   |  SIIT  |
              |      | router |   | router |   | router |   | router |
              |      +--------+   +--------+   +--------+   +--------+
              |     Client-server
                                    | IPv6   |
                                    | Node   |

   Fig.1 Communication between an SIIT router and AIIH

   In this memo, the AIIH server acts as a central database containing
   the mapping information between all pooled IPv4 addresses and their
   corresponding IPv6 addresses. In addition, the server is expected to
   update all registered SIIT routers whenever the information in the
   address-mapping cache changes.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 5]

INTERNET-DRAFT                                             November 2001

   The communication between the SIIT routers and AIIH server is
   established over TCP connections. The mechanism described below
   details the information exchanged between the SIIT router and the
   AIIH server. In addition, a Keepalive message is introduced on
   application level to ensure the availability of the connection and
   avoid confusion between the client and server during connection re-

   After starting up, an SIIT router should discover an AIIH server
   within the same domain. This information can be manually configured
   in the router or can be found through other mechanisms. An SIIT
   router can then request the Address-mapping cache in an AIIH server.
   The address-mapping cache consists of a number of entries, each
   related to one of the pooled IPv4 addresses. Hence the number of
   entries must be equal to the number of pooled IPv4 addresses in the
   AIIH server.

   The request for address-mapping cache also acts as a registration
   mechanism to inform the AIIH server that an SIIT router exists and
   should be informed about further updates to the address-mapping

   The AIIH server MUST reply to the SIIT router's request by sending
   a message containing all the pooled IPv4 addresses and their
   corresponding IPv6 address. Each entry in the address-mapping cache
   should contain the leased IPv4 address, the corresponding IPv6
   address and the lifetime for which this information is valid.

   The AIIH server SHOULD send the entire cache to the SIIT router. This
   includes entries corresponding to unallocated IPv4 addresses. Entries
   corresponding to unallocated IPv4 addresses MUST have the IPv6
   address field set to the Unspecified address.

   The AIIH server MUST record the IP address of the SIIT router
   requesting the information. This will be needed for future updates of
   the address-mapping cache. It may be more appropriate to use Site-
   local addresses (if they are defined) for the communication between
   the SIIT router and the AIIH server to avoid problems that could
   arise due to renumbering. However, this is left to the network
   administrator's discretion.

   Before allocating an IPv4 address to an IPv6 node, the AIIH server
   MUST inform all registered SIIT routers by sending an update message
   containing the new entry. The AIIH server SHOULD wait for the
   Acknowledgement message from all registered SIIT routers before
   configuring the information in the IPv6 node. This is to make sure
   that inbound packets will be forwarded with minimum delay.

   To avoid long delays for Acknowledgements coming from SIIT routers a
   timeout period needs to be used by AIIH servers.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 6]

INTERNET-DRAFT                                             November 2001

   When a packet having an IPv6-translated source address and an IPv6-
   mapped destination address reaches an SIIT router, the packet will be
   translated and forwarded as explained in [SIIT]. Upon reception of an
   inbound IPv4 packet, the SIIT router MUST search for the destination
   address in its address-mapping cache that was requested from the AIIH
   server. If the address is found and it points to a valid IPv6
   address, the packet should be translated as specified in [SIIT] and
   tunnelled to that IPv6 address.

   If a valid IPv6 address corresponding to the IPv6-translated address
   was not found, an SIIT router SHOULD request that Address-mapping
   cache entry from the AIIH server. An appropriate timeout period
   should be applied after which an ICMP error (destination unreachable)
   should be sent to the IPv4 sender.

   When tunnelling inbound packets, the outer header MUST contain the
   SIIT router's address as a source and the IPv6 node's address as a
   destination. The inner header should contain the IPv6-mapped address
   as a source address (formed from the source address in the original
   v4 packet) and the IPv6-translated address in the destination field.
   The encapsulation should follow the rules mentioned in RFC 2473.

3.2 Support for mobility

   This chapter aims to explain how an IPv4 MN would interact with an
   IPv6 MN using an IPv4-translated address. Two different scenarios are

   a) An IPv4-only node intiating the connection and

   b) An IPv6-only node intiating the connection

   It should be noted that no impact on the MIPv6 or MIPv4 protocols is
   introduced due to the extensions proposed in this memo.

3.2.1 Connection initiated by an IPv4-only MN

   An IPv4-only node stack may start communication with an IPv6-only
   node by performing a DNS request on the IPv6 node. A DNS request is
   sent to the IPv6 domain. According to [DSTM], the local V6 domain can
   assign a V4 address to the IPv6 host and forward the DNS reply to the
   V4 node. The local AIIH server MUST also update all SIIT routers
   within the domain. This is done by sending an update message
   containing the IPv6 node's home address, the assigned IPv4 address
   and the entry's lifetime in the address-mapping cache. All packets
   destined to the IPv6 node will be translated by the receiving SIIT
   router and encapsulated to the node's home address.

   If the IPv6 MN is located in a foreign network, the packets should be

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 7]

INTERNET-DRAFT                                             November 2001

   tunnelled by the HA to its COA according to [MIPv6]. Since the MN
   will have the SIIT router's address received in the encapsulated
   packet, this should result in the sending of a BU from the MN to the
   SIIT router according to [MIPv6].

   In this manner, route optimisation can be achieved within the IPv6
   network, i.e. between the MN and the SIIT router. On the other hand,
   route optimisation can not be achieved within the MIPv4 domain. Since
   MIPv4 messages are sent over UDP, an SIIT router will not be able to
   understand any BU messages sent from the IPv4 node's HA. Hence all BU
   messages will be silently discarded by the final destination (IPv6
   node). This should not cause any problems for the MIPv4
   implementation as route optimisation is not mandatory in MIPv4.
   Furthermore, since MIPv4 messages are not piggybacked on data
   packets, no service interruption is expected due to discarding the
   MIPv4 BUs.

   It should be noted that the Address-mapping cache need not be tightly
   coupled to the Binding Cache implementation. Hence an SIIT router may
   contain the IPv6 MN's home address in its Address-mapping cache and
   its COA in the Binding cache. In the case of an SIIT router's
   failure, packets may be routed to another SIIT router that is not
   updated with the MN's current location. This will result in
   triangular routing within the IPv6 domain until the MN updates the
   new SIIT router with its current location. This may result in some
   delays that might be encountered due to the number of extra hops
   introduced by triangular routing.

3.2.2 Connection initiated by an IPv6-only MN

   In this memo the actions required by an IPv6-only MN to communicate
   with an IPv4 MN depends on its location at the time the communication
   is initiated and whether its current domain supports an AIIH server.
   In the following sections, two scenarios are considered depending on
   whether the MN is located at a home or foreign domain when
   communication is initiated. An IPv6-only MN initiating connection from its Home domain

   A MNËs home domain is the administrative domain containing its home
   network. The MNËs ability to distinguish between a home and a foreign
   domain is outside the scope of the document.

   If the MN is located in its home domain, which supports AIIH, the MN
   can request an IPv4 address as outlined in [DSTM]. The AIIH server
   should allocate an IPv4 address to the MN and update all known SIIT

   Upon successful allocation of the IPv4 address, the MN can start
   communicating with the IPv4-only node in the normal manner.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 8]

INTERNET-DRAFT                                             November 2001 An IPv6-only MN initiating connection from a foreign domain

   If the MN is located in a foreign domain, it may choose to request an
   IPv4 address from the local AIIH server, provided one exists within
   the domain and no local policy stops such request. Upon successful
   allocation of the address, the AIIH server should update all
   registered SIIT routers. The MN MAY then update its home DNS by
   sending a DNS update message. This would require a pre-existing
   security association with the Home DNS.

   Alternatively, the MN may choose to tunnel a request for an IPv4
   address to the Home AIIH server. The Home AIIH server would then
   allocate an address and update all the SIIT routers within the Home
   domain. All IPv4 packets from this point onward will be received
   within the home network and forwarded to the MN's COA via the HA.
   In this scenario, The MN SHOULD reverse tunnel its packets through
   its HA in the Home domain. This may be needed in cases where the
   visited domain applies some ingress filtering policies that would
   stop the MN from sending its traffic using its Home domainËs IPv4-
   translated IPv6 address as a source address.

   It should be noted that by requesting an address from the local AIIH
   server less delays would be encountered for inbound packets, i.e.
   triangular routing will be achieved (compared to rectangular routing
   when requesting an address from the Home AIIH server). On the other
   hand, an IPv4 address from the Home domain would last even when the
   MN moves to a new domain (another foreign domain) which may not be
   possible when getting an address from the current domain.
   For example, some domains with a limited IPv4 address pool may wish
   to restrict the use of such addresses to nodes that are physically
   located within their domain. The method of policing the use of IPv4
   addresses is outside the scope of this memo.

   Hence the decision as to which method should be used to get an IPv4
   address (Home vs visited domain) is left to the MN and the local
   policies within each domain.

3.2.3 SIIT extensions for mobility support

   According to [MIPv6] a MN MUST include a Home Address option in all
   outbound packets when located in a foreign network. Furthermore,
   every CN MUST be able to process the Home Address option. When the
   ESP or the AH headers are used for outbound packets, the Home Address
   option is added before the IPsec header to enable the CN to process
   the IPsec header. Hence the Home Address option will always be
   visible to intermediate nodes.

   For an IPv6 MN to successfully communicate with an IPv4 node via
   SIIT, the Home Address option MUST not be forwarded in the translated

H. Soliman and Erik Nordmark     SIIT-DSTM extensions           [Page 9]

INTERNET-DRAFT                                             November 2001

   IPv4 packets. Hence an SIIT router has to remove the Home option from
   all outbound packets during the translation. This is achieved by
   replacing the source address with the Home address before
   translating the header. When an inbound packet is received the packet
   will be encapsulated to the Home address of the MN. If the SIIT
   router includes a Binding to the MN's COA, the COA will be used as
   the destination address as per [MIPv6].

   To avoid triangular routing in the IPv6 domain, SIIT routers SHOULD
   process BUs and maintain a Binding Cache.

3.2.4 Considerations for Mobile Nodes using MIPv6

   For communication between an IPv6 MN and an IPv4 MN to succeed, an
   IPv6 MN MUST not place any destination options after the ESP header
   for all CNs that have an IPv4-mapped address.
   This should be done to make sure that packets do not get discarded by
   the IPv4 host due to the inclusion of an unknown (to an IPv4 node)
   Destination option.

4. Message formats for communication between AIIH and SIIT routers

4.1. Discovering an AIIH Server

   Ultimately it is advantageous that an SIIT router discovers an AIIH
   server without the need for manual configuration. Although manual
   configuration can also be allowed, the aim of this section is to
   recommend other dynamic mechanisms.

   Since AIIH servers are essentially combined DHCP and DNS servers,
   DHCP server mechanisms can be used to discover the DHCP server's IP
   address. The next step is to check whether the DHCP server located
   implements the mechanism proposed in this memo. This can be achieved
   by sending the address-mapping cache request message shown below. A
   reception of the address-mapping cache will indicate the support for
   this mechanism.

4.2 Address-mapping cache entry

   Figure 2 below shows the structure of a single entry in the address-
   mapping cache. Each address-mapping cache reply message may include a
   large number of entries. Each entry contains: an IPv6 address, an
   IPv4 address and the corresponding lifetime. Entries received by SIIT
   routers are stored in the address-mapping cache.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions          [Page 10]

INTERNET-DRAFT                                             November 2001

       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

      |                   IPv4 address                                |
      |                                                               |
      |                   IPv6 address                                |
      |                                                               |
      |                                                               |
      |                   Lifetime                                    |

   Fig. 2. Address-mapping cache entry

         IPv4 address    IPv4 address in an AIIH server's address pool

         IPv6 address    IPv6 node's address. If the IPv4 address is
                         Not allocated to any IPv6 nodes, this field
                         MUST be set to the Unspecified address.

         Lifetime        A 32-bit unsigned number indicating the
                         expiry time of this entry in seconds.
                         The expiry time for this entry MUST be equal to
                         or less than the lifetime of the IPv4 address.

4.3. Address-mapping cache Request

   The Address-mapping cache request message format is shown below. This
   message is sent by SIIT routers to request the mapping between IPv4
   and IPv6 addresses. The details of the message are explained below.

        0                   1                   2
        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
       |Msg-typ|           Length              |E|     Reserved        |
       |                        IPv4 address                           |



       |                        IPv4 address                           |
   Fig. 3. Address-mapping cache request

H. Soliman and Erik Nordmark     SIIT-DSTM extensions          [Page 11]

INTERNET-DRAFT                                             November 2001

     Msg-type = 1   Indicates address-mapping cache request

     Length         The number of 32-bit words after the Reserved
                    field. Ie. the number of IPv4 addresses
                    included. MUST be Set to zero if the E flag is

     E              If set, indicates a request for the entire
                    cache. If not set the message MUST include one
                    or more IPv4 addresses.

     Reserved       An 11-bit reserved field. MUST be set to zero.

   The message can be sent to request mappings for certain IPv4
   addresses or, alternatively, a client may request the mappings for
   the entire cache.
   If the E flag is set, it shows that the client requests a mapping for
   the entire cache and the length field MUST be set to zero. Otherwise,
   the client's request is only for certain IPv4 addresses and the
   length field should be set to the number of IPv4 addresses included
   in the message.

4.4 Address-mapping Cache reply

   The address-mapping cache reply is sent by the AIIH server and
   contains the mapping information requested by the client. If the
   entire cache was requested, the AIIH server MUST return all mappings
   in the cache.

      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
     |Msg-typ|              Length           | Code  |M|  Reserved   |
     |                      Transaction ID                           |
     |                        IPv4 address                           |
     |                                                               |
     |                        IPv6 address                           |
     |                                                               |
     |                                                               |
     |                        Lifetime                               |

H. Soliman and Erik Nordmark     SIIT-DSTM extensions          [Page 12]

INTERNET-DRAFT                                             November 2001



     |                        IPv4 address                           |
     |                                                               |
     |                        IPv6 address                           |
     |                                                               |
     |                                                               |
     |                        Lifetime                               |

   Fig. 4. Address-mapping cache reply

        Msg-type = 2      Indicates a message reply type.

        Length            The number of 32-bit words following the
                          Packet ID field.

        M                 If set indicates more messages will be
                          received. This indicates that the reply
                          couldn't be placed in one message.

        Reserved          7-bit reserved field. MUST be set to zero.

        Transaction ID    A 32-bit unsigned number identifying each
                          transaction (ie. client request).

        Code              Shows the status of the operation. Values of 5
                          and above provide reasons for operation

        Reserved values :
            0 Operation successful.
            5 Operation failed. Reason unspecified.
            6 Poorly formed message.
            7 Requested addresses unknown.

   In the case where the client has requested the entire cache and the
   length of the cache is larger than the maximum possible length
   allowed in the packet, the AIIH server should send multiple reply
   messages. Only the last message should have the M flag set to zero to
   indicate that the entire cache was sent to the client.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions          [Page 13]

INTERNET-DRAFT                                             November 2001

   The code field shows the result of the processing of the client's
   request message. If the field includes a value corresponding to any
   of the error values mentioned above, no more entries should exist in
   the message. Hence the length field MUST be set to zero.

   A transaction id field is used to uniquely identify each request.
   This is needed for the client to be able to inform the server of
   erroneous packets transferred in a transaction which may result in
   the server restarting the transaction.

   If the reply was sent based on a request for some entries in the
   address-mapping cache (not the entire cache), and these addresses
   were not found, the reply MUST include the requested entries
   containing the unspecified IPv6 address and a lifetime field of Zero.
   The Code field MUSt be set to 7.

4.5 DELTA update messages

   DELTA update messages are used to send unsolicited address-mapping
   cache updates due to changes in one or more entries. For example, if
   a an IPv4 address was allocated to a different IPv6 node, or for
   invalidation of certain entries. An SIIT router SHOULD acknowledge
   DELTA update messages.

    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
   |Msg-typ|              Length           |M|     Reserved        |
   |                      Transaction ID                           |
   |                      IPv4 address                             |
   |                                                               |
   |                      IPv6 address                             |
   |                                                               |
   |                                                               |
   |                      Lifetime                                 |

        Msg-type = 3      Indicates a message reply type.

        Length            The number of 32-bit words following the
                          Packet ID field.

        M                 If set indicates more messages will be
                          received. This indicates that the reply

H. Soliman and Erik Nordmark     SIIT-DSTM extensions          [Page 14]

INTERNET-DRAFT                                             November 2001

                          couldn't be placed in one message.

        Transaction ID    A 32-bit unsigned number identifying each
                          transaction (ie. client request).

        Reserved           11-bit reserved field. MUST be set to zero.

4.6 Address-mapping cache Acknowledgement

   Acknowldgement messages should be sent by the clients upon reception
   of an Address-mapping cache reply message from an AIIH server. An
   Acknowledgement message contains a code field that shows the result
   of processing the server's last message. Clients may choose not to
   send an acknowledgement for each received packet. However, an SIIT
   router MUST send an acknowledgement with the appropriate code value
   whenever it receives an erroneous message from an AIIH server.

      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
     |Msg-typ| Code  |               Reserved                        |
     |                      Transaction ID                           |

     Msg-type = 4    Indicates acknowledgement type.

     Reserved        24-bit reserved field. MUST be set to zero.

     Transaction ID  A 32-bit unsigned number identifying each
                     transaction (ie. client request).

     Code            Indicates the status of the operation, whether
                     it succeeded or not.

     Reserved values :
              0 Operation successful
              5 Operation failed. Error unspecified
              6 Poorly formed message.

   The transaction id field identifies the transaction for which an
   acknowledgement is being sent.

4.7 Keepalive message

   Keepalive messages are introduced to ensure the availability of the
   connection between the SIIT routers and AIIH servers. The messages
   can be sent by either the clients or the server.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions          [Page 15]

INTERNET-DRAFT                                             November 2001

   It is recommended that the message is sent once per minute by each
   application. Each application should wait for a random length of time
   after starting up before sending the first message.

     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
    | Msg-type|     Sequence no               |R|    Rsvd           |

        Msg-type = 5       Indicates a keepalive message type.

        Sequence number    A 16-bit unsigned word that is used to
                           identify the message.

        R                  If the R flag is set it indicates that this
                           is a reply message.

        Rsvd               A 12-bit reserved field. MUST be set to zero.

   The sender of a Keepalive message should generate the sequence number
   field by using a 16-bit rolling counter.
   The receiver of a Keepalive message MUST echo that message with the
   same sequence number and set the R flag in the reply.

5. Security considerations

   The reachability of an IPv6 node from an IPv4 requires that a unique
   IPv4 address is assigned to the IPv6 node. Since one of the main
   reasons for migrating to IPv6 is the scarcity of IPv4 addresses, such
   addresses need to be assigned to hosts in an optimal manner and only
   when needed (i.e. on demand). The assignment of IPv4 addresses to
   IPv6 nodes based on DNS queries by the IPv4 host raises some security
   concerns and may be subject to DoS attacks. A malicious IPv4 node can
   send frequent DNS requests for some IPv6 to cause the AIIH server to
   run out of IPv4 addresses and allocating all the pooled addresses to
   IPv6 nodes that do not need them.

6. Acknowledgements

   The authors would like to thank Mattias Pettersson and Conny Larsson
   for their careful reviews of this draft.

7. Author's Addresses

   Hesham Soliman
   Ericsson Radio Systems, AB.
   Torshamnsgatan 23,

H. Soliman and Erik Nordmark     SIIT-DSTM extensions          [Page 16]

INTERNET-DRAFT                                             November 2001

   Kista, Stockholm,

   Phone:  +46 8 4046619
   Fax:    +46 8 4047020
   E-mail: Hesham.Soliman@era.ericsson.se

   Erik Nordmark
   Sun Microsystems Laboratories
   29, Chemin du Vieux Chene
   38240 Meylan,

   phone: +33 (0)4 76 18 88 03
   fax:   +33 (0)4 76 18 88 88
   email: nordmark@sun.com

7. References

   [ADDR-ARCH]  Deering, S. and R. Hinden, Editors, "IP Version 6
                Addressing Architecture", RFC 2373, July 1998.

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

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

   [MIPV6]      D. Johnson and C. Perkins, "Mobility Support in IPv6",
                draft-ietf-mobileip-ipv6-13.txt. Work in progress.

   [SIIT]       E. Nordmark, "Stateless IP/ICMP Translation Algorithm",
                RFC 2765, February 2000.

   [DSTM]       J. Bound et al, ŸDual Stack Transition Mechanism÷,
                draft-ietf-ngtrans-dstm-04.txt (work in progress).

   This Internet-Draft expires in MAY 2002.

H. Soliman and Erik Nordmark     SIIT-DSTM extensions          [Page 17]

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