<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" []>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>

<rfc category="exp"
     docName="draft-mouton-mif-dhcpv6-drlo-02.txt"
     ipr="trust200902">

  <!-- category values: std, bcp, info, exp, and historic ipr values:
       trust200902, noModificationTrust200902,
       noDerivativesTrust200902, or pre5378Trust200902 you can add the
       attributes updates="NNNN" and obsoletes="NNNN" they will
       automatically be output with "(if approved)" -->

  <front>

    <title abbrev="Default Router List Option">
      Default Router List Option for DHCPv6 (DRLO)
    </title>

    <author initials='A.' surname="Petrescu" fullname='Alexandru Petrescu'>
      <organization>CEA, LIST</organization>
      <address>
	<postal>
	  <street>
	    Communicating Systems Laboratory, Point Courrier 173
	  </street>
	  <city>
	    Gif-sur-Yvette
	  </city>
	  <region>
	  </region>
	  <code>
	    F-91191
	  </code>
	  <country>
	    France
	  </country>
	</postal>
	<phone>
	  +33(0)169089223
	</phone>
	<email>
	  alexandru.petrescu@cea.fr
	</email>
      </address>
    </author>

    <author initials='K.' surname="Pentikousis"
	    fullname='Kostas Pentikousis'>
      <organization>
	Huawei Technologies
      </organization>
      <address>
        <postal>
          <street>Carnotstr. 4</street>
          <city>Berlin</city>
          <region/>
          <code> D-10585</code>
          <country>Germany </country>
        </postal>
        <phone/>
	<email>
	  k.pentikousis@huawei.com
	</email>
      </address>
    </author>	
	
    <author initials='C.' surname="Janneteau"
	    fullname='Christophe Janneteau'>
      <organization>CEA, LIST</organization>
      <address>
	<postal>
	  <street>
	    Communicating Systems Laboratory, Point Courrier 173
	  </street>
	  <city>
	    Gif-sur-Yvette
	  </city>
	  <region>
	  </region>
	  <code>
	    F-91191
	  </code>
	  <country>
	    France
	  </country>
	</postal>
	<phone>
	  +33(0)169089182
	</phone>
	<email>
	  christophe.janneteau@cea.fr
	</email>
      </address>
    </author>	

    <author fullname="Maximilien Mouton" initials="M." 
	    surname="Mouton">
      <organization>University of Luxembourg</organization>
      <address>
	<postal>
	  <street>
	    Interdisciplinary Center for Security, Reliability and Trust
	  </street>
	  <city>
	    Luxembourg
	  </city>
	  <region>
	  </region>
	  <code>
	  </code>
	  <country>
	    Luxembourg
	  </country>
	</postal>
	<phone>
	</phone>
	<email>
	  maximilien.mouton@uni.lu
	</email>
      </address>
    </author>

	<date/>

    <!-- Meta-data Declarations -->

    <area>Internet</area>

    <workgroup>Network Working Group</workgroup>

    <!-- WG name at the upperleft corner of the doc, IETF is fine for
         individual submissions.  If this element is not present, the
         default is "Network Working Group", which is used by the RFC
         Editor as a nod to the history of the IETF. -->

    <keyword>
      DHCPv6, default route, default router, lifetime
    </keyword>

    <!-- Keywords will be incorporated into HTML output files in a
         meta tag but they have no effect on text or nroff output. If
         you submit your draft to the RFC Editor, the keywords will be
         used for the search engine. -->

    <abstract>
      <t>
	This document specifies an experimental DHCPv6 default route
	option which provisions static routing information to client
	nodes. The option facilitates central configuration of a
	multi-access client node&apos;s default router list with the
	IPv6 address, MAC address, and lifetime of the route, which is
	preferred in certain multi-access network environments. In
	addition, the DHCP option defined in this document can provide
	operational simplicity in network coverage extension scenarios
	using inexpensive (and limited resource) consumer-grade
	equipment. Finally, the proposed DHCP option has been
	implemented and tested in practice; its experimental use
	points to benefits with respect to reduced signaling and
	energy consumption compared to existing default route
	configuration mechanisms.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
	<t>
	  The Neighbor Discovery protocol <xref target="RFC4861"/> is
	  currently considered as the best way for providing a default
	  route information to a client in IPv6 networks. Hence it was
	  not considered necessary for DHCPv6 <xref target="RFC3315"/>
	  to have this feature. But, recently, certain deployment
	  scenarios express a need not to use the neighbor discovery
	  autoconfiguration mechanism.
	</t>
      
	<!--
	    <t>
	    One of this scenario consists, in the context of
	    network mobility [RFC3963], for the mobile router to
	    overpass the interdiction to autoconfigure its care of
	    address with neighbor discovery autoconfiguration
	    mechanism.
	    </t>
	-->
	  
	<t>
	  For example, a distinct trend is shaping up towards
	  centralization in network configuration and management.  In
	  this trend, contrary to Stateless Address Autoconfiguration
	  (SLAAC) <xref target="RFC4862"/>, which requires
	  provisioning and distributing configuration information at
	  each router, certain configuration information can be
	  centralized in a server and then distributed when needed
	  through DHCPv6.  This means that, for instance, all subnet
	  configurations can be managed via a single configuration
	  database containing all IP prefix information, DNS server
	  addresses, timers, and others - in an on demand manner. As
	  we will see below, in practice, there are several scenarios
	  where the administrator of a large, complex network
	  architecture including numerous routers and access points
	  may prefer a more centralized, stateful autoconfiguration
	  solution which capitalizes on the widespread deployment of
	  DHCPv6 to facilitate operation and management for
	  multiaccess networks.  Ease of deployment, operation and
	  management are key design consideration for future mobile
	  networks (e.g., see <xref target="Penti2011"/> and the
	  references therein).
	</t>
	  
	<t>
	  This draft specifies an experimental DHCPv6 option which can
	  be used to populate the ND Neighbor Cache as pointed to by
	  the ND Default Router List (this data is colloquially named
	  "a default router list" in the remainder of this document).
	  This option is similar to the DHCPv4 option router <xref
	  target="RFC2132"/>.  Contrary to DHCPv4, however, this
	  option also provides router lifetime (thus enabling
	  mechanisms such as automatic renumbering) and optionally the
	  default router's link-layer address.  Lifetime and
	  link-layer address are necessary for a coherent
	  implementation of DHCP and ND data structures.  They are
	  particularly useful in the context of mobile networks and
	  pertinent to multihoming nodes for managing several default
	  routers in order to address service continuity issues.
	</t>
    
	<t>
	  Using DHCPv6 to provide a default route to a client was
	  previously advocated in <xref
	  target='I-D.droms-dhc-dhcpv6-default-router'/>.
	  Additionally, <xref
	  target='I-D.ietf-mif-dhcpv6-route-option'/> presents a
	  method to distribute routes, in a generic manner, to DHCP
	  Clients.  The route-option draft describes a capability to
	  communicate a default route as a particular case of a route
	  (use destination prefix "::" with prefix length 0, and
	  address of the default router).  But (1) this draft needs a
	  means to communicate the MAC address of the default router,
	  and (2) avoids to communicate multiple default routers to
	  the same Client.
	</t>
    </section>
	
    <section title="Terminology">
      <t>
	The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in
	<xref target="RFC2119">RFC 2119</xref>.
      </t>
      <t>
	This document uses also the terminology defined in <xref
	target="RFC3315"/>, <xref target="RFC3963"/> and <xref
	target="RFC4862"/>.
      </t>
    </section>

    <section title="Applicability and Use Cases">
      <t>
	This section describes use cases relevant to the experimental
	DHCP option proposed in this document and explains how its
	deployment can improve network management.  We explore three
	use cases, although we expect that the solution has other
	applications as well. First, we discuss the use of the
	proposed option in a large mobile network where the
	administrator/operator prefers to have centralized control of
	the default routes used by different nodes. Second, we
	consider the Mi-Fi coverage extension case where the need is
	to control the devices connecting to the mobile network in an
	ad-hoc manner over consumer-grade equipment. Finally, we look
	into M2M constrained router devices where configuration
	message exchanges need to be as few as possible, in the
	interest of energy and other network resource
	consumption. Scenarios like these have been long described in
	the research literature; see, for example <xref
	target="Sollner2008" /> and the references therein.
      </t>
      
      <section title="Large Mobile Network Use Case">
	<t>
	  There is no doubt that most users today access the Internet
	  over a wireless network. This trend is expected to continue
	  unabated for the foreseeable future. The current generation
	  of mobile networks features a largely hierarchical
	  structure, in part due the origins of the technologies used
	  in wireless telecommunication networks <xref
	  target="Penti2011" />. Another part has to do with the
	  strong push for centralized control for technical and
	  business reasons. While it is expected that more
	  distribution, for example, in mobility management is to be
	  expected <xref target='I-D.ietf-dmm-requirements'/>, other
	  trends point to the need for more centralized network
	  control loops <xref target="Cori2012" />.
	</t>
	<t>
	  The experimental DHCPv6 option specified in this document is
	  applicable to both cases. In a network where more
	  centralization is preferred, multi-mode nodes can receive
	  different default route configuration (including route
	  lifetime) with the aid of a centralized database and DHCPv6,
	  as described in Section <xref target="Topologies" />. This
	  may prove particularly useful for enabling the network to
	  select the best default route for multihomed nodes depending
	  on monitoring information collected from various network
	  elements. In addition, the network can use the option
	  specified in this document to steer traffic from newly
	  attached nodes to a different default router due to network
	  maintenance operations. On the other hand, an IP network
	  adopting control/data plane separation for certain
	  mechanisms can benefit from the use of this option in some
	  subnets depending on several factors. For instance, we
	  expect that this can ease the incremental deployment of the
	  aforementioned mechanisms by maintaining a tightly
	  controlled centralized view of the network.
      </t>	

      </section>
      <section title="Mi-Fi Coverage Extension Use Case">
	<t>
	  This use case relates to residential access and, in
	  particular, to wireless network extension scenarios,
	  including those involving personal portable devices
	  connected to cellular or other wide-area networks. Devices
	  like these, popularly referred to as "Mi-Fi", enable a user
	  to take advantage of her cellular subscription, for example,
	  and connect other devices to the Internet. Mi-Fi devices can
	  be standalone, i.e. provide no other functionality than
	  acting as interconnection points, are typically small in
	  size (hence mobile), and tend to be inexpensive.
	</t>

	<t>
	  Mi-Fi devices have gained in popularity in recent years as
	  they allow other Wi-Fi-only devices to be connected to the
	  Internet via a cellular network in the absence of Wi-Fi
	  coverage. For example, a Mi-Fi device can connect up to five
	  other devices over its Wi-Fi interface to a cellular
	  network. Typical users carry Mi-Fi devices around and often
	  use them to connect very different sets of Wi-Fi devices
	  even within the same day. For instance, a mobile network
	  subscriber can use the Mi-Fi device to enable Internet
	  connectivity to the user's pad and laptop at home, connect a
	  pod to a streaming Internet radio service while the user is
	  in the car to work, and offer ad-hoc Internet connectivity
	  to friends and colleagues at an IETF meeting. It may be
	  often desirable to configure different default routes
	  through the mobile network. Note that, in practice, said
	  device could be dedicated to the role of providing tethered
	  access or it can be a typical multiaccess smartphone
	  extending network coverage to neighboring nodes.
	</t>

	<t>
	  From the network perspective, the operation of all connected
	  nodes should be still managed efficiently although
	  connectivity is maintained through a low-end consumer
	  device. This includes the default routes as well as IP
	  address lease times. In this use case, the Mi-Fi device does
	  not play the role of a router, but it can act as a DHCP
	  relay or a server. In the former case, the Mi-Fi DHCP relay
	  agent forwards the request as per usual, indicating its
	  DUID, and the default router assignment occurs at the
	  network side explicitly as each Wi-Fi device connects to the
	  Mi-Fi-based local wireless network. Alternatively, the Mi-Fi
	  device makes the default router assignment locally, based on
	  the configuration information it has received using the
	  proposed option. In either case, the network can configure,
	  on demand, different default routes depending on the Mi-Fi
	  location and point of attachment to the mobile
	  network. Moreover, the network can provide different route
	  lifetimes depending on the operational context. Note that
	  the often battery-powered Mi-Fi device should not broadcast
	  connectivity information in order to keep power consumption
	  low and reduce information leakage. In short, from the
	  device perspective, power consumption is reduced and the
	  Wi-Fi devices do not need any updates, while, from the
	  network perspective, the advantages of centralized
	  management are significant.
	</t>
      </section>
      <section title="M2M Constrained Device Use Case">
	<t>
	  For a constrained M2M Gateway it is advantageous to use
	  solely the DHCPv6 protocol to configure a default route, an
	  address and a delegated prefix, instead of using both
	  protocols ND and DHCPv6.
	</t>
	<t>
	  Machine-to-Machine communication (M2M) has recently been
	  employed in large-scale deployments in various markets such
	  as cellular telecommunications, home networking, smart
	  energy management, eHealth and vehicular communications.  A
	  machine device is typically a highly constrained computing
	  and communicating platform: for example an 8-bit processor
	  with a GSM module powered by a button cell.  Other, more
	  powerful machine devices, include more than a single means
	  of communication.  Without going into detail, it is
	  acknowledged that whereas many different classes of machine
	  devices exist, their key characteristics are generally the
	  following: simplicity, small dimensions, low cost, and
	  unattended operation for extended periods of time.
	</t>
	<t>
	  An M2M Gateway is a machine-class device which has two or
	  more interfaces. One of the interfaces has long range
	  wireless data capability (e.g., LTE-M). This Gateway is in
	  charge of obtaining Internet connectivity and offering
	  Internet connectivity to other machine-class devices. Since
	  it ought to run unattended for extended periods of time, it
	  must be easily auto-configurable. In other words, the most
	  important IP parameters must be configured automatically.
	</t>
	<t>
	  A basic IPv6 configuration includes IPv6 prefix and a
	  default route to global Internet. Devices with limited CPU
	  and memory capacity can benefit from the sole presence of a
	  default route in their routing tables: it is sufficient to
	  store the default route only in order to be able to reach
	  any other node in the Internet. In this sense, the default
	  route is a very strong candidate for implementation in small
	  devices as it is possible to avoid storing other routes,
	  while still maintaining connectivity to every other device
	  in the Internet. Using a default route instead of a large
	  number of specific routes helps keeping routing table sizes
	  extremely compact, which is essential in the case of
	  machine-class devices.
	</t>
	<t>
	  For these reason, it is important to have a suitable
	  mechanism for assigning default routes to end nodes: M2M
	  Device and M2M Gateway.  A Gateway can be considered as an
	  emph(almost)-end node: it is situated one or a few IP hops
	  away from the end.
	</t>
	<t>
	  In addition to the IPv6 prefix (for its own interface(s))
	  and the default route to the global Internet, the M2M
	  Gateway needs to be configured with an additional IPv6
	  prefix, call it P.  This prefix P is to be used by the
	  devices 'behind' the M2M Gateway - each such device needs to
	  auto-configure an address for itself.  This prefix P is the
	  delegated prefix.
	</t>
	<t>
	  The currently defined mechanisms to automatically configure
	  the triplet [IPv6 address, default route, delegated prefix]
	  to a node, such as as the M2M Gateway in our example, are
	  two: Neighbor Discovery and DHCPv6 Prefix Delegation. Hence,
	  two full protocol implementations are needed for an M2M
	  Gateway because, on the one hand, Neighbor Discovery (ND)
	  cannot delegate prefixes and, on the other, DHCPv6 cannot
	  configure default routes. Some implementers find that using
	  two different protocols for obtaining the aforementioned
	  triplet is an unnecessary burden for machine-class devices:
	  the needs in terms of memory size are almost two times as
	  much, the number and size of exchanged messages are almost
	  doubled, and so on. In short, for a constrained M2M Gateway
	  implementation it is advantageous to use solely the DHCPv6
	  protocol to configure a default route, an address and a
	  delegated prefix, instead of using both ND and DHCPv6.
	</t>
	<t>
	  It would thus be advantageous to define options for the
	  DHCPv6 protocol which can be used to assign the missing
	  parameter from the triplet (i.e. a default route) to an M2M
	  Gateway, instead of using both ND and DHCPv6 to achieve the
	  same task.
	</t>
        <t>
	  Experiments with an actual implementation, which uses the
	  DHCPv6 default route proposed in this draft, have shown a
	  reduction in message counts from 6 to 4 (when comparing the
	  combined use of DHCPv6 and ND, versus solely DHCPv6 with the
	  option proposed herein, to make the same configuration).
	</t>
      </section>
    </section>

    <section title="Pertinence to the MIF Working Group">
      <t>
	The Multiple Interfaces WG (MIF) is treating of hosts which
	have the ability to attach to multiple networks
	simultaneously.  The WG is chartered to produce, among other
	products, extensions to DHCPv6 to "provision client nodes with
	small amount of static routing information".

<!-- 	A draft with status WG item exists: <xref -->
<!-- 	target='I-D.ietf-mif-dhcpv6-route-option'/>. -->
      </t>
      <t>
	The mechanism described in this draft, can be used to
	communicate several static default routes (triplets of the
	form gw-mac-lifetime) to a single host which can have several
	interfaces.
      </t>
      <t>
	The distinction among the default routes (once installed on a
	client) can be realized according to various criteria: (1) use
	a form of Preferences, new extensions similar to RFC 4191, (2)
	use the Lifetime communicated by the mechanism of this draft
	to distinguish among default routes according to new rules,
	(3) use a random function to pick a default route, (4) use a
	new interface name in the ORO and in the Ack to specify which
	default route uses which interface, (5) use a new field
	containing a source address which the client must use for a
	particular default route, and more.
      </t>
    </section>

    <section title="Topologies and Message Exchange Diagrams">
      <section title="Topologies" anchor="Topologies">
	<t>
	  This section describes two simple topologies which abstract
	  the use cases described above: one involving a server and a
	  client and another implying in addition a relay.
	</t>
	<t>
	  Client/Server topology:
	</t>
	<figure align="center"
		anchor="xml_topo1"
		title="Simple Client-Server topology">
	  <artwork align="center">
	    <![CDATA[
+------+        +------+
|DHCPv6|--------|DHCPv6|
|server|  link  |client|
+------+        +------+
			
	    ]]></artwork>
	</figure>

	<t>
	  In this topology, a client with no IPv6 configuration needs
	  to obtain an Internet access and does not intend to use
	  SLAAC.  It asks the DHCPv6 Server the three necessary
	  settings: an IPv6 address, a default router address and a
	  DNS server in a solicit message. The DHCPv6 Server receives
	  this Solicit message and sends back the parameters necessary
	  fo IPv6 configuration.
	</t>

	<t>
	  Client/Relay/Server topology:
	</t>
	<figure align="center"
		anchor="xml_topo2"
		title="Simple Client-Relay-Server topology">
	  <artwork align="center">
	    <![CDATA[
+------+        +------+        +------+
|DHCPv6|--....--|DHCPv6|--------|DHCPv6|
|server|ethernet|relay |ethernet|client|
+------+        +------+        +------+	
	    ]]></artwork>
	</figure>
	<t>
	  Again, a client with no IPv6 configuration tries to obtain
	  an Internet access and doesn't want to use SLAAC. It asks
	  the DHCPv6 server the same way as in previous figure but the
	  DHCPv6 server is not on the same link. The DHCPv6 relay
	  takes client DHCPv6 message and delivers it to the
	  server. The server knows that the message is relayed and
	  send its responses back to the relay.
	</t>
      </section>
      <!--
	  <section title="More specific topologies">
	  <section title="Network mobility">
	  <t>This section describes a classic topology in network mobility (NEMO).</t>
	  
	  <t>A mobile router providing Internet access to two local fixe nodes moves in the foreign network 2001:db8:200::/64. As a router, [RFC4861] states that it should not use neighbor discovery protocol to obtain its IPv6 configuration. It then runs a DHCPv6 so that it gets the care of address and the default router address it needs to build a tunnel toward its home agent.</t>
	  </section>
	  </section>-->

      <section title="Message Exchange">
	<t>
	  There are two main message exchange scenarios corresponding
	  to the use or not of a relay. The message exchange when the
	  client is not on the same link with the server is the
	  following:
	</t>

	<figure align="center"
		anchor="xml_msg_ex1"
		title="Client-Server message exchange">
	  <artwork align="center">
	    <![CDATA[
   +------+                     +------+
   |DHCPv6|                     |DHCPv6|
   |client|                     |server|
   +------+                     +------+
        |                          |
        |    DHCPv6 Solicit        |
        |------------------------->|
        |                          |
        |    DHCPv6 Advertise      |
        |<-------------------------|
        |                          |
        |    DHCPv6 Request        |
        |------------------------->|
        |                          |
        |    DHCPv6 Reply          |
        |<-------------------------|
        |                          |					
	    ]]></artwork>
	</figure>

	<t>
	  A normal exchange between a new Client and a DHCPv6 Server
	  consists of four messages: Solicit, Advertise, Request, and
	  Reply.  In a Solicit/Request packet a Client lists wanted
	  options in the Option Request Option (ORO).  This option is
	  composed of a list of option codes.  The DHCPv6 Server
	  answers those packets with Advertise/Reply packets
	  containing values for the options asked by the Client.
	</t>

	<t>
	  The message exchange when using a relay, because the client
	  and the server are not on the same link is illustrated in
	  Figure 4.
	</t>

	<figure align="center"
		anchor="xml_msg_ex2"
		title="Client-Relay-Server message exchange">
	  <artwork align="center">
	    <![CDATA[
   +------+                    +------+                     +------+
   |DHCPv6|                    |DHCPv6|                     |DHCPv6|
   |client|                    |relay |                     |server|
   +------+                    +------+                     +------+
       |                          |                            |
       |    DHCPv6 Solicit        |      DHCPv6 Relay-forw     |
       |------------------------->|===========================>|
       |                          |                            |
       |    DHCPv6 Advertise      |      DHCPv6 Relay-reply    |
       |<-------------------------|<===========================|
       |                          |                            |
       |    DHCPv6 Request        |      DHCPv6 Relay-forw     |
       |------------------------->|===========================>|
       |                          |                            |
       |    DHCPv6 Reply          |      DHCPv6 Relay-reply    |
       |<-------------------------|<===========================|
       |                          |                            |
	    ]]></artwork>
	</figure>

	<t>
	  The relay receives the message from the client and forwards
	  it to the server in a Relay-forw message. The server replies
	  to the relay with an advertise/reply message encapsulated in
	  a Relay-reply message. The content of this message is
	  extracted by the relay and sent to the client.
	</t>
      </section>
    </section>
	
    <section title="DHCPv6 Default router list option">
      <section title="Option format">
	<section title="Client side">
	  <t>
	    In its DHCPv6 requests, the client sends a list of
	    required options in the option request option (ORO). The
	    format of this option is the following:
	  </t>
	  <figure align="center"
		  anchor="xml_client_option"
		  title="DHCPv6 option request option field">
	    <artwork align="center">
	      <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           OPTION_ORO          |           option-len          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    requested-option-code      |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              ...                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	      ]]></artwork>
	  </figure>
	  <t>
	    The proposed option (to fill in the field
	    requested-option-code in the diagram above) is named in
	    this draft OPTION_DEFAULT_ROUTER_LIST.  It is possible to
	    concatenate this value with several other existing
	    requested-option-code's.
	  </t>
	  <t>
	    The value of this code of this option is TBD (to be
	    defined) and/or TBA (to be assigned).
	  </t>
	</section>

	<section title="Server side">
	  <t>
	    The default router list option is illustrated below:
	  </t>
	  <figure align="center"
		  anchor="xml_server_option"
		  title="DHCPv6 default router list option field">
	    <artwork align="center">
	      <![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   OPTION_DEFAULT_ROUTER_LIST  |          option-len           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                        router_address                         |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|        router_lifetime        |    lla_len    |               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |
.                 router_link_layer_address(opt)                .
.                              ...                              .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	      ]]></artwork>
	  </figure>
	  <t>
	    As this option contains a list, the pattern containing
	    router_address, router_lifetime, lla_len and optionnaly
	    router_link_layer_address can be repeated.
	  </t>
	  <t>
	    <list hangIndent="8" style="hanging">
	      <t hangText="option-code">
	      <vspace blankLines="0" />
	      OPTION_DEFAULT_ROUTER_LIST (TBA)
	      </t>
	      <t hangText="option-len">
	      <vspace blankLines="0" />
	      length of the default router list option in bytes. It
	      has a value of minimum 23 (decimal representation).
	      </t>
	      <t hangText="router_address"><vspace blankLines="0" />
	      default router IPv6 address (16 bytes)
	      </t>
	      <t hangText="router_lifetime">
	      <vspace blankLines="0" />
	      16-bit unsigned integer.  Router lifetime in units of
	      seconds. Limit value is 9000, while the value 0 SHOULD
	      NOT appear, as explained in section 6 of [RFC 4861].
	      </t>
	      <t hangText="lla_len">
	      <vspace blankLines="0" />
	      8-bit unsigned integer. The size of the link layer
	      address of the router in bytes. Equals to 0 if no link
	      layer address is given.
	      </t>
	      <t hangText="router_link_layer_address">
	      <vspace blankLines="0" />
	      link layer address of the router. Its length is not
	      known in advance and need to be inquired in lla_len
	      field. This field is optional.
	      </t>
	    </list>
	  </t>
	  <t>
	    This option contains an optional variable length field
	    router_link_layer_address. Router_address and
	    router_lifetime field's size are fixed.
	  </t>
	  <t>
	    There are two alternative possibilities of using router
	    information in the list:
	  </t>
	  <t>
	    <list style="symbols">
		<t>
		  Not using router_link_layer_address: DHCPv6 server
		  communicates router_address and router_lifetime with
		  lla_len equals to 0. Default router's information is
		  finished at the end of lla_len.
		</t>
		<t>
		  Using router_link_layer_address: DHCPv6 server
		  communicates router_address and router_lifetime with
		  lla_len equals to k, where k is the size of the
		  link-layer address.  After the field lla_len the
		  default router's information is finished after
		  reading k more bytes.
		</t>
	    </list>
	  </t>
	</section>
      </section>

      <section title="Optimization">
	<t>
	  An optimization is possible: removing lla_len field for the
	  last element of a default router list when that is not
	  necessary. Prima facie, one may consider that removing one
	  byte may not be worth the effort of the implementation
	  complexity. This is why this draft proposes to apply this
	  optimization in only one simple but fairly frequent case: if
	  the last element (i.e. the triplet address-MAC-lifetime) of
	  a list (i.e., if there are more than one elements) has no
	  link-layer address. As a matter of fact it has the advantage
	  of removing 8 zero bits. This case occurs each time a
	  network administrator does not want to use the
	  router_link_layer_address. This case is frequent enough to
	  justify an optimization. Moreover this optimization has been
	  implemented and does not require a huge amount of
	  intellectual effort (around 10 extra lines of code).
	</t>
		
	<!--This draft raises the following cases in which this optimization is possible:</t>
	    <t><list style="numbers">
	    <t>The last element of a list (of one are more elements) have no link layer address.</t>
	    <t>The last element of a list (of one are more elements) has a link layer address and element from the list always have an address which is less than 144 			bits long.</t>
	    <t>The last element of a list (with several elements) has a link layer address and element from the list always have an address which is less than 144 			bits long and has the same size for each element.</t>
	    </list> </t>
	    
	    <t>Maximum link-layer address size is defined as 144 bits because when a link layer address is equals or greater than 144 bits it can be mistaken for another default router information.</t>
	    
	    <figure align="center" anchor="xml_optimisations" title="Example of optimization cases when default router list option carries one or two default router">
	    <preamble>Optimization cases when default router list option carries one or two default router:</preamble>
	    <artwork align="center"><![CDATA[
	    
	    ]]></artwork>
	    </figure>
	    <t>DRA: default router address</t>
		<t>LT: router lifetime</t>
		<t>DRLLALEN: default router link layer address length</t>
		<t>DRLLA: default router link layer address</t>
		<t>Case 2 and 3 raise some problems for two reasons:</t>
		<t><list style="symbols">
		<t>link-layer addresses longer than 144 bits long can exist.</t>
		<t>The link layer addresses type communicated may not be always the same (multihoming, etc.)</t>
		</list></t>
		<t>According to the latter this draft keep only case 1 as a possible optimization.</t>-->

      </section>
      <section title="Default router lifetime management">
	<t>
	  This draft proposes to use default router lifetime in the
	  same manner as <xref target="RFC4861"/>.  This has the
	  following consequences.
	</t>
	<!--<t>The client MAY update default router lifetime by sending renew message.</t>-->
		<t>
		  When a default router lifetime is equal to 0 it MUST
		  be deleted from the Default Router list, Neighbor
		  cache and other related Forwarding Information
		  Bases.
		</t>
		<t>
		  Following <xref target="RFC4861"/> Section 6, this
		  document proposes to limit the lifetime to 9000
		  (decimal) seconds.
		</t>
      </section>
    </section>
	
    <section title="Open issues">
      <t>
	In addition to the default router address, lifetime and
	link-layer address, the neighbor discovery mechanism also
	provides MTU, hop limit, reachable time, retransmission timer,
	and textual name of the interface. This information can be
	defined in other DHCPv6 options extending this draft, if
	needed.
      </t>
      <t>
	The DHCP and Neighbor Discovery protocols manage router
	lifetime differently. DHCPv6 <xref target="RFC3315"/>
	specifies lifetimes typically in a 4-byte field. On the other
	hand, the Neighbor Discovery protocol defines a 2-byte field
	for lifetime. In addition, it defines a lifetime limit
	equaling 9000 making the use of 4-byte fields
	unnecessary. Because of this, this draft proposes adopts the
	ND approach and includes a 2-byte field for router lifetime.
      </t>
      <t>
	The simultaneous use of DHCP and Router Advertisement
	mechanisms to communicate default routes is out of the scope
	of this specification.
      </t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="Security" title="Security Considerations">
      <t>
	Security considerations referring to DHCPv6 are described in
	<xref target="RFC3315"/> and other more recent Internet
	Drafts.  The new option described here should not add new
	threats.  However, it is worth mentioning that the high
	importance of a default route (it must work when everything
	else fails) represents also a high risk when successful
	attacks - if at all - happen.
      </t>
    </section>    

    <section anchor="IANA" title="IANA Considerations">
      <t>
	The proper working of this extension to DHCPv6 to support
	default routers rely on using a unique number for
	OPTION_DEFAULT_ROUTER_LIST.
      </t>
      <t>
	In this sense, and when agreed to take on this path, IANA will
	be demanded to assign an option code to
	OPTION_DEFAULT_ROUTER_LIST, if deemed necessary.
      </t>
      <t>
	Currently, the local prototype implementation uses the number
	66 (decimal) for this field.
      </t>
    </section>

    <section anchor="Acknowledgements"
	     title="Acknowledgements">
      <t>
	The authors would like to acknowledge the useful technical
	contribution of Mathias Boc, Sofian Imadali and Arnaud Kaiser.
      </t>
      <t>
	Authors appreciate the particularly stimulating discussion
	about default route and DHCPv6 in the email lists of DHC, MIF
	and 6MAN Working Groups.
      </t>
      <t>
	Recently, Tomasz Mrugalski offered insight about default
	routes potentially used by draft-dec-dhcpv6-route-option-02.
	Mikael Abrahamsson suggested communicating a source address
	when discussing default route and DHCPv6.
      </t>
      <t>
	This work has been performed in the framework of the ICT
	project ICT-5-258512 EXALTED, which is partly funded by the
	European Union.  The organisations on the source list [CEA]
	would like to acknowledge the contributions of their
	colleagues to the project, although the views expressed in
	this contribution are those of the authors and do not
	necessarily represent the project.
      </t>
    </section>
    

  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>

    <references title="Normative References">
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119"
      ?> 
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2132"
      ?> 
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3315"
      ?> 
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3963"
      ?> 
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861"
      ?> 
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4862"
      ?>
    </references>

    <references title="Informative References">
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.droms-dhc-dhcpv6-default-router"
      ?>
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-mif-dhcpv6-route-option"
      ?>
      <?rfc
	include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-dmm-requirements"
      ?>         

    <reference anchor="Penti2011">
        <front>
            <title>
	      Design considerations for mobility management in
	      future infrastructure networks
	    </title>
            <author initials="K" surname="Pentikousis"
		    fullname="Kostas Pentikousis">
                <organization />
            </author>
            <date month="October" year="2011" />
        </front>
        <seriesInfo
	    name="ITU Telecom World 2011 Technical Symposium, Geneva, Switzerland" value="" />
    </reference>

    <reference anchor="Sollner2008">
        <front>
            <title>
	      Mobility scenarios for the Future Internet: The 4WARD approach
	    </title>
            <author initials="M" surname="Sollner"
		    fullname="Michael Sollner">
                <organization />
            </author>
            <author initials="C" surname="Gorg"
		    fullname="Carmelita Gorg">
                <organization />
            </author>
            <author initials="K" surname="Pentikousis"
		    fullname="Kostas Pentikousis">
                <organization />
            </author>
            <author initials="J M" surname="Cabero-Lopez"
		    fullname="Jose Maria Cabero-Lopez">
                <organization />
            </author>
            <author initials="M" surname="Ponce de Leon"
		    fullname="Miguel Ponce de Leon">
                <organization />
            </author>
            <author initials="P" surname="Bertin"
		    fullname="Philippe Bertin">
                <organization />
            </author>
	<!-- Reference:
	[WPMC2008] M. Sollner, C. Gorg, K. Pentikousis, J. M. Cabero Lopez, M. Ponce de Leon, and P. Bertin, "Mobility scenarios for the Future Internet: The 4WARD approach", in Proc. 11th International Symposium on Wireless Personal Multimedia Communications (WPMC), Saariselkä, Finland, September 2008. 
	-->
            <date month="September" year="2008" />
        </front>
        <seriesInfo
	    name="Proceedings of the 11th International Symposium on Wireless
		  Personal Multimedia Communications (WPMC),
		  Saariselk, Finland" value="" 
	    />
    </reference>

    <reference anchor="Cori2012">
        <front>
            <title>
	      Cost-controlled monitoring information collection in
	      heterogeneous mobile network infrastructures
	    </title>
            <author initials="M I" surname="Corici"
		    fullname="Marius Corici">
	      <organization />
            </author>
            <author initials="P" surname="Hasse"
		    fullname="Peter Hasse">
                <organization />
            </author>
	    <author initials="C" surname="Kappler"
		    fullname="Cornelia Kappler">
                <organization />
            </author>
            <author initials="K" surname="Pentikousis"
		    fullname="Kostas Pentikousis">
                <organization />
            </author>
            <author initials="R" surname="Roth"
		    fullname="Rudolph Roth">
                <organization />
            </author>
            <author initials="M" surname="Schramm"
		    fullname="Mirko Schramm">
                <organization />
            </author>	    
            <date month="June" year="2012" />
        </front>
        <seriesInfo
	    name="Proceedings of the IEEE International Conference on
		  Communications Workshops (Telecommunications: From
		  Research to Standards), Ottawa, Canada" value="" />
    </reference>
      
    </references>


    <section anchor='changelog'
	     title='ChangeLog'>
      <t>
	The changes are listed in reverse chronological order, most
	recent changes appearing at the top of the list.
      </t>

      <t>
	From draft-mouton-mif-dhcpv6-drlo-01.txt to
	draft-mouton-mif-dhcpv6-drlo-02.txt:
	<list style='symbols'>
	  <t>
	    New author entry.
	  </t>
	  <t>
	    Extended and detailed the use cases where this DHCPv6
	    option may be used to communicate a default route.
	  </t>
	  <t>
	    Explained that this is experimental, an implementation
	    exists and a gain in number of messages exchanged has been
	    demonstrated.
	  </t>
	  <t>
	    Rephrased completely the abstract.
	  </t>
	</list>	
      </t>      

      <t>
	From draft-mouton-mif-dhcpv6-drlo-00.txt to
	draft-mouton-mif-dhcpv6-drlo-01.txt:
	<list style='symbols'>
	  <t>
	    Date change, author ordering and affiliation.
	  </t>
	</list>	
      </t>
    </section>

  </back>
</rfc>
