Internet DRAFT - draft-toutain-softwire-point6box

draft-toutain-softwire-point6box






Network Working Group                                         L. Toutain
Internet-Draft                                                B. Stevant
Expires: July 30, 2006                                 GET/ENST Bretagne
                                                               F. Dupont
                                                                   CELAR
                                                                D. Binet
                                                                  FT R&D
                                                        January 26, 2006


                         The Point6Box Approach
                draft-toutain-softwire-point6box-00.txt

Status of this Memo

   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 becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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 July 30, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   The Point6Box is an add-on equipment which brings IPv6 connectivity
   to home and SME in a non-intrusive way.  It is a deployment tool
   which will be replaced by IPv6 native service in term.




Toutain, et al.           Expires July 30, 2006                 [Page 1]

Internet-Draft                  Point6Box                   January 2006


1.  Motivation

   IPv6 is nowadays implemented in many components such as core network,
   operating systems and even in several applications, but end-to-end
   IPv6 connectivity is still missing, especially because very few
   Internet Access Providers (IAP) offer for IPv6 connectivity and
   prefixes allocation.  The IETF and some companies have defined and/or
   developed transitions tools like: 6to4, Tunnel Broker or Teredo, but
   these tools concern either experimented users or do not offer all the
   IPv6 benefits (always-on, machine to machine communications,...) to
   build applications.  Furthermore, some of these solutions may also
   lead to some security threat.

   In this document we present the Point6Box and its counterpart the
   Point6 Provider Edge (PEv6), two equipments that bring IPv6
   connectivity to home and SME (Small and Medium Enterprise).  This
   experiment has been launched by the Point6 project in 2005 and fills
   some of the requirements of the "hub and spoke" problem described by
   the Softwires working group [ID.problemstatement].  This document
   gives a short overview of the  motivation, architecture and protocols
   used to solve the problem.

   The Point6Box is an add-on equipment that can be connected to any
   CPEv4 or router in order to bring IPv6 connectivity and
   functionalities in a non-intrusive way.  It is important to note that
   our goal is to fill missing gaps and not to specialize an equipment
   for IPv6 connectivity.  Progressively, when IAP routers and CPE
   (Customer Premise Equipment) will become IPv6 aware, these
   functionalities will be included into equipments.

   Several usages and objectives have been identified in this project:
   o  allow IPv6 connectivity for devices connected in a SME and Home
      network, in a very easy way, nearly without configuration from the
      user,
   o  locate IPv6 functionalities on stand-alone and cheap equipment to
      avoid to rely on desktop computers.  Since IPv6 implies to be
      always-on, the Point6Box has not to be switched off.
   o  allow the introduction of IPv6 demonstrators on existing IPv4
      network infrastructure.  For instance, this allows an R&D division
      to add features to existing products and to make demonstration to
      business units.
   o  anticipate new usages.  The connectivity offered by the Point6Box
      is very close to native access.  Currently, new applications such
      as machine to machine communication relying on auto-configuration
      features and service discovery can be tested.
   o  manage an IPv6 network to discover missing features and debugging
      existing software to improve quality and reduce exploitation
      costs.  Experiences learned during the transition phase must be



Toutain, et al.           Expires July 30, 2006                 [Page 2]

Internet-Draft                  Point6Box                   January 2006


      directly reused when IPv6 will be run on native infrastructures.
   o  use open source software for CPE and PE and extend functionalities
      when needed.
   o  use only fully standardized protocols, such as L2TP [RFC2661],
      PPP,  etc.
   o  be able to run over any IPv4 infrastructures (any NAT solutions)
      to provide a a transition tool to IAPs compliant with future
      native access architecture.

2.  Technical description

   Technically, the Point6Box can be viewed as an IPv6 router with only
   one Ethernet port plugged into an IPv4 router.  Through this port,
   the Point6Box will establish connectivity to an IPv6 Provider Edge.
   The tunnel is made over L2TP, which provides three main
   characteristics:
   o  L2TP messages are carried over UDP to offer NAT-traversal
      capabilities,
   o  PPP is used to carry IPv6 frames, so we can rely on built-in
      authentication and configuration mechanisms, and have very easy
      interaction with AAA servers.
   o  LPC sub-protocol may be used to detect when a tunnel is down, for
      instance due to an IPv4 address renumbering

   The Point6Box removes the L2TP encapsulation and forwards incoming
   IPv6 packets on the link.  Generally SME or Home routers interfaces
   are bridged with an IEEE 802.11 network, so every equipment connected
   to that network will receive Router Advertisements.  IPv6 traffic
   generated by these equipments will be routed through the Point6Box.
   IPv4 traffic will continue to be NATed by the IPv4 edge router.

   The Point6 Provider Edge is connected to the IPv6 backbone.  It
   includes the server part and can be connected to an AAA database to
   allow authorization and monitoring.  The following picture describes
   the service architecture.
















Toutain, et al.           Expires July 30, 2006                 [Page 3]

Internet-Draft                  Point6Box                   January 2006


   /---------------------------\                         CPEv6
   |          +--------------+ |    DHVPv6              +-----+
   |    /....>| DHCPv6 relay |<........................>| P   |
   |    .     +--------------+ |                 CPEv4  | o   |  |
   |    .     | L2TP IPv6    | |    L2TP        +-----+ | i   |  |-- X
   |    .     |  server      |=======================b=== n B |  |
   |    v     +--------------+ |   @@  @@       |    r| | t o |  |
   | +--------+  ^             |  @  @@  @      | N  i|-| 6 x |  |-- Y
   | | DHCPv6 |  |             |--@ IPv4 @------| A  d| +-----+  |
   | | server |  |             |  @  @@  @      | T  g|          |
   | +--------+  |             |   @@  @@ PEv4  |    e|----------|
   \-------------|-------------/                +-----+   RA->   |-- Z
                 |      PEv6                                     |
     +--------+  |                                             clients
     | RADIUS |  | RADIUS
     | server |<-/
     +--------+            IPv4/v6 ISP               Customer


                      Figure 1: Service Architecture

   During the initialization part, the Point6Box establishes a PPP
   peering with the PEv6 through the IPv4 Internet.  Parameters required
   for the configuration of the Point6Box are the IPv4 address of this
   PE and a login/password.  The PEv6 replies with a PPP/CHAP challenge
   and the Point6Box authenticates itself.  The PEv6 queries an AAA
   server to validate the user authorization.

   AAA and DNS servers will play an important role in network
   management.  Since only the end system will create addresses, a
   provider must offer an IPv6 network with prefixes.  The AAA server is
   used to centralize information concerning the user.  When the AAA
   server authenticates the user, it returns a positive acknowledgment
   and the information concerning the account.  We have currently
   identified three main parameters:
   o  Delegated prefix [ID.delegated]: It is allocated by the provider
      to the site network.  The minimal length can be a commercial
      agreement between the user and the provider.  It may vary between
      48 and 64 bits regarding the SME/home network topology or the
      policy the user has with its provider.  The prefix allocation is
      centralized on the AAA server.  This allows the provider to get a
      centralized vision of the mapping between users and allocated
      prefixes, but the allocation made by the AAA server must have the
      following properties: stability over time and aggregation in the
      provider core network.
   o  DNS service: It is used in the traditional way to find the address
      from name and vice-versa.




Toutain, et al.           Expires July 30, 2006                 [Page 4]

Internet-Draft                  Point6Box                   January 2006


   o  DNS domain: In this domain the user can register some equipments
      through DNS Dynamic Update.  The default name could be something
      like user-login.provider.net.

   Both ends of the IPv6 tunnel are configured with link-local
   addresses, and global addresses (for administration purposes).  Then,
   the Point6Box sends a DHCPv6 [RFC3315] request to get the account
   parameters.  The reply contains a prefix (64 bit long (aka. /64) or
   shorter) [RFC3633] and other parameters previously returned by the
   AAA server.

   Auto-configuration of the SME/Home network is a major feature to
   rapidly spread IPv6.  If the SME/Home network includes several
   routers configuration for IPv4 requires technical skills.  We have
   study several approaches to offer internal routers configuration (see
   [AINA2005]).  In this proposal, we focus on DHCPv6 because it does
   not require any modification, even if this approach is less efficient
   in case of multi-homing .

   The Point6Box includes a DHCPv6 server to answer the requests inside
   the domain.  The static parameters such as DNS resolver and the DNS
   domain are given to other routers and a pool of /64 prefixes is a
   constructed based on the prefix received from the provider.  An
   internal router will execute the following algorithm, when one of its
   interface gets configured through the Neighbor Discovery (ND)
   [RFC2461] [RFC2462] protocol:
   o  The router sends DHCPv6 requests for a /64 prefix (the interaction
      with ND as explained in [AINA2005] is used to detect loops or dual
      prefixes allocation),
   o  The router waits for answers from the Point6Box containing the
      prefix and other parameters,
   o  The router assigns prefixes to interfaces.  It starts unicast and
      multicast routing and a DHCPv6 relay.  The relay functionality is
      used to allow downstream routers to talk with the DHCPv6 server.

   At this point, the internal routers are configured, the equipment
   addresses can be setup through standard Neighbor Discovery protocol
   and other parameters through DHCPv6.  Names and services discovery
   becomes an important feature in auto-configured networks since
   addresses cannot be a priori guessed.  It is not clear if DNS is the
   appropriate answer, more experimentation have to be done.  In a first
   approach, we propose to study the Dynamic Update, and offer this
   service in the provider network.  Every host wanting to register to
   the DNS, has received through DHCPv6 the domain name and the resolver
   address and can run a script to register its addresses in the direct
   and reverse DNS.  The provider may prevent misleading usage by
   filtering prefixes.




