<?xml version="1.0" encoding="US-ASCII" ?>

<!DOCTYPE rfc SYSTEM 'rfc2629.dtd' [

]>

<rfc ipr="trust200902"
    number="7368" submissionType="IETF" consensus="yes"
    category="info">

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

<front>

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

<author fullname="Tim Chown" initials="T.J." surname="Chown" role="editor">
<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="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 initials="A" surname="Brandt" fullname="Anders Brandt">
<organization>Sigma Designs</organization>
<address>
<postal>
<street>Emdrupvej 26A, 1</street>
<city>Copenhagen</city> <code>DK-2100</code>
<country>Denmark</country>
</postal>
<email>anders_brandt@sigmadesigns.com</email>
</address>
</author>

<author initials="O" surname="Troan" fullname="Ole Troan">
<organization>Cisco Systems, Inc.</organization>
<address>
<postal>
<street>Philip Pedersensvei 1</street>
<city>Lysaker,</city><code>N-1325</code>
<country>Norway</country>
</postal>
<email>ot@cisco.com</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>United States</country>
</postal>
<email>jason.weil@twcable.com</email>
</address>
</author>

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

<keyword>IPv6</keyword>

<abstract>

<t>This text describes evolving networking technology within
residential home networks with increasing numbers of devices and
a trend towards increased internal routing.  The goal of this 
document is to define a general architecture for IPv6-based home 
networking, describing the associated principles, considerations, and 
requirements. The text briefly highlights specific implications 
of the introduction of IPv6 for home networking, discusses the 
elements of the architecture, and suggests 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 
is not actively managed and runs as an IPv6-only or dual-stack network. 
There are no recommendations in this text for the IPv4 part of the network.
</t>

</abstract>

</front>
<middle>

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

<t>This document focuses on evolving networking technology within
residential home networks with increasing numbers of devices and
a trend towards increased internal routing, as well as the associated 
challenges with their deployment and operation. There is a growing
trend in home networking for the proliferation of networking
technology through 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 introduction of IPv6, while others
relate to the introduction of specialised networks for home automation and
sensors.</t>

<t>
While at the time of writing
some complex home network topologies exist, most are relatively simple
single subnet networks and ostensibly operate using just IPv4. While
there may be IPv6 traffic within the network, e.g., for service discovery,
the homenet is provisioned by the ISP as an IPv4 network. Such networks
also typically employ solutions that should be avoided, such as
private <xref target="RFC1918"></xref> addressing with (cascaded)
Network Address Translation (NAT) <xref target="RFC3022"></xref>,
or they may require expert assistance to set up.
</t>
<t>
In contrast, emerging IPv6-capable home networks are very likely to have
multiple internal subnets, e.g., to facilitate private and guest
networks, heterogeneous link layers, and smart grid components, and have
enough address space available to allow every device to have a globally
unique address. 

This implies that internal routing functionality is required,
and that the homenet's ISP delegates a large enough address block, 
to allow assignment of a prefix to each subnet in the home network.
</t>
<t>
It is not practical to expect home users to configure their networks.
Thus, the assumption of this document is that the
homenet is as far as possible self-organising and self-configuring, i.e.,
it should function without proactive management by the residential user.
</t>

<t>The
architectural constructs in this document are focused on the problems
to be solved when introducing IPv6, with an eye towards a better result
than what we have today with IPv4, as well as aiming for a more consistent 
solution that addresses as many of the identified requirements as 
possible.
This 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.  We assume that the IPv4 network 
architecture in home networks is what it is and cannot be modified by 
new recommendations. This document does not discuss how IPv4 home networks
provision or deliver support for multiple subnets.
It should not be assumed that any future new functionality created with 
IPv6 in mind will be backward compatible to include IPv4 support.
Further, future deployments, or specific subnets within 
an otherwise dual-stack home network, may be IPv6-only, in which
case considerations for IPv4 impact would not apply.
</t>

<t>
This document proposes a baseline homenet architecture, using 
protocols and implementations that are as far as possible proven and 
robust.
The scope of the document is primarily the network-layer technologies
that provide the basic functionality to enable addressing, connectivity, 
routing, naming, and service discovery.  While it may, for example, 
state that homenet components must be simple to deploy and use, it does
not discuss specific user interfaces, nor does it discuss specific
physical, wireless, or data-link-layer considerations. Likewise, 
we also do not
specify the whole design of a homenet router from top to bottom;
rather, we focus on the Layer 3 aspects. This means that Layer 2 is
largely out of scope, we're assuming a data-link layer that supports
IPv6 is present, and we react accordingly. Any IPv6-over-Foo
definitions occur elsewhere.
</t>

<t>

<xref target="RFC7084"></xref>, which has obsoleted <xref target="RFC6204"/>,
defines basic requirements for Customer Edge (CE) routers. The update
includes the definition of requirements for specific transition tools on the 
CE router, specifically Dual-Stack Lite (DS-Lite) <xref target="RFC6333"/> and 
IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) <xref target="RFC5969"/>. 
Such detailed specification of CE router devices is considered out of scope of this
architecture document, and we assume that any required update of the CE router
device specification as a result of adopting this architecture will be
handled as separate and specific updates to these existing documents.
Further, the scope of this text is the internal homenet, and thus
specific features on the WAN side of the CE router are out of scope for this text.
</t>

<section title="Terminology and Abbreviations">

<t>
In this section, we define terminology and abbreviations used throughout the text.
</t>
<t>
<list style="symbols">
<t>Border: A point, typically resident on a router, between two networks, e.g.,
between the main internal homenet and a guest network. This defines a point(s)
at which filtering and forwarding policies for different types of 
traffic may be applied.</t>
<t>CE router: Customer Edge router.  A border router intended for use in a homenet.
A CE router connects the homenet to a service provider network.</t>
<t>FQDN: Fully Qualified Domain Name. A globally unique name.</t>
<t>Guest network: A part of the home network intended for use by visitors or
guests to the home(net). Devices on the guest network may typically not see
or be able to use all services in the home(net).</t>
<t>Homenet: A home network, comprising host and router equipment, with
one or more CE routers providing connectivity to a service provider network(s).</t>
<t>ISP: Internet Service Provider.  An entity that provides access to the
Internet.  In this document, a service provider specifically offers Internet
access using IPv6 and may also offer IPv4 Internet access.  The service 
provider can provide such access over a variety of
different transport methods such as DSL, cable, wireless, and others.</t>
<t>LLN: Low-power and Lossy Network.</t>
<t>LQDN: Locally Qualified Domain Name. A name local to the homenet.</t>
<t>NAT: Network Address Translation. Typically referring to IPv4 
Network Address Port Translation (NAPT) <xref target="RFC3022"/>.</t>
<t>NPTv6: IPv6-to-IPv6 Network Prefix Translation <xref target="RFC6296"/>.</t>
<t>PCP: Port Control Protocol <xref target="RFC6887"></xref>. </t>
<t>Realm: A network delimited by a defined border. A guest network within a
homenet may form one realm.</t>
<t>'Simple Security': Defined in <xref target="RFC4864"></xref> and
expanded further in <xref target="RFC6092"></xref>;
describes recommended perimeter security capabilities for IPv6 networks.</t>
<t>ULA: IPv6 Unique Local Address <xref target="RFC4193"></xref>.</t>
<t>VM: Virtual Machine.</t>
</list>
</t>

</section>

</section>

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

<t>
While IPv6 resembles IPv4 in many ways, there are some notable differences
in the way it may typically be deployed.  It changes address allocation 
principles, 
making multi-addressing the norm, and through the vastly increased address
space, it allows globally unique IP addresses to be used for all devices
in a home network.  This section presents an overview 
of some of the key implications of the introduction of IPv6 for home 
networking that are simultaneously both promising and problematic.
</t>

<section title="Multiple Subnets and Routers">
<t>
While simple Layer 3 topologies involving as few subnets as possible 
are preferred in home networks, the incorporation of dedicated (routed) 
subnets remains necessary for a variety of reasons. 
For instance, an increasingly common feature in modern home routers 
is the ability to support both guest and private network subnets. 
Likewise, there may be a need to
separate home automation or corporate extension LANs (whereby a home 
worker can have their corporate network extended into the home using
a virtual private network, commonly presented as one port on an 
Ethernet device) from the main Internet 
access network, or different subnets may in general 
be associated with parts of the
homenet that have different routing and security policies. Further,
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-power and Lossy Networks (LLNs), such as those
used for certain types of sensor devices. Constraining the flow of
certain traffic from Ethernet links to links of much lower capacity
thus becomes an important topic.
</t>
<t>
The introduction of IPv6 for home networking makes it possible
for every home network to be delegated enough address space
from its ISP 
to provision globally unique prefixes for each such subnet in the home. 
While the number of addresses in a standard /64 IPv6 prefix 
is practically unlimited, the number of prefixes available for assignment 
to the home network is not. As a result, the growth inhibitor for the 
home network shifts from the number of addresses to the number of prefixes 
offered by the provider; this topic is discussed in BCP 157 <xref target="RFC6177"/>,
which recommends that "end sites always be able to obtain a reasonable 
amount of address space for their actual and planned usage."
</t>

<t>The addition of routing between subnets raises a number of issues.
One is a method by which prefixes can be efficiently allocated to each
subnet, without user intervention.  Another issue is how to extend
mechanisms such as zero-configuration service discovery that currently only
operate within a single subnet using link-local traffic.  In a typical
IPv4 home network, there is only one subnet, so such mechanisms would
normally operate as expected.  For multi-subnet IPv6 home networks,
there are two broad choices to enable such protocols to work across
the scope of the entire homenet:
extend existing protocols to work across that scope or
introduce proxies for existing link-layer protocols.  This topic is 
discussed in <xref target="naming-sd"/>.
</t>

</section>

<section title="Global Addressability and Elimination of NAT">
 
<t>
The possibility for direct end-to-end communication on the Internet to
be restored by the introduction of IPv6 is,
on the one hand, an incredible 
opportunity for innovation and simpler network operation,
but on the other hand, it is 
also a concern as it potentially exposes nodes in the internal
networks to receipt of unwanted and possibly malicious 
traffic from the Internet.  
</t>
<t>
With devices and applications able to talk directly to
each other when they have globally unique addresses, there may 
be an expectation of improved host security to compensate for this.
It should be noted that many devices may (for
example) ship with default settings that make them readily vulnerable
to compromise by external attackers if globally accessible, or they may simply
not be robust by design because it was assumed that either such devices would 
only be used on private networks or the devices don't 
have the computing power to apply the necessary security methods.

In addition, the upgrade cycle for devices (or their firmware) may be slow 
and/or lack auto-update mechanisms.
</t>
<t>
It is thus important to distinguish between addressability and reachability.
While IPv6 offers global addressability through the use of globally 
unique addresses in the home, whether devices are globally reachable or
not would depend on any firewall or filtering configuration, and not,
as is commonly the case with IPv4, the presence or use of NAT.
In this respect, IPv6 networks may or may not have filters applied at 
their borders to control such traffic, i.e., at the homenet CE router.
<xref target="RFC4864"></xref> and <xref target="RFC6092"></xref>
discuss such filtering and the merits of 'default allow' against
'default deny' policies for external traffic initiated into a homenet.
This topic is discussed further in <xref target="addressability"></xref>.
</t>
</section>

<section title="Multi-Addressing of Devices">

<t>
In an IPv6 network, devices will often acquire multiple addresses, typically
at least a link-local address and one or more globally unique addresses (GUAs). 
Where a homenet is multihomed, a device would typically receive a
GUA from within the delegated prefix from each upstream ISP.
Devices may also have an IPv4 address if the network is dual stack, an
IPv6 Unique Local Address (ULA) <xref target="RFC4193"></xref> (see below),
and one or more IPv6 privacy addresses <xref target="RFC4941"></xref>.
</t>
<t>
It should thus be considered the norm for devices on IPv6 home networks 
to be multi-addressed and to need to make appropriate address selection
decisions for the candidate source and destination address pairs for any
given connection.  In multihoming scenarios, nodes
will be configured with one address from each upstream ISP prefix.
In such cases, the presence of upstream 
ingress filtering as described in BCP 38 <xref target="RFC2827"></xref> requires such
multi-addressed nodes to select the correct source address to be used 
for the corresponding uplink.  Default address selection for IPv6 
<xref target="RFC6724"></xref> 
provides a solution for this, but a challenge here is that the node may 
not have the information it needs to make that decision based on addresses 
alone.  We discuss this challenge in <xref target="multihoming"/>.
</t>
</section>

<section title="Unique Local Addresses (ULAs)">

<t>
<xref target="RFC4193"></xref> defines ULAs
for IPv6 that may be used to address devices within the scope of a
single site. Support for ULAs for IPv6 CE routers is described in <xref
target="RFC7084"></xref>.  A home network running IPv6 should deploy ULAs
alongside its globally unique prefix(es) to allow stable communication 
between devices (on different subnets) within the homenet
where that externally allocated globally unique prefix may change over 
time, e.g., due to renumbering within the subscriber's ISP, or where 
external connectivity may be temporarily unavailable. A homenet using
provider-assigned global addresses is exposed to its ISP renumbering the 
network to a much larger degree than before whereas, for IPv4, NAT 
isolated the user against ISP renumbering to some extent.
</t>
<t>
While setting up a network, there may be a period where it has no 
external connectivity, in which case ULAs would be required for 
inter-subnet communication.  In the case where home automation
networks are
being set up in a new home/deployment (as early as during
construction of the home), such networks 
will likely need to use their own /48
ULA prefix.  Depending upon circumstances beyond the control of the owner
of the homenet, it may be impossible to renumber the ULA used by the home
automation network
so routing between ULA /48s may be required.  Also, some
devices, particularly constrained devices, may have only a ULA (in addition 
to a link-local), while others may have both a GUA and a ULA.
</t>
<t>
Note that unlike private IPv4 space as described in RFC 1918, the use of ULAs does not 
imply use of an IPv6 equivalent of a traditional IPv4 NAT 
<xref target="RFC3022" /> or of NPTv6 prefix-based NAT 
<xref target="RFC6296"/>. When an IPv6 node in a homenet has both a ULA and
a globally unique IPv6 address, it should only use its 
ULA address internally and use its additional globally unique IPv6 address
as a source address for external communications.  This should be the natural
behaviour given support for default address selection for
IPv6 <xref target="RFC6724"></xref>.  By using
such globally unique addresses between hosts and devices in remote networks, 
the architectural cost and complexity, particularly to applications,
of NAT or NPTv6 translation are avoided. As such, neither IPv6 NAT nor NPTv6
is recommended for use in the homenet architecture. Further, the
homenet border router(s) should filter packets with ULA
source/destination addresses as discussed in <xref target="stableinternal"/>.
</t>
<t>
Devices in a homenet may be given only a ULA as a means to restrict
reachability from outside the homenet.  ULAs can be used by default for 
devices that, without additional configuration (e.g., via a web interface),
would only offer services to the internal network. For example,
a printer might only accept incoming connections on a ULA
until configured to be globally reachable, at which point it acquires
a global IPv6 address and may be advertised via a global name space.
</t>
<t>
Where both a ULA and a global prefix are in use, the
ULA source address is used to communicate with ULA destination addresses 
when appropriate, i.e., when the ULA source and destination lie within 
the /48 ULA prefix(es) known to be used within the same homenet.
In cases where multiple /48 ULA prefixes are in use within a single homenet
(perhaps because multiple homenet routers each independently
auto-generate a /48 ULA prefix and then share prefix/routing information),
utilising a ULA source address and a ULA destination address from two
disjoint internal ULA prefixes is preferable to using GUAs.
</t>
<t>
While a homenet should operate correctly with two or more /48 ULAs 
enabled, a mechanism for the creation and use of a single /48 
ULA prefix is desirable for addressing consistency and policy enforcement.  
</t>
<t>
A counter argument to using ULAs is that it is undesirable to aggressively 
deprecate global prefixes for temporary loss of connectivity, so for a
host to lose its global address, 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, it is 
assumed in this architecture that homenets should support and use ULAs.
</t>

</section>


<section title="Avoiding Manual Configuration of IP Addresses">

<t>
Some IPv4 home networking devices expose IPv4 addresses to users, e.g.,
the IPv4 address of a home IPv4 CE router that may be configured via a web
interface.  In potentially complex future IPv6 homenets, users should not 
be expected to enter IPv6 literal addresses in devices or applications, 
given their much greater length and the apparent randomness of such addresses 
to a typical home user.  Thus, even for the simplest of functions, simple
naming and the associated (minimal, and ideally zero configuration) 
discovery of services are imperative for the easy deployment and use of 
homenet devices and applications. 
</t>
</section>


<section title="IPv6-Only Operation">
<t> 
It is likely that IPv6-only networking will be deployed first in new 
home network deployments, often referred to as 'greenfield' scenarios,
where there is no existing IPv4 capability,
or perhaps as one element of an otherwise dual-stack network.  
Running IPv6-only adds additional requirements, e.g., for devices to get 
configuration information via IPv6 transport (not relying on an IPv4
protocol such as IPv4 DHCP) and for devices to be able to
initiate communications to external devices that are IPv4-only.
</t>
<t>
Some specific transition technologies that may be deployed by the
homenet's ISP are discussed in <xref target="RFC7084"></xref>.
In addition, certain other functions may be desirable on the CE router,
e.g., to access content in the IPv4 Internet,
<xref target="RFC6144">NAT64</xref> and 
<xref target="RFC6145">DNS64</xref> may be applicable.
</t>
<t>
The widespread availability of robust solutions to these types of
requirements will help accelerate the uptake of IPv6-only homenets.
The specifics of these are, however, beyond the scope of this document,
especially those functions that reside on the CE router.
</t>
</section>

</section>

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

<t>
The aim of this text is to outline how to construct advanced IPv6-
based home networks involving multiple routers and subnets using
standard IPv6 addressing and protocols <xref target="RFC2460"/> <xref
target="RFC4291"/> as the basis. As described in <xref target="generalp"></xref>, 
solutions should as far as possible
reuse existing protocols and minimise changes to hosts and 
routers, but some new protocols or extensions are likely to
be required.  In this section, we present the elements
of the proposed home networking architecture with discussion of the
associated design principles.
</t>

<t>
In general, home network equipment needs to be able to operate in
networks with a range of different properties and topologies,
where home users may plug components together in arbitrary ways and
expect the resulting network to operate.
Significant manual configuration is rarely, if at all, possible or 
even desirable given the knowledge level of typical home users. 
Thus, the network should, as far as possible, be self-configuring, though
configuration by advanced users should not be precluded.
</t>
<t>
The homenet needs to be able to handle or provision at least the following:
<list style="symbols">
<t>Routing</t>
<t>Prefix configuration for routers</t>
<t>Name resolution</t>
<t>Service discovery</t>
<t>Network security</t>
</list></t>
<t>
The remainder of this document describes the principles by which the
homenet architecture may deliver these properties.
</t>

<section anchor="generalp" title="General 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
internetworking mechanisms. This text discusses
how such flexibility should be used to provide the best 
user experience and ensure that the network can evolve with new
applications in the future.  The principles described in this text
should be followed when designing homenet protocol
solutions. </t>

<section anchor="reuse_existing_protocols" title="Reuse Existing Protocols">
<t>
Existing protocols will be used to meet the requirements of home
networks. Where necessary, extensions will be made to those
protocols. When no existing protocol is found to be suitable, a
new or emerging protocol may be used. Therefore, it is important
that no design or architectural decisions be made that would
preclude the use of new or emerging protocols.
</t>
<t>
A generally conservative approach, giving weight to running (and
available) 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 backward compatible
and forward compatible where changes are made.
</t>
</section>

<section title="Minimise Changes to Hosts and Routers">
<t>
In order to maximise the deployability of new homenets, any
requirement for changes to hosts and routers should be minimised where 
possible; however, solutions that, for example, incrementally
improve capability via host or router changes may be acceptable.  There may be cases
where changes are unavoidable, e.g., to allow a given homenet routing
protocol to be self-configuring or to support routing based on
source addresses in addition to destination addresses (to improve
multihoming support, as discussed in <xref target="multihoming"/>).
</t>
</section>

</section>

<section title="Homenet Topology">

<t>
This section considers homenet topologies and the principles
that may be applied in designing an architecture to support as wide a range
of such topologies as possible.
</t>

<section title="Supporting Arbitrary Topologies">
<t>
There should ideally be no built-in assumptions about the topology in home
networks, as users are capable of connecting their devices in
'ingenious' ways. Thus, arbitrary topologies and arbitrary routing
will need to be supported,
or at least the failure mode for when the user makes a mistake should
be as robust as possible, e.g., deactivating a certain part of the
infrastructure to allow the rest to operate. In such cases, 
the user should ideally have some useful 
indication of the failure mode encountered.</t>

<t>There should be no topology scenarios that cause a loss of
connectivity, except when the user
creates a physical island within the topology.  Some potentially
pathological cases that can be created include bridging ports of a
router together; however, this case can be detected and dealt with by
the router.  Loops within a routed topology are in a sense good in
that they offer redundancy.  Topologies that include potential 
bridging loops can be dangerous but are
also detectable when a switch learns the Media Access Control (MAC) 
address of one of its interfaces
on another or runs a spanning tree or link-state protocol.

It is only topologies with such potential loops 
using simple repeaters that are truly pathological.</t>

<t>
The topology of the homenet may change over time, due to the addition
or removal of equipment but also due to temporary failures or
connectivity problems.  In some cases, this may lead to, for example,
a multihomed homenet being split into two isolated homenets or, 
after such a fault is remedied, two isolated parts reconfiguring back
to a single network.
</t>

</section>

<section title="Network Topology Models">

<t>
As hinted above, while the architecture may focus on likely common
topologies, it should not preclude any arbitrary topology from 
being constructed.
</t>
<t>
At the time of writing, most IPv4 home network models tend 
to be relatively simple,
typically a single NAT router to the ISP and a single internal
subnet but, as discussed earlier, evolution in network architectures
is driving more complex topologies, such as the separation of guest
and private networks. There may also be some cascaded IPv4 NAT
scenarios, which we mention in the next section.  For IPv6 homenets, 
the network architectures described in <xref target="RFC7084"/>
should, as a minimum, be supported.
</t>
<t>
There are a number of properties or attributes of a home network that 
we can use to describe its topology and operation.
The following properties apply to any IPv6 home network:
</t>
<t>
<list style="symbols">
<t>Presence of internal routers.  The homenet may have one or more internal
routers or may only provide subnetting from interfaces on the CE router.</t>

<t>Presence of isolated internal subnets. There may be isolated internal 
subnets, with no direct connectivity between them within the homenet 
(with each having its own external connectivity).  Isolation may
be physical or implemented via IEEE 802.1q VLANs. The latter is, however,
not something a typical user would be expected to configure.</t>

<t>Demarcation of the CE router.  The CE router(s) may or may not be managed by
the ISP.  If the demarcation point is such that the customer
can provide or manage the CE router, its configuration must be simple.  Both
models must be supported.</t>
</list>
</t>

<t>
Various forms of multihoming are likely to become more prevalent with 
IPv6 home networks, where the homenet may have two or more external ISP
connections, as discussed further below. 
Thus, the following properties should also be considered for such networks:
</t>

<t>
<list style="symbols">
<t>Number of upstream providers.  The majority of home networks today 
consist of a single upstream ISP, but it may become more common 
in the future for there to be multiple ISPs, whether for resilience 
or provision of additional services.  
Each would offer its own prefix.  Some may or may not provide
a default route to the public Internet.  </t>

<t>Number of CE routers. The homenet may have a single CE router, which might be
used for one or more providers, or multiple CE routers.  The presence
of multiple CE routers adds
additional complexity for multihoming scenarios and protocols like
PCP that may need to manage connection-oriented state mappings on
the same CE router as used for subsequent traffic flows.</t>
</list>
</t>

<t>
In the following sections, we give some examples of the types of 
homenet topologies we may see in the future.  This is not 
intended to be
an exhaustive or complete list but rather an indicative one to
facilitate the discussion in this text.
</t>

<section title="A: Single ISP, Single CE Router, and Internal Routers">

<t><xref target="Figure.1"/> shows a home network with multiple
local area networks. These 
may be needed for reasons relating to different link-layer technologies 
in use or for policy reasons, e.g.,  classic Ethernet in one subnet and 
an LLN link-layer technology in another.  In this example, there is no 
single router that a priori understands the entire topology.  The 
topology itself may also be complex, and it may not be possible to 
assume a pure tree form, for instance (because home
users may plug routers together to form arbitrary topologies, 
including those with potential loops in them).</t>

<!-- [rfced] Figures 1-3 do not have corresponding titles. Would you 
like to add titles? -->

        <figure align="left" anchor="Figure.1 ">
          <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 | |  |
|    H1    | |    H2    | |  |    H3    | |    H4    | |  |
+----------+ +----------+ |  +----------+ +----------+ |  |
                          |        |             |     |  |
                   Link F |     ---+------+------+-----+  |
                          |               | Network E(B)  |
                   +------+--------+      |               | End-User
                   |     IPv6      |      |               | Networks
                   |   Interior    +------+               |
                   |    Router     |                      |
                   +---+-------+-+-+                      |
       Network C       |       |   Network D              |
 ----+-------------+---+       +---+-------------+---     |
     |             |               |             |        |
+----+-----+ +-----+----+     +----+-----+ +-----+----+   |
|IPv6 Host | |IPv6 Host |     | IPv6 Host| |IPv6 Host |   |
|   H5     | |   H6     |     |    H7    | |    H8    |   /
+----------+ +----------+     +----------+ +----------+  /
</artwork>
<postamble></postamble>
</figure>

<t>
In this diagram, there is one CE router.  It has a single uplink interface.
It has three additional interfaces connected to
Network A, Link F, and Network B.  The IPv6 Internal Router (IR) has four
interfaces connected to Link F, Network C, Network D, and Network E.
Network B and Network E have been bridged, likely inadvertently. This
could be as a result of connecting a wire between a switch for Network B
and a switch for Network E.
</t>

<t>
Any of logical Networks A through F might be wired or wireless. 

Where multiple hosts are shown, this might be through one or more
physical ports on the CE router or IPv6 (IR), wireless networks, or through
one or more Ethernet switches that are Layer 2 only.
</t>

</section>

<section title="B: Two ISPs, Two CE Routers, and Shared Subnet">

<figure align="left" anchor="Figure.2 ">
<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 |  /
|   H1     | |   H2     |     |    H3    | |    H4    | /
+----------+ +----------+     +----------+ +----------+ 
</artwork>

          <postamble></postamble>
        </figure>

<t>
<xref target="Figure.2"/> illustrates a multihomed homenet model, where the
customer has connectivity via CE router 1 to ISP A and via CE router 2 to ISP B.
This example shows one shared subnet where IPv6 nodes would potentially
be multihomed and receive multiple IPv6 global prefixes, one per ISP.
This model may also be combined with that shown
in <xref target="Figure.1"/> to create a more complex scenario with multiple 
internal routers.  Or, the above shared subnet may be split in two, 
such that each CE router serves a separate isolated subnet, which is a 
scenario seen with some IPv4 networks today.
</t>
</section>

<section title="C: Two ISPs, One CE Router, and Shared Subnet">

<figure align="left" anchor="Figure.3 ">
<preamble></preamble>
<artwork align="left">
        +-------+-------+    +-------+-------+          \
        |   Service     |    |   Service     |           \
        |  Provider A   |    |  Provider B   |            | Service
        |    Router     |    |    Router     |            | Provider
        +-------+-------+    +------+--------+            | Network
                |                   |                     /
                |     Customer      |                    /
                |     Internet      |                   /
                |    Connections    |
              +-----------+-----------+                 \
              |         IPv6          |                  \
              |     Customer Edge     |                   \
              |        Router         |                   / 
              +-----------+-----------+                  /
                          |                             /
                          |                            | End-User
  ---+------------+-------+--------+-------------+---  | Network(s)
     |            |                |             |      \
+----+-----+ +----+-----+     +----+-----+ +-----+----+  \
|IPv6 Host | |IPv6 Host |     | IPv6 Host| |IPv6 Host |  /
|   H1     | |   H2     |     |    H3    | |   H4     | /
+----------+ +----------+     +----------+ +----------+ 
</artwork>

          <postamble></postamble>
        </figure>

<t>
<xref target="Figure.3"/> illustrates a model where a home network may have
multiple connections to multiple providers or multiple logical connections to 
the same provider, with shared internal subnets.  
</t>
</section>

</section>

<section anchor="dual-stack_topologies" title="Dual-Stack Topologies">
<t>
For the immediate future, it is expected that most homenet deployments will
be dual-stack IPv4/IPv6. In such networks,
it is important not to introduce new IPv6 capabilities that would cause
a failure if used alongside IPv4+NAT, given that such 
dual-stack homenets will be commonplace for some time.
That said, it is desirable that IPv6 works better than IPv4 in 
as many scenarios as possible. Further, the homenet architecture must 
operate in the absence of IPv4.  
</t>
<t>
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,
routing or bridging may be used.  Routing may have advantages when
compared to bridging together high- and lower-speed shared media, 
and in addition, bridging
may not be suitable for some networks, such as ad hoc mobile networks.
</t>
<t>
In some cases, IPv4 home networks may feature cascaded NATs.
End users are frequently unaware that they have created such
networks, as 'home routers' and 'home switches' are frequently
confused. In addition, there are cases where
NAT routers are included within Virtual Machine Hypervisors or
where Internet connection-sharing services have been enabled.
This document applies equally to such hidden NAT 'routers'.
IPv6-routed versions of such cases will be required.
We should thus also note that routers in the homenet may not be 
separate physical devices; they may be embedded within other devices.
</t>

</section>


<section anchor="multihoming" title="Multihoming">
<t>
A homenet may be multihomed to multiple providers, as the network
models above illustrate.  This may take a form where there are
either multiple isolated networks within the home or a more integrated network
where the connectivity selection needs to be dynamic.

Current practice is typically of the former kind, but the latter is
expected to become more commonplace.
</t> 

<t>
In the general homenet architecture, multihomed hosts should be 
multi-addressed with a global IPv6 address from the global prefix delegated
from each ISP they communicate with or through. 
When such multi-addressing is in use, hosts need some way to pick source
and destination address pairs for connections.
A host may choose a source address to use by various methods, most
commonly <xref target="RFC6724"/>.  Applications may
of course do different things, and this should not be precluded. 
</t>

<t>
For the single CE Router Network Model C illustrated above, multihoming may 
be offered by source-based routing at the CE router. With multiple exit routers, 
as in CE Router Network Model B, the complexity rises.
Given a packet with a source address on the home network, the
packet must be routed to the proper egress to avoid ingress
filtering as described in BCP 38 if exiting through the wrong ISP.  It is highly desirable 
that the packet is routed in the most efficient manner to the correct exit,
though as a minimum requirement the packet should not be dropped.  
</t>

<t>
The homenet architecture should support both the above models, i.e., one or
more CE routers. However,
the general multihoming problem is broad, and solutions suggested to
date within the IETF have
included complex architectures for monitoring connectivity,
traffic engineering, identifier-locator separation, connection survivability
across multihoming events, and so on.  It is thus important that
the homenet architecture should as far as possible
minimise the complexity of any multihoming support.
</t>

<t>
An example of such a 'simpler' approach has been documented 
in <xref target="RFC7157"></xref>.
Alternatively, a flooding/routing protocol could potentially be
used to pass information through the homenet, such that internal
routers and ultimately end hosts could learn per-prefix configuration
information, allowing better address selection decisions to be made.
However, this would imply router and, most likely, host changes.
Another avenue is to introduce support throughout the homenet for 
routing that is based on the source as well as the destination 
address of each packet.
While greatly improving the 'intelligence' of
routing decisions within the homenet, such an approach would require 
relatively significant router changes but avoid host changes.
</t>

<t>
As explained previously, while NPTv6 has been proposed for providing
multihoming support in networks, its use is not recommended in the homenet
architecture.
</t>

<t>It should be noted that some multihoming scenarios may see one
upstream being a "walled garden" and thus only appropriate for 
connectivity to the services of that provider; an example may be
a VPN service that only routes back to the enterprise business
network of a user in the homenet.
As per Section 4.2.1 of <xref target="RFC3002"></xref>, we do not
specifically target walled-garden multihoming as a goal
of this document.
</t>

<t>
The homenet architecture should also not preclude use of host or
application-oriented tools, e.g., Shim6 <xref target="RFC5533"/>,
Multipath TCP (MPTCP) <xref target="RFC6824"/>, or
<xref target="RFC6555">Happy Eyeballs</xref>. In general, any incremental
improvements obtained by host changes should give benefit for the
hosts introducing them but should not be required.
</t>

</section>

<section title="Mobility Support">

<t>
Devices may be mobile within the homenet. While resident on the same
subnet, their address will remain persistent, but should devices move to
a different (wireless) subnet, they will acquire a new address in that
subnet. It is desirable that the homenet supports internal device
mobility.  To do so, the homenet may either extend the reach of
specific wireless subnets to enable wireless roaming across the 
home (availability of a specific subnet across the home) or support
mobility protocols to facilitate such roaming where multiple
subnets are used.
</t>

</section>


</section>


<section title="A Self-Organising Network">

<t>
The home network infrastructure
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.
At the same time, it should be possible for advanced users to
manually adjust (override) the current configuration. </t>
<t>
While a goal of the homenet architecture is for the network to be as 
self-organising as possible, there may be instances where some manual
configuration is required, e.g., the entry of a cryptographic key to 
apply wireless
security or to configure a shared routing secret. The latter may be
relevant when considering how to bootstrap a routing configuration.
It is highly desirable that the number of such configurations is minimised.
</t>

<section anchor="neighbours" title="Differentiating Neighbouring Homenets">
<t>
It is important that self-configuration with 'unintended' devices
be avoided. 
There should be a way for a user to administratively assert in a simple
way whether or not a device belongs to a given homenet. The goal is to allow 
the establishment of borders, particularly between two adjacent homenets,
and to avoid unauthorised devices from participating in 
the homenet. Such an authorisation capability may need to operate through
multiple hops in the homenet. 
</t>
<t>
The homenet should thus support a way for a homenet owner to 
claim ownership of their devices in a reasonably secure way. This could be 
achieved by a pairing mechanism by, for example, pressing buttons 
simultaneously on an authenticated and a new homenet device or by an 
enrollment process as part of an autonomic networking environment.
</t>
<t>
While there may be scenarios where one homenet may wish to intentionally
gain access through another, e.g., to share external connectivity costs,
such scenarios are not discussed in this document.
</t>
</section>

<section title="Largest Practical Subnets">
<t>
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.  More recently,
some vendors have
started to introduce 'home' and 'guest' functions, which in IPv6
would be implemented as two subnets.
</t>
<t> 
Future home networks are highly likely to have one or more internal
routers and thus need multiple subnets for 
the reasons described earlier.  As part
of the self-organisation of the network, the homenet should subdivide
itself into the largest practical subnets that can be constructed within
the constraints of link-layer mechanisms, bridging, physical
connectivity, and policy, and where applicable, performance or other
criteria. In such subdivisions, the logical topology may not necessarily 
match the physical
topology. This text does not, however, make recommendations on how such
subdivision should occur. It is expected that subsequent documents will
address this problem.
</t>
<t>
While it may be desirable to maximise the chance of link-local
protocols operating across a homenet by maximising the size of a subnet,
multi-subnet home networks are inevitable, so their support must be 
included. 
</t>

</section>

<section title="Handling Varying Link Technologies">

<t>
Homenets tend to grow organically over many years, and a homenet
will typically be built over link-layer technologies from different
generations.  Current homenets typically use links ranging from
1 Mbit/s up to 1 Gbit/s -- a throughput discrepancy of three orders of
magnitude.  We expect this discrepancy to widen further as both
high-speed and low-power technologies are deployed. 
</t>

<t>
Homenet protocols should be designed to deal well with interconnecting 
links of very different throughputs.  In particular, flows local to a 
link should 
not be flooded throughout the homenet, even when sent over multicast, 
and, whenever possible, the homenet protocols should be able to choose the 
faster links and avoid the slower ones.
</t>

<t>
Links (particularly wireless links) may also have limited numbers of 
transmit opportunities (txops), and there is a clear trend driven by 
both power and downward compatibility constraints toward aggregation of 
packets into these limited txops while increasing throughput.
Transmit opportunities may be a system's scarcest resource and, therefore, 
also strongly limit actual throughput available.
</t>

</section>

<section title="Homenet Realms and Borders">

<t>
The homenet will need to be aware of the extent of its own 'site',
which will, for example, define the borders for ULA and site 
scope multicast traffic and may require specific security policies to 
be applied.
The homenet will have one or more such borders with external 
connectivity providers.
</t>
<t> 
A homenet will most likely also have internal borders between internal 
realms, e.g., a guest realm or a corporate network extension realm. It 
is desirable that appropriate borders can be configured to
determine, for example, the scope of where network prefixes, routing 
information, network traffic, service discovery, and naming may be shared. 
The default mode internally should be to share everything.
</t>
<t>
It is expected that a realm would span at least an entire subnet, and thus
the borders lie at routers that receive delegated prefixes within the 
homenet.  It is also desirable, for a richer security model, that hosts
are able to 
make communication decisions based on available realm and associated 
prefix information in the same way that routers at realm borders can.
</t>
<t>
A simple homenet model may just consider three types of realms and
the borders between them, namely the internal homenet, the ISP, and a 
guest network. In this case, the borders will include the border from the
homenet to the ISP, the border from the guest network to the ISP, and
the border from the homenet to the guest network.

  Regardless, it should be possible
