Internet Engineering Task Force                                 J. Palet
Internet-Draft                                                   M. Diaz
Expires: April 24, 2005                                      Consulintel
                                                               M. Mackay
                                                    Lancaster University
                                                        October 24, 2004



              Evaluation of IPv6 Auto-Transition Algorithm
                  draft-palet-v6ops-auto-trans-02.txt


Status of this Memo


   This document is an Internet-Draft and is subject to all provisions
   of section 3 of RFC 3667.  By submitting this Internet-Draft, each
   author represents that any applicable patent or other IPR claims of
   which he or she is aware have been or will be disclosed, and any of
   which he or she become aware will be disclosed, in accordance with
   RFC 3668.


   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.


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


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


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


   This Internet-Draft will expire on April 24, 2005.


Copyright Notice


   Copyright (C) The Internet Society (2004).


Abstract


   This memo evaluates a method called "auto-transition" to ensure that
   any device can obtain IPv6 connectivity at any time and whatever
   network is attached to, even if such network is connected to Internet
   only with IPv4 or already offers IPv6 but with poor performance.





Palet, et al.            Expires April 24, 2005                 [Page 1]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   The algorithm looks for the best possible transition mechanism
   according to performance criteria information available as well as
   the scenario where the device is located.


   By implementing such auto-transition algorithm in either or both end
   nodes or middle boxes (CPEs), users could always obtain IPv6
   connectivity with no human intervention.


   The document doesn't actually provides a complete solution, just an
   evaluation of the problem and the requirements towards a future
   documented solution.


Table of Contents


   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Auto-Transition Overview . . . . . . . . . . . . . . . . . . .  3
   3.  Auto-Transition Requirements . . . . . . . . . . . . . . . . .  4
     3.1   Selection of the proper transition mechanism . . . . . . .  5
     3.2   Change of transition mechanism . . . . . . . . . . . . . .  7
     3.3   New transition/tunneling mechanisms  . . . . . . . . . . .  8
       3.3.1   Layer 2 tunnels  . . . . . . . . . . . . . . . . . . .  9
       3.3.2   Layer 3 tunnels  . . . . . . . . . . . . . . . . . . .  9
       3.3.3   Layer 4 tunnels  . . . . . . . . . . . . . . . . . . . 10
     3.4   Discovery of the IPv6 End Point  . . . . . . . . . . . . . 11
   4.  Nomadicity Considerations  . . . . . . . . . . . . . . . . . . 12
   5.  Network Managed Transition . . . . . . . . . . . . . . . . . . 14
     5.1   Policy Based Networks  . . . . . . . . . . . . . . . . . . 15
     5.2   Transitioning Server . . . . . . . . . . . . . . . . . . . 15
     5.3   Host operation . . . . . . . . . . . . . . . . . . . . . . 16
     5.4   Server operation . . . . . . . . . . . . . . . . . . . . . 18
   6.  Conclusions  . . . . . . . . . . . . . . . . . . . . . . . . . 19
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 19
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 20
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 20
   9.1   Normative References . . . . . . . . . . . . . . . . . . . . 20
   9.2   Informative References . . . . . . . . . . . . . . . . . . . 20
       Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 22
       Intellectual Property and Copyright Statements . . . . . . . . 23














Palet, et al.            Expires April 24, 2005                 [Page 2]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



1.  Introduction


   This document evaluates a method called "auto-transition" to ensure
   that any device can obtain IPv6 connectivity at any time and whatever
   network is attached to, even if such network is connected to Internet
   only with IPv4 or already offers IPv6 but with poor performance.


   The main goal is to facilitate the IPv6 deployment in a seamless way
   for devices, users and applications.  Lots of devices and
   applications around us will benefit obtaining IPv6 connectivity
   everywhere: home automation, wearable devices, cars, PDAs, mobile
   phones, peer-to-peer applications, remote control applications, etc.
   IPv6 is suitable to solve the network requirements that those
   devices/applications will need: addressing space, end-to-end secure
   peer-to-peer communication, autoconfiguration features and so on.


   IPv6 provides autoconfiguration features, enabling devices to work
   according to the plug-and-play philosophy, that is with no manual
   intervention.  However they only can be applied once the device has
   obtained IPv6 connectivity.  On the other hand, while native IPv6
   connectivity is not available everywhere, there is not a good
   "auto-transition" algorithm to ensure this connectivity.


   While devices are located in a native IPv6 environment, no manual
   intervention is required, so non technical users can take advantage
   of IPv6.  However until all or most of the networks are IPv6 native,
   we need to ensure that the same devices and users can use a
   transition mechanism that ensures the best possible IPv6
   connectivity, without any or low technical knowledge.  Is not
   acceptable require to the users to make manual configurations in
   order to get the IPv6 connectivity, but is also possible that in the
   early IPv6 deployment stage, administrators of small and medium size
   networks (typically SOHO, SME), will not have the knowledge neither
   the service from their ISPs.


   The algorithm will deal with all the tasks required to configure
   automatically the best IPv6 connectivity at anytime, in any network
   scenario, which include native IPv6 connectivity detection and
   transition mechanism selection if required.  It can be implemented
   either in stand-alone devices (hosts, PDA, etc.) or middle boxes like
   CPE routers.