Toutain, et al.           Expires July 30, 2006                 [Page 5]

Internet-Draft                  Point6Box                   January 2006


3.  PEv6 Architecture overview

   On the CPEv6 equipment, the interaction between different protocols
   is relatively simple and in sequence.  The L2TP tunnel is open, then
   a response to the challenge is sent, followed by a ND router
   solicitation and a DHCPv6 request.  The interactions between
   protocols are more complex on the PEv6 equipment.

   The PEv6 waits for L2TP connection.  The L2TP service is not
   protected by a shared secret, since this secret will have to be
   shared between all the customers and will not prevent from a DoS
   attack.

   When a CPEv6 opens a tunnel, PPP is activated on that tunnel and a
   challenge is sent and a response is expected.  The response contains
   the challenge, the answer to the challenge and the customer identity.
   The PEv6 forwards these values to an AAA (RADIUS [RFC2865] today)
   server.  Currently on our experimentation, the response from the AAA
   server is just used to accept or not the connection.  This should be
   enhanced in the future and the AAA will return more attributes like
   delegated prefix and other parameters.

   Note that the value of the delegated prefix must be as stable as
   possible, but must depend on the PE location to allow aggregation in
   the IPv6 core network.  So if a customer moves its Point6Box from one
   place to another, he may not receive the same delegated prefix.

   The PEv6 receives user-specific IPv6 parameters from the AAA server
   during access authentication.  It cannot send them directly using the
   PPP/IPv6CP protocol since only Link Local prefixes are negotiated.
   The PEv6 has to save information returned by the AAA server and to
   provide them later to the client during DHCPv6 negotiation

   When the CPEv6 requests DHCPv6  parameters, a mapping  must    be
   established  between  the DUID  used by DHCPv6  to identify  CPE and
   information returned by  AAA identified  by user name.  To allow
   this mapping, a DHCPv6 Relay function is added for each active L2TP
   tunnel.  This relay adds RRAO (Relay agent RADIUS Attribute Option
   [ID.rrao]) information containing user name to the request anf
   forwards it to the DHCPv6 server.

   Since the Point6Box service should maintain for a prefix a mid-term
   stability, prefix assignments to users are saved in a lease database.
   The DHCPv6 server may also use attributes provided by RRAO to decide
   which prefix pool is to be used for this particular user based on
   information from AAA.

   The PEv6 needs to know what prefixes are allocated, for instance for



Toutain, et al.           Expires July 30, 2006                 [Page 6]

Internet-Draft                  Point6Box                   January 2006


   route injection.  Today the information is snooped by the DHCPv6
   relay because the right mechanism [ID.notagent] was published after
   the code was developed.

4.  Transition

   As stated before, the goal of the Point6Box is not to install IPv6
   services on a new equipment.  The goal of the Point6Box is to
   disappear when full connectivity will be established.  During that
   time, the Point6Box will have helped to debug existing
   implementations, to explore new ways of managing IPv6 networks and to
   develop missing applications.  One possible transition scenario is
   the integration of Point6Box software into existing CPE, and continue
   to tunnel IPv6 until all the provider network has been updated to
   manage natively IPv6.  At this time, complete transition will mean
   merging of IPv4 and IPv6 AAA databases.

5.   Scenarios and future plans

   Several scenarios have been identified for a current use of the
   Point6Box:
   o  offer an easy IPv6 connectivity.  The non-intrusive introduction
      of IPv6 in existing network, will help to demonstrate the benefits
      of IPv6 (global addresses, auto-configuration, always on,...)
      without modifying existing architecture.  In France, lots of
      providers are offering triple play services.  IPv6 access is
      incompatible with this offer due to implementation limitation.
      Using an IPv6 CPE instead of the provider box currently implies
      loosing television or telephony offers.  Point6Box approach allows
      users to continue to access to all their services and to get an
      IPv6 connectivity.  In that way, the user and the provider may
      test new services.
   o  deploy the IPv6 in a private network.  A company specialized in
      digital signages has to install display devices in hotels, shops
      and supermarkets.  The use of IPv4 is complex since display
      equipments are behind a NAT.  The media server, which contains the
      contents update, cannot contact directly the equipments.  With
      IPv6 each equipment has a global and stable address.  The media
      server can send in real time the contents updates.  The Point6Box
      approach will simplify the deployment of such services:
      1.  an authenticated tunnel will be set to the media server
      2.  IPv6 auto-configuration routers and hosts properties will
          allow equipments to be simply plugged on the network without
          special configuration.
      This scenario does not require a full Internet connectivity, since
      it focuses on a closed group of users.  Security features are not
      blocking, since the Point6Box can strongly authenticate itself to
      the PEv6.