for additional types of realms and borders to be defined, e.g., for some 
specific LLN-based network, such as Smart Grid, and for these to be detected 
automatically and for an appropriate default policy to be applied 
as to what type of traffic/data can flow across such borders.
</t>
<t>
It is desirable to classify the external border of the home network as a 
unique logical interface separating the home network from a 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 makes it possible to describe edge operations and interface 
requirements across multiple functional areas including security, routing,
service discovery, and router discovery.  
</t>
<t>
It should be possible for the homenet user to override any automatically
determined borders and the default policies applied between them, the
exception being that it may not be possible to override policies defined by
the ISP at the external border.
</t>

</section>

<section title="Configuration Information from the ISP">

<t>
In certain cases, it may be useful for the homenet to get certain configuration
information from its ISP. For example, the homenet DHCP server may request and 
forward some options that it gets from its upstream DHCP server, though the
specifics of the options may vary across deployments. There is potential
complexity here, of course, should the homenet be multihomed.
</t>

</section>

</section>

<section title="Homenet Addressing">

<t>
The IPv6 addressing scheme used within a homenet must conform to
the IPv6 addressing architecture <xref target="RFC4291"/>. In this
section, we discuss how the homenet needs to adapt to the prefixes made 
available to it by its upstream ISP, such that internal subnets, hosts, 
and devices can obtain and configure the necessary addressing information 
to operate.
</t>

<section title="Use of ISP-Delegated IPv6 Prefixes">
<t>
Discussion of IPv6 prefix allocation policies is included in
<xref target="RFC6177"></xref>.  In practice, 
a homenet may receive an arbitrary length IPv6 prefix from
its provider, e.g., /60, /56, or /48. The offered prefix may be stable
or change from time to time; it is generally expected that ISPs will
offer relatively stable prefixes to their residential customers.
Regardless, the home network needs to be
adaptable as far as possible to ISP prefix allocation policies and
assume nothing about the stability of the
prefix received from an ISP or the length of the prefix that may be
offered.

</t>
<t>
However, if, for example, only a /64 is offered by the ISP, the homenet may 
be severely constrained or even unable to function.  BCP 157 <xref target="RFC6177"/> 
states the following:
<list>
<t>A key principle for address management is that 
end sites always be able to obtain a reasonable amount of address 
space for their actual and planned usage, and over time ranges 
specified in years rather than just months.  In practice, 
that means at least one /64, and in most cases significantly more.  
One particular situation that must be avoided is having an end site feel
compelled to use IPv6-to-IPv6 Network Address Translation or other
burdensome address conservation techniques because it could not
get sufficient address space.
</t></list></t>
<t>
This architecture document assumes that the guidance in the quoted text is being followed by ISPs.
</t>
<t>
There are many problems that would arise from a homenet not being
offered a sufficient prefix size for its needs.  
Rather than attempt to contrive a method for a homenet to operate in
a constrained manner when faced with insufficient prefixes, such as 
the use of subnet prefixes longer than /64 (which would break stateless
address autoconfiguration <xref target="RFC4862"></xref>), the use of
NPTv6, or falling back to bridging across potentially very different
media, it is recommended that the receiving router instead enters an
error state and issues appropriate warnings. Some consideration may need
to be given to how such a warning or error state should best be presented
to a typical home user.
</t>
<t>
Thus, a homenet CE router should request, for example, via DHCP Prefix Delegation
(DHCP PD) <xref target="RFC3633"></xref>, that 
it would like a /48 prefix from its ISP, i.e., it asks the ISP for the 
maximum size prefix it might expect to be offered, even if in practice 
it may only be offered a /56 or /60.  For a typical IPv6
homenet, it is not recommended that an ISP offers less than a /60 prefix,
and it is highly preferable that the ISP offers 
at least a /56.  It is expected that the
allocated prefix to the homenet from any single ISP is a contiguous,
aggregated one. While it may be possible for a homenet CE router to issue
multiple prefix requests to attempt to obtain multiple delegations, 
such behaviour is out of scope of this document.
</t>
<t>
The norm for residential customers of large ISPs may 
be similar to their single IPv4 address provision; by default it is likely
to remain persistent for some time, but changes in the ISP's own
provisioning systems may lead to the customer's IP (and in the IPv6 case
their prefix pool) changing. It is not expected that ISPs will generally
support Provider Independent (PI) addressing for residential homenets.
</t>
<t>
When an ISP does need to restructure, and in doing so renumber its customer 
homenets, 'flash' renumbering is likely to be imposed.  This implies a need 
for the homenet to be able to handle a sudden renumbering event that, unlike 
the process described in <xref target="RFC4192"></xref>, would be a 'flag day'
event, which means that a graceful renumbering process moving through a 
state with two active prefixes in use would not be possible. 
While renumbering can be viewed as
an extended version of an initial numbering process, the difference 
between flash renumbering and an initial 'cold start' is the need to 
provide service continuity.  
</t>
<t>
There may be cases where local law means some ISPs are required to change
IPv6 prefixes (current IPv4 addresses) for privacy reasons for their 
customers. In such cases, it may be possible to avoid an instant 'flash'
renumbering and plan a non-flag day renumbering as per RFC 4192.
Similarly, if an ISP has a planned renumbering process, it may be able to
adjust lease timers, etc., appropriately.
</t>
<t>
The customer may of course also choose to move
to a new ISP and thus begin using a new prefix. In such cases, the
customer should expect a discontinuity, and not only may the
prefix change, but potentially also the prefix length if the new ISP 
offers a different default size prefix.  The homenet may also be forced
to renumber itself if significant internal 'replumbing' is undertaken
by the user. Regardless, it's desirable that 
homenet protocols support rapid renumbering and that operational processes 
don't add unnecessary complexity for the renumbering process.  
Further, the introduction of any new homenet protocols should not make 
any form of renumbering any more complex than it already is.
</t>
<t>
Finally, the internal operation of the home network should also not depend 
on the availability of the ISP network at any given time, other than,
of course, for connectivity to services or systems off the home network. 
This reinforces the use of ULAs for stable internal communication and the 
need for a naming and service discovery mechanism that can operate 
independently within the homenet.
</t>
</section>

<section anchor="stableinternal" title="Stable Internal IP Addresses">
<t>
The network should by default attempt to 
provide IP-layer connectivity between all internal parts of
the homenet as well as to and from the external Internet, subject
to the filtering policies or other policy constraints 
discussed later in the security section.
</t>
<t>
ULAs should be used within the scope of a homenet to support stable 
routing and connectivity between subnets and hosts regardless of whether
a globally unique ISP-provided prefix is available.  In the case of a 
prolonged external connectivity outage, ULAs allow internal operations
across routed subnets to continue. ULA addresses also 
allow constrained devices to create permanent relationships between 
IPv6 addresses, e.g., from a wall controller to a lamp, where
symbolic host names would require additional non-volatile memory, and
updating global prefixes in sleeping devices might also be problematic.
</t>
<t>
As discussed previously, it would be expected that ULAs would normally
be used alongside one or more global prefixes in a homenet, such that 
hosts become multi-addressed with both globally unique and ULA prefixes.
ULAs should be used for all devices, not just those intended to only have 
internal connectivity. 
Default address selection would then enable ULAs to be preferred for internal
communications between devices that are using ULA prefixes 
generated within the same homenet.
</t>
<t>
In cases where ULA prefixes are in use within a homenet but there is
no external IPv6 connectivity (and thus no GUAs in use), recommendations
ULA-5, L-3, and L-4 in RFC 7084 should be followed to ensure correct operation,
in particular where the homenet may be dual stack with IPv4 external
connectivity. The use of the Route Information Option described in
<xref target="RFC4191"/> provides a mechanism to advertise such more-specific
ULA routes.
</t>
<t>
The use of ULAs should be restricted to the homenet scope through filtering 
at the border(s) of the homenet, as mandated by RFC 7084 requirement S-2.
</t>
<t>
Note that in some cases, it is possible that multiple /48 ULA prefixes may
be in use within the same homenet, e.g., when the network is being deployed,
perhaps also without external connectivity. 
In cases where multiple ULA /48s are in use, hosts need
to know that each /48 is local to the homenet, e.g., by inclusion in their
local address selection policy table.
</t>

</section>

<section title="Internal Prefix Delegation">
<t>
As mentioned above, there are various sources of prefixes.
From the homenet perspective, a single global prefix from each ISP should
be received on the border CE router <xref target="RFC3633"/>. 
Where multiple CE routers exist with multiple ISP prefix pools, it is 
expected that routers within the homenet would assign themselves prefixes 
from each ISP they communicate with/through.
As discussed above, a ULA prefix should be provisioned for stable internal 
communications or for use on constrained/LLN networks.  
</t>

<t>The delegation or availability of a prefix pool to the homenet should
  allow subsequent internal autonomous assignment of prefixes for use
  within the homenet.  Such internal assignment should not assume a
  flat or hierarchical model, nor should it make an assumption about
  whether the assignment of internal prefixes is distributed or
  centralised.  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, and not
  waste prefixes.  Further, duplicate assignment of multiple /64s to
  the same network should be avoided, and the network should behave as
  gracefully as possible in the event of prefix exhaustion (though the
  options in such cases may be limited). 
</t>

<t>
Where the home network has multiple CE routers and these are
  delegated prefix pools from their attached ISPs, the internal prefix
  assignment would be expected to be served by each CE router for each
  prefix associated with it.  Where ULAs are used, it is preferable
  that only one /48 ULA covers the whole homenet, from which /64s can
  be assigned to the subnets.  In cases where two /48 ULAs are
  generated within a homenet, the network should still continue to
  function, meaning that hosts will need to determine that each ULA is
  local to the homenet.</t>

<t>Prefix assignment within the homenet should result in each link being
  assigned a stable prefix that is persistent across reboots, power
  outages, and similar short-term outages.  The availability of
  persistent prefixes should not depend on the router boot order.  The
  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.  However, assigned ULA
  prefixes within the homenet should remain persistent through an ISP-
  driven renumbering event.
</t>
<t>
Provisioning such 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 (though 
ideally the home user should not be involved at all). 
</t>
<t>
This document makes no specific recommendation towards solutions 
but notes that it is very likely that all routing devices 
participating in a homenet must use the same internal prefix delegation 
method. This implies that only one delegation method should be in use.
</t>
</section>

<section title="Coordination of Configuration Information">
<t>
The network elements will need to be integrated in a way that takes
account of the various lifetimes on timers that are used on 
different elements, e.g.,
DHCPv6 PD, router, valid prefix, and preferred prefix timers.
</t>
</section>

<section title="Privacy">
<t>
If ISPs offer relatively stable IPv6 prefixes to customers, the network 
prefix part of addresses associated with the homenet may not change over 
a reasonably long period of time.  
</t>
<t>
The exposure of which traffic is sourced from the same homenet is thus 
similar to IPv4; the single IPv4 global address seen through use of IPv4 
NAT gives the same hint as the global IPv6 prefix seen for IPv6 traffic. 
</t>
<t>
While IPv4 NAT may obfuscate to an external observer which internal devices
traffic is sourced from, IPv6, even with use of privacy addresses
<xref target="RFC4941"></xref>, adds additional exposure of which 
traffic is sourced from the same internal device through use of the same
IPv6 source address for a period of time.
</t>
</section>

</section>

<section title="Routing Functionality">
<t>
Routing functionality is required when there are multiple routers deployed within the internal home network. This functionality could be as simple as the current 'default route is up' model of IPv4 NAT, or more likely, it would involve running an appropriate routing protocol. 
</t>
<t>
A mechanism is required to discover which router(s) in the homenet is providing the CE router function. Borders may include but are not limited to the interface to the upstream ISP, a gateway device to a separate home network such as an LLN network, or a gateway to a guest or private corporate extension network. In some cases, there may be no border present, which may, for example, occur before an upstream connection has been established.
</t>
<t>
The routing environment should be self-configuring, as discussed previously. The homenet self-configuration process and the routing protocol must interact in a predictable manner, especially during startup and reconvergence. The border discovery functionality and other self-configuration functionality may be integrated into the routing protocol itself but may also be imported via a separate discovery mechanism. 
</t>
<t>
It is preferable that configuration information is distributed and 
synchronised within the homenet by a separate configuration protocol.
</t>
<t>
The homenet routing protocol should be based on a previously deployed protocol
that has been shown to be reliable and robust. This does not preclude the
selection of a newer protocol for which a high-quality open source
implementation becomes available. The resulting code must support lightweight
implementations and be suitable for incorporation into consumer devices,
where both fixed and temporary storage and processing power are at a premium. 

</t>
<t>
At most, one unicast and one multicast routing protocol should be in use at a given time in a given homenet. In some simple topologies, no routing protocol may be needed. If more than one routing protocol is supported by routers in a given homenet, then a mechanism is required to ensure that all routers in that homenet use the same protocol. 
</t>
<t>
The homenet architecture is IPv6-only. In practice, dual-stack homenets are still likely for the foreseeable future, as described in <xref target="dual-stack_topologies"/>.  Whilst support for IPv4 and other address families may therefore be beneficial, it is 
not an explicit requirement to carry the routing information in the same routing protocol. 
</t>
<t>
Multiple types of physical interfaces must be accounted for in the homenet routing topology. Technologies such as Ethernet, Wi-Fi, Multimedia over Coax Alliance (MoCA), etc., must be capable of coexisting in the same environment and should be treated as part of any routed deployment. The inclusion of physical-layer characteristics in path computation should be considered for optimising communication in the homenet. </t>

<section title="Unicast Routing within the Homenet">
<t>
The role of the unicast routing protocol is to provide good enough end-to-end connectivity often enough, where good/often enough is defined by user expectations. 
</t>
<t>
Due to the use of a variety of diverse underlying link technologies, path selection in a homenet may benefit from being more refined than minimising hop count. 
It may also be beneficial for traffic to use multiple paths to a given destination within the homenet where available rather than just a single best path.
</t>
<t>
Minimising convergence time should be a goal in any routed environment. It is reasonable to assume that convergence time should not be significantly longer than network outages users are accustomed to should their CE router reboot.
</t>
<t>
The homenet architecture is agnostic as to the choice of underlying routing technology, e.g., link state versus Bellman-Ford.
</t>
<t>
The routing protocol should support the generic use of multiple customer Internet connections and the concurrent use of multiple delegated prefixes. A routing protocol that can make routing decisions based on source and destination addresses is thus highly desirable, to avoid problems with upstream ISP ingress filtering as described in BCP 38. Multihoming support may also include load balancing to multiple providers and failover from a primary to a backup link when available. The protocol should not require upstream ISP connectivity to be established to continue routing within the homenet.
</t>
<t>
The homenet architecture is agnostic on a minimum hop count that has to be supported by the routing protocol. 
The architecture should, however, be scalable to other scenarios where homenet technology may be deployed, which may
include small office and small enterprise sites.  To allow for such cases, it would be desirable that the
architecture is scalable to higher hop counts and to larger numbers of routers than would be typical in a true 
home network. 
</t>

<t>
At the time of writing, link-layer networking technology is poised to become more heterogeneous, as networks 
begin to employ both traditional Ethernet technology and link layers designed for LLNs, such as those used for certain types of sensor devices.
</t>
<t>
Ideally, LLN or other logically separate networks should be able to exchange routes such that IP traffic 
may be forwarded among the networks via gateway routers that interoperate with both the
homenet and any LLNs.  Current home deployments use largely different 
mechanisms in sensor and basic Internet connectivity networks.  IPv6 virtual 
machine (VM) solutions may also add additional routing requirements.  
</t>
<t>
In this homenet architecture, LLNs and other specialised networks are considered stub areas of the homenet 
and are thus not expected to act as a transit for traffic between more traditional media.
</t>
</section>
<section title="Unicast Routing at the Homenet Border">
<t>
The current practice defined in <xref target="RFC7084"/> would suggest
that routing between the homenet CE router and the service provider router
follow the WAN-side requirements model in <xref target="RFC7084"/>,
Section 4 (WAN-side requirements), at least in initial deployments.
However, consideration of whether a routing protocol is used between the
homenet CE router and the service provider router is out of scope of this document.
</t>
</section>
<section title="Multicast Support">
<t>
It is desirable that, subject to the capacities of devices on certain media types, multicast routing is supported across the homenet, including source-specific multicast (SSM)
<xref target="RFC4607"/>.
</t>
<t>
<xref target="RFC4291"/>
requires that any boundary of scope 4 or higher (i.e., admin-local or higher) be administratively configured. Thus, the boundary at the homenet-ISP border must be administratively configured, though that may be triggered by an administrative function such as DHCP PD. Other multicast forwarding policy borders may also exist within the homenet, e.g., to/from a guest subnet, whilst the use of certain link media types may also affect where specific multicast traffic is forwarded or routed.
</t>
<t>
There may be different drivers for multicast to be supported across the
homenet -- for example,
<list style="symbols">
<t>for homenet-wide service discovery, should a multicast
service discovery protocol of scope greater than link-local be defined </t>

<t>for multicast-based streaming or file-sharing applications</t>
</list></t>

<t>Where multicast is
routed across a homenet, an appropriate multicast routing protocol is
required, one that as per the unicast routing protocol should be
self-configuring. As hinted above, it must be possible to scope or filter
multicast traffic to avoid it being flooded to network media where devices
cannot reasonably support it.
</t>
<t>
A homenet may not only use multicast internally, it may also be a consumer or provider of external multicast traffic, where the homenet's ISP supports such multicast operation. This may be valuable, for example, where live video applications are being sourced to/from the homenet.
</t>
<t>
The multicast environment should support the ability for applications to pick a unique multicast group to use.
</t>
</section>
</section>

<section anchor ="security" title="Security">

<t>
The security of an IPv6 homenet is an important consideration.  The most
notable difference to the IPv4 operational model is the removal of NAT,
the introduction of global addressability of devices, and thus a need to
consider whether devices should have global reachability. Regardless,
hosts need to be able to operate securely, end to end where required, 
and also be robust against malicious traffic directed towards them.  
However, there
are other challenges introduced, e.g., default filtering policies at the
borders between various homenet realms.
</t>

<section anchor="addressability" title="Addressability vs. Reachability">
<t>
An IPv6-based home network architecture should embrace the transparent 
end-to-end communications model as described in <xref target="RFC2775"/>. 
Each device should be globally addressable, and those addresses must not 
be altered in transit. 
However, security perimeters can be applied to restrict end-to-end
communications, and thus while a host may be globally addressable,
it may not be globally reachable. 
</t>
<t>
<xref target="RFC4864"></xref> describes a 'Simple Security'
model for IPv6 networks, whereby stateful perimeter filtering
can be applied to control the reachability of devices in a homenet.  
RFC 4864 states in Section 4.2 that "the use of firewalls...is
recommended for those that want boundary
protection in addition to host defences." 
It should be noted that a 'default deny' filtering approach would
effectively replace the need for IPv4 NAT traversal protocols
with a need to 
use a signalling protocol to request a firewall hole be opened, e.g.,
a protocol such as 
<xref target="RFC6887">PCP</xref>. In networks
with multiple CE routers, the signalling would need to handle the cases of 
flows that may use one or more exit routers. CE routers would need to
be able to advertise their existence for such protocols.
</t>
<t>
<xref target="RFC6092"></xref> expands on RFC 4864, giving a more
detailed discussion of IPv6 perimeter security recommendations,
without mandating a 'default deny' approach. Indeed,
RFC 6092 does not enforce a particular mode of operation, 
instead stating that CE routers must provide an easily selected configuration 
option that permits a 'transparent' mode, thus ensuring
a 'default allow' model is available.
</t>
<t>
The topic of whether future home networks as described in this 
document should have a 'default deny' or 'default allow' 
position has been discussed at length in various IETF
meetings without any consensus being 
reached on which approach is more appropriate.
Further, the choice of which default to apply may be situational, 
and thus this text makes no recommendation on the default setting 
beyond what is written on this topic in RFC 6092.
We note in <xref target="partial"/> below that the implicit firewall 
function of an IPv4 NAT is commonplace today, and thus 
future CE routers targeted at home networks should continue to 
support the option of running in 'default deny mode', 
whether or not that is the default setting.
</t>
</section>

<section title="Filtering at Borders">
<t>
It is desirable that there are mechanisms to detect different types of 
borders within the homenet, as discussed previously,
and further mechanisms to then apply different types of filtering
policies at those borders, e.g., whether naming and service discovery
should pass a given border.
Any such policies should be able to be easily applied by typical
home users, e.g., to give a user in a guest network access to
media services in the home or access to a printer.
Simple mechanisms to apply policy changes, or associations between
devices, will be required.
</t>
<t>
There are cases where full internal connectivity may not be desirable, 
e.g., in
certain utility networking scenarios, or where filtering is required
for policy reasons against a guest network subnet(s). As a result,
some scenarios/models may involve running an isolated subnet(s)
with their own CE routers. In such cases, connectivity would only be expected
within each isolated network (though traffic may potentially
pass between them via external providers).
</t>
<t>
LLNs provide another example of where there may be secure perimeters 
inside the homenet. Constrained LLN nodes may implement 
network key security but may depend on access policies enforced by 
the LLN border router.
</t>
<t>Considerations for differentiating neighbouring homenets are
discussed in <xref target="neighbours"/>.
</t>
</section>

<section anchor="partial" title="Partial Effectiveness of NAT and Firewalls">
<t>
Security by way of obscurity (address translation) or through
firewalls (filtering) is at best only partially effective.  The very poor
security track record of home computers, home networking, and business
PC computers and networking is testimony to this.  A security 
compromise behind the firewall of any device exposes all others,
making an entire network that relies on obscurity or a firewall as
vulnerable as the most insecure device on the private side of the
network.
</t>
<t>
However, given current evidence of home network products with very poor 
default device security, putting a firewall in place does provide some 
level of protection.  
The use of firewalls today, whether a good practice or not, is 
common practice, and the capability to afford protection via 
a 'default deny' setting, even if marginally effective,
should not be lost.  Thus,
while it is highly desirable that all hosts in a homenet be adequately 
protected by built-in security functions,  it should also be assumed 
that all CE routers will continue to support appropriate perimeter defence 
functions, as per <xref target="RFC7084"></xref>.
</t>
</section>

<section title="Exfiltration Concerns">
<t>
As homenets become more complex, with more devices, and with service
discovery potentially enabled across the whole home, there are potential
concerns over the leakage of information should devices use discovery
protocols to gather information and report it to equipment vendors or
application service providers.
</t>
<t>
While it is not clear how such exfiltration could be easily avoided,
the threat should be recognised, be it from a new piece of hardware
or some 'app' installed on a personal device.
</t>
</section>

<section title="Device Capabilities">
<t>
In terms of the devices, homenet hosts should implement their own
security policies in accordance to their computing capabilities.
They should have the means to request transparent communications
that can be initiated to them through security filters in the
homenet, for either all ports or specific services.

Users should have simple methods to associate devices to services that
they wish to operate transparently through (CE router) borders.
</t>
</section>

<section title="ULAs as a Hint of Connection Origin">
<t>
As noted in <xref target="security"/>, if appropriate filtering is in 
place on the CE router(s), as mandated by requirement S-2 in RFC 7084, a 
ULA source address may be taken as an indication of locally sourced traffic.
This indication could then be used with security settings to designate
between which nodes a particular application is allowed to communicate,
provided ULA address space is filtered appropriately at the boundary of
the realm.
</t>
</section>


</section>


<section anchor="naming-sd" title="Naming and Service Discovery">

<t>
The homenet requires devices to be able to determine and use unique names
by which they can be accessed on the network and that are not used
by other devices on the network. Users and devices will need
to be able to discover devices and services available on the network,
e.g., media servers, printers, displays, or specific home automation devices.
Thus, naming and service discovery must be supported in the homenet, and
given the nature of typical home network users,
the service(s) providing this function must as far as possible
support unmanaged operation.
</t>
<t>
The naming system will be required to work internally or externally,
whether the user is within or outside of the homenet, i.e., the user should
be able to refer to devices by name, and potentially connect to them,
wherever they may be.
The most natural way to think about such naming and service discovery 
is to enable it to work across the entire homenet 
residence (site), disregarding technical borders such as subnets 
but respecting policy borders such as those between guest and other 
internal network realms.  Remote access may be desired by the homenet
residents while travelling but also potentially by manufacturers or 
other 'benevolent' third parties.
</t>

<section title="Discovering Services">

<t>
Users will typically perform service discovery through graphical user
interfaces (GUIs)
that allow them to browse services on their network in an appropriate and 
intuitive way. Devices may also need to discover other devices, without
any user intervention or choice. Either way, such interfaces
are beyond the scope of this document, but the interface should have an
appropriate application programming interface (API) for the discovery 
to be performed.
</t>
<t>
Such interfaces may also typically hide the local domain name element 
from users, especially where only one name space is available.
However, as we discuss below, in some cases the ability to discover 
available domains may be useful.
</t>
<t>
We note that current zero-configuration service discovery protocols
are generally aimed at single subnets.  There is thus a choice to make
for multi-subnet homenets as to whether such protocols should be proxied or
extended to operate across a whole homenet.  In this context, that may mean 
bridging a link-local method, taking care to avoid packets entering
looping paths, or extending 
the scope of multicast traffic used for the purpose.  It may mean that
some proxy or hybrid service is utilised, perhaps co-resident on the CE router.
Or, it may be that a new approach is preferable, e.g., flooding information
around the homenet as attributes within the routing protocol (which
could allow per-prefix configuration).  However, we should
prefer approaches that are backward compatible and allow current
implementations to continue to be used.  Note that 
this document does not mandate
a particular solution; rather, it expresses the principles that should be
used for a homenet naming and service discovery environment.
</t>
<t>
One of the primary challenges facing service discovery today is lack 
of interoperability due to the ever increasing number of service 
discovery protocols available. While it is conceivable for consumer 
devices to support multiple discovery protocols, this is clearly not the
most efficient use of network and computational resources. One goal of the 
homenet architecture should be a path to service discovery protocol 
interoperability through either a standards-based translation scheme,
hooks into current protocols to allow some form of communication among 
discovery protocols, extensions to support a central service repository
in the homenet, or simply convergence towards a unified protocol suite.
</t>

</section>

<section title="Assigning Names to Devices">

<t>
Given the large number of devices that may be networked in the future,
devices should have a means to generate their own unique names within
a homenet and to detect clashes should they arise, e.g., where a second 
device of the same type/vendor as an existing device with 
the same default name is deployed or where a new subnet is added to
the homenet that already has a device of the same name.
It is expected that a device should have a fixed name while within the
scope of the homenet.
</t>
<t>
Users will also want simple ways to (re)name devices, again most likely
through an appropriate and intuitive interface that is beyond the scope
of this document. Note that the name a user assigns to a device may be a
label that is stored on the device as an attribute of the device, and
it may be distinct from the name used in a name service, e.g., 'Study Laser
Printer' as opposed to printer2.&lt;somedomain&gt;.
</t>

</section>


<section title="The Homenet Name Service">

<t>
The homenet name service should support both lookups and discovery.
A lookup would operate via a direct query to a known service, while
discovery may use multicast messages or a service where applications 
register in order to be found.
</t>
<t>
It is highly desirable that the homenet name service must at the very 
least coexist with the Internet name service. There should also be
a bias towards proven, existing solutions. The strong implication is
thus that the homenet service is DNS based, or DNS compatible.
There are naming protocols that are designed to be configured and
operate Internet-wide, like unicast-based DNS, but also protocols
that are designed for zero-configuration local environments, like 
Multicast DNS (mDNS) <xref target="RFC6762"></xref>.
</t>
<t>
When DNS is used as the homenet name service, it typically includes 
both a resolving service and an authoritative service. The authoritative 
service hosts the homenet-related zone.
One approach when provisioning such a name service, which is designed to 
facilitate name resolution from the global Internet,
is to run an authoritative name service on the CE router and
a secondary authoritative name service provided by the ISP or perhaps an
external third party. 
</t>
<t>
Where zero-configuration name services are used, it is desirable that these
can also coexist with the Internet name service. In particular, 
where the homenet is using a global name space, it is desirable that  
devices have the ability, where desired, to add entries to that name space.  
There should also be a mechanism for such entries to be
removed or expired from the global name space.
</t>
<t>
To protect against attacks such as cache poisoning, where an attacker
is able to insert a bogus DNS entry in the local cache, it is desirable
to support appropriate name service security methods, including DNS
Security Extensions (DNSSEC) <xref target="RFC4033"></xref>, on both
the authoritative server and the resolver sides. Where DNS is used,
the homenet router or naming service must not prevent DNSSEC from
operating.
</t>
<t>
While this document does not specify hardware requirements, it is worth
noting briefly here that, e.g., in support of DNSSEC, appropriate 
homenet devices should have good random number generation capability, 
and future homenet specifications should indicate where high-quality 
random number generators, i.e., with decent entropy, are needed.
</t>
<t>
Finally, the impact of a change in the CE router must be considered. It 
would be desirable
to retain any relevant state (configuration) that was held in the old CE router.
This might imply that state information should be distributed in the 
homenet, to be recoverable by/to the new CE router, or to the homenet's ISP
or a third-party externally provided service by some means. 
</t>


</section>

<section title="Name Spaces">

<t>
If access to homenet devices is required remotely from
anywhere on the Internet, then at least one globally unique name space is 
required, though the use of multiple name spaces should not be precluded.
One approach is that the name space(s) used for the homenet would be served 
authoritatively by the homenet, most likely by a server resident on the CE router.
Such name spaces may be acquired by the user or provided/generated 
by their ISP or an alternative externally provided 
service.  It is likely that
the default case is that a homenet will use a global domain provided by
the ISP, but advanced users wishing to use a name space that is independent
of their provider in the longer term should be able to acquire and use
their own domain name. 
For users wanting to use their own independent domain names, such services
are already available.
</t>
<t>
Devices may also be assigned different names in different name spaces,
e.g., by third parties who may manage systems or devices in the homenet
on behalf of the resident(s).  Remote management of the homenet is out
of scope of this document.
</t>
<t>
If, however, a global name space is not available, the homenet will need to
pick and use a local name space, which would only have meaning within 
the local homenet (i.e., it would not be used for remote access to the 
homenet).  The .local name space currently has a special meaning
for certain existing protocols that have link-local scope and is 
thus not appropriate for multi-subnet home networks. A different
name space is thus required for the homenet.
</t>
<t>
One approach for picking a local name space is to use an Ambiguous Local
Qualified Domain Name (ALQDN) space, such as .sitelocal (or an appropriate
name reserved for the purpose). While this is a simple
approach, there is the potential in principle for devices that are 
bookmarked somehow by name by an application in one homenet to be confused 
with a device with the same name in another homenet.  In practice, however, the
underlying service discovery protocols should be capable of handling
moving to a network where a new device is using the same name as a device
used previously in another homenet.
</t>
<t>
An alternative approach for a local name space would be to use a Unique
Locally Qualified Domain Name (ULQDN) space 
such as .&lt;UniqueString&gt;.sitelocal. The &lt;UniqueString&gt; 
could be generated in a variety of ways, one potentially 
being based on the local /48 ULA prefix being used
across the homenet. Such a &lt;UniqueString&gt; should survive a cold
restart, i.e., be consistent after a network power-down, or
if a value is not set on startup, the CE router or device 
running the name service should generate a default value.
It would be desirable for the homenet user to be able to override
the &lt;UniqueString&gt; with a value of their choice, but that would 
increase the likelihood of a name conflict. Any generated
 &lt;UniqueString&gt; should not be predictable; thus, adding a salt/hash
function would be desirable.
</t>
<t>
In the (likely) event that the homenet is accessible from outside the 
homenet (using the global name space), it is vital that the homenet name
space follow the rules and conventions of the global name space.
In this mode of operation, names in the homenet (including those
automatically generated by devices) must be usable as labels in
the global name space.  <xref target="RFC5890"></xref> describes 
considerations for Internationalizing Domain Names in Applications (IDNA).
</t>
<t>
Also, with the introduction of new 'dotless' top-level domains, there 
is also potential for ambiguity between, for example, a local host called 
'computer' and (if it is registered) a .computer Generic Top Level Domain (gTLD). Thus, qualified
names should always be used, whether these are exposed to the user or not.
The IAB has issued a statement that explains why dotless domains should 
be considered harmful <xref target="IABdotless"></xref>.
</t>
<t>
There may be use cases where different name spaces may be desired for
either different realms in the homenet or segmentation of a single name space
within the homenet. 
Thus, hierarchical name space management is likely to be required.
There should also be nothing to prevent an individual device(s) from being 
independently registered in external name spaces.
</t>
<t>
It may be the case that if there are two or more CE routers serving the home
network, if each has a name space delegated from a different ISP, there
is the potential for devices in the home to have multiple fully qualified
names under multiple domains.
</t>
<t>
Where a user is in a remote network wishing to access devices
in their home network, there may be a requirement to consider the
domain search order presented where multiple associated name spaces exist.
This also implies that a domain discovery function is desirable.
</t>
<t>
It may be the case that not all devices in the homenet are made available 
by name via an Internet name space, and that a 'split view' (as 
described in <xref target="RFC6950"></xref>, Section 4) is preferred 
for certain devices, whereby devices inside the homenet see different 
DNS responses to those outside.
</t>
<t>
Finally, this document makes no assumption about the presence or omission 
of a reverse lookup service. There is an argument that it may be useful
for presenting logging information to users with meaningful device names
rather than literal addresses. There are also some services, most notably
email mail exchangers, where some operators have chosen to require a 
valid reverse lookup before accepting connections.
</t>

</section>


<section title="Independent Operation">

<t>
Name resolution and service discovery for reachable devices must 
continue to function if the local network is disconnected from 
the global Internet,
e.g., a local media server should still be available even if
the Internet link is down for an extended period.  
This implies that the local network should also be able to perform
a complete restart in the absence of external connectivity
and have local naming and service discovery operate correctly.
</t>
<t>
As described above, the approach of a local authoritative name service
with a cache would allow local operation for sustained ISP outages.
</t>
<t>
Having an independent local trust anchor is desirable, to support
secure exchanges should external connectivity be unavailable.
</t>
<t>
A change in ISP should not affect local naming and service 
discovery. However, if the homenet uses a global name space provided by 
the ISP, then this will obviously have an impact if the user changes
their network provider.
</t>

</section>

<section title="Considerations for LLNs">

<t>
In some parts of the homenet, in particular LLNs or any devices where
battery power is used, devices may be sleeping,
in which case a proxy for such nodes may be required that could
respond (for example)
to multicast service discovery requests. Those same devices or parts
of the network may have less capacity for multicast traffic that
may be flooded from other parts of the network.
In general, message utilisation should be efficient considering 
the network technologies and constrained devices that
the service may need to operate over.
</t>

<t>
There are efforts underway to determine naming and discovery
solutions for use by the Constrained Application Protocol (CoAP) 
<xref target="RFC7252"/> in
LLN networks. These are outside the scope of this document.
</t>

</section>

<section title="DNS Resolver Discovery">

<t>
Automatic discovery of a name service to allow client devices in the
homenet to resolve external domains on the Internet is required,
and such discovery must support clients that may be a
number of router hops away from the name service.  Similarly, it
may be desirable to convey any DNS domain search list that may
be in effect for the homenet.
</t>

</section>

<section title="Devices Roaming to/from the Homenet">

<t>
It is likely that some devices that have 
registered names within the 
homenet Internet name space and that are mobile will attach to the Internet 
at other locations and acquire an IP address at those locations.  Devices 
may move between different homenets. In
such cases, it is desirable that devices may be accessed by the same
name as is used in their home network. 
</t>
<t>
Solutions to this problem are not discussed in this document. They 
may include the use of Mobile IPv6 or Dynamic DNS -- either of which would
put additional requirements on the homenet -- or establishment of a
(VPN) tunnel to a server in the home network.
</t>

</section>

</section>

<section title="Other Considerations">

<t>
This section discusses two other considerations for home networking that
the architecture should not preclude but that this text is neutral towards.
</t>

<section title="Quality of Service">

<t>
Support for Quality of Service (QoS)
in a multi-service homenet may be a requirement,
e.g., for a critical system (perhaps health care related) or for
differentiation between different types of traffic (file sharing,
cloud storage, live streaming, Voice over IP (VoIP), etc).  Different link media types
may have different such 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 may generally be sufficient, though at present there 
is little experience of QoS
deployment in home networks. It is likely
that QoS, or traffic prioritisation, methods will be required at the
CE router and potentially around boundaries between different link media types
(where, for example, some traffic may simply not be appropriate for
some media and need to be dropped to avoid overloading the constrained
media).
</t>
<t>
There may also be complementary mechanisms that could be beneficial 
to application performance and behaviour in
the homenet domain, such as ensuring proper buffering algorithms are
used as described in <xref target="Gettys11"/>.
</t>
</section>

<section title="Operations and Management">
<t>
In this section, we briefly review some initial considerations for
operations and management in the type of homenet described in
this document. It is expected that a separate document will
define an appropriate operations and management framework
for such homenets.
</t>
<t>
As described in this document, the homenet should have the general 
goal of being self-organising and self-configuring from the network-layer
perspective, e.g., prefixes should be able to be assigned to 
router interfaces. Further, applications running on devices should
be able to use zero-configuration service discovery protocols to
discover services of interest to the home user. In contrast, a home user 
would not be expected, for example, to have to assign prefixes to links
or manage
the DNS entries for the home network. Such expert operation
should not be precluded, but it is not the norm.
</t>
<t>
The user may still be required to, or wish to, perform some
configuration of the network and the devices on it. Examples might
include entering a security key to enable access to their wireless
network or choosing to give a 'friendly name' to a device presented
to them through service discovery. Configuration of link- and
application-layer services is out of scope of this architectural
principles document but is likely to be required in an operational homenet.

