RFC 7084
Basic Requirements for IPv6 Customer Edge Routers
Basic Requirements for IPv6 Customer Edge Routers π
Okay so this is RFC 7084 π It's titled Basic Requirements for IPv6 Customer Edge Routers, and it was written by H. Singh, W. Beebee (both Cisco Systems, Inc.), C. Donley (CableLabs), and B. Stark (AT&T) π It's Informational, which means it's not a Standards Track spec, and it was published in November 2013 with ISSN 2070-1721. It obsoletes RFC 6204 π and doesn't update anything else.
Abstract β¨
This doc lays out the requirements for an IPv6 Customer Edge (CE) router π¦ The current version mainly focuses on basic provisioning of the IPv6 CE router, plus provisioning of the IPv6 hosts attached to it. It also covers IP transition technologies. Two of them are covered: RFC 5969's IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) and RFC 6333's Dual-Stack Lite (DS-Lite) πΈ And yep, it obsoletes RFC 6204.
Status of This Memo π§
Bestie, read this part, it's important π This document is not an Internet Standards Track specification. It's published for informational purposes.
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community, received public review, and was approved for publication by the Internet Engineering Steering Group (IESG). Not every document the IESG approves is a candidate for any level of Internet Standard. See Section 2 of RFC 5741 for that π
Info about the current status of this doc, any errata, and how to give feedback can be found at http://www.rfc-editor.org/info/rfc7084 β¨
Copyright Notice π
Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved π
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as in effect on the date of publication of this document. Please review these documents carefully, because they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they are provided without warranty as described in the Simplified BSD License π«Ά
Table of Contents π
1. Introduction ....................................................3
1.1. Requirements Language ......................................3
2. Terminology .....................................................4
3. Architecture ....................................................5
3.1. Current IPv4 End-User Network Architecture .................5
3.2. IPv6 End-User Network Architecture .........................5
3.2.1. Local Communication .................................7
4. Requirements ....................................................7
4.1. General Requirements .......................................7
4.2. WAN-Side Configuration .....................................8
4.3. LAN-Side Configuration ....................................12
4.4. Transition Technologies Support ...........................14
4.4.1. 6rd ................................................14
4.4.2. Dual-Stack Lite (DS-Lite) ..........................15
4.5. Security Considerations ...................................16
5. Acknowledgements ...............................................17
6. Contributors ...................................................17
7. References .....................................................18
7.1. Normative References ......................................18
7.2. Informative References ....................................20
1. Introduction β¨
So this doc defines the basic IPv6 features for a residential or small-office router, which we'll call an "IPv6 CE router" π The whole point is to set an industry baseline for the features that should show up on one of these routers π
These routers usually support IPv4 too πΈ
Mixed setups with dual-stack hosts and IPv6-only hosts (behind the CE router) can get more complicated when the IPv6-only devices use a translator to reach IPv4 servers [RFC6144]. Support for those mixed setups is not in scope for this document π
The doc also explains how an IPv6 CE router automatically provisions its WAN interface, gets address space to provision its LAN interfaces, and fetches other config info from the service provider network π¦ Automatic provisioning of a more complex topology than one router with multiple LAN interfaces is out of scope, periodt π
If you want to know about the options for deploying IPv6 in service provider access networks, check out [RFC4779] π§
Last thing: the doc covers the IP transition technologies that were available when it was written. Those are 6rd [RFC5969] and DS-Lite [RFC6333] π
1.1. Requirements Language π
Take careful note here, because this part is different from most IETF docs π The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are not used the way RFC 2119 [RFC2119] describes. The doc uses these keywords not strictly for interoperability, but to set industry-common baseline functionality β¨
Because of that, the doc points to several other specifications (preferably RFC or stable form) for more guidance on any protocol implementation needed to build a CE router that interoperates with a particular subset of the IPv6 access networks being deployed now and planned π It's giving "here's the map, go read the details" energy π
2. Terminology π
Here are the terms, bestie. Each one is defined in the table below π
End-User Network one or more links attached to the IPv6 CE
router that connect IPv6 hosts.
IPv6 Customer Edge Router a node intended for home or small-office
use that forwards IPv6 packets not
explicitly addressed to itself. The IPv6
CE router connects the end-user network to
a service provider network.
IPv6 Host any device implementing an IPv6 stack
receiving IPv6 connectivity through the
IPv6 CE router.
LAN Interface an IPv6 CE router's attachment to a link in
the end-user network. Examples are
Ethernet (simple or bridged), 802.11
wireless, or other LAN technologies. An
IPv6 CE router may have one or more
network-layer LAN interfaces.
Service Provider an entity that provides access to the
Internet. In this document, a service
provider specifically offers Internet
access using IPv6, and it 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.
WAN Interface an IPv6 CE router's attachment to a link
used to provide connectivity to the service
provider network; example link technologies
include Ethernet (simple or bridged), PPP
links, Frame Relay, or ATM networks, as
well as Internet-layer (or higher-layer)
"tunnels", such as tunnels over IPv4 or
IPv6 itself.
3. Architecture π¦
3.1. Current IPv4 End-User Network Architecture πΈ
An end-user network will likely support both IPv4 and IPv6. It's not expected that an end user will change their existing network topology when IPv6 shows up π IPv6 does have some differences in how it works and gets provisioned, and those differences matter for the network architecture π A typical IPv4 end-user network is a "plug and play" router with NAT functionality and a single link behind it, connected to the service provider network.
A typical IPv4 NAT deployment blocks all incoming connections by default. Opening ports is usually allowed through a Universal Plug and Play Internet Gateway Device (UPnP IGD) [UPnP-IGD] or some other firewall control protocol π₯
Another perk of private address space in the end-user network is stable addressing. The addresses never change even when you switch service providers, and they're always there even when the WAN interface is down or the customer edge router hasn't been provisioned yet π«Ά
Plenty of existing routers support dynamic routing (learning routes from other routers), and advanced end users can build arbitrary, complex networks by manually configuring address prefixes together with a dynamic routing protocol π§
3.2. IPv6 End-User Network Architecture π
The end-user network architecture for IPv6 should give equal or better capabilities and functionality than the current IPv4 architecture β¨
The end-user network is a stub network π Figure 1 shows the model topology for the end-user network π
+-------+-------+ \
| Service | \
| Provider | | Service
| Router | | Provider
+-------+-------+ | Network
| /
| Customer /
| Internet Connection /
|
+------+--------+ \
| IPv6 | \
| Customer Edge | \
| Router | /
+---+-------+-+-+ /
Network A | | Network B | End-User
---+-------------+----+- --+--+-------------+--- | Network(s)
| | | | \
+----+-----+ +-----+----+ +----+-----+ +-----+----+ \
|IPv6 Host | |IPv6 Host | | IPv6 Host| |IPv6 Host | /
| | | | | | | | /
+----------+ +-----+----+ +----------+ +----------+ /
Figure 1: An Example of a Typical End-User Network
This architecture covers:
- Basic capabilities of an IPv6 CE router
- Provisioning of the WAN interface connecting to the service provider
- Provisioning of the LAN interfaces
For IPv6 multicast traffic, the IPv6 CE router may act as a Multicast Listener Discovery (MLD) proxy [RFC4605] π¦ and may also support a dynamic multicast routing protocol β¨
The IPv6 CE router may be manually configured in an arbitrary topology with a dynamic routing protocol. Automatic provisioning and configuration are only described for a single IPv6 CE router π
3.2.1. Local Communication π‘
okay so link-local IPv6 addresses are what hosts use when they're just chatting on one single link π¦. Then there are Unique Local IPv6 Unicast Addresses (ULAs) [RFC4193], which hosts use to talk across multiple links inside the end-user network, without the app needing a globally routable address π. The IPv6 CE router is the default demarcation point between the two networks π. It gives you a ULA boundary, a multicast zone boundary, and ingress and egress traffic filters, so it's basically the bouncer of the whole setup π .
Now the messy part π. At the time of this writing, several host implementations don't cope well when they have an IPv6 address configured but no IPv6 connectivity. That can happen because the address only has limited topological reachability (like a ULA), or because the IPv6 CE router isn't connected to the IPv6 network on its WAN interface π. To support those hosts, which don't handle multihoming in a multi-prefix environment [MULTIHOMING-WITHOUT-NAT], the IPv6 CE router should not, as detailed in the requirements below, advertise itself as a default router on the LAN interface(s). That goes for when it has no IPv6 connectivity on the WAN interface, or when it isn't provisioned with IPv6 addresses π₯Ί. For local IPv6 communication, the mechanisms in [RFC4191] are used π§.
ULA addressing is super useful when the IPv6 CE router has multiple LAN interfaces and the hosts on them need to talk to each other πΈ. If the router only has a single LAN interface (one IPv6 link), then link-local addressing can be used instead β¨.
Coexistence with IPv4 is a whole thing π. Any IPv6 CE router(s) on the LAN have to conform to these recommendations, especially requirements ULA-5 and L-4 below π«Ά.
4. Requirements β¨
4.1. General Requirements π
okay so the IPv6 CE router is responsible for implementing IPv6 routing π£οΈ. That means it must look up the IPv6 destination address in its routing table to decide which interface the packet goes out of π¦.
In this role, the IPv6 CE router is also responsible for making sure traffic using its ULA addressing doesn't go out the WAN interface, and doesn't originate from the WAN interface either π. Keep that in mind, it's giving "security guard" energy π.
Here are the general requirements, bestie π:
- G-1: An IPv6 CE router is an IPv6 node according to the IPv6 Node Requirements specification [RFC6434] π.
- G-2: The IPv6 CE router MUST implement ICMPv6 according to [RFC4443]. In particular, point-to-point links MUST be handled as described in Section 3.1 of [RFC4443] π.
- G-3: The IPv6 CE router MUST NOT forward any IPv6 traffic between its LAN interface(s) and its WAN interface until the router has successfully completed the IPv6 address and the delegated prefix acquisition process π«.
- G-4: By default, an IPv6 CE router that has no default router(s) on its WAN interface MUST NOT advertise itself as an IPv6 default router on its LAN interfaces π
. That is, the
Router Lifetimefield is set to zero in all Router Advertisement messages it originates [RFC4861] π. - G-5: By default, if the IPv6 CE router is an advertising router and loses its IPv6 default router(s) and/or detects loss of connectivity on the WAN interface, it MUST explicitly invalidate itself as an IPv6 default router on each of its advertising interfaces π. It does this by immediately transmitting one or more Router Advertisement messages with the
Router Lifetimefield set to zero [RFC4861] π₯.
4.2. WAN-Side Configuration πβ¨
okay so the IPv6 CE router has to be able to hook up to one or more access network architectures π«Ά this doc isn't picky about any one architecture or service provider. it's built to handle all the commonly used ones π
IPv6 Neighbor Discovery and DHCPv6 work over any IPv6-supported link layer, so there's no need for a link-layer-specific config protocol for network-layer options like the IPv4 PPP IP Control Protocol (IPCP) π this section assumes the same mechanism works on any link layer, whether that's Ethernet, the Data Over Cable Service Interface Specification (DOCSIS), PPP, or something else π¦
WAN-side requirements πΈ
W-1: When the router is attached to the WAN interface link, it MUST act as an IPv6 host for stateless [RFC4862] or stateful [RFC3315] interface address assignment π
W-2: The IPv6 CE router MUST generate a link-local address and finish Duplicate Address Detection according to [RFC4862] before sending any Router Solicitations on the interface. The source address on that Router Solicitation MUST be the link-local address on the WAN interface π₯
W-3: Absent other routing information, the IPv6 CE router MUST use Router Discovery as specified in [RFC4861] to find a default router (or routers) and install a default route (or routes) in its routing table, with the discovered router's address as the next hop π§
W-4: The router MUST act as a requesting router for DHCPv6 prefix delegation ([RFC3633]) β¨
W-5: The IPv6 CE router MUST use a persistent DHCP Unique Identifier (DUID) for DHCPv6 messages. The DUID MUST NOT change between network-interface resets or IPv6 CE router reboots π
W-6: The WAN interface of the CE router SHOULD support a Port Control Protocol (PCP) client as specified in [RFC6887] so applications on the CE router can use it π‘. The PCP client SHOULD follow the procedure in Section 8.1 of [RFC6887] to discover its PCP server. This document takes no position on whether that's enabled by default, or on how users would configure it. Handling PCP requests from PCP clients on the LAN side of the CE router is out of scope π ββοΈ
Link-layer requirements π
WLL-1: If the WAN interface supports Ethernet encapsulation, then the IPv6 CE router MUST support IPv6 over Ethernet [RFC2464] π
WLL-2: If the WAN interface supports PPP encapsulation, the IPv6 CE router MUST support IPv6 over PPP [RFC5072] π
WLL-3: If the WAN interface supports PPP encapsulation, in a dual-stack environment with IPCP and IPV6CP running over one PPP logical channel, the Network Control Protocols (NCPs) MUST be treated as independent of each other and start and terminate independently π
Address assignment requirements π¬
WAA-1: The IPv6 CE router MUST support Stateless Address Autoconfiguration (SLAAC) [RFC4862] π«§
WAA-2: The IPv6 CE router MUST follow the recommendations in Section 4 of [RFC5942], and in particular the handling of the L flag in the Router Advertisement Prefix Information option π―
WAA-3: The IPv6 CE router MUST support DHCPv6 [RFC3315] client behavior π
WAA-4: The IPv6 CE router MUST be able to support the following DHCPv6 options: IA_NA, Reconfigure Accept [RFC3315], and DNS_SERVERS [RFC3646]. The IPv6 CE router SHOULD be able to support the DNS Search List (DNSSL) option as specified in [RFC3646] π
WAA-5: The IPv6 CE router SHOULD implement the Network Time Protocol (NTP) as specified in [RFC5905] to provide a time reference common to the service provider for other protocols, such as DHCPv6, to use. If the CE router implements NTP, it requests the NTP Server DHCPv6 option [RFC5908] and uses the received list of servers as its primary time reference, unless explicitly configured otherwise. LAN-side support of NTP is out of scope for this document β°
WAA-6: If the IPv6 CE router receives a Router Advertisement message (described in [RFC4861]) with the M flag set to 1, the IPv6 CE router MUST do DHCPv6 address assignment (request an IA_NA option) πββοΈ
WAA-7: If the IPv6 CE router does not acquire a global IPv6 address (or addresses) from either SLAAC or DHCPv6, then it MUST create a global IPv6 address (or addresses) from its delegated prefix(es) and configure those on one of its internal virtual network interfaces, unless it's configured to require a global IPv6 address on the WAN interface π
WAA-8: The CE router MUST support the SOL_MAX_RT option [RFC7083] and request the SOL_MAX_RT option in an Option Request Option (ORO) π
WAA-9: As a router, the IPv6 CE router MUST follow the weak host (Weak End System) model [RFC1122]. When originating packets from an interface, it will use a source address from another one of its interfaces if the outgoing interface doesn't have an address of suitable scope π§
WAA-10: The IPv6 CE router SHOULD implement the Information Refresh Time option and associated client behavior as specified in [RFC4242] β
Prefix delegation requirements π
WPD-1: The IPv6 CE router MUST support DHCPv6 prefix delegation requesting router behavior as specified in [RFC3633] (Identity Association for Prefix Delegation (IA_PD) option) π
WPD-2: The IPv6 CE router MAY indicate, as a hint to the delegating router, the size of the prefix it requires. If so, it MUST ask for a prefix large enough to assign one /64 for each of its interfaces, rounded up to the nearest nibble, and SHOULD be configurable to ask for more π
WPD-3: The IPv6 CE router MUST be prepared to accept a delegated prefix size different from what was given in the hint. If the delegated prefix is too small to address all of its interfaces, the IPv6 CE router SHOULD log a system management error. [RFC6177] covers the recommendations for service providers for prefix allocation sizes π
WPD-4: By default, the IPv6 CE router MUST initiate DHCPv6 prefix delegation when either the M or O flags are set to 1 in a received Router Advertisement (RA) message. Behavior of the CE router to use DHCPv6 prefix delegation when it has not received any RA, or received an RA with the M and O bits both set to zero, is out of scope for this document π¦
WPD-5: Any packet received by the CE router with a destination address in the prefix(es) delegated to the CE router, but not in the set of prefixes the CE router assigned to the LAN, must be dropped. In other words, the next hop for the prefix(es) delegated to the CE router should be the null destination. This is necessary to prevent forwarding loops when some addresses covered by the aggregate are not reachable [RFC4632] π
This one's a big deal bestie π without it you can get forwarding loops when part of the aggregate isn't reachable π
- (a) The IPv6 CE router SHOULD send an ICMPv6 Destination Unreachable message in accordance with Section 3.1 of [RFC4443] back to the source of the packet, if the packet is to be dropped due to this rule π¨
WPD-6: If the IPv6 CE router requests both an IA_NA and an IA_PD option in DHCPv6, it MUST accept an IA_PD option in DHCPv6 Advertise/Reply messages, even if the message does not contain any addresses, unless it's configured to only obtain its WAN IPv6 address via DHCPv6; see [DHCPv6-STATEFUL-ISSUES] π«Ά
WPD-7: By default, an IPv6 CE router MUST NOT initiate any dynamic routing protocol on its WAN interface π«
WPD-8: The IPv6 CE router SHOULD support the [RFC6603] Prefix Exclude option π
4.3. LAN-Side Configuration β¨
okay so the IPv6 CE router is basically the main character of the home LAN π It passes along the config info it got while provisioning the WAN interface to IPv6 hosts, and it helps those hosts get their IPv6 addresses. It even keeps devices connected when there's no working WAN interface at all π«Ά
An IPv6 CE router is expected to support an IPv6 end-user network and IPv6 hosts with these vibes:
- Link-local addresses may be insufficient for IPv6 apps to talk to each other in the end-user network, so the IPv6 CE router will need to make that happen by providing globally scoped unicast addresses or ULAs [RFC4193], whether or not WAN connectivity exists. Link-local alone is not it, bestie π
- IPv6 hosts should be capable of using SLAAC and may be capable of using DHCPv6 for getting their addresses π¦
- IPv6 hosts may use DHCPv6 for other config info, like the
DNS_SERVERSoption for DNS info π
Unless otherwise specified, the following requirements apply to the IPv6 CE router's LAN interfaces only π
ULA requirements:
ULA-1: The IPv6 CE router SHOULD be capable of generating a ULA prefix [RFC4193] β¨
ULA-2: An IPv6 CE router with a ULA prefix MUST maintain this prefix consistently across reboots. No glow-ups that change it every restart π
ULA-3: The value of the ULA prefix SHOULD be configurable π
ULA-4: By default, the IPv6 CE router MUST act as a site border router according to Section 4.3 of [RFC4193] and filter packets with local IPv6 source or destination addresses accordingly. Border security, iconic π
ULA-5: An IPv6 CE router MUST NOT advertise itself as a default router with a Router Lifetime greater than zero whenever all of its configured and delegated prefixes are ULA prefixes. Not me advertising a default route for ULA-only stuff π ββοΈ
LAN requirements:
L-1: The IPv6 CE router MUST support router behavior according to Neighbor Discovery for IPv6 [RFC4861] πΈ
L-2: The IPv6 CE router MUST assign a separate /64 from its delegated prefix(es) (and ULA prefix if configured to provide ULA addressing) for each of its LAN interfaces. One /64 per LAN interface, no sharing the bed ποΈ
L-3: An IPv6 CE router MUST advertise itself as a router for the delegated prefix(es) (and ULA prefix if configured to provide ULA addressing) using the "Route Information Option" specified in Section 2.3 of [RFC4191]. This advertisement is independent of having or not having IPv6 connectivity on the WAN interface. It's giving "works even offline" energy β¨
L-4: An IPv6 CE router MUST NOT advertise itself as a default router with a Router Lifetime [RFC4861] greater than zero if it has no prefixes configured or delegated to it. Nothing to route, so no default router flex π
L-5: The IPv6 CE router MUST make each LAN interface an advertising interface according to [RFC4861] π£
L-6: In Router Advertisement messages ([RFC4861]), the Prefix Information option's A and L flags MUST be set to 1 by default π
L-7: The A and L flags' ([RFC4861]) settings SHOULD be user configurable. Customization is the whole personality π
L-8: The IPv6 CE router MUST support a DHCPv6 server capable of IPv6 address assignment according to [RFC3315] OR a stateless DHCPv6 server according to [RFC3736] on its LAN interfaces. Pick your fighter, either one works π§
L-9: Unless the IPv6 CE router is configured to support the DHCPv6 IA_NA option, it SHOULD set the M flag to zero and the O flag to 1 in its Router Advertisement messages [RFC4861]. Okay, the M and O flags have a whole relationship going on here π
L-10: The IPv6 CE router MUST support providing DNS information in the DHCPv6 DNS_SERVERS and DOMAIN_LIST options [RFC3646] π
L-11: The IPv6 CE router MUST support providing DNS information in the Router Advertisement Recursive DNS Server (RDNSS) and DNS Search List options. Both options are specified in [RFC6106]. Double the DNS, double the slay π
L-12: The IPv6 CE router SHOULD make available a subset of DHCPv6 options (as listed in Section 5.3 of [RFC3736]) received from the DHCPv6 client on its WAN interface to its LAN-side DHCPv6 server. Sharing is caring π«Ά
L-13: If the delegated prefix changes, i.e., the current prefix is replaced with a new prefix without any overlapping time period, then the IPv6 CE router MUST immediately advertise the old prefix with a Preferred Lifetime of zero and a Valid Lifetime of either a) zero or b) the lower of the current Valid Lifetime and two hours (which must be decremented in real time) in a Router Advertisement message as described in Section 5.5.3, (e) of [RFC4862]. Prefix swaps need a proper goodbye, no ghosting ππ
L-14: The IPv6 CE router MUST send an ICMPv6 Destination Unreachable message, code 5 (Source address failed ingress/egress policy) for packets forwarded to it that use an address from a prefix that has been invalidated. If your address is retired, the router has to tell you πβ¨
4.4. Transition Technologies Support π¦
4.4.1. 6rd
6rd [RFC5969] specifies an automatic tunneling mechanism tailored to advance deployment of IPv6 to end users via a service provider's IPv4 network infrastructure. The key aspects are automatic IPv6 prefix delegation to sites, stateless operation, simple provisioning, and service that is equivalent to native IPv6 at the sites that are served by the mechanism. It's expected that this traffic is forwarded over the CE router's native IPv4 WAN interface and not encapsulated in another tunnel. Tunnel-free vibes π
The CE router SHOULD support 6rd functionality. If 6rd is supported, it MUST be implemented according to [RFC5969]. The following CE requirements also apply:
6rd requirements:
6RD-1: The IPv6 CE router MUST support 6rd configuration via the 6rd DHCPv4 Option 212. If the CE router has obtained an IPv4 network address through some other means such as PPP, it SHOULD use the DHCPINFORM request message [RFC2131] to request the 6rd DHCPv4 Option. The IPv6 CE router MAY use other mechanisms to configure 6rd parameters. Such mechanisms are outside the scope of this document. Many options, one main character π
6RD-2: If the IPv6 CE router is capable of automated configuration of IPv4 through IPCP (i.e., over a PPP connection), it MUST support user-entered configuration of 6rd. Automation plus a manual backup, very responsible π§
6RD-3: If the CE router supports configuration mechanisms other than the 6rd DHCPv4 Option 212 (user-entered, TR-069 [TR-069], etc.), the CE router MUST support 6rd in "hub and spoke" mode. 6rd in "hub and spoke" requires all IPv6 traffic to go to the 6rd Border Relay. In effect, this requirement removes the "direct connect to 6rd" route defined in Section 7.1.1 of [RFC5969]. No direct connect for you, it's all going through the hub πΈοΈ
6RD-4: A CE router MUST allow 6rd and native IPv6 WAN interfaces to be active alone as well as simultaneously in order to support coexistence of the two technologies during an incremental migration period such as a migration from 6rd to native IPv6. Solo or together, both have to be allowed, no drama π
6RD-5: Each packet sent on a 6rd or native WAN interface MUST be directed such that its source IP address is derived from the delegated prefix associated with the particular interface from which the packet is being sent (Section 4.3 of [RFC3704]). Every packet has to match its own interface's prefix, no outfit mix-ups π
6RD-6: The CE router MUST allow different as well as identical delegated prefixes to be configured via each (6rd or native) WAN interface. Same prefix or different, both are allowed π
6RD-7: In the event that forwarding rules produce a tie between 6rd and native IPv6, by default, the IPv6 CE router MUST prefer native IPv6. Native IPv6 wins the tiebreak by default π
4.4.2. Dual-Stack Lite (DS-Lite)
Dual-Stack Lite [RFC6333] enables both continued support for IPv4 services and incentives for the deployment of IPv6. It also de-couples IPv6 deployment in the service provider network from the rest of the Internet, making incremental deployment easier. Dual-Stack Lite lets a broadband service provider share IPv4 addresses among customers by combining two well-known technologies: IP in IP (IPv4-in-IPv6) and Network Address Translation (NAT). It's expected that DS-Lite traffic is forwarded over the CE router's native IPv6 WAN interface, and not encapsulated in another tunnel. Two classic techs, one fresh combo π
The IPv6 CE router SHOULD implement DS-Lite functionality. If DS-Lite is supported, it MUST be implemented according to [RFC6333]. This document takes no position on simultaneous operation of Dual-Stack Lite and native IPv4. The following CE router requirements also apply:
WAN requirements:
DLW-1: The CE router MUST support configuration of DS-Lite via the DS-Lite DHCPv6 option [RFC6334]. The IPv6 CE router MAY use other mechanisms to configure DS-Lite parameters. Such mechanisms are outside the scope of this document. DHCPv6 is the main move, other mechanisms are optional extras π§
DLW-2: The IPv6 CE router MUST NOT perform IPv4 Network Address Translation (NAT) on IPv4 traffic encapsulated using DS-Lite. No NAT on the DS-Lite traffic, that's a hard no π ββοΈ
DLW-3: If the IPv6 CE router is configured with an IPv4 address on its WAN interface, then the IPv6 CE router SHOULD disable the DS-Lite Basic Bridging BroadBand (B4) element. Got your own IPv4 address? Then B4 should probably sit this one out πΈ
4.5. Security Considerations π₯
It is considered a best practice to filter obviously malicious traffic (e.g., spoofed packets, "Martian" addresses, etc.). Thus, the IPv6 CE router ought to support basic stateless egress and ingress filters. The CE router is also expected to offer mechanisms to filter traffic entering the customer network; however, the method by which vendors implement configurable packet filtering is beyond the scope of this document. Filtering the obvious bad stuff is the bare minimum for a safe home network, bestie π‘οΈπ
Security requirements:
S-1: The IPv6 CE router SHOULD support [RFC6092]. In particular, the IPv6 CE router SHOULD support functionality sufficient for implementing the set of recommendations in [RFC6092], Section 4. This document takes no position on whether such functionality is enabled by default or mechanisms by which users would configure it. Security recs, but the defaults are a whole separate conversation π
S-2: The IPv6 CE router SHOULD support ingress filtering in accordance with BCP 38 [RFC2827]. Note that this requirement was downgraded from a MUST from RFC 6204 due to the difficulty of implementation in the CE router and the feature's redundancy with upstream router ingress filtering. It used to be a MUST in RFC 6204, but it got downgraded because it's hard to do on a CE router and upstream routers already do it π«
S-3: If the IPv6 CE router firewall is configured to filter incoming tunneled data, the firewall SHOULD provide the capability to filter decapsulated packets from a tunnel. Tunnel traffic gets checked after it's unwrapped too, no sneaking past the bouncer π¨π
5. Acknowledgements π
Huge thank-you to these amazing people (in alphabetical order) for their guidance and feedback π«Ά: Mikael Abrahamsson, Tore Anderson, Merete Asak, Rajiv Asati, Scott Beuker, Mohamed Boucadair, Rex Bullinger, Brian Carpenter, Tassos Chatzithomaoglou, Lorenzo Colitti, Remi Denis-Courmont, Gert Doering, Alain Durand, Katsunori Fukuoka, Brian Haberman, Tony Hain, Thomas Herbst, Ray Hunter, Joel Jaeggli, Kevin Johns, Erik Kline, Stephen Kramer, Victor Kuarsingh, Francois-Xavier Le Bail, Arifumi Matsumoto, David Miles, Shin Miyakawa, Jean-Francois Mule, Michael Newbery, Carlos Pignataro, John Pomeroy, Antonio Querubin, Daniel Roesen, Hiroki Sato, Teemu Savolainen, Matt Schmitt, David Thaler, Mark Townsley, Sean Turner, Bernie Volz, Dan Wing, Timothy Winters, James Woodyatt, Carl Wuyts, and Cor Zwart. Iconic cast π
This document is based in part on CableLabs' eRouter specification. The authors also wanted to shout out the extra contributors from the eRouter team: Ben Bekele, Amol Bhagwat, Ralph Brown, Eduardo Cardona, Margo Dolas, Toerless Eckert, Doc Evans, Roger Fish, Michelle Kuska, Diego Mazzola, John McQueen, Harsh Parandekar, Michael Patrick, Saifur Rahman, Lakshmi Raman, Ryan Ross, Ron da Silva, Madhu Sudan, Dan Torbet, and Greg White. π
6. Contributors π
The following people participated as co-authors or made substantial contributions to this document: Ralph Droms, Kirk Erichsen, Fred Baker, Jason Weil, Lee Howard, Jean-Francois Tremblay, Yiu Lee, John Jason Brzozowski, and Heather Kirksey. Ole Troan gets a special thank-you for editing the original RFC 6204 document. π§
7. References π
7.1. Normative References
These are the must-read sources the spec leans on, bestie π€
[RFC1122]Braden, R., "Requirements for Internet Hosts - Communication Layers", STD 3, RFC 1122, October 1989.[RFC2119]Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.[RFC2131]Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997.[RFC2464]Crawford, M., "Transmission of IPv6 Packets over Ethernet Networks", RFC 2464, December 1998.[RFC2827]Ferguson, P. and D. Senie, "Network Ingress Filtering: Defeating Denial of Service Attacks which employ IP Source Address Spoofing", BCP 38, RFC 2827, May 2000.[RFC3315]Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003.[RFC3633]Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6", RFC 3633, December 2003.[RFC3646]Droms, R., "DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, December 2003.[RFC3704]Baker, F. and P. Savola, "Ingress Filtering for Multihomed Networks", BCP 84, RFC 3704, March 2004.[RFC3736]Droms, R., "Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6", RFC 3736, April 2004.[RFC4191]Draves, R. and D. Thaler, "Default Router Preferences and More-Specific Routes", RFC 4191, November 2005.[RFC4193]Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast Addresses", RFC 4193, October 2005.[RFC4242]Venaas, S., Chown, T., and B. Volz, "Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 4242, November 2005.[RFC4443]Conta, A., Deering, S., and M. Gupta, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification", RFC 4443, March 2006.[RFC4605]Fenner, B., He, H., Haberman, B., and H. Sandick, "Internet Group Management Protocol (IGMP) / Multicast Listener Discovery (MLD)-Based Multicast Forwarding ("IGMP/MLD Proxying")", RFC 4605, August 2006.[RFC4632]Fuller, V. and T. Li, "Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan", BCP 122, RFC 4632, August 2006.[RFC4779]Asadullah, S., Ahmed, A., Popoviciu, C., Savola, P., and J. Palet, "ISP IPv6 Deployment Scenarios in Broadband Access Networks", RFC 4779, January 2007.[RFC4861]Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, September 2007.[RFC4862]Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, September 2007.[RFC5072]Varada, S., Haskins, D., and E. Allen, "IP Version 6 over PPP", RFC 5072, September 2007.[RFC5905]Mills, D., Martin, J., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, June 2010.[RFC5908]Gayraud, R. and B. Lourdelet, "Network Time Protocol (NTP) Server Option for DHCPv6", RFC 5908, June 2010.[RFC5942]Singh, H., Beebee, W., and E. Nordmark, "IPv6 Subnet Model: The Relationship between Links and Subnet Prefixes", RFC 5942, July 2010.[RFC5969]Townsley, W. and O. Troan, "IPv6 Rapid Deployment on IPv4 Infrastructures (6rd) -- Protocol Specification", RFC 5969, August 2010.[RFC6092]Woodyatt, J., "Recommended Simple Security Capabilities in Customer Premises Equipment (CPE) for Providing Residential IPv6 Internet Service", RFC 6092, January 2011.[RFC6106]Jeong, J., Park, S., Beloeil, L., and S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC 6106, November 2010.[RFC6177]Narten, T., Huston, G., and L. Roberts, "IPv6 Address Assignment to End Sites", BCP 157, RFC 6177, March 2011.[RFC6333]Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion", RFC 6333, August 2011.[RFC6334]Hankins, D. and T. Mrugalski, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite", RFC 6334, August 2011.[RFC6434]Jankiewicz, E., Loughney, J., and T. Narten, "IPv6 Node Requirements", RFC 6434, December 2011.[RFC6603]Korhonen, J., Savolainen, T., Krishnan, S., and O. Troan, "Prefix Exclude Option for DHCPv6-based Prefix Delegation", RFC 6603, May 2012.[RFC6887]Wing, D., Cheshire, S., Boucadair, M., Penno, R., and P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, April 2013.[RFC7083]Droms, R., "Modification to Default Values of SOL_MAX_RT and INF_MAX_RT", RFC 7083, November 2013.
7.2. Informative References
These are the extra-credit reads, no pressure π¦
[DHCPv6-STATEFUL-ISSUES]Troan, O. and B. Volz, "Issues with multiple stateful DHCPv6 options", Work in Progress, May 2013.[MULTIHOMING-WITHOUT-NAT]Troan, O., Ed., Miles, D., Matsushima, S., Okimoto, T., and D. Wing, "IPv6 Multihoming without Network Address Translation", Work in Progress, December 2010.[RFC6144]Baker, F., Li, X., Bao, C., and K. Yin, "Framework for IPv4/IPv6 Translation", RFC 6144, April 2011.[TR-069]Broadband Forum, "CPE WAN Management Protocol", TR-069 Amendment 4, July 2011,<http://www.broadband-forum.org/technical/trlist.php>.[UPnP-IGD]UPnP Forum, ,"InternetGatewayDevice:2 Device Template Version 1.01", December 2010,<http://upnp.org/specs/gw/igd2/>.
Authors' Addresses πΈ
The authors' contact details are listed below, so you know exactly who to slide into the DMs π
Hemant Singh
Cisco Systems, Inc.
1414 Massachusetts Ave.
Boxborough, MA 01719
USA
Phone: +1 978 936 1622
EMail: shemant@cisco.com
URI: http://www.cisco.com/
Wes Beebee
Cisco Systems, Inc.
1414 Massachusetts Ave.
Boxborough, MA 01719
USA
Phone: +1 978 936 2030
EMail: wbeebee@cisco.com
URI: http://www.cisco.com/
Chris Donley
CableLabs
858 Coal Creek Circle
Louisville, CO 80027
USA
EMail: c.donley@cablelabs.com
Barbara Stark
AT&T
1057 Lenox Park Blvd. NE
Atlanta, GA 30319
USA
EMail: barbara.stark@att.com
π¦ where this page comes from
- ietf: rfc7084 2013-11
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms