Well first of all you have all my respect to have so many eth cables at home.
I am a small fish, I just want to learn because I believe knowledge is the real power.
Sooooo I have my humble pfSense box which is doing a great job for firewall, DHCP, DNS Resolver and now I got my hands dirty with IPv6.
In my planet DHCP basically take off the work to set a fixed ip to clients so they can talk on the network without the pain to set a proper number each box.
Since the WAN in IPv4 has only ONE ip, the NAT is basically a call for some DHCP (many clients needs to talk to the gateway in the network to reach internet).
Here I am facing a new animal, IPv6.
As far I understand it, the new protocol is designed to give automatically an ip to each client WITHOUT a DHCP running in local the network. No NAT --> No need for a Gateway ---> you can survive without DHCP.
I would like to get a beer with you so I can explain myself better, I hope it makes sense what I wrote.
Ok, this is how it works:
For autoconfiguration, you've got
SLAAC. Stateless Link-local Address Auto-Configuration. What it does is give a mechanism to make hosts discover which /64 prefix is suitable to use on the LAN. The router(s) periodically send out two things;
- The prefix, like "2001:DB8::/64"
- The list of addresses to suitable routers that will carry traffic out of the LAN.
The host, normally, takes the prefix and tacks its MAC address on it, stuffing
0xfffe in the middle to pad the length to 64 bits.
2001:0DB8:0000:0000 + dead:be + ff:fe + ed:dada = 128 bits. Now, this has been deemed unsafe and leaky, since the MAC address will make a single host trackable through the Net. Therefore, we've got
Privacy Extensions for SLAAC. Then, the host will at intervals pseudo-randomise a host part to tack on the prefix:
2001:0DB8:0000:0000 + <64 bits of goobledygook> = 128 bits. Now, this will give you connectivity, but not sundry items like addresses to DNS resolver, TFTP server, NTP server et c.
Enter
DHCPv6. Which, of course, because it's got its fans, also lets you give hosts addresses.
Now, a bit of a peek under the hood:
IPv6 does not have ARP, nor broadcast. What it's got is a combination of two things:
- Link-local multicast for advertisements.
- Locally scoped addresses for link-local communication.
Any host that enables IPv6 on an interface also auto-configures a link-local address using the prefix FE80::/64. This address can only be used on that local net, but is then of course enough to use as default gateway. Also, it's used to send (and if one bends truth a bit) receive multicast packets, like RA and DHCPv6, as well as Neighbour Discovery, which replaces ARP in finding other hosts on the LAN.
That's about it.