</t>
<t>
While not being expected to actively configure the networking elements
of their homenet, users may be interested in being able to view the 
status of their networks and the devices connected to it, in which case 
appropriate network monitoring protocols will be required to allow
them to view their network, and its status, e.g., via a web interface
or equivalent. While the user may not understand how the network
operates, it is reasonable to assume they are interested in understanding
what faults or problems may exist on it. Such monitoring
may extend to other devices on the network, e.g., storage devices or
web cameras, but such devices are beyond the scope of this document.
</t>
<t>
It may also be the case that an ISP, or a third party, might wish to
offer a remote management service for the homenet on behalf of the user, or
to be able to assist the user in the event of some problem they are
experiencing, in which case appropriate management and monitoring 
protocols would be required.  
</t>
<t>
Specifying the required protocols to facilitate homenet management and
monitoring 
is out of scope of this document.  As stated above, it is expected that 
a separate document will be produced to describe the operations and 
management framework for the types of home networks presented in 
this document.
</t>
<t>
As a final point, we note that it is desirable that all network 
management and monitoring functions should be available 
over IPv6 transport, even where the homenet is dual stack.
</t>

</section>


</section>

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

<t>This architecture text encourages reuse of existing protocols.
Thus, the necessary mechanisms are largely already part of the IPv6
protocol set and common implementations, though there are some
exceptions. 
</t>
<t>
For automatic routing, it is expected that solutions can be found based
on existing protocols. Some relatively smaller 
updates are likely to be required, e.g.,
a new mechanism may be needed in order to turn a selected protocol on by 
default, or a mechanism may be required to automatically assign prefixes
to links within the homenet.
</t>
<t>
Some functionality, if required by the architecture, may need more significant
changes or require development of new protocols, e.g., support for 
multihoming with multiple exit routers would likely 
require extensions to support
source and destination address-based routing within the homenet.
</t>
<t>
Some protocol changes are, however, required in the architecture, e.g.,
for name resolution and service discovery, extensions to existing 
zero-configuration link-local name resolution protocols are needed to
enable them to work across subnets, within the scope of the home network
site.</t>

<t>
Some of the hardest problems in developing solutions for home networking
IPv6 architectures include discovering the right borders where the
'home' domain ends and the service provider domain begins, deciding
whether some of the 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>

<section title="Conclusions">

<t>
This text defines principles and requirements for a homenet architecture.
The principles and requirements documented here should be observed by
any future texts describing homenet protocols for routing, prefix
management, security, naming, or service discovery.
</t>
</section>

<section title="Security Considerations">

<t>Security considerations for the homenet architecture are
discussed in <xref target="security"/> above.</t>

</section>


</middle>

<back>

<references title="Normative References">

<reference anchor='RFC2460' target='http://www.rfc-editor.org/info/rfc2460'>
<front>
<title abbrev='IPv6 Specification'>Internet Protocol, Version 6 (IPv6) Specification</title>
<author initials='S.E.' surname='Deering' fullname='Stephen E. Deering'>
<organization>Cisco Systems, Inc.</organization>
</author>
<author initials='R.M.' surname='Hinden' fullname='Robert M. Hinden'>
<organization>Nokia</organization>
</author>
<date year='1998' month='December' />
<area>Internet</area>
<keyword>internet protocol version 6</keyword>
<keyword>IPv6</keyword>
</front>
<seriesInfo name='RFC' value='2460' />
</reference>

<reference anchor='RFC3633' target='http://www.rfc-editor.org/info/rfc3633'>
<front>
<title>IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6</title>
<author initials='O.' surname='Troan' fullname='O. Troan'>
<organization /></author>
<author initials='R.' surname='Droms' fullname='R. Droms'>
<organization /></author>
<date year='2003' month='December' />
</front>
<seriesInfo name='RFC' value='3633' />
<format type='TXT' octets='45308'  />
</reference>

<reference anchor='RFC4193' target='http://www.rfc-editor.org/info/rfc4193'>
<front>
<title>Unique Local IPv6 Unicast Addresses</title>
<author initials='R.' surname='Hinden' fullname='R. Hinden'>
<organization /></author>
<author initials='B.' surname='Haberman' fullname='B. Haberman'>
<organization /></author>
<date year='2005' month='October' />
</front>
<seriesInfo name='RFC' value='4193' />
</reference>

<reference anchor='RFC4291' target='http://www.rfc-editor.org/info/rfc4291'>
<front>
<title>IP Version 6 Addressing Architecture</title>
<author initials='R.' surname='Hinden' fullname='R. Hinden'>
<organization /></author>
<author initials='S.' surname='Deering' fullname='S. Deering'>
<organization /></author>
<date year='2006' month='February' />
</front>
<seriesInfo name='RFC' value='4291' />
</reference>

</references>

<references title="Informative References">

<reference anchor='RFC1918' target='http://www.rfc-editor.org/info/rfc1918'>
<front>
<title>Address Allocation for Private Internets</title>
<author initials='Y.' surname='Rekhter' fullname='Yakov Rekhter'>
<organization>Cisco systems</organization>
</author>
<author initials='R.' surname='Moskowitz' fullname='Robert G. Moskowitz'>
<organization>Chrysler Corporation</organization>
</author>
<author initials='D.' surname='Karrenberg' fullname='Daniel Karrenberg'>
<organization>RIPE Network Coordination Centre</organization>
</author>
<author initials='G.' surname='Groot' fullname='Geert Jan de Groot'>
<organization>RIPE Network Coordination Centre</organization>
</author>
<author initials='E.' surname='Lear' fullname='Eliot Lear'>
<organization>Silicon Graphics, Inc.</organization>
</author>
<date year='1996' month='February' /></front>
<seriesInfo name='BCP' value='5' />
<seriesInfo name='RFC' value='1918' />
</reference>

<reference anchor='RFC2475' target='http://www.rfc-editor.org/info/rfc2475'>
<front>
<title abbrev='Architecture for Differentiated Services'>An Architecture for Differentiated Services</title>
<author initials='S.' surname='Blake' fullname='Steven Blake'>
<organization>Torrent Networking Technologies</organization>
</author>
<author initials='D.L.' surname='Black' fullname='David L. Black'>
<organization>EMC Corporation</organization>
</author>
<author initials='M.A.' surname='Carlson' fullname='Mark A. Carlson'>
<organization>Sun Microsystems, Inc.</organization>
</author>
<author initials='E.' surname='Davies' fullname='Elwyn Davies'>
<organization>Nortel UK</organization>
</author>
<author initials='Z.' surname='Wang' fullname='Zheng Wang'>
<organization>Bell Labs Lucent Technologies</organization>
</author>
<author initials='W.' surname='Weiss' fullname='Walter Weiss'>
<organization>Lucent Technologies</organization>
</author>
<date year='1998' month='December' />
<area>Internet</area>
<keyword>type of service</keyword>
</front>
<seriesInfo name='RFC' value='2475' />
</reference>

<reference anchor='RFC2775' target='http://www.rfc-editor.org/info/rfc2775' >
<front>
<title>Internet Transparency</title>
<author initials='B.E.' surname='Carpenter' fullname='Brian E. Carpenter'>
<organization>IBM c/o iCAIR</organization>
</author>
<date year='2000' month='February' />
</front>
<seriesInfo name='RFC' value='2775' />
<format type='TXT' octets='42956' target='http://www.rfc-editor.org/rfc/rfc2775.txt' />
</reference>

<reference anchor='RFC2827' target='http://www.rfc-editor.org/info/rfc2827'>
<front>
<title>Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing</title>
<author initials='P.' surname='Ferguson' fullname='P. Ferguson'>
<organization /></author>
<author initials='D.' surname='Senie' fullname='D. Senie'>
<organization /></author>
<date year='2000' month='May' />
</front>
<seriesInfo name='BCP' value='38' />
<seriesInfo name='RFC' value='2827' />
</reference>

<reference anchor='RFC3002' target='http://www.rfc-editor.org/info/rfc3002'>
<front>
<title>Overview of 2000 IAB Wireless Internetworking Workshop</title>
<author initials='D.' surname='Mitzel' fullname='D. Mitzel'>
<organization /></author>
<date year='2000' month='December' />
</front>
<seriesInfo name='RFC' value='3002' />
</reference>

<reference anchor='RFC3022' target='http://www.rfc-editor.org/info/rfc3022'>
<front>
<title>Traditional IP Network Address Translator (Traditional NAT)</title>
<author initials='P.' surname='Srisuresh' fullname='P. Srisuresh'>
<organization /></author>
<author initials='K.' surname='Egevang' fullname='K. Egevang'>
<organization /></author>
<date year='2001' month='January' />
</front>
<seriesInfo name='RFC' value='3022' />
<format type='TXT' octets='37675' target='http://www.rfc-editor.org/rfc/rfc3022.txt' />
</reference>

<reference anchor='RFC4033' target='http://www.rfc-editor.org/info/rfc4033'>
<front>
<title>DNS Security Introduction and Requirements</title>
<author initials='R.' surname='Arends' fullname='R. Arends'>
<organization /></author>
<author initials='R.' surname='Austein' fullname='R. Austein'>
<organization /></author>
<author initials='M.' surname='Larson' fullname='M. Larson'>
<organization /></author>
<author initials='D.' surname='Massey' fullname='D. Massey'>
<organization /></author>
<author initials='S.' surname='Rose' fullname='S. Rose'>
<organization /></author>
<date year='2005' month='March' />
</front>
<seriesInfo name='RFC' value='4033' />
</reference>

<reference anchor='RFC4191' target='http://www.rfc-editor.org/info/rfc4191'>
<front>
<title>Default Router Preferences and More-Specific Routes</title>
<author initials='R.' surname='Draves' fullname='R. Draves'>
<organization /></author>
<author initials='D.' surname='Thaler' fullname='D. Thaler'>
<organization /></author>
<date year='2005' month='November' />
</front>
<seriesInfo name='RFC' value='4191' />
<format type='TXT' octets='34672' target='http://www.rfc-editor.org/rfc/rfc4191.txt' />
</reference>

<reference anchor='RFC4192' target='http://www.rfc-editor.org/info/rfc4192'>
<front>
<title>Procedures for Renumbering an IPv6 Network without a Flag Day</title>
<author initials='F.' surname='Baker' fullname='F. Baker'>
<organization /></author>
<author initials='E.' surname='Lear' fullname='E. Lear'>
<organization /></author>
<author initials='R.' surname='Droms' fullname='R. Droms'>
<organization /></author>
<date year='2005' month='September' />
</front>
<seriesInfo name='RFC' value='4192' />
</reference>

<reference anchor='RFC4607' target='http://www.rfc-editor.org/info/rfc4607'>
<front>
<title>Source-Specific Multicast for IP</title>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'>
<organization /></author>
<author initials='B.' surname='Cain' fullname='B. Cain'>
<organization /></author>
<date year='2006' month='August' />
</front>
<seriesInfo name='RFC' value='4607' />
</reference>
    
<reference anchor='RFC4862' target='http://www.rfc-editor.org/info/rfc4862'>
<front>
<title>IPv6 Stateless Address Autoconfiguration</title>
<author initials='S.' surname='Thomson' fullname='S. Thomson'>
<organization /></author>
<author initials='T.' surname='Narten' fullname='T. Narten'>
<organization /></author>
<author initials='T.' surname='Jinmei' fullname='T. Jinmei'>
<organization /></author>
<date year='2007' month='September' />
</front>
<seriesInfo name='RFC' value='4862' />
</reference>
     
<reference anchor='RFC4864' target='http://www.rfc-editor.org/info/rfc4864'>
<front>
<title>Local Network Protection for IPv6</title>
<author initials='G.' surname='Van de Velde' fullname='G. Van de Velde'>
<organization /></author>
<author initials='T.' surname='Hain' fullname='T. Hain'>
<organization /></author>
<author initials='R.' surname='Droms' fullname='R. Droms'>
<organization /></author>
<author initials='B.' surname='Carpenter' fullname='B. Carpenter'>
<organization /></author>
<author initials='E.' surname='Klein' fullname='E. Klein'>
<organization /></author>
<date year='2007' month='May' />
</front>
<seriesInfo name='RFC' value='4864' />
</reference>

<reference anchor='RFC4941' target='http://www.rfc-editor.org/info/rfc4941'>
<front>
<title>Privacy Extensions for Stateless Address Autoconfiguration in IPv6</title>
<author initials='T.' surname='Narten' fullname='T. Narten'>
<organization /></author>
<author initials='R.' surname='Draves' fullname='R. Draves'>
<organization /></author>
<author initials='S.' surname='Krishnan' fullname='S. Krishnan'>
<organization /></author>
<date year='2007' month='September' />
</front>
<seriesInfo name='RFC' value='4941' />
</reference>

<reference anchor='RFC5533' target='http://www.rfc-editor.org/info/rfc5533'>
<front>
<title>Shim6: Level 3 Multihoming Shim Protocol for IPv6</title>
<author initials='E.' surname='Nordmark' fullname='E. Nordmark'>
<organization /></author>
<author initials='M.' surname='Bagnulo' fullname='M. Bagnulo'>
<organization /></author>
<date year='2009' month='June' />
</front>
<seriesInfo name='RFC' value='5533' />
</reference>

<reference anchor='RFC5890' target='http://www.rfc-editor.org/info/rfc5890'>
<front>
<title>Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</title>
<author initials='J.' surname='Klensin' fullname='J. Klensin'>
<organization /></author>
<date year='2010' month='August' />
</front>
<seriesInfo name='RFC' value='5890' />
</reference>

<reference anchor='RFC5969' target='http://www.rfc-editor.org/info/rfc5969'>
<front>
<title>IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) -- Protocol Specification</title>
<author initials='W.' surname='Townsley' fullname='W. Townsley'>
<organization /></author>
<author initials='O.' surname='Troan' fullname='O. Troan'>
<organization /></author>
<date year='2010' month='August' />
</front>
<seriesInfo name='RFC' value='5969' />
</reference>
      
<reference anchor='RFC6092' target='http://www.rfc-editor.org/info/rfc6092'>
<front>
<title>Recommended Simple Security Capabilities in Customer Premises Equipment (CPE) for Providing Residential IPv6 Internet Service</title>
<author initials='J.' surname='Woodyatt' fullname='J. Woodyatt'>
<organization /></author>
<date year='2011' month='January' />
</front>
<seriesInfo name='RFC' value='6092' />
</reference>
     
<reference anchor='RFC6144' target='http://www.rfc-editor.org/info/rfc6144'>
<front>
<title>Framework for IPv4/IPv6 Translation</title>
<author initials='F.' surname='Baker' fullname='F. Baker'>
<organization /></author>
<author initials='X.' surname='Li' fullname='X. Li'>
<organization /></author>
<author initials='C.' surname='Bao' fullname='C. Bao'>
<organization /></author>
<author initials='K.' surname='Yin' fullname='K. Yin'>
<organization /></author>
<date year='2011' month='April' />
</front>
<seriesInfo name='RFC' value='6144' />
</reference>
    
<reference anchor='RFC6145' target='http://www.rfc-editor.org/info/rfc6145'>
<front>
<title>IP/ICMP Translation Algorithm</title>
<author initials='X.' surname='Li' fullname='X. Li'>
<organization /></author>
<author initials='C.' surname='Bao' fullname='C. Bao'>
<organization /></author>
<author initials='F.' surname='Baker' fullname='F. Baker'>
<organization /></author>
<date year='2011' month='April' />
</front>
<seriesInfo name='RFC' value='6145' />
</reference>
       
<reference anchor='RFC6177' target='http://www.rfc-editor.org/info/rfc6177'>
<front>
<title>IPv6 Address Assignment to End Sites</title>
<author initials='T.' surname='Narten' fullname='T. Narten'>
<organization /></author>
<author initials='G.' surname='Huston' fullname='G. Huston'>
<organization /></author>
<author initials='L.' surname='Roberts' fullname='L. Roberts'>
<organization /></author>
<date year='2011' month='March' />
</front>
<seriesInfo name='BCP' value='157' />
<seriesInfo name='RFC' value='6177' />
</reference>
      
<reference anchor='RFC6204' target='http://www.rfc-editor.org/info/rfc6204'>
<front>
<title>Basic Requirements for IPv6 Customer Edge Routers</title>
<author initials='H.' surname='Singh' fullname='H. Singh'>
<organization /></author>
<author initials='W.' surname='Beebee' fullname='W. Beebee'>
<organization /></author>
<author initials='C.' surname='Donley' fullname='C. Donley'>
<organization /></author>
<author initials='B.' surname='Stark' fullname='B. Stark'>
<organization /></author>
<author initials='O.' surname='Troan' fullname='O. Troan'>
<organization /></author>
<date year='2011' month='April' />
</front>
<seriesInfo name='RFC' value='6204' />
</reference>
      
<reference anchor='RFC6296' target='http://www.rfc-editor.org/info/rfc6296'>
<front>
<title>IPv6-to-IPv6 Network Prefix Translation</title>
<author initials='M.' surname='Wasserman' fullname='M. Wasserman'>
<organization /></author>
<author initials='F.' surname='Baker' fullname='F. Baker'>
<organization /></author>
<date year='2011' month='June' />
</front>
<seriesInfo name='RFC' value='6296' />
</reference>
      
<reference anchor='RFC6333' target='http://www.rfc-editor.org/info/rfc6333'>
<front>
<title>Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion</title>
<author initials='A.' surname='Durand' fullname='A. Durand'>
<organization /></author>
<author initials='R.' surname='Droms' fullname='R. Droms'>
<organization /></author>
<author initials='J.' surname='Woodyatt' fullname='J. Woodyatt'>
<organization /></author>
<author initials='Y.' surname='Lee' fullname='Y. Lee'>
<organization /></author>
<date year='2011' month='August' />
</front>
<seriesInfo name='RFC' value='6333' />
</reference>
   
<reference anchor='RFC6555' target='http://www.rfc-editor.org/info/rfc6555'>
<front>
<title>Happy Eyeballs: Success with Dual-Stack Hosts</title>
<author initials='D.' surname='Wing' fullname='D. Wing'>
<organization /></author>
<author initials='A.' surname='Yourtchenko' fullname='A. Yourtchenko'>
<organization /></author>
<date year='2012' month='April' />
</front>
<seriesInfo name='RFC' value='6555' />
</reference>
    
<reference anchor='RFC6724' target='http://www.rfc-editor.org/info/rfc6724'>
<front>
<title>Default Address Selection for Internet Protocol Version 6 (IPv6)</title>
<author initials='D.' surname='Thaler' fullname='D. Thaler'>
<organization /></author>
<author initials='R.' surname='Draves' fullname='R. Draves'>
<organization /></author>
<author initials='A.' surname='Matsumoto' fullname='A. Matsumoto'>
<organization /></author>
<author initials='T.' surname='Chown' fullname='T. Chown'>
<organization /></author>
<date year='2012' month='September' />
</front>
<seriesInfo name='RFC' value='6724' />
</reference>
    
<reference anchor='RFC6762' target='http://www.rfc-editor.org/info/rfc6762'>
<front>
<title>Multicast DNS</title>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'>
<organization /></author>
<author initials='M.' surname='Krochmal' fullname='M. Krochmal'>
<organization /></author>
<date year='2013' month='February' />
</front>
<seriesInfo name='RFC' value='6762' />
</reference>
       
<reference anchor='RFC6824' target='http://www.rfc-editor.org/info/rfc6824'>
<front>
<title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
<author initials='A.' surname='Ford' fullname='A. Ford'>
<organization /></author>
<author initials='C.' surname='Raiciu' fullname='C. Raiciu'>
<organization /></author>
<author initials='M.' surname='Handley' fullname='M. Handley'>
<organization /></author>
<author initials='O.' surname='Bonaventure' fullname='O. Bonaventure'>
<organization /></author>
<date year='2013' month='January' />
</front>
<seriesInfo name='RFC' value='6824' />
</reference>

<reference anchor='RFC6887' target='http://www.rfc-editor.org/info/rfc6887'>
<front>
<title>Port Control Protocol (PCP)</title>
<author initials='D.' surname='Wing' fullname='D. Wing'>
<organization /></author>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'>
<organization /></author>
<author initials='M.' surname='Boucadair' fullname='M. Boucadair'>
<organization /></author>
<author initials='R.' surname='Penno' fullname='R. Penno'>
<organization /></author>
<author initials='P.' surname='Selkirk' fullname='P. Selkirk'>
<organization /></author>
<date year='2013' month='April' />
</front>
<seriesInfo name='RFC' value='6887' />
</reference>

<reference anchor='RFC6950' target='http://www.rfc-editor.org/info/rfc6950'>
<front>
<title>Architectural Considerations on Application Features in the DNS</title>
<author initials='J.' surname='Peterson' fullname='J. Peterson'>
<organization /></author>
<author initials='O.' surname='Kolkman' fullname='O. Kolkman'>
<organization /></author>
<author initials='H.' surname='Tschofenig' fullname='H. Tschofenig'>
<organization /></author>
<author initials='B.' surname='Aboba' fullname='B. Aboba'>
<organization /></author>
<date year='2013' month='October' />
</front>
<seriesInfo name='RFC' value='6950' />
</reference>

<reference anchor='RFC7084' target='http://www.rfc-editor.org/info/rfc7084'>
<front>
<title>Basic Requirements for IPv6 Customer Edge Routers</title>
<author initials='H.' surname='Singh' fullname='H. Singh'>
<organization /></author>
<author initials='W.' surname='Beebee' fullname='W. Beebee'>
<organization /></author>
<author initials='C.' surname='Donley' fullname='C. Donley'>
<organization /></author>
<author initials='B.' surname='Stark' fullname='B. Stark'>
<organization /></author>
<date year='2013' month='November' />
</front>
<seriesInfo name='RFC' value='7084' />
</reference>

<reference anchor='RFC7157' target='http://www.rfc-editor.org/info/rfc7157'>
<front>
<title>IPv6 Multihoming without Network Address Translation</title>
<author initials='O.' surname='Troan' fullname='O. Troan'>
<organization /></author>
<author initials='D.' surname='Miles' fullname='D. Miles'>
<organization /></author>
<author initials='S.' surname='Matsushima' fullname='S. Matsushima'>
<organization /></author>
<author initials='T.' surname='Okimoto' fullname='T. Okimoto'>
<organization /></author>
<author initials='D.' surname='Wing' fullname='D. Wing'>
<organization /></author>
<date year='2014' month='March' />
</front>
<seriesInfo name='RFC' value='7157' />
</reference>

<reference anchor='RFC7252' target='http://www.rfc-editor.org/info/rfc7252'>
<front>
<title>The Constrained Application Protocol (CoAP)</title>
<author initials='Z.' surname='Shelby' fullname='Z. Shelby'>
<organization /></author>
<author initials='K.' surname='Hartke' fullname='K. Hartke'>
<organization /></author>
<author initials='C.' surname='Bormann' fullname='C. Bormann'>
<organization /></author>
<date year='2014' month='June' />
</front>
<seriesInfo name='RFC' value='7252' />
</reference>

        <reference anchor='IABdotless' target="http://www.iab.org/documents/correspondence-reports-documents/2013-2/iab-statement-dotless-domains-considered-harmful">
        <front>
        <title>IAB Statement: Dotless Domains Considered Harmful</title>
        <author><organization>IAB</organization></author>
        <date month="February" year="2013" />
        </front>
        </reference>

        <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
Mikael Abrahamsson,
Aamer Akhter,
Mark Andrews, 
Dmitry Anipko,
Ran Atkinson,
Fred Baker, 
Ray Bellis, 
Teco Boot,
John Brzozowski,
Cameron Byrne,
Brian Carpenter,
Stuart Cheshire, 
Julius Chroboczek,
Lorenzo Colitti, 
Robert Cragie,
Elwyn Davies,
Ralph Droms, 
Lars Eggert, 
Jim Gettys, 
Olafur Gudmundsson,
Wassim Haddad, 
Joel M.&nbsp;Halpern, 
David Harrington, 
Lee Howard, 
Ray Hunter, 
Joel Jaeggli, 
Heather Kirksey, 
Ted Lemon, 
Acee Lindem,
Kerry Lynn,
Daniel Migault,
Erik Nordmark, 
Michael Richardson, 
Mattia Rossi,
Barbara Stark, 
Sander Steffann,
Markus Stenberg,
Don Sturek,
Andrew Sullivan,
Dave Taht,
Dave Thaler, 
Michael Thomas,
Mark Townsley,
JP Vasseur, 
Curtis Villamizar, 
Russ White,
Dan Wing,
and James Woodyatt 
for their comments and 
contributions within homenet WG meetings and on the WG mailing list.
An acknowledgment generally means that a person's text made it into
the document or was helpful in clarifying or reinforcing an aspect
of the document. It does not imply that each contributor agrees with
every point in the document.
</t>

</section>

</back>
</rfc>
