Internet DRAFT - draft-engelstad-ngtrans-6to4-v4v6-mobility

draft-engelstad-ngtrans-6to4-v4v6-mobility









INTERNET DRAFT                                              P. Engelstad
                                                             Telenor R&D
Expires February 2002                                    August 14. 2001

                   IPv4 over 6to4 and 6to4 mobility.
          <draft-engelstad-ngtrans-6to4-v4v6-mobility-00.txt>

Status of this Memo

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

   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."

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

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

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



Abstract

   This draft outlines how a 6to4-enabled host can be provided with
   transparent IPv4 and IPv6 connectivity and mobility no matter if the
   host is located in a 6to4 network or is roaming an IPv4-only network.



1.    Introduction

   6to4, which is specified in [6to4], is one of the most powerful
   transition mechanisms we have today. It is designed to let IPv6 hosts
   in one 6to4-enabled IPv6 domain ("6to4-domain") communicate with
   other IPv6 hosts in other 6to4 domains. The IPv6 packets are tunneled



Engelstad                                                       [Page 1]

INTERNET DRAFT                                       6to4 v4v6 mobility


   by a 6to4-router over the IPv4 Internet to the 6to4 designated
   6to4-router that is located on the border of the 6to4 domain where
   the recipient is located. The IPv4 address of the designated router
   is encoded into the prefix of the IPv6 address ("6to4 address").

   Section 3 of this draft shows how a dual stack host can be reachable
   for incoming IPv4 traffic from anywhere on the IPv4 Internet and how
   it can send outgoing IPv4 traffic back to the IPv4 Internet, although
   it is located in a 6to4 domain.

   One definitely does not want to route such IPv4 communication inside
   the IPv6 domain based on the IPv4 addresses of the nodes in the
   domain: We do not want to import the well-known IPv4 routing table
   size problem into the IPv6 domain.

   Instead, we let IPv4 traffic be relayed by a home agent located in
   the IPv4 domain. This will solve this routing problem for the limited
   time of transitioning from IPv4 to IPv6. It is assumed that the
   obvious negative sides of this approach (e.g. single points of
   failure, non-optimal routing etc.) can be tolerated for the same
   limited period of time.

   All incoming traffic is relayed through a Dual Stack Mobility Agent
   ([DS-MIP]) that is enhanced with 6to4 capabilities. It takes
   advantage of the 6to4 infrastructure that already is in place and
   reaches the dual stack host by means of appropriate encapsulation.

   Section 4 demonstrates how a dual stack mobile node can get full,
   transparent, layer-3 mobility for both IPv4 traffic and IPv6 traffic
   by combining the mechanism in section 3 together with Mobile IPv6
   (MIPv6). This mobility is offered no matter if the dual stack mobile
   node roams IPv4-only networks or 6to4 networks. [MOB-REQS] treats
   this problem in more detail.



2.    Terminology

   TBD



3.    IPv4 communication over 6to4 by means of a Dual Stack Home Agent

   The dual stack host uses a Dual Stack Mobility Agent (DSMA),
   specified in [DS-MIP], to accommodate IPv4 communication with any
   correspondent node on the IPv4 Internet. DSMA is located somewhere on
   the IPv4 Internet while the dual stack host is located in some 6to4



Engelstad                                                       [Page 2]

INTERNET DRAFT                                       6to4 v4v6 mobility


   domain.

   To make this draft simple, we assume that the DSMA operates as an
   IPv4 home agent for the dual stack host, i.e. it receives un-tunneled
   IPv4 packets destined for a dual stack host's IPv4 home address that
   are sent from any correspondent IPv4 node on the IPv4 Internet. (How
   DSMA can operate as an IPv4 foreign agent is shown in [DS-MIP].)



3.1.    IPv4-to-IPv6 bindings in the Address Translation List

   DSMA have an Address Translation List (ATL), which keeps a permanent
   fixed binding between the IPv4 home address and the IPv6 6to4 address
   of a dual stack host. The binding is used to reach the dual stack
   host in the 6to4 domain.

   (If the dual stack host implements Mobile IPv4 (MIPv4) it may
   register this binding dynamically and on the fly, using the MIPv4
   registration mechanisms specified in [DS-MIP]. This may be required
   if the dual stack host does not have a permanent IPv4 address with
   DSMA and has to do IPv4 home address discovery as outlined in [DS-
   MIP]. Otherwise, the dual stack host is not required to implement
   MIPv4.)

   DSMA implements also a binding cache that contains IPv6 address
   mappings. It is updated by means of regular MIPv6 binding updates, as
   specified in [MIPv6].


3.2.    Packet forwarding

   DSMA uses the Address Translation List to forward IPv4 packets to the
   dual stack hosts, as explained in [DS-MIP]. The entry in the Address
   Translation List includes a binding between an IPv4 address and an
   IPv6 address and a binding type that indicates how the IPv4 packet
   shall be forwarded to the IPv6 address in the binding. This draft is
   concerned with the "6to4-binding type" ([DS-MIP]),

   The "6to4-binding type" mandates that when DSMA receives an IPv4
   packet destined for the IPv4 home address of the host, it
   encapsulates the IPv4 packet in an IPv6 header using the 6to4 address
   found in the Address Translation List for that IPv4 home address.

   After the Address Translation List lookup, DSMA checks the IPv6
   address registered in the Address Translation List with the MIPv6
   binding cache:




Engelstad                                                       [Page 3]

INTERNET DRAFT                                       6to4 v4v6 mobility


      - If DSMA has an entry for the registered IPv6 address in the
      cache, DSMA will use the IPv6 care-of-address from the binding
      cache as the destination address, while the IPv6 address
      registered in the Address Translation List is put in the IPv6
      Routing Header of the packet. This mechanism is explained in
      [MIPv6] and [IPv6].

      - If DSMA has no binding cache entry for the IPv6 address, on the
      other hand, the destination address is the IPv6 address registered
      in the Address Translation List, and no IPv6 Routing Header is
      needed.

   Finally, when forwarding the resulting IPv6 packet, DSMA acts like
   any other 6to4 router: It encapsulates the 6to4 packet into the
   corresponding IPv4 header (i.e. the IPv4 destination address is
   derived from the 6to4 destination address).

   The resulting IPv4-in-IPv6-in-IPv4 packet is forwarded over the IPv4
   Internet to the designated 6to4 router, which decapsulates it and
   forwards the resulting IPv4-in-IPv6 packet to the dual stack host.
   The host decapsulates the packet and hands the remaining IPv4 packet
   over to the IPv4 protocol stack.

   The architecture for incoming communication is illustrated below.


                +------------------------+
                |     IPv4 Internet      |
                |                        |
                |     +------------+     |   +----+
                |     |6to4-enabled| <-- | <-|CNv4|
                |     |    DSMA    |     |   +----+
                |     +------------+     |
                |            |           |
                |            V           |
                |     +------------+     |
                |     |    6to4    |     |
                +-----+ designated +-----+
                |     |   router   |     |
                |     +------------+     |
                |           |            |
                |           V            |
                |         +----+         |
                |         |host|         |
                |         +----+         |
                |                        |
                |    6to4 enabled IPv6   |
                |         Network        |



Engelstad                                                       [Page 4]

INTERNET DRAFT                                       6to4 v4v6 mobility


                +------------------------+

      Figure 1. The figure illustrates how incoming IPv4 traffic can be
      run over a 6to4-enabled DSMA to reach a dual stack host in a 6to4
      network. This figure illustrates the case where DSMA operates as
      the MIPv4 home agent of the dual stack host.




3.4.    Backward Tunneling

   The dual stack host may use any appropriate transition mechanism to
   get reverse (outgoing) IPv4 traffic back onto the IPv4 Internet from
   the 6to4 domain where it is located.

   However, if no such mechanisms are available, it may tunnel the IPv4
   packets back to DSMA over the 6to4 domain and the IPv4 Internet. It
   encapsulates the IPv4 packet in an IPv6 header. The dual stack host
   forms a 6to4 address from DSMA's IPv4 agent address and uses this as
   the destination address of the IPv6 header. The lower 80 bits are set
   to an appropriate value - it depends on ongoing work in the NGTRANS
   working group. The packet will be encapsulated by a 6to4 router and
   forwarded over the IPv4 Internet to DSMA.

   The DSMA must be able to receive and recognize such packets. It
   decapsulates the packet and sends the packet into the IPv4 domain. We
   refer to this as "backward tunneling".

   If the inner IPv4 packet is not destined for DSMA itself, DSMA should
   check that DSMA has registered a binding for the IPv4 and IPv6 source
   addresses of the two inner IPv4 and IPv6 headers. If the packet
   passes the security check, DSMA chops off the outer IPv4 and IPv6
   headers, and the inner IPv4 packet is injected into the IPv4 domain.


3.5.    Route optimization

   When the dual stack host moves to a new 6to4 address, it sends a
   binding update to DSMA. It may use the same mechanism as for backward
   tunneling, but the inner IPv4 datagram is naturally not necessary.
   The binding update will change the binding cache, and ensure that the
   incoming IPv4 packets are forwarded to the new 6to4 address.


3.6.    Location of 6to4-enabled DSMA

   Note that neither forward tunneling nor backward tunneling requires



Engelstad                                                       [Page 5]

INTERNET DRAFT                                       6to4 v4v6 mobility


   that DSMA have an IPv6 interface, although it must be capable of
   intercepting IPv6 headers and binding updates. Packets are received
   and sent on the IPv4 interface. Thus, our scheme allows DSMA to be
   located anywhere on the IPv4 Internet. (The IPv6 address of the
   internal IPv6 interface is the 6to4 address that is formed from the
   IPv4 agent address.)


3.7.    A dual stack host that roams an IPv4-only network

   When a mobile dual stack host roams an IPv4-only network, it may
   still use the scheme described in this draft, although it does not
   implement Mobile IPv4:

   - It acquires an IPv4 care-of-address by some means that are outside
   the scope of this draft.
   - It forms a 6to4 care-of-address from the IPv4 care-of-address.
   - It sends a binding update that ensures that DSMA will forward
   incoming IPv4 packets to its IPv4 care-of-address.
   - The dual stack host decapsulates the IPv4-in-IPv6-in-IPv4 packets
   destined for itself.

   MIPv4 is naturally more efficient. Nevertheless, this scheme provides
   connectivity in cases where the mobile node does not implement MIPv4.



4.    6to4 Mobility

   As this section is concerned with mobility we will denote the dual
   stack host as the "mobile node".

   The mobile node can get full, transparent, layer-3 mobility for both
   IPv4 traffic and IPv6 traffic by combining the mechanism outlined
   above with Mobile IPv6 (MIPv6). This mobility is offered no matter if
   the dual stack mobile node roams IPv4-only networks or 6to4 networks.

   There are 4 cases to consider:

      1) The mobile node wants IPv4 connectivity and roams a 6to4
      network. This case was covered in section 3.1 through 3.6.

      2) The mobile node wants IPv4 connectivity and roams an IPv4-only
      network. This case was covered in section 3.7.

      3) The mobile node wants IPv6 connectivity and roams 6to4
      networks. The mobile node simply gets the traffic forwarded by the
      MIPv6 home agent.



Engelstad                                                       [Page 6]

INTERNET DRAFT                                       6to4 v4v6 mobility


      4) The mobile node wants IPv6 connectivity and roams IPv4-only
      networks. The solution to this is outlined below.

   Scenario 4 requires no protocols and no new changes to 6to4 or MIPv6.

   [DUALSTACK-MOVING], on the other hand, which uses a similar mechanism
   to solve the same problem, requires changes to the MIPv6 protocol:
   They require that traditional MIPv4 and MIPv6 home agents are dual
   stack and announce their IPv4 addresses in MIPv6 agent
   advertisements.

   We argue that it is better to keep existing mobility protocols
   unchanged, and let the transition-mobility problem be handled
   entirely by DSMA. DSMA does not require any changes to MIPv4 or
   MIPv6, although its own specification is based on code re-use from
   the existing MIPv4 specification.

   The remainder of section 4 shows how a dual stack mobile node can
   communicate by means of 6to4 and MIPv6, even while connected to
   IPv4-only networks.


4.1.    Assumptions

   We assume that the mobile node implements Mobile IPv6 (MIPv6) and
   that the MIPv6 home agent has an IPv6 6to4 address (i.e. 6to4 is
   implemented in the home domain). The mobile node may acquire the 6to4
   address of the home agent through regular MIPv6 agent advertisements.

   We also assume that the dual stack mobile node is able to encapsulate
   and decapsulate outgoing and incoming packets: While connected to
   IPv4-only networks, the mobile node operates as its own designated
   6to4 router.


4.2.    Registration of 6to4 address with Mobile IPv6 home agent

   The dual stack mobile node registers as follows:

      - When the mobile node connects to the IPv4-only network, it
      acquires an IPv4 care-of-address by some method that is outside
      the scope of this document.

      - The mobile node forms an IPv6 6to4 address from its IPv4 care-
      of-address. This 6to4 address is used as the mobile nodes IPv6
      care-of-address.

      - The mobile node constructs a MIPv6 binding update with this IPv6



Engelstad                                                       [Page 7]

INTERNET DRAFT                                       6to4 v4v6 mobility


      care-of-address.

      - The mobile node tunnels (IPv6-in-IPv4) the IPv6 binding update
      to the MIPv6 home agent. The IPv4 destination address of the outer
      header is extracted from the IPv6 6to4 address that is the agent
      address of the MIPv6 home agent. Thus, the binding update will be
      tunneled to the designated router in the home domain.

      - The designated router decapsulates the packet and sends it to
      the MIPv6 home agent. The mobile IPv6 home agent does not need to
      have any knowledge of the fact that the mobile node is not
      directly connected to a 6to4 domain.


4.3.    Outgoing traffic to the 6to4 correspondent node

   In order to send outgoing traffic to the 6to4 correspondent node, the
   mobile node inspects the 6to4 address of the correspondent node. It
   extracts the IPv4 address of the designated router of the
   correspondent node from the correspondent node's 6to4 address. The
   mobile node tunnels (IPv6-in-IPv4) all packets to the designated
   router of the correspondent node.


4.4.    Incoming traffic before route optimization

   The MIPv6 home agent will receive the incoming traffic from the
   correspondent node. It encapsulates the packets in a new IPv6 header
   that carries the 6to4 destination address of the mobile node.

   A 6to4 router in the 6to4 domain of the home agent will receive the
   packet, inspect the 6to4 destination address, and tunnel the packet
   over the IPv4 Internet to the mobile nodes IPv4 care-of-address, in
   line with the 6to4 specification.

   The mobile node must decapsulate the incoming IPv6-in-IPv6-in-IPv4
   packet.


4.5.    Incoming traffic after route optimization

   The mobile node performs route optimization by sending a MIPv6
   binding update to the correspondent node. The correspondent node will
   thereafter send the packets directly to the new 6to4 address
   according to the MIPv6 specification. A 6to4 router in the domain
   where the correspondent node is located will receive the packet, and
   tunnel it over IPv4 directly to the mobile node.




Engelstad                                                       [Page 8]

INTERNET DRAFT                                       6to4 v4v6 mobility


5.    Security Considerations

   The scheme presented in this document relies on the same security
   mechanisms that Mobile IPv4, Mobile IPv6 and 6to4 use. To our
   knowledge, it does not introduce new security exposures beyond these
   protocols.



References

   [MIPv4] C.E. Perkins, "IP Mobility Support", IETF RFC 2002, October
   1996.

   [MIPv6] D.B. Johnson and C.E. Perkins, "Mobility Support in IPv6",
   <draft-ietf-mobileip-ipv6-11.txt>, March 2000, Work in Progress.

   [DUALSTACK-MOVING] s. Tsao, G. Tsirtsis, and W. Boehm, "Moving in a
   Dual Stack Internet", <draft-ietf-ngtrans-moving-00.txt>, July 2001,
   Work in Progress..br

   [6to4] B. Carpenter and K. Moore, "Connection of IPv6 Domains via
   IPv4 Clouds", IETF RFC 3056, February 2001.

   [DS-MIP] P. Engelstad, "Transitional Integration of Mobile IPv4 and
   Mobile IPv6", <draft-engelstad-ngtrans-mipv4-over-mipv6-01.txt>,
   August 2001, Work in Progress.
   [MOV-REQS] P. Engelstad, "Requirements to mobility while
   transitioning from IPv4 to IPv6", <draft-engelstad-ngtrans-mobility-
   requirements-00.txt>, August 2001, Work in Progress.



Author's address

   Paal E. Engelstad
   Telenor R&D, Palo Alto
   399 Sherman Ave. Suite #12
   Palo Alto, CA 94306, USA
   Tel.: + 1-650- 714 7537
   e-mail: paal@telenorisv.com

   Feel free to contact me directly on this e-mail address, or through
   NGTRANS WG's mailing list on ngtrans@sunroof.eng.sun.com, if you have
   comments or opinions regarding this draft. Your comments are welcome!






Engelstad                                                       [Page 9]