One document matched: draft-chown-homenet-arch-01.xml


<?xml version="1.0" encoding="iso-8859-1" ?>

<!DOCTYPE rfc SYSTEM 'rfc2629.dtd' [

<!ENTITY rfc1918  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.1918.xml'>
<!ENTITY rfc2460  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2460.xml'>
<!ENTITY rfc3315  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3315.xml'>
<!ENTITY rfc3363  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3363.xml'>
<!ENTITY rfc3646  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3646.xml'>
<!ENTITY rfc3736  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3736.xml'>
<!ENTITY rfc2475  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2475.xml'>
<!ENTITY rfc4193  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4193.xml'>
<!ENTITY rfc4291  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4291.xml'>
<!ENTITY rfc4864  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4864.xml'>
<!ENTITY rfc5533  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5533.xml'>
<!ENTITY rfc6092  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6092.xml'>
<!ENTITY rfc6106  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6106.xml'>
<!ENTITY rfc6144  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6144.xml'>
<!ENTITY rfc6204  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6204.xml'>
<!ENTITY rfc6296  PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6296.xml'>

<!ENTITY I-D.baker-fun-multi-router
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.baker-fun-multi-router.xml'>

<!ENTITY I-D.baker-fun-routing-class
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.baker-fun-routing-class.xml'>

<!ENTITY I-D.herbst-v6ops-cpeenhancements
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.herbst-v6ops-cpeenhancements.xml'>

<!ENTITY I-D.vyncke-advanced-ipv6-security
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.vyncke-advanced-ipv6-security.xml'>

<!ENTITY I-D.ietf-v6ops-ipv6-cpe-router-bis
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-v6ops-ipv6-cpe-router-bis.xml'>

<!ENTITY I-D.ietf-6man-rfc3484-revise
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-6man-rfc3484-revise.xml'>

<!ENTITY I-D.ietf-dhc-pd-exclude
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-dhc-pd-exclude.xml'>

<!ENTITY I-D.v6ops-multihoming-without-ipv6nat
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.v6ops-multihoming-without-ipv6nat.xml'>

<!ENTITY I-D.ietf-mif-dns-server-selection
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-mif-dns-server-selection.xml'>

<!ENTITY I-D.ietf-mif-dhcpv6-route-option
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-mif-dhcpv6-route-option.xml'>

<!ENTITY I-D.baker-homenet-prefix-assignment
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.baker-homenet-prefix-assignment.xml'>

<!ENTITY I-D.arkko-homenet-prefix-assignment
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.arkko-homenet-prefix-assignment.xml'>

<!ENTITY I-D.acee-ospf-ospfv3-autoconfig
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.acee-ospf-ospfv3-autoconfig.xml'>

<!ENTITY I-D.ietf-pcp-base
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-pcp-base.xml'>

<!ENTITY I-D.chakrabarti-homenet-prefix-alloc
        PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.chakrabarti-homenet-prefix-alloc.xml'>

]>

<rfc ipr="trust200902"
    docName="draft-chown-homenet-arch-01"
    category="info">

<?rfc toc="yes"?> <?rfc symrefs="yes"?> <?rfc autobreaks="yes"?>
<?rfc tocindent="yes"?> <?rfc compact="yes"?> <?rfc subcompact="no"?>

<front>

<title abbrev="IPv6 Home Networking">Home Networking Architecture for IPv6</title>

<author initials="J" surname="Arkko" fullname="Jari Arkko">
<organization>Ericsson</organization>
<address>
<postal>
<street/>
<city>Jorvas</city> <code>02420</code>
<country>Finland</country>
</postal>
<email>jari.arkko@piuha.net</email>
</address>
</author>

<author fullname="Tim Chown" initials="T.J." surname="Chown">
<organization> University of Southampton </organization>
<address>
<postal>
<street> Highfield </street>
<city> Southampton </city>
<code> SO17 1BJ </code>
<region> Hampshire </region>
<country> United Kingdom </country>
</postal>
<email> tjc@ecs.soton.ac.uk </email>
</address>
</author>

<author initials="J" surname="Weil" fullname="Jason Weil">
<organization>Time Warner Cable</organization>
<address>
<postal>
<street>13820 Sunrise Valley Drive</street>
<city>Herndon, VA</city><code>20171</code>
<country>USA</country>
</postal>
<email>jason.weil@twcable.com</email>
</address>
</author>

<author initials="O" surname="Troan" fullname="Ole Troan">
<organization>Cisco Systems, Inc.</organization>
<address>
<postal>
<street>Drammensveien 145A</street>
<city>Oslo</city><code>N-0212</code>
<country>Norway</country>
</postal>
<email>ot@cisco.com</email>
</address>
</author>

<date month="October" year="2011" />

<keyword>IPv6</keyword>

<abstract>

<t>This text describes evolving networking technology within small
"residential home" networks.  The goal of this memo is to define the
architecture for IPv6-based home networking and the associated principles and considerations. The text highlights the
impact of IPv6 on home networking, illustrates topology scenarios, and
shows how standard IPv6 mechanisms and addressing can be employed in 
home networking. The architecture describes the need
for specific protocol extensions for certain additional functionality.
It is assumed that the IPv6 home network runs as an IPv6-only or
dual-stack network, but there are no recommendations in this memo for
the IPv4 part of the network.
</t>

</abstract>

</front>
<middle>

<section anchor="intro" title="Introduction">

<t>This memo focuses on evolving networking technology within
small "residential home" networks and the associated challenges. For
example, a trend in home networking is the proliferation of networking
technology in an increasingly broad range of devices and media. This
evolution in scale and diversity sets requirements on IETF
protocols. Some of these requirements relate to the need for multiple
subnets, for example 
for private and guest networks, the introduction of IPv6, and
the introduction of specialized networks for home automation and
sensors.</t>