2.  Auto-Transition Overview


   When the device is attached to the network, either or both stateless
   [1] or stateful autoconfiguration [2] mechanism are automatically
   performed by default.  The auto-transition algorithm then must check
   if native IPv6 connectivity is available.  Otherwise, the algorithm




Palet, et al.            Expires April 24, 2005                 [Page 3]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   should try to obtain IPv6 connectivity by using the best transition
   mechanism according to the network where the devices is attached.


   Later, the conditions of the network can change, even the user/device
   can change the location while moving.  Consequently the attachment
   point to the network can be different and the previous transition
   mechanism no longer be so well-performing or available at all.  The
   auto-transition algorithm has to monitor periodically the network
   parameters (i.e.  IPv4 address, loss, delays, etc.) in order to
   detect those changes and decide if another transition mechanism
   different to the one currently being used is convenient and provides
   better performance to activate it.


   All this process should be ideally automatic in order to avoid the
   user to make any manual configuration.  At the most, users only
   should introduce some parameters by means of a wizard during the
   installation process of the application that implements the
   auto-transition algorithm, but once it is up and running, all the
   tasks should be made by the system and no manual intervention
   required.


   This approach should be available at least in two kinds of platforms.


   o  End devices: Devices that do not intend to provide IPv6
      connectivity to others.  They are typically devices that would get
      IPv6 connectivity by means of Router Advertisement if they were
      attached to a native IPv6 scenario.  Examples are hosts, PDAs,
      mobile phones, cameras, home automation devices, white goods,
      consumer electronics, etc.


   o  CPE devices: Devices that are located between two different
      networks or networks segments.  Typically routers, IPv4 NAT boxes,
      etc.  They should provide native IPv6 connectivity to the whole
      network(s) located behind them by announcing an IPv6 prefix.  With
      this approach these kind of devices will be plug-and-play, so
      users only have to attach them to the network and they will deal
      with all the tasks to get IPv6 connectivity.  A few applications
      include home networks, hotels, hot-spots and so on.



3.  Auto-Transition Requirements


   The best IPv6 connectivity, in principle, is obviously the native one
   if available, since it should not add extra delays in the
   communication neither introduce more complexity to the networks.
   Consequently the auto-transition algorithm first must check if IPv6
   native connectivity is available.  However it strongly depends on the
   ISP support and can be expected that in the early IPv6 deployment




Palet, et al.            Expires April 24, 2005                 [Page 4]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   stage, only a few ISPs will provide it.


   If native connectivity is not available the auto-transition algorithm
   must choose the right transition mechanism to be used to ensure the
   IPv6 connectivity.


   A number of transition mechanisms have been defined already: Teredo,
   TB/TS, TSP, STEP, ISATAP, 6to4, tunnels, DSTM, etc.  All of them work
   when the host willing to get IPv6 connectivity has a public IPv4
   address.  Even some of them also work when the host is located behind
   a NAT box that allows proto-41 forwarding [3].  However there are
   other kinds of NAT boxes that prevent the existing transition
   mechanisms to work, so there is a gap that could be filled with new
   kind of solutions, possibly layer 2 or layer 4 tunnels.


   The adequate selection of the proper transition mechanism is one of
   the keys of the auto-transition concept.


   The auto-transition goal is to facilitate an adequate transition to
   IPv6.  Towards that, it tries to automatically decide the most
   optimal transition solution in every given scenario, which may be not
   the perfect one.  Actually implementing a perfect auto-transition
   solution could be a very complicated, overloading and slow algorithm
   (in addition to the delay in its specification and development); in
   the case it happens, could bring us the paradigm that there is no
   anymore an incentive for native IPv6 connectivity, which clearly is
   in contradiction with the goals of this memo and in general the
   (native) IPv6 deployment one.


3.1  Selection of the proper transition mechanism


   A few scenarios with particular network requirements had been defined
   already ([4], [5], [6], [7]).  Not all the transition scenarios fit
   in such network scenarios, as being evaluated at [8], which is trying
   to make the best fit to each scenario.


   The auto-transition algorithm may take into account not only the
   results shown in [8], but also new conclusions, because it is also
   possible a wider focus to select the best transition mechanism to be
   used.  What the end user always demands is the best performance on
   the IPv6 connectivity, so it should be the main criteria to choose
   the right transition mechanism.


   Distance, delays, loss and bandwidth, are some of the related
   parameters that could be used as metrics to be measured for knowing
   the link performance.  A device can present different values of such
   metrics according to the transition mechanism that is being used even
   when attached to the same network.




Palet, et al.            Expires April 24, 2005                 [Page 5]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   A combination of all the metrics could provide a fine evaluation of
   the connection performance.  However in order to make the mechanism
   as simple as possible only delay and loss should be considered.


   According to this philosophy the auto-transition algorithm could
   operate by means of the following simple algorithm, where the
   interactions are over the time:



   loop
        detect_scenario
        if (native_IPv6_available and native_priority)
                use_native_IPv6_connectivity
        else
                if (first_check or performance_check_allowed)
                        check_performance
                        use_best_mechanism
                endif
        endif
        configure_connectivity
        wait (link_check_timeout)
   endloop


   Figure 1: Simple Auto-transition algorithm


   It is important to note what each task or parameter means:


   o  detect_scenario: This task deals with detecting the scenario where
      the device willing to have IPv6 connectivity is located.  It could
      check if native IPv6 is available, if a public IPv4 address is
      available, if a NAT is being used and (possibly) the type, if
      there is a proxy or firewall, or if other protocols can be
      operated.


   o  native_IPv6_available: Detects if native IPv6 is available.


   o  native_priority: Detects if native IPv6 has priority, for
      instance, even in the case the performance is lower than the one
      that could be obtained with alternative transition mechanism that
      may be used (i.e.  a native IPv6 network with is attached to a
      non-native WAN link with IPv6 tunneled over IPv4 to and end-point
      which offers a bad performance while there is a much better
      TB/TS).  This condition could be set by the OS, or even under user
      or applications control.


   o  use_native_IPv6_connectivity: Configure the interface to use
      native IPv6 connectivity, using stateless or stateful
      autoconfiguration, upon their availability.




Palet, et al.            Expires April 24, 2005                 [Page 6]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   o  first_check: Defines if this is the first time this check is being
      done after an interface reset.


   o  performance_check_allowed: Defines if the performance of the
      selected mechanism can be measured after selected, for instance,
      to avoid traffic being generated in non-flat rate links (3GPP,
      ISDN, ...).


   o  check_performance: According to the detected scenario, a number of
      mechanisms could be used.  This task checks the performance that
      each of such transition mechanism provides, including native IPv6
      if available, by measuring delays and losses.  The mechanisms
      subset will be defined by taking into account [8], but others
      could be considered.


   o  use_best_mechanism: According to the measurement results, the best
      mechanism is selected.


   o  configure_connectivity: Either native IPv6 connectivity or the
      best available transition mechanism is configured.


   o  link_check_timeout: Once the IPv6 connectivity is obtained, the
      auto-transition algorithm periodically monitors the link status.
      The delay between consecutive checks is defined by this variable.


   A possible list of mechanisms to be checked, ordered by preference
   could be:


   1.  Native IPv6 Connectivity


   2.  TS with proto-41 ([3])


   3.  TS with UDP


   4.  ISATAP


   5.  STEP


   6.  6to4


   7.  Teredo



3.2  Change of transition mechanism


   Change of transition mechanism refers to the task to abandon the
   transition mechanism that is actually being used and start to use
   another one that presents better performance.  This is not an easy




Palet, et al.            Expires April 24, 2005                 [Page 7]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   task at all, since it involves at least two important issues:


   1.  To maintain the current IPv6 address.  This is very important in
       some situations, since otherwise applications with communications
       opened will not work.  Specially important is the case when the
       auto-transition algorithm is implemented in border devices that
       provide native IPv6 connectivity to the whole network.  Either
       the prefix network (i.e.  RA), or the IPv6 addresses (i.e.
       DHCPv6) that they provide, should try to keep the IPv6 addressing
       parameters.  If the auto-transition algorithm has to include the
       possibility of changing the transition mechanism used without
       discarding the current connection state, it is necessary to
       define a method that solves this issue.  MIPv6 concepts/solutions
       could be applied and possibly also those related to multihoming.


   2.  User authentication without human intervention.  The philosophy
       of the auto-transition algorithm is that all the processes are
       done automatically, with no human intervention.  So, for
       instance, if the device running the auto-transition algorithm
       needs to contact with a TB different to one being already used,
       and it requires user authentication, the process should be
       transparent to the user.  It could be based on parameters (login
       and password) configured through the wizard during the
       installation process.  AAA mechanisms should be used.


   In order to simplify the solution (i.e.  not relying on MIPv6,
   multihoming or others), it could be decided to keep using the
   initially selected transition mechanism, even when not providing the
   optimal connectivity, but instead ensuring that the IPv6 address is
   stable.


   In some situations it will be possible, even interesting, to keep
   active multiple transition mechanisms, for optimization or other
   purposes, even using some of them only in one direction, etc.  TBD.


3.3  New transition/tunneling mechanisms


   A number of devices do not allow tunnel-based transition mechanisms
   to work properly.  They are either NAT boxes, proxies or firewalls.
   Even building IPv6 tunnels over UDP is not always possible since some
   middle boxes do not forward those packets.


   When this happens it is required that the auto-transition algorithm
   uses a method that cannot be rejected by the middle box.  However, is
   important to realize that this may happen actually as a consequence
   of a policy or security measure from the network, specially in
   situations like enterprise networks.





Palet, et al.            Expires April 24, 2005                 [Page 8]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   The following sub-sections consider several alternatives.


3.3.1  Layer 2 tunnels


   By using layer 2 encapsulating methods (L2TP [9], PPTP [10], PPPoE
   [11]), the middle boxes barriers can be easily overcome since this
   kind of protocols are very used when building layer 2 VPN.
   Consequently, one of the following protocol stacks might be used.



     +--------+  +--------+
     |  IPv6  |  |  IPv6  |
     +--------+  +--------+
     |  PPP   |  |  PPP   |
     +--------+  +--------+  +--------+
     |  L2TP  |  |  PPTP  |  |  IPv6  |
     +--------+  +--------+  +--------+
     |  UDP   |  |  TCP   |  |  PPP   |
     +--------+  +--------+  +--------+
     |  IPv4  |  |  IPv4  |  |  IPv4  |
     +--------+  +--------+  +--------+


     L2TP tunnel PPTP tunnel PPPoE tunnel


   Figure 2: Layer 2 tunnels


   This kind of solution does not seem to be efficient due to the
   following drawbacks:


   o  It requires that the TS is configured as VPN L2 server.


   o  Overloaded stack.  IPv6 connection will have low performance.


   o  Complicated deployment and management due to the control plane for
      L2TP and PPTP.


   o  Authentication is a must with PPP.  It means added complexity.



3.3.2  Layer 3 tunnels


   VPN's built by mean of layer 3 tunnels can be a solution to allow
   IPv6 connections cross NAT boxes with no proto-41 forwarding
   capabilities as well as proxies and firewalls.








Palet, et al.            Expires April 24, 2005                 [Page 9]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



     +--------+  +--------+
     |  IPv6  |  |  IPv6  |
     +--------+  +--------+  +--------+
     |  IPv4  |  |  IPv4  |  |  IPv6  |
     +--------+  +--------+  +--------+
     |  PPP   |  |  IPsec |  |  IPv4  |
     +--------+  +--------+  +--------+
     |  IPv4  |  |  IPv4  |  |  IPv4  |
     +--------+  +--------+  +--------+


     PPP-IPv4    IPsec       IPv4-IPv4


   Figure 3: Layer 3 tunnels


   Compared to the Layer 2 tunnels, the layer 3 tunnels have the
   following advantages:


   o  Less overloaded stacks.


   o  Tunnel management simpler.


   o  There are some implementations (VTun, cIPE, TINC).


   However it also have important drawbacks:


   o  It requires that the TS is configured as VPN L2 server.


   o  Some NAT's could not support those.



3.3.3  Layer 4 tunnels


   The last resort is to try to overcome the middle barriers by means of
   the use of frequently used application protocols.  There are two well
   known possibilities that frequently will not create difficulties with
   neither proxies nor firewalls: TLS/SSL, HTTP and SSH.  Furthermore,
   they neither have problems with NAT boxes.  The protocol stack for
   this solution is as follows:














Palet, et al.            Expires April 24, 2005                [Page 10]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



      +--------+  +--------+  +--------+
      |  IPv6  |  |  IPv6  |  |  IPv6  |
      +--------+  +--------+  +--------+
      |  HTTPS |  |  HTTP  |  |  SSH   |
      +--------+  +--------+  +--------+
      |  TCP   |  |  TCP   |  |  TCP   |
      +--------+  +--------+  +--------+
      |  IPv4  |  |  IPv4  |  |  IPv4  |
      +--------+  +--------+  +--------+


   TLS/SSL tunnel HTTP tunnel SSH tunnel


   Figure 4: Layer 4 tunnels


   The main advantage of this approach is the simplicity for the
   configuration of the tunnel.  Furthermore the tunnels can be secured
   by means of either SSL (using HTTPS instead of HTTP) or SSH.


   Of course, this solutions are sub-optimal and consequently
   discouraged.


   According to the different alternatives, it sounds reasonable that
   the better solution could be Layer 4-based tunnels, since it is
   simpler than the others and always will work, but the performance
   will not be optimal.  Instead Layer 3 and Layer 2-based tunnels
   should be taken into account in implementations of the
   auto-transition algorithm in order to guarantee the IPv6 connectivity
   by covering all the possible alternatives.


   The usage of those new mechanisms is discouraged, unless there is no
   other choice.  In any case, the standardization of those different
   tunnel options is out of the scope of this document.


3.4  Discovery of the IPv6 End Point


   Devices running the auto-transition algorithm need to know where to
   find the IPv6 (tunnel) end point or tunnel server (TS) that provides
   them the IPv6 connectivity.  If native IPv6 connectivity is provided
   by the ISP and is being used used, then this TS will be obviously the
   link end point and no further discovery work is required.  This is
   slightly more complex when a transition mechanism is required to
   obtain the IPv6 connectivity.


   Having in mind that users want plug-and-play devices/services and
   that most of them do not have any knowledge about how the transition
   mechanism works or where the nearest Tunnel Broker/Tunnel Sever, 6to4
   relay, etc., are located, it is required considering the
   auto-discovery of the IPv6 TS, so the device can find it