Toutain, et al.           Expires July 30, 2006                 [Page 7]

Internet-Draft                  Point6Box                   January 2006


   o  Experiment new usages: IPv6 network will not be managed in the
      same way as an IPv4 networks: providers will allocate prefixes
      instead of addresses, equipments like television set will have an
      IPv6 address, ...  This will lead to other paradigms on
      networking.  The Point6Box may help to find innovative usages,
      adapt or develop new protocols and services.  We currently
      investigate in network auto-configuration, service discovery,
      securing auto-configuration and automatic filtering of IPv6
      Point6Box is a good experimental platform to implement research
      results.

   We are also working in mobility features especially in header
   compression to limit the impact of tunneling overhead on low
   bandwidth links as wireless networks.  This could help to demonstrate
   new services even when the wireless infrastructure is IPv4 only.

6.  Acknowledgments

   The Point6Box development has been made on by a Point6 team (founded
   by the Brittany Region Council, GET/ENST Bretagne and IRISA/INRIA).
   This work will not have been possible without the support of Etienne
   Gallet de Santerre, Herve Le Goff, Yannick Skrzypacz.  We would also
   like to thank the Point6Boxes used by some of the authors to edit
   this document with IPv6.

7.  Security Considerations

   The Point6Box approach uses only already existing protocols so should
   not introduce new security issues.

8.  References

8.1  Normative References

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

   [RFC2865]  Rigney, C., Willens, S., Rubens, A., and W. Simpson,
              "Remote Authentication Dial In User Service (RADIUS)",
              RFC 2865, June 2000.

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

   [RFC3633]  Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
              Host Configuration Protocol (DHCP) version 6", RFC 3633,



Toutain, et al.           Expires July 30, 2006                 [Page 8]

Internet-Draft                  Point6Box                   January 2006


              December 2003.

8.2  Informative References

   [AINA2005]
              Chelius, G., Fleury, E., and L. Toutain, "No
              Administration Protocol (NAP) for IPv6 Router Auto-
              Configuration", AINA 2005 IEEE 19th International
              Conference on Advanced Information Networking and
              Applications, March 2005.

   [ID.delegated]
              "RADIUS Delegated-IPv6-Prefix Attribute".

   [ID.notagent]
              Droms, R., Volz, B., and O. Troan, "DHCP Relay Agent
              Assignment Notification Option",
              draft-ietf-dhc-dhcpv6-agentopt-delegate-00.txt (work in
              progress), July 2006.

   [ID.problemstatement]
              Li, X., Durand, A., Miyakawa, S., Palet, J., Parent, F.,
              and D. Ward, "Softwire Problem Statement",
              draft-ietf-softwire-problem-statement-00.txt (work in
              progress), December 2005.

   [ID.rrao]  Wing Cheong Lau, "DHCPv6 Relay agent RADIUS Attribute
              Option", draft-ietf-dhc-v6-relay-radius-01.txt (work in
              progress), August 2005.

   [RFC2461]  "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461,
              December 1998.

   [RFC2462]  "IPv6 Stateless Address Autoconfiguration", RFC 2462,
              December 1998.

   [RFC4057]  Bound, J., "IPv6 Enterprise Network Scenarios", RFC 4057,
              June 2005.













Toutain, et al.           Expires July 30, 2006                 [Page 9]

Internet-Draft                  Point6Box                   January 2006


Authors' Addresses

   Laurent Toutain
   GET/ENST Bretagne
   2 rue de la Chataigneraie
   CS 17607
   35576 Cesson-Sevigne Cedex
   France

   Fax:   +33 2 99 12 70 30
   Email: Laurent.Toutain@enst-bretagne.fr


   Bruno Stevant
   GET/ENST Bretagne
   2 rue de la Chataigneraie
   CS 17607
   35576 Cesson-Sevigne Cedex
   France

   Fax:   +33 2 99 12 70 30
   Email: Bruno.Stevant@enst-bretagne.fr


   Francis Dupont
   CELAR

   Email: Francis.Dupont@point6.net


   David Binet
   FT R&D

   Email: David.Binet@francetelecom.com

















Toutain, et al.           Expires July 30, 2006                [Page 10]

Internet-Draft                  Point6Box                   January 2006


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 (2006).  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.




Toutain, et al.           Expires July 30, 2006                [Page 11]