<t> While advanced home networks have been built, most operate based
on IPv4, employ solutions that we would like to avoid such as 
(cascaded) network
address translation (NAT), or require expert assistance to set up. The
architectural constructs in this document are focused on the problems
to be solved when introducing IPv6 with a eye towards a better result
than what we have today with IPv4, as well as a better result than if
the IETF had not given this specific guidance.</t>

<t>This architecture document aims to provide the basis and 
guiding principles for how
standard IPv6 mechanisms and addressing <xref target="RFC2460"/> <xref
target="RFC4291"/> can be employed in home networking, while
coexisting with existing IPv4 mechanisms. 
In emerging dual-stack home networks it is vital that
introducing IPv6 does not adversely affect IPv4 operation. Future
deployments, or specific subnets within an otherwise
dual-stack home network, may be IPv6-only.</t>

<t>
<xref target="RFC6204"/> defines basic requirements for customer edge
routers (CPEs). The scope of this text is the homenet, and thus the
internal facing interface described that RFC as well as other
components within the home network. While the network may be
dual-stack or IPv6-only, specific transition tools on the CPE are out
of scope of this text, as is any advice regarding architecture of the
IPv4 part of the network. We assume that IPv4 network architecture in
home networks is what it is, and can not be affected by new
recommendations.
</t>

</section>

<section anchor="trends" title="Effects of IPv6 on Home Networking">

<t>
Service providers are deploying IPv6, content is becoming available on
IPv6, and support for IPv6 is increasingly available in devices and
software used in the home. While IPv6 resembles IPv4 in many ways, it
changes address allocation principles, makes multi-addressing the
norm, and allows direct IP addressability and routing to devices in
the home from the Internet. This section presents an overview of some of
the key areas impacted by the implementation of IPv6 into the home
network that are both promising and problematic:

<list style="hanging">

<t hangText="Multiple segments and routers"><vspace blankLines="1"/>
Simple layer 3 topologies involving as few
subnets as possible are preferred in home networks for a variety of
reasons including simpler management and service discovery.
However, the incorporation of dedicated (routed) segments remains 
necessary for a variety of reasons. 
</t>
<t>
For instance, a common feature in modern home routers is the
ability to support both guest and private network segments. Also, link
layer networking technology is poised to become more heterogeneous, as
networks begin to employ both traditional Ethernet technology and link
layers designed for low-powered and lossy networks (LLNs) such as those
used for certain types of sensor devices. Similar
needs for segmentation may occur in other cases, such as separating
building control or corporate extensions from the Internet access
network. Also, different segments may be associated with subnets that have
different routing and security policies.</t>

<t>Documents that provide some more specific background and depth on this topic include:
<xref target="I-D.herbst-v6ops-cpeenhancements"></xref>,
<xref target="I-D.baker-fun-multi-router"></xref>, and
<xref target="I-D.baker-fun-routing-class"></xref>.</t>

<t> In addition to routing, rather than NATing, between subnets,
there are issues of when and how to extend mechanisms such as service
discovery which currently rely on link-local addressing to limit
scope. </t>
<t>
The presence of a multiple segment, multi-router network implies that 
there is some kind of automatic routing mechanism in place. In advanced 
configurations similar to those used in multihomed corporate networks, 
there may also be a need to discover border router(s) by an 
appropriate mechanism.
</t>

<t hangText="Multi-Addressing of devices"><vspace blankLines="1"/>

In an IPv6 network, devices may acquire multiple addresses, typically
at least a link-local address and a globally unique address.  Thus it
should be considered the norm for devices on IPv6 home networks to be
multi-addressed, and to also have an IPv4 address where the network is
dual-stack. Default address selection mechanisms <xref
target="I-D.ietf-6man-rfc3484-revise"/> allow a node to select
appropriate src/dst address pairs for communications, though such
selection may face problems in the event of multihoming, where nodes
will be configured with one address from each upstream ISP prefix, 
and the presence of upstream ingress filtering thus requires 
multi-addressed nodes to select the right source address to be used 
for the corresponding uplink.
</t>

<t hangText="Unique Local Addresses (ULAs)"><vspace blankLines="1"/>

<xref target="RFC4193"></xref> defines Unique Local Addresses (ULAs)
for IPv6 that may be used to address devices within the scope of a
single site. Support for ULAs for IPv6 CPEs is described in <xref
target="RFC6204"></xref>.  A home network running IPv6 may deploy ULAs
for communication between devices within the network.  ULAs have the
potential to be used for stable addressing in a home network where the
externally allocated global prefix changes over time or where external
connectivity is temporarily unavailable. However, it is undesirable to
aggressively deprecate global prefixes for temporary loss of
connectivity, so for this to matter there would have to be a
connection breakage longer than the lease period, and even then,
deprecating prefixes when there is no connectivity may not be
advisable. However, while setting a network up there may be a period
with no connectivity.
</t>

<t>Another possible reason for using ULAs would be to provide an
indication to applications that the traffic is local. This could then
be used with security settings to designate where a particular
application is allowed to connect to.</t>

<t>
Address selection mechanisms should
ensure a ULA source address is used to communicate with ULA destination
addresses. The use of ULAs does not imply IPv6 NAT, rather that external
communications should use a node's global IPv6 source address.
</t>

<t hangText="Security, Borders, and the elimination of NAT"><vspace blankLines="1"/>
 
Current IPv4 home networks typically receive a single global IPv4 address 
from their ISP and use NAT with private <xref target="RFC1918"></xref>. 
addressing for devices within
the network. An IPv6 home network removes the need to use NAT given the
ISP offers a sufficiently large IPv6 prefix to the homenet, allowing 
every device on every link to be assigned a globally unique IPv6 address. 
</t>
<t>
The end-to-end communication that is potentially enabled with IPv6 is 
both an incredible opportunity for innovation and simpler network operation,
but it is also a concern as it exposes nodes in the internal
networks to receipt of otherwise unwanted traffic from the
Internet.  
</t>
<t>
In IPv4 NAT networks, the NAT provides an implicit firewall
function.  <xref target="RFC4864"></xref> suggests that IPv6 networks 
with global addresses utilise "Simple Security" in border firewalls to 
restrict incoming connections through a default deny policy.
Applications or hosts wanting to accept inbound connections then
need to signal that desire through a protocol such as uPNP or
<xref target="I-D.ietf-pcp-base">PCP</xref>.
</t>
<t>
Such an approach would reduces the efficacy of end-to-end
connectivity that IPv6 has the potential to
restore, since the need for IPv4 NAT traversal is replaced by a need 
to use a signalling protocol to request a firewall hole be opened.
<xref target="RFC6092"></xref> provides recommendations for
an IPv6 firewall that applies "limitations on end-to-end transparency
where security considerations are deemed important to promote local
and Internet security." The firewall operation is "simple" in that
there is an assumption that traffic which is to be blocked by default
is defined in the RFC and not expected to be updated by the user or
otherwise. The RFC does however state that CPEs should have an
option to be put into a "transparent mode" of operation.
</t>
<t>
It is important to distinguish between addressability and reachability;
i.e. IPv6 through use of globally unique addressing in the home makes
all devices potentially reachable from anywhere. Whether they are or
not should depend on firewall or filtering configuration, and not the
presence or use of NAT.
</t>
<t>
<xref target="I-D.vyncke-advanced-ipv6-security">Advanced
Security for IPv6 CPE</xref> takes the approach that in order to
provide the greatest end-to-end transparency as well as security,
security polices must be updated by a trusted party which can provide
intrusion signatures and other "active" information on security
threats. This is much like a virus-scanning tool which must receive
updates in order to detect and/or neutralize the latest attacks as
they arrive. As the name implies "advanced" security requires
significantly more resources and infrastructure (including a source
for attack signatures) in comparision to "simple" security.
</t>

<t>
In addition to establishing the security mechanisms themselves, 
it is important to
know where to enable them. If there is some indication as to which
router is connected to the "outside" of the home network, this is
feasible. Otherwise, it can be difficult to know which security
policies to apply where. Further, security policies may be different
for various address ranges if ULA addressing is setup to only operate
within the homenet itself and not be routed to the Internet at large.
Finally, such policies must be able to be applied by typical
home users, e.g. to give a visitor in a "guest" network access to
media services in the home.
</t>

<t>
It may be useful to classify the border of the home network as a unique
logical interface separating the home network from service provider
network/s. This border interface may be a single physical interface to 
a single service provider, multiple layer 2 sub-interfaces to a single 
service provider, or multiple connections to a single or multiple providers. 
This border is useful for describing edge operations and interface 
requirements across multiple functional areas including security, routing,
service discovery, and router discovery.  
</t>

<t hangText="Naming, and manual configuration of IP addresses"><vspace blankLines="1"/>

In IPv4, a single subnet NATed home network environment is currently the
norm. As a result, it is for example common practice for users to be able to 
connect to a router for configuration via a literal address such as
192.168.1.1 or some other
commonly used RFC 1918 address. In IPv6, while ULAs exist and could
potentially be used to address internally-reachable services, little
deployment experience exists to date.  Given a true ULA prefix is effectively 
a random 48-bit prefix, it is not reasonable to expect users to manually
enter such address literals for configuration or other purposes. As such, even 
for the simplest of functions, naming and the associated discovery of 
services is imperative for an easy to administer homenet. </t>
<t>
In a multi-subnet homenet, naming and service discovery should be
expected to operate across the scope of the entire home network, and thus
be able to cross subnet boundaries. It should be noted that in IPv4, 
such services do not generally function across home router NAT boundaries, 
so this is one area where there is scope for an improvement in IPv6.
</t>

</list></t>

</section>

<section anchor="arch" title="Architecture">

<t>An architecture outlines how to construct home networks involving
multiple routers and subnets. In this section, we present a set of
typical home network topology models/scenarios, followed by a list of
topics that may influence the architecture discussions, and a
set of architectural
principles that govern how the various nodes should work
together. Finally, some guidelines are given for realizing the
architecture with the IPv6 addressing, prefix delegation,
global and ULA addresses, source address selection rules and other
existing components of the IPv6 architecture. The architecture also
drives what protocol extensions are necessary, as will be discussed
in <xref target="miss"/>.
</t>

<section title="Network Models">

<t>Figure 1 shows the simplest possible home network topology,
involving just one router, a local area network, and a set of
hosts. Setting up such networks is in principle well understood today
<xref target="RFC6204"/>.</t>

<figure align="left" anchor="Figure.1 ">
<preamble></preamble>
<artwork align="left">
             +-------+-------+                      \
             |   Service     |                       \
             |   Provider    |                        | Service
             |    Router     |                        | Provider
             +-------+-------+                        | network
                     |                               /
                     | Customer                     /
      demarc #1 -->  | Internet connection         /
                     |
              +------+--------+                    \
              |     IPv6      |                     \
              | Customer Edge |                      \
              |    Router     |                      /
              +------+--------+                     /
                     |                             |
      demarc #2 -->  |                             | End-User
                     |   Local network             | network(s)
            ---+-----+-------+---                   \ 
               |             |                       \
          +----+-----+ +-----+----+                   \
          |IPv6 Host | |IPv6 Host |                   /
          |          | |          |                  /
          +----------+ +-----+----+                 /
</artwork>
<postamble></postamble>
</figure>