Palet, et al.            Expires April 24, 2005                [Page 11]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   automatically.


   Different transition mechanisms have different ways to encapsulate
   IPv6 packets, so servers implementing different transition mechanisms
   can be considered like different types of IPv6 end points (which of
   course, can perfectly sit in a single server).  For example, the
   Tunnel Broker/Tunnel Server uses mainly 6in4 tunnels; TSP can used
   either 6in4 or IPv6 over UDP tunnels; Teredo uses IPv6 over UDP
   tunnel, etc.  Furthermore, each transition mechanism has its own
   tunnel setup handshake, so it is not only important to know where the
   nearest IPv6 TS is located but also what type of transition
   mechanism/s is able to manage.


   On the other hand, there are situations where people are crowded,
   i.e.  either conferences, airports, urban areas with high population
   density, etc.  In this scenario is very likely that most of the users
   choose a particular IPv6 TS, usually because it is nearer or more
   well known.  It is possible that while there exist a few IPv6 TS
   attending many connections, there can exist a lot of them that are
   not being used.  In this way, most of the users have poor performance
   in their connections while users using TS without congestion will
   have good performance.  It would be desirable that there were some
   kind of load balancing in order to uniformly distribute the IPv6
   tunnel requests among all available IPv6 TS.


   The different approaches to cope with this issue are analysed in
   [12].


4.  Nomadicity Considerations


   When users move across networks, several situations are possible.
   From the network point of view, users can or cannot maintain the IPv6
   address assigned from their home TS.  From the transition mechanism
   point of view, the new one can or cannot require an authentication
   process.  So clearly some considerations are required regarding the
   auto-transition algorithm behavior while user is moving.


   1.  Nodes that do not need to maintain the IPv6 address assigned from
       their home TS.  They are typically nomadic users who get
       connectivity to "passive" Internet users (browsing, emailing,
       etc.), but do not need to be "identified" from Internet
       (nevertheless this situation is changing with next generation p2p
       applications, VoIP, etc.).  Looking for the best IPv6
       connectivity can lead the auto-transition algorithm to define as
       the best TS one of the following:


       *  TSs that do not require authentication process.  They are TSs
          that provide IPv6 connectivity and they do not make any




Palet, et al.            Expires April 24, 2005                [Page 12]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



          authentication process (TEREDO, 6to4, etc.).  The
          auto-transition approach does not offer any advantage in this
          case, so the auto-transition algorithm will just contact to
          the TS and the IPv6 connectivity will be obtained.


       *  TSs that require authentication process.  They are TSs that
          only provide IPv6 connectivity to authenticated users (users
          that previously were somehow registered in the entity
          providing the IPv6 TS service or some related entity).
          Automatic AAA mechanism must be defined, in order to ensure
          the no-human intervention requirement.  The TS can or cannot
          belong to the entity which the user was registered.  If so,
          authentication process is simpler.  However, a global
          authentication only will be possible if there are roaming
          agreements between the entity that is selected to obtain IPv6
          connectivity and the "home" entity which the user is
          registered.  These roaming agreements could be used for
          billing purposes among others.  If there are not such
          agreements, automatic connectivity is not possible and the
          auto-transition algorithm has two options:


          +  To choose an alternative transition mechanism, even
             although it does not offer the best performance.


          +  To inform to the user that the best IPv6 connection is only
             possible if a new manual registration/authentication
             process is done.


       *  The behavior should be defined during the wizard installation
          process of the auto-transition implementation.


   2.  Nodes that need to maintain the IPv6 address assigned from their
       home TS.  Users belonging to this group are typically users with
       either server or peer-to-peer applications, devices that need to
       be tracked (cars, suitcases, etc.), etc.  MIPv6 should be applied
       to this kind of nodes, but the following considerations must to
       taken into account by the auto-transition algorithm:


       *  Mobility capability should be an option that should be
          configured by means of the installation wizard.  If chosen,
          the first time that the auto-transition algorithm is run, it
          must check if a Home Agent (HA) exists either in the current
          IPv6 network or in the TS.  In fact, this option should
          condition the order of searching for the best transition
          mechanism to get IPv6 connectivity.  In this way, only
          mechanisms compatible with the presence of HA should be taken
          into account (mechanisms providing static IPv6 network prefix
          like TB, TSP, ISATAP, etc.).  The auto-transition algorithm




