RFC2460] [RFC4291] as the basis. As described in Section 3.1, 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. 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.
The homenet needs to be able to handle or provision at least the following: o Routing o Prefix configuration for routers o Name resolution o Service discovery o Network security The remainder of this document describes the principles by which the homenet architecture may deliver these properties.
RFC7084] should, as a minimum, be supported. 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: o Presence of internal routers. The homenet may have one or more internal routers or may only provide subnetting from interfaces on the CE router. o 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. o 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. 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: o 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.
o 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. 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. 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).
+-------+-------+ \ | 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 | / +----------+ +----------+ +----------+ +----------+ / Figure 1 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.
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. Figure 2 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 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.
addition, bridging may not be suitable for some networks, such as ad hoc mobile networks. 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. RFC6724]. Applications may of course do different things, and this should not be precluded. 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. 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. An example of such a 'simpler' approach has been documented in [RFC7157]. 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. As explained previously, while NPTv6 has been proposed for providing multihoming support in networks, its use is not recommended in the homenet architecture. 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 [RFC3002], we do not specifically target walled-garden multihoming as a goal of this document. The homenet architecture should also not preclude use of host or application-oriented tools, e.g., Shim6 [RFC5533], Multipath TCP (MPTCP) [RFC6824], or Happy Eyeballs [RFC6555]. In general, any incremental improvements obtained by host changes should give benefit for the hosts introducing them but should not be required.
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. 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.
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. 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. 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. 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. 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.
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. RFC6177]. 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. 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 [RFC6177] states the following: 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. This architecture document assumes that the guidance in the quoted text is being followed by ISPs. 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 [RFC4862]), 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. Thus, a homenet CE router should request, for example, via DHCP Prefix Delegation (DHCP PD) [RFC3633], 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. 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. 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 [RFC4192], 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. 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. 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. 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. 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 [RFC4191] provides a mechanism to advertise such more-specific ULA routes.
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. 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. 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. 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). 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. 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. 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). 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. RFC4941], 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.
or more likely, it would involve running an appropriate routing protocol. 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. 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. It is preferable that configuration information is distributed and synchronised within the homenet by a separate configuration protocol. 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. 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. The homenet architecture is IPv6-only. In practice, dual-stack homenets are still likely for the foreseeable future, as described in Section 3.2.3. 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. 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. 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. 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. 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.
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. 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. RFC7084] would suggest that routing between the homenet CE router and the service provider router follow the WAN-side requirements model in [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. RFC4607]. [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. There may be different drivers for multicast to be supported across the homenet -- for example, o for homenet-wide service discovery, should a multicast service discovery protocol of scope greater than link-local be defined o for multicast-based streaming or file-sharing applications 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. 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. The multicast environment should support the ability for applications to pick a unique multicast group to use.