<t>
Two possible demarcation points are illustrated in Figure 1, 
which indicate which party is responsible for configuration or 
autoconfiguration.
Demarcation #1 makes the Customer Edge Router the responsibility of
the customer.  This is only practical if the Customer Edge Router
can function with factory defaults installed.  The Customer Edge
Router may be pre-configured by the ISP, or by some suitably simple
method by the home customer.
Demarcation #2 makes the Customer Edge Router the responsibility of
the provider.  
Both models of operation must be supported in the homenet architecture,
including the scenarios below with multiple ISPs and demarcation points. 
</t>

<t>Figure 2 shows another network that now introduces multiple local
area networks. These may be needed for reasons relating to different
link layer technologies in use or for policy reasons. Note that a common
arrangement is to have different link types supported on the same
router, bridged together.</t>

<t>
This topology is also relatively well understood today
<xref target="RFC6204"/>, though it certainly presents additional
demands with regards suitable firewall policies and limits the
operation of certain applications and discovery mechanisms (which
may typically today only succeed within a single subnet).</t>

<figure align="left" anchor="Figure.2 ">
<preamble></preamble>
<artwork align="left">
                   +-------+-------+                    \
                   |   Service     |                     \
                   |   Provider    |                      | Service
                   |    Router     |                      | Provider
                   +------+--------+                      | network
                          |                              /
                          | Customer                    /
                          | Internet connection        /
                          |
                   +------+--------+                     \
                   |     IPv6      |                      \
                   | Customer Edge |                       \
                   |    Router     |                       /
                   +----+-------+--+                      /
        Network A       |       |   Network B            | End-User
  ---+-------------+----+-    --+--+-------------+---    | network(s)
     |             |               |             |        \
+----+-----+ +-----+----+     +----+-----+ +-----+----+    \
|IPv6 Host | |IPv6 Host |     | IPv6 Host| |IPv6 Host |    /
|          | |          |     |          | |          |   /
+----------+ +-----+----+     +----------+ +----------+  /
</artwork>

          <postamble></postamble>
        </figure>


<t>Figure 3 shows a little bit more complex network with two routers
and eight devices connected to one ISP. This network is similar to the
one discussed in
<xref target="I-D.ietf-v6ops-ipv6-cpe-router-bis"/>. The main
complication in this topology compared to the ones described earlier
is that there is no longer a single router that a priori understands
the entire topology.  The topology itself may also be complex. It may
not be possible to assume a pure tree form, for instance. This 
would be a consideration if there was an assumption that home users
may plug routers together to form arbitrary topologies.</t>


        <figure align="left" anchor="Figure.3 ">
          <preamble></preamble>

          <artwork align="left">

                  +-------+-------+                     \
                  |   Service     |                      \
                  |   Provider    |                       | Service
                  |    Router     |                       | Provider
                  +-------+-------+                       | network
                          |                              /
                          | Customer                    /
                          | Internet connection        
                          |                            
                   +------+--------+                    \
                   |     IPv6      |                     \
                   | Customer Edge |                      \
                   |    Router     |                      |
                   +----+-+---+----+                      |
       Network A        | |   |      Network B/E          |
 ----+-------------+----+ |   +---+-------------+------+  |
     |             |    | |       |             |      |  |
+----+-----+ +-----+----+ |  +----+-----+ +-----+----+ |  |
|IPv6 Host | |IPv6 Host | |  | IPv6 Host| |IPv6 Host | |  |
|          | |          | |  |          | |          | |  |
+----------+ +-----+----+ |  +----------+ +----------+ |  |
                          |        |             |     |  |
                          |     ---+------+------+-----+  |
                          |               | Network B/E   |
                   +------+--------+      |               | End-User
                   |     IPv6      |      |               | networks
                   |   Interior    +------+               |
                   |    Router     |                      |
                   +---+-------+-+-+                      |
       Network C       |       |   Network D              |
 ----+-------------+---+-    --+---+-------------+---     |
     |             |               |             |        |
+----+-----+ +-----+----+     +----+-----+ +-----+----+   |
|IPv6 Host | |IPv6 Host |     | IPv6 Host| |IPv6 Host |   |
|          | |          |     |          | |          |   /
+----------+ +-----+----+     +----------+ +----------+  /
</artwork>
<postamble></postamble>
</figure>

<figure align="left" anchor="Figure.4 ">
<preamble></preamble>
<artwork align="left">
        +-------+-------+     +-------+-------+         \
        |   Service     |     |   Service     |          \
        |  Provider A   |     |  Provider B   |           | Service
        |    Router     |     |    Router     |           | Provider
        +------+--------+     +-------+-------+           | network
               |                      |                   /
               |      Customer        |                  /
               | Internet connections |                 /
               |                      |
        +------+--------+     +-------+-------+         \
        |     IPv6      |     |    IPv6       |          \
        | Customer Edge |     | Customer Edge |           \
        |   Router 1    |     |   Router 2    |           / 
        +------+--------+     +-------+-------+          /
               |                      |                 /
               |                      |                | End-User
  ---+---------+---+---------------+--+----------+---  | network(s)
     |             |               |             |      \
+----+-----+ +-----+----+     +----+-----+ +-----+----+  \
|IPv6 Host | |IPv6 Host |     | IPv6 Host| |IPv6 Host |  /
|          | |          |     |          | |          | /
+----------+ +-----+----+     +----------+ +----------+ 
</artwork>

          <postamble></postamble>
        </figure>

<t>
Figure 4 illustrates a multihomed home network model, where the
customer has connectivity via CPE1 to ISP A and via CPE2 to ISP B.
This example shows one shared subnet where IPv6 nodes would
potentially be multihomed and receive multiple IPv6 global
addresses, one per ISP.  This model may also be combined with
that shown in Figure 3 for example to create a more complex scenario.
</t>


<figure align="left" anchor="Figure.5 ">
<preamble></preamble>
<artwork align="left">
        +-------+-------+     +-------+-------+         \
        |   Service     |     |   Service     |          \
        |  Provider A   |     |  Provider B   |           | Service
        |    Router     |     |    Router     |           | Provider
        +-------+-------+     +-------+-------+           | network
                 |                 |                     /
                 |    Customer     |                   /
                 |    Internet     |                  /
                 |   connections   |                 |
                +---------+---------+                 \
                |       IPv6        |                   \
                |   Customer Edge   |                    \
                |     Router 1      |                    / 
                +---------+---------+                   /
                   |             |                     /
                   |             |                     | End-User
  ---+---------+---+--           --+--+----------+---  | network(s)
     |             |               |             |      \
+----+-----+ +-----+----+     +----+-----+ +-----+----+  \
|IPv6 Host | |IPv6 Host |     | IPv6 Host| |IPv6 Host |  /
|          | |          |     |          | |          | /
+----------+ +-----+----+     +----------+ +----------+ 
</artwork>

          <postamble></postamble>
        </figure>

<t>
Figure 5 illustrates a model where a home network may have multiple
connections to multiple providers or multiple logical connections to 
the same provider, but the associated subnet(s) are isolated.
Some deployment scenarios may require this model.  
</t>

</section>

<section anchor="req" title="Requirements">

<t><xref target="RFC6204"/> defines "basic" requirements for IPv6
Customer Edge Routers,
while <xref target="I-D.ietf-v6ops-ipv6-cpe-router-bis"></xref>
describes "advanced" features. In general, home network equipment needs to 
cope with the different types of network topologies discussed above. 
Manual configuration is rarely, if at all, possible, given the knowledge 
lying with typical home users. The equipment needs to be prepared
to handle at least
<list style="symbols">
<t>Prefix configuration for routers</t>
<t>Managing routing</t>
<t>Name resolution</t>
<t>Service discovery</t>
<t>Network security</t>
</list></t>

</section>

<section title="Considerations">

<t>
This section lists some considerations for home networking that may
affect the architecture and associated requirements.
</t>

<t>
<list style="hanging">

<t hangText="Multihoming"><vspace blankLines="1"/>
A homenet may be multihomed to multiple providers.  This may either
take a form where there are multiple isolated networks within the home or
a more integrated network where the connectivity selection is dynamic.
Current practice is typically of the former kind, but the latter is
expected to become more commonplace.
</t>
<t>
In an integrated network, specific appliances or applications may 
use their own external connectivity, or the entire network may 
change its connectivity based on the status of the different upstream 
connections. Many general solutions for IPv6 multihoming
have been worked on for years in the IETF, though to date there is little
deployment of these mechanisms.  While an argument can be made that
home networking standards should not make another attempt at this, the
obvious counter-argument is that multihoming support will be
necessary for many deployment situations.
</t>
<t>
One such approach is the use of NPTv6 <xref target="RFC6296"/>, which is
a prefix translation-based mechanism. An alternative
is presented in <xref target="I-D.v6ops-multihoming-without-ipv6nat"/>.
Host-based methods such as Shim6 <xref target="RFC5533"/> have also
been defined.
</t>
<t>
In any case, if multihoming is supported additional requirements are
necessary. The general multihoming problem is broad, and solutions
may include complex architectures for monitoring connectivity,
traffic engineering, identifier-locator separation, connection survivability
across multihoming events, and so on.
However, there is a general agreement that for the home case, 
if there is any support for multihoming it should be limited to a
very small subset of the overall problem. Specifically,
multi-addressed hosts selecting the right source address to avoid
falling foul of ingress filtering on upstream ISP connections
<xref target="I-D.baker-fun-multi-router"/>.
A solution to this particular problem is desirable.
</t>
<t>
Some similar multihoming issues 
have already been teased out in the work described in
<xref target="I-D.ietf-mif-dns-server-selection"/>, which has led to
the definition of a DHCPv6 route option
<xref target="I-D.ietf-mif-dhcpv6-route-option"/>.
</t>
<t>
One could also argue that a "happy eyeballs" approach, not too dissimilar 
to that proposed for multiple interface (mif) scenarios, is also acceptable
if such support becomes commonplace in hosts and applications.
</t>
<t>
A further consideration and complexity here is that at least one upstream 
may be a "walled garden", and thus only appropriate to be used for 
connectivity to the services of that provider.
</t>

<t hangText="Quality of Service in multi-service home networks"><vspace blankLines="1"/>

Support for QoS in a multi-service homenet may be a requirement,
e.g. for a critical system (perhaps healthcare related), or for
differentiation between different types of traffic (file sharing,
cloud storage, live streaming, VoIP, etc).  Different media types
may have different QoS properties or capabilities.
</t>
<t>
However, homenet scenarios should require no new QoS protocols.  A DiffServ
<xref target="RFC2475"/> approach with a small number of predefined 
traffic classes should generally be sufficient, though at present there 
is little experience of QoS deployment in home networks.
There may also be complementary mechanisms that could be beneficial in
the homenet domain, such as ensuring proper buffering algorithms are
used as described in <xref target="Gettys11"/>.
</t>

<t hangText="DNS services"><vspace blankLines="1"/>
A desirable target may be a fully functional self-configuring secure
local DNS service so that all devices are referred to by name,
and these FQDNs are resolved locally. This will make clean use of
ULAs and multiple ISP-provided prefixes much easier.
The local DNS service should be (by default) authoritative for the
local name space in both IPv4 and IPv6. A dual-stack residential
gateway should include a dual-stack DNS server.
</t>
<t>
Consideration will also need to be given for existing protocols that
may be used within a network, e.g. mDNS, and how these interact with
unicast-based DNS services.
</t>
<t>With the introduction of
new top level domains, there is potential for ambiguity between
for example a local host called apple and (if it is registered)
an apple gTLD, so some local name space is probably required,
which should also be configurable to something else by a home user
if desired.
</t>

<t hangText="Privacy considerations"><vspace blankLines="1"/>
There are no specific privacy concerns for this text. It should be
noted that most ISPs are expected to offer static IPv6 prefixes to customers,
and thus the addresses they use would not generally change over time.
</t>
</list>
</t>

</section>

<section title="Principles">

<t>There is little that the Internet standards community can do about
the physical topologies or the need for some networks to be separated
at the network layer for policy or link layer compatibility reasons.
However, there is a lot of flexibility in using IP addressing and
inter-networking mechanisms. In this section we provide some
guidance on how this flexibility should be used to provide the best
user experience and ensure that the network can evolve with new
applications in the future.</t>

<t>The following principles should be used as a guide in
designing these networks in the correct manner.  There is no
implied priority by the order in which the principles are listed.</t>

<t>
<list style="hanging">

<t hangText="Reuse existing protocols"><vspace blankLines="1"/>
It is desirable to reuse existing protocols where possible, but at
the same time to avoid consciously precluding the introduction of new or 
emerging protocols.  For example, 
<xref target="I-D.baker-fun-routing-class"></xref> suggests introducing
a routing protocol that may may route on both source and destination
addresses. 
</t>
<t>
A generally conservative approach, giving weight to running code, is
preferable. Where new protocols are required, evidence of commitment to
implementation by appropriate vendors or development communities is
highly desirable.  Protocols used should be backwardly compatible.
</t>
<t>
Where possible, changes to hosts should be minimised. Some changes may
be unavoidable however, e.g. signalling protocols to punch holes in
firewalls where "Simple Security" is deployed in a CPE.
</t>
<t>
Liaisons with other appropriate standards groups and related organisations
is desirable, e.g. the IEEE and Wi-Fi Alliance.
</t>

<t hangText="Dual-stack Operation"><vspace blankLines="1"/>
The homenet architecture targets both IPv6-only and dual-stack networks.
While the CPE requirements in RFC 6204 are targeted at IPv6-only networks,
it is likely that dual-stack homenets will be the norm for
some period of time. IPv6-only networking may first be deployed
in home networks in "greenfield" scenarios, or perhaps as one element 
of an otherwise dual-stack network.  The homenet architecture must
operate in the absence of IPv4, and IPv6 must work in the same scenarios
as IPv4 today. Running IPv6-only
may require documentation of additional considerations such as:
<list style="empty">

<t>Ensuring there is a way to access content in the IPv4 Internet. This can 
be arranged through incorporating <xref target="RFC6144">NAT64</xref>
functionality in the home gateway router, for instance.</t>

<t>DNS discovery mechanisms are enabled even for IPv6. Both stateless
DHCPv6 <xref target="RFC3736"/> <xref
target="RFC3646"/> and Router Advertisement options <xref
target="RFC6106"/> may have to be supported and turned on by default
to ensure maximum compatibility with all types of hosts in the
network. This requires, however, that a working DNS server is known
and addressable via IPv6.</t>

<t>All nodes in the home network support operations in IPv6-only
mode. Some current devices work well with dual-stack but fail to
recognize connectivity when IPv4 DHCP fails, for instance.</t>

</list>
</t>
<t>
In dual-stack networks, solutions for IPv6 must not adversely affect 
IPv4 operation.  It is likely that topologies of IPv4 and IPv6 networks 
would be as congruent as possible.
</t>
<t>
Note that specific transition tools, particularly those running on the
border CPE, are out of scope. The homenet architecture focuses on the
internal home network.
</t>

<t hangText="Largest Possible Subnets"><vspace blankLines="1"/>

Today's IPv4 home networks generally have a single subnet, and
early dual-stack deployments have a single congruent IPv6 subnet,
possibly with some bridging functionality. 
</t>
<t> 
Future home networks are highly likely to need multiple subnets, for 
the reasons described earlier.  As part
of the self-organisation of the network, the network should subdivide
itself to the largest possible subnets that can be constructed within
the constraints of link layer mechanisms, bridging, physical
connectivity, and policy.  For instance, separate subnetworks are
necessary where two different links cannot be bridged, or when a
policy requires the separation of a private and visitor parts of the
network.</t>
<t>
While it may be desirable to maximise the chance of link-local
protocols succeeding, multiple subnet home networks are inevitable,
so their support must be included. 
A general recommendation is to follow the same topology for IPv6
as is used for IPv4, but not to use NAT. Thus there should be 
routed IPv6 where an IPv4 NAT is used, and where there is no NAT
there should be bridging.
</t>
<t>
In some cases IPv4 NAT
home networks may feature cascaded NATs, e.g. where NAT routers are
included within VMs or Internet connection services are used.  IPv6
routed versions of such tools will be required.
</t>

<t hangText="Transparent End-to-End Communications"><vspace blankLines="1"/> 
An IPv6-based home network
architecture should naturally offer a transparent end-to-end
communications model. Each device should be addressable by a unique
address. Security perimeters can of course restrict the end-to-end
communications, but it is simpler given the availability of globally
unique addresses to block certain nodes from
communicating by use of an appropriate filtering device than to configure
the address translation device to enable appropriate address/port
forwarding in the presence of a NAT.</t>
<t>
As discussed previously, it is important to note the difference between 
hosts being addressable and reachable.  Thus filtering is to be expected, 
while IPv6 NAT is not. 
End-to-end communications are important for their robustness to failure 
of intermediate systems, where in contrast NAT is dependent on state 
machines which are not self-healing. 
</t>
<t> 
When configuring filters, protocols for securely associating
devices are desirable.  In the presence of "Simple Security" the use 
of signalling protocols such as uPnP or PCP may be expected to punch
holes in the firewall. Alternatively, RFC 6092 supports the option
for a border CPE to run in "transparent mode", in which case a protocol
like PCP is not required, but the security model is more open.
</t>

<t hangText="IP Connectivity between All Nodes"><vspace blankLines="1"/>
A logical consequence of the end-to-end
communications model is that the network should by default attempt to 
provide IP-layer connectivity between all internal parts as well as between
the internal parts and the Internet. This connectivity should be
established at the link layer, if possible, and using routing at the
IP layer otherwise.</t>
<t>
Local addressing (ULAs) may be used within the scope of a home network.
It would be expected that ULAs may be used alongside one or more
globally unique ISP-provided addresses/prefixes in a homenet.  ULAs
may be used for all devices, not just those intended to have internal 
connectivity only. ULAs may then be used for stable internal communications
should the ISP-provided prefix change, or external connectivity be
temporarily lost.  The use of ULAs should be restricted to the homenet
scope through filtering at the border(s) of the homenet; thus "end-to-end"
for ULAs is limited to the homenet.
</t>
<t>
In some cases full internal connectivity may not be desirable, e.g. in
certain utility networking scenarios, or where filtering is required
for policy reasons against guest network subnet(s). Note that certain
scenarios may require co-existence of ISP connectivity providing a
general Internet service with provider connectivity to a private "walled
garden" network.
</t>
<t>
Some home networking scenarios/models may involve isolated subnet(s)
with their own CPEs. In such cases connectivity would only be expected
within each isolated network (though traffic may potentially
pass between them via external providers).
</t>

<t hangText="Routing functionality"><vspace blankLines="1"/>
Routing functionality is required when multiple subnets are in use.
This functionality could be as simple as the current "default route is up"
model of IPv4 NAT, or it could involve running an appropriate 
routing protocol.
</t>
<t>
The homenet routing environment may include traditional IP networking
where existing link-state or distance-vector protocols may be used, but
also new LLN or other "constrained" networks where other protocols
may be more appropriate. IPv6 VM solutions may also add additional
routing requirements.  Current home deployments use largely different 
mechanisms in sensor and basic Internet connectivity networks.
In general, LLN or other networks should be able to attach and participate 
the same way or map/be gatewayed to the main homenet.
</t>
<t>
It is desirable that the routing protocol has knowledge of the homenet
topology, which implies a link-state protocol may be preferable.  If so,
it is also desirable that the announcements and use of LSAs and RAs are
appropriately coordinated.
</t>
<t>
The routing environment should be self-configuring, as discussed in the
next subsection. An 
example of how OSPFv3 can be self-configuring in a homenet is 
described in <xref target="I-D.acee-ospf-ospfv3-autoconfig"/>.
It is important that self-configuration with "unintended" devices
is avoided.
</t>
<t>
To support multihoming within a homenet, a routing protocol that can
make routing decisions based on source and destination addresses is
desirable, to avoid upstream ISP ingress filtering problems. In general
the routing protocol should support multiple ISP uplinks and prefixes
in concurrent use.
</t>

<t hangText="Self-Organisation"><vspace blankLines="1"/>
A home network
architecture should be naturally self-organising and self-configuring
under different circumstances relating to the connectivity status to the
Internet, number of devices, and physical topology.</t>
<t>
The most important function in this respect is prefix delegation and
management. Delegation should be autonomous, and not assume a flat or
hierarchical model. From the homenet perspective, a single prefix should
be received on the border CPE from the upstream ISP, via
<xref target="RFC3363"/>. The ISP should only see that aggregate, and
not single /64 prefixes allocated within the homenet.
</t>
<t>
Each link in the homenet should receive a prefix from within the ISP-provided
prefix. Delegation within the homenet should give each link a prefix that
is persistent across reboots, power outages and similar short-term outages.
Addition of a new routing device should not affect existing persistent 
prefixes, but persistence may not be expected in the face of 
significant "replumbing" of the homenet.  Persistence should not depend
on router boot order.  Persistent prefixes may imply
the need for stable storage on routing devices, and also a method for
a home user to "reset" the stored prefix should a significant reconfiguration
be required.
</t>
<t>The assignment mechanism should provide reasonable efficiency, so that typical
home network prefix allocation sizes can accommodate all the necessary /64 allocations in most cases.
For instance, duplicate assignment of multiple /64s to the same network should be avoided.</t>
<t>
Several proposals have been made for prefix delegation within a homenet. One group of proposals
is based on DHCPv6 PD, as described in
<xref target="I-D.baker-homenet-prefix-assignment"/>,
<xref target="I-D.chakrabarti-homenet-prefix-alloc"/>,
<xref target="RFC3315"/> and <xref target="RFC3363"/>.
The other uses OSPFv3, as described in
<xref target="I-D.arkko-homenet-prefix-assignment"/>.
</t>
<t>
While the homenet should be self-organising, it should be possible to
manually adjust (override) the current configuration. The network should
also cope gracefully in the event of prefix exhaustion.
</t>
<t>
The network elements will need to be integrated in a way that takes
account of the various lifetimes on timers that are used, e.g.
DHCPv6 PD, router, valid prefix and preferred prefix timers.
</t>
<t>
The homenet will have one or more borders, with external connectivity
providers and potentially parts of the internal network (e.g. for
policy-based reasons). It should be possible to automatically perform
border discovery at least for the ISP borders. Such borders determine
for example the scope of ULAs, site scope multicast boundaries and 
where firewall policies may be applied.
</t>
<t>
The network cannot be expected to be completely self-organising, e.g.
some security parameters are likely to need manual configuration,
e.g. WPA2 configuration for wireless access control.
</t>

<t hangText="Fewest Topology Assumptions"><vspace blankLines="1"/>
There should be ideally no built-in assumptions about the topology in home
networks, as users are capable of connecting their devices in
ingenious ways. Thus arbitrary topologies will need to be supported.</t>
<t>
It is important not to introduce new IPv6 scenarios that would break with 
IPv4+NAT, given dual-stack homenets will be commonplace for some time.
There may be IPv6-only topologies that work where IPv4 is not used or
required.
</t>

<t hangText="Naming and Service Discovery"><vspace blankLines="1"/>
The most natural way to think about naming and service discovery 
within a home is
to enable it to work across the entire residence, disregarding technical
borders such as subnets but respecting policy borders such as those
between visitor and internal networks.</t>
<t>
This may imply support is required for IPv6 multicast across the scope of the
home network, and thus at least all routing devices in the network.
</t>
<t>
Homenet naming systems will be required that work internally or externally,
though the domains used may be different in each case.
</t>

<t hangText="Proxy or Extend?"><vspace blankLines="1"/>
Related to the above,
we believe that general existing discovery
protocols that are designed to only work within a subnet are modified/extended
to work across subnets, rather than defining proxy capabilities 
for those functions.
</t>
<t>
We may need to do more analysis (a survey?) on which functions/protocols 
assume subnet-only operation, in the context of existing home networks.
Some experience from enterprises may be relevant here.
</t>

<t hangText="Adapt to ISP constraints"><vspace blankLines="1"/>
The home network may receive an arbitrary length IPv6 prefix from
its provider, e.g. /60 or /56. The offered prefix may be static or
dynamic.  The home network needs to be adaptable to such ISP policies,
e.g. on constraints placed by the size of prefix offered by the ISP.  
The ISP may use <xref target="I-D.ietf-dhc-pd-exclude"/> for example.
</t>
<t>
The internal operation of the home network should not also depend on
the availability of the ISP network at any given time, other than
for connectivity to services or systems off the home network. This
implies the use of ULAs as supported in RFC6204.
If used, ULA addresses should be stable so that they can always be 
used internally, independent of the link to the ISP.
</t>
<t>
It is expected that ISPs will deliver a static home prefix to customers.
However, it is possible, however unlikely, that an ISP may need to restructure
and in doing so renumber its customer homenets. In such cases "flash"
renumbering may be imposed.  Thus it's desirable that homenet protocols
or operational processes don't add unnecessary complexity for renumbering.
</t>

</list>
</t>

</section>

<section title="Summary of Homenet Architecture Recommendations">

<t>
In this section we present a summary of the homenet architecture
recommendations that were discussed in more detail in the previous sections.
</t>
<t>
(Bullet points to be added in next version)
</t>

</section>

<section anchor="miss" title="Implementing the Architecture on IPv6">

<t>The necessary mechanisms are largely already part of the IPv6
protocol set and common implementations, though there are some
exceptions. For automatic
routing, it is expected that existing routing protocols can be used as
is. However, a new mechanism may be needed in order to turn a selected
protocol on by default. Support for multiple exit routers and
multi-homing would also require extensions, even if focused on the
problem of multi-addressed hosts selecting the right source address to 
avoid falling foul of ingress filtering on upstream ISP connections.
</t>
<t>
For name resolution and
service discovery, extensions to existing multicast-based name
resolution protocols are needed to enable them to work across subnets,
within the scope of the home network.</t>

<t>The hardest problems in developing solutions for home networking
IPv6 architectures include discovering the right borders where the
domain "home" ends and the service provider domain begins, deciding
whether some of necessary discovery mechanism extensions should affect
only the network infrastructure or also hosts, and the ability to turn
on routing, prefix delegation and other functions in a backwards
compatible manner.</t>


</section>

</section>

</middle>

<back>

<references title="Normative References">

        &rfc1918;
        &rfc2460;
        &rfc2475;
	&rfc3315;
	&rfc3363;
        &rfc4193;
        &rfc4291;
        &rfc4864;
        &rfc5533;
        &rfc6092;
        &rfc6204;
        &rfc6296;

</references>

<references title="Informative References">

        &rfc3646;
        &rfc3736;
        &rfc6106;
        &rfc6144;
        &I-D.baker-fun-multi-router;
        &I-D.baker-fun-routing-class;
        &I-D.herbst-v6ops-cpeenhancements;
        &I-D.vyncke-advanced-ipv6-security;
        &I-D.ietf-v6ops-ipv6-cpe-router-bis;
	&I-D.ietf-6man-rfc3484-revise;
	&I-D.ietf-dhc-pd-exclude;
	&I-D.v6ops-multihoming-without-ipv6nat;
	&I-D.ietf-mif-dns-server-selection;
	&I-D.ietf-mif-dhcpv6-route-option;
	&I-D.baker-homenet-prefix-assignment;
	&I-D.arkko-homenet-prefix-assignment;
	&I-D.acee-ospf-ospfv3-autoconfig;
	&I-D.ietf-pcp-base;
        &I-D.chakrabarti-homenet-prefix-alloc;

        <reference anchor='Gettys11' target="http://www.ietf.org/proceedings/80/slides/tsvarea-1.pdf">
        <front>
        <title>Bufferbloat: Dark Buffers in the Internet</title>
        <author initials="J." surname="Gettys" fullname=" Jim Gettys">        <organization />
        </author>
        <date month="March" year="2011" />
        </front>
        </reference>

</references>

<section title="Acknowledgments">

<t>The authors would like to thank Brian Carpenter, 
Mark Andrews, Fred Baker, Ray Bellis, Cameron Byrne,
Stuart Cheshire, Lorenzo Colitti, Ralph Droms, Lars Eggert, 
Jim Gettys, Wassim Haddad, Joel M. Halpern, David Harrington, 
Lee Howard, Ray Hunter, Joel Jaeggli, Heather Kirksey, 
Ted Lemon, Erik Nordmark, Michael Richardson, Barbara Stark, 
Sander Steffann, Dave Thaler, JP Vasseur, Curtis Villamizar, 
Russ White, and James Woodyatt 
for their contributions within homenet WG meetings and the mailing list, 
and Mark Townsley
for being an initial editor/author of this text before taking his
position as homenet WG co-chair.</t>

</section>

</back>
</rfc>

PAFTECH AB 2003-20262026-04-23 14:38:21