Palet, et al.            Expires April 24, 2005                [Page 13]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



          should record the mechanism used to get IPv6 connectivity.
          Some transition mechanisms like ISATAP, allow the HA
          deployment into the home network which the nomadic device is
          initially attached.  Others, like TB, could be deployed in
          different networks from the one where the device is physically
          attached, but the HA could be implemented into the TS that
          provides the IPv6 connectivity.  On the other hand, the
          auto-transition algorithm should discard transition mechanisms
          that build the IPv6 network prefix from the IPv4 address
          (6to4, TEREDO, etc.).  This is required because it is no
          possible the deployment of the HA into the same IPv6 network,
          so no mobility features would be possible.  If no HA is
          discovered the first time that the auto-transition algorithm
          is run, then no MIPv6 support is possible, so the user should
          be informed and the usual auto-transition algorithm must be
          applied to get IPv6 connectivity.


       *  Once the node is away from home network, it needs to get IPv6
          connectivity.  The auto-transition algorithm should first
          check if it possible to maintain the same IPv6 home address,
          according to the mechanism used, before moving for getting the
          home address.  There are some kinds of transition mechanisms
          that allow this operation like a TB with several TS
          associated.  In this scenario, the node first gets the IPv6
          home address from a TS.  After the node move to other
          location, it could get IPv6 connectivity from a different TS
          that is associated to the same TB.  It is possible that either
          the new TS has the same /64 network prefix that the old TS or
          it can be configured by the TB to forward/send tunneled
          packets coming/going from/to the nomadic node.  In this way
          the nomadic device could maintain the IPv6 home address.  Even
          if the new TS does not belong to the same TB but there are
          roaming agreements between the involved entities, the
          maintenance of the IPv6 address/prefix could be possible.  How
          to do this configuration is out of scope of this document.


       *  If the IPv6 home address can not be maintained, then once the
          nomadic device has a new IPv6 address by means of any
          transition mechanism, it must contact to the HA to communicate
          the care of address following MIPv6.


   Other considerations pointed out in [12] should be taken into
   account.


5.  Network Managed Transition


   The algorithm described in this memo attempts to automatically and
   autonomously provide the best possible IPv6 connectivity and follows




Palet, et al.            Expires April 24, 2005                [Page 14]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   an approach based on the role of the user device Operating System.
   However the algorithm and in general the transition, could be
   improved and/or even more easily managed from the service provider
   (SP) point of view, if the network provided services that could help
   the auto-transition algorithm.  Following this approach, we propose a
   transitioning management architecture that in addition to providing
   network management functionality to the providers' network can also
   better support auto-transitioning hosts.


   There are two basic alternatives for the network managed transition:
   The use of Policy Based Networks (PBN) [13] or using a "transitioning
   server".


   [This section needs more text in order to explain how the
   communication between PDP and PEPs will be done, interaction among
   policies, how the different parameters like link, user identity and
   so on can influence the transition mechanism chosen.  Also other
   options rather than just PBN, such as SNMP, can be further
   described.] TBD.


5.1  Policy Based Networks


   Policies stored on the network repository might include information
   about the type of transition mechanisms implemented into the network
   to which the user device is attached to, so the auto-transition
   algorithm implemented into the user device would have more
   information to choose a better one or directly those possible in that
   network, or those suggested by the SP, or those enabled by the SP
   policy.


   In a more advanced behavior the auto-transition algorithm implemented
   into the user device would inform to the Policy Decision Point (PDP),
   about features such as type of connection, date/time, user privileges
   and/or whatever other relevant information.  Then, the PDP might
   interact with other policies stored on the repository such as QoS
   Policies, Security Policies and so on, in order to propose the more
   adequate transition mechanism to be used by the device willing to get
   IPv6 connectivity.


   In accordance with [13], based on this approach the user device will
   act as a Policy Enforcement Point (PEP) as well as implementing the
   auto-transition algorithm.


5.2  Transitioning Server


   Essentially, the architecture will provide a 'transitioning server'
   which the host should automatically detect and register with to be
   provided with the optimum IPv6 transitioning solution for its current




Palet, et al.            Expires April 24, 2005                [Page 15]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   location within the network.  This has a number of advantages both
   from the administrators and auto-transitioning hosts point-of-view,
   the primary one being that this will act as a single point of contact
   for all auto-transitioning hosts within the network regardless of
   their location and circumstances and so by default gives a degree of
   control over this service to the administrator.  A summary of the
   advantages this provides are:


   o  Host


      *  Simplifies mechanism detection and configuration by explicitly
         providing the host with mechanism location and configuration
         information.


      *  Capable of supporting host roaming within the network (improves
         hand-off procedure).


      *  Will act as a centralised authentication point for the
         auto-transitioning host.


   o  Administrator


      *  Introduces administrative control to the auto-transitioning
         procedure.


      *  Allows administrator to determine mechanism availability to
         hosts.


      *  Provides admin with fine-grained control over host access
         control.


      *  Can easily be extended to support performance provisioning to
         user groups dependant upon privileges or service agreements.


   This component also introduces a significant security consideration
   to the process as adequate security precautions must be made to
   protect the server from abuse.  The server must be adequately
   protected from both DoS-type attacks and exploitation/hacking.


   The following sub-sections describe the auto-transition algorithm
   modifications required for the host and server operation, in case the
   network managed transition is being used.


5.3  Host operation


   The host auto-transitioning algorithm will need minor modification in
   order to make use of the transitioning management architecture.  This
   should reflect the fact that it represents an optimum solution when




Palet, et al.            Expires April 24, 2005                [Page 16]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   compared to the host attempting to detect the transitioning
   infrastructure individually but is less desirable than native IPv6
   connectivity.  Whether the network provides this type of transition
   facilities or not, the auto-transition algorithm, when present, must
   always attempt to provide the 'best' possible IPv6 connectivity.  The
   term 'best' is perhaps misleading as it actually represents the
   optimum solution based on a number of criteria ranging from host or
   auto-transitioning priorities, provider policies etc.  We can
   envisage the following alternatives:


   o  Both auto-transition algorithm and network managed transition are
      present.  The user device should be provided with the optimal
      transition mechanism in this scenario.


   o  Only auto-transition algorithm present.  Depending on the network,
      the transition might not be "optimal", but the auto-transition
      algorithm in the user device must be capable of providing some
      level of "good enough" IPv6 connectivity.


   o  Only network managed transition present.  The user device doesn't
      support the auto-transition algorithm, but a set of managed
      transition mechanisms in the network will be capable of offering
      possibly a good alternative for IPv6 connectivity, again not
      necessarily the optimal one.


   o  Neither mechanism is present.  This is the case where a user
      device has not been upgraded, but does include some transition
      mechanisms.  The provider is also not offering managed transition
      and so if the operating system is not capable of offering an
      automatic transition mechanism selection, the user device may
      require manual user intervention or even not offer IPv6
      connectivity at all.


   The key aspect of this process will be in making the host capable of
   detecting the presence of the PDP or transitioning server in the
   network.  In many ways, this is similar to the tunneling mechanism
   auto-detection procedure described in [12] and so a similar approach
   could be adopted here.  Essentially it identifies a number of
   approaches that could be used to automatically detect services
   including DHCP, DNS names or shared unicast addresses and describes
   the potential advantages and disadvantages of using each solution.
   It concludes that due to the weaknesses of the other solutions, DNS
   is the best solution here and recommends it for use in this case.
   Due to the similarities of that problem and the one described here,
   this solution could also be adopted for transitioning server
   auto-detection, this would also serve to simplify the
   auto-transitioning host algorithm if similar approaches are used.
   This aspect is not described in more detail here but see the solution




Palet, et al.            Expires April 24, 2005                [Page 17]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   document [14] for a more detailed explanation.


   The modifications to the auto-transition algorithm to incorporate the
   network managed transition architecture will be inserted in between
   the native IPv6 availability and host auto-detection sections.  This
   is shown in the following algorithm:



   loop
        detect_scenario
        if (native_IPv6_available and native_priority)
                use_native_IPv6_connectivity
        else
                if (network_managed_transition available)
                        use_network_managed_transition
                else
                        if (first_check or performance_check_allowed)
                                check_performance
                                use_best_mechanism
                        endif
                endif
        endif
        configure_connectivity
        wait (link_check_timeout)
   endloop


   Figure 2: Auto-Transition using Network Managed Transition


   As you can see, the host will now check for native connectivity first
   before attempting to find a network manager transition service and
   only falling back on host detection if that too fails.


5.4  Server operation


   One of the more interesting aspects of the introduction of the
   network managed transition service will be the registration procedure
   that hosts follow in order to make use of the service.  This will
   allow the service provider to keep track of the auto-transitioning
   hosts within its network and to assign certain privileges or
   priorities to the transitioning hosts, depending on administrative
   policies.  For example, hosts native to the network may receive a
   better level of service (either through access to a better-performing
   mechanisms or prioritised load-balancing) than 'foreign' hosts.


   The introduction of the network managed transition service
   essentially removes the transitioning mechanism selection procedure
   from the hosts and unifies it within the server.  This makes the
   server responsible for determining which mechanisms to supply to the




Palet, et al.            Expires April 24, 2005                [Page 18]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   hosts as they register and this could be done according to the
   following algorithm:



   loop
        receive request from auto-transitioning host + authenticate
        determine available mechanism(s)
        if (more than one available)
                rank mechanisms according to scoring algorithm
                select 'best' mechanism
        endif
        reply to host
        supply necessary configuration information to host
   endloop


   Figure 3: Determination of Auto-Transition using Network Managed
   Transition


   The interesting part of this procedure is the algorithm that is
   applied to determine the most appropriate mechanism for the host in
   the event that more than one solution is available.  It is obviously
   important that the administrator has control over this algorithm to
   the extent that they will be able to determine who has access to
   which services within their network.  At a simple level, this could
   be a 'default' list of mechanisms as described earlier in this draft
   but has the potential to be expanded to take into account, for
   example, the performance required by the host, host privileges and/or
   administrative preferences.


   Considering that most of the ISP will not necessarily deploy
   transition mechanisms in the early stage, advanced IPv6 Internet
   Exchanges could provide this kind of services [15] and in general
   policy-based capabilities.  The IX is not just a central peering
   point which facilitates any new service deployment, but also a place
   where lots useful information (routes, QoS, link conditions, etc.)
   about several domains is available.  With this philosophy, the
   transition policies will be one more facility provided by this type
   of IXs.


6.  Conclusions


   TBD.


7.  Security Considerations


   The auto-transition algorithm should secure at least the following
   points:





Palet, et al.            Expires April 24, 2005                [Page 19]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   1.  Communication with TS for administrative purposes.


   2.  Communication with TS for authentication purposes.


   3.  Tunnel building is according to the chosen TS.


   4.  General tunnel security consideration pointed at [16].



8.  Acknowledgements


   This memo was written as a consequence of real experience using IPv6
   when traveling, number of talks during IETF meetings and specially
   the work with the unmanaged, ISP and enterprise v6ops design teams.
   The authors would also like to acknowledge inputs from Brian
   Carpenter, Alvaro Vives, Cesar Olvera, Jim Bound, Stig Venaas and the
   European Commission support in the co-funding of the Euro6IX project,
   where this work is being developed.


9.  References


9.1  Normative References


9.2  Informative References


   [1]   Thomson, S. and T. Narten, "IPv6 Stateless Address
         Autoconfiguration", RFC 2462, December 1998.


   [2]   Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and M.
         Carney, "Dynamic Host Configuration Protocol for IPv6
         (DHCPv6)", RFC 3315, July 2003.


   [3]   Palet, J., "Forwarding Protocol 41 in NAT Boxes",
         draft-palet-v6ops-proto41-nat-03 (work in progress), October
         2003.


   [4]   Huitema, C., "Evaluation of Transition Mechanisms for Unmanaged
         Networks", draft-ietf-v6ops-unmaneval-03 (work in progress),
         June 2004.


   [5]   Lind, M., Ksinant, V., Park, S., Baudot, A. and P. Savola,
         "Scenarios and Analysis for Introducing IPv6 into ISP
         Networks", draft-ietf-v6ops-isp-scenarios-analysis-03 (work in
         progress), June 2004.


   [6]   Wiljakka, J., "Analysis on IPv6 Transition in 3GPP Networks",
         draft-ietf-v6ops-3gpp-analysis-10 (work in progress), May 2004.





Palet, et al.            Expires April 24, 2005                [Page 20]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



   [7]   Bound, J., "IPv6 Enterprise Network Scenarios",
         draft-ietf-v6ops-ent-scenarios-05 (work in progress), July
         2004.


   [8]   Savola, P. and J. Soininen, "Evaluation of v6ops Tunneling
         Scenarios and Mechanisms", draft-savola-v6ops-tunneling-01
         (work in progress), April 2004.


   [9]   Townsley, W., Valencia, A., Rubens, A., Pall, G., Zorn, G. and
         B. Palter, "Layer Two Tunneling Protocol "L2TP"", RFC 2661,
         August 1999.


   [10]  Hamzeh, K., Pall, G., Verthein, W., Taarud, J., Little, W. and
         G. Zorn, "Point-to-Point Tunneling Protocol", RFC 2637, July
         1999.


   [11]  Mamakos, L., Lidl, K., Evarts, J., Carrel, D., Simone, D. and
         R. Wheeler, "A Method for Transmitting PPP Over Ethernet
         (PPPoE)", RFC 2516, February 1999.


   [12]  Palet, J. and M. Diaz, "Evaluation of v6ops Auto-discovery for
         Tunneling Mechanisms", draft-palet-v6ops-tun-auto-disc-01 (work
         in progress), June 2004.


   [13]  Yavatkar, R., Pendarakis, D. and R. Guerin, "A Framework for
         Policy-based Admission Control", RFC 2753, January 2000.


   [14]  Palet, J., "IPv6 Tunnel End-point Automatic Discovery
         Mechanism", draft-palet-v6ops-solution-tun-auto-disc-00 (work
         in progress), September 2004.


   [15]  Morelli, M., "Advanced IPv6 Internet Exchange model",
         draft-morelli-v6ops-ipv6-ix-00 (work in progress), July 2004.


   [16]  Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms for
         IPv6 Hosts and Routers", draft-ietf-v6ops-mech-v2-06 (work in
         progress), September 2004.















Palet, et al.            Expires April 24, 2005                [Page 21]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



Authors' Addresses


   Jordi Palet Martinez
   Consulintel
   San Jose Artesano, 1
   Alcobendas - Madrid
   E-28108 - Spain


   Phone: +34 91 151 81 99
   Fax:   +34 91 151 81 98
   EMail: jordi.palet@consulintel.es



   Miguel Angel Diaz Fernandez
   Consulintel
   San Jose Artesano, 1
   Alcobendas - Madrid
   E-28108 - Spain


   Phone: +34 91 151 81 99
   Fax:   +34 91 151 81 98
   EMail: miguelangel.diaz@consulintel.es



   Michael Mackay
   Lancaster University
   Lancaster
   United Kingdom


   Phone:
   Fax:
   EMail: m.mackay@lancaster.ac.uk




















Palet, et al.            Expires April 24, 2005                [Page 22]


Internet-Draft     Evaluation of IPv6 Auto-Transition       October 2004



Intellectual Property Statement


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


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


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



Disclaimer of Validity


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



Copyright Statement


   Copyright (C) The Internet Society (2004).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.



Acknowledgment


   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Palet, et al.            Expires April 24, 2005                [Page 23]