IPv6 is the successor to IPv4, but many necessities of IPv6 are still in development, which include a wide range of
infrastructures (hardware / software), specifications (IETF RFCs), good practices followed by ISPs, and awareness of developers.
In home scenarios, many ISPs do allocate IPv6 prefixes for end-users via DHCPv6 PD (probably over PPPoE).
Even if the prefix is dynamic (changing on each dial or a daily basis), this is still quite good for most home users as long as they are using EXACTLY one router with decent support for dual-stack. As shown below, home users setup a wireless router behind ONU.
For a dual-stack router, steps for internet access will include:
The router establishes a PPPoE session to ISP, and gets the allocated endpoint address for IPv4 access.
The router configures its IPv6 SLAAC address from ICMPv6 RAs sent by ISP PPPoE peer. (RA contains prefix 240E:38F:8765:4321::/64)
The router starts stateful DHCPv6 client with the IA_PD option, and some prefix 240E:388:1234:1200::/56 is delegated to it.
Then the router will send ICMPv6 RAs to all the clients, telling that they own an IPv6 subnet 240E:388:1234:1200::/56, and all clients will have a publicly reachable IPv6 address by SLAAC.
(All the SLAAC steps above can be equivalently replaced with stateful DHCPv6.)
If any user is going to divide the network into different VLANs, then a dynamic prefix is challenging the whole network. Since many devices do not support dynamic prefixes natively, or they cannot handle the cases when a prefix is invalidated, we will have to stabilize the address allocation.
This article introduces “private network” address space in IPv6 and the steps to configure NPTv6 on H3C routers.
NPTv6 is a stateless NAT technology, and they are quite popular in multihoming IPv6 networks. It is defined in RFC 6296, but still at experimental stage.
NPTv6 only translates the layer 3 information, thus still retains the end-to-end reachability.
ULA refers to the block FC00::/7 of IPv6 address space, defined in RFC 4193. ULA prefixes are conceptually equivalent to IPv4 private network addresses defined in RFC 1918.
The predecessor to ULA is site-local unicast address (defined as FEC0::/10 in RFC 3513, but then deprecated in RFC 3879). They still appear on many outdated documents (example at page 111).
This sample configuration takes FD00:DEAD:C0DE::/56 as the internal network block, which has the same length as the delegated prefix 240E:388:1234:1200::/56.
Divide the ULA prefix into different VLANs as shown below: