IPv6 Fundamentals Tutorial (part 1)

1. Why do we need IPv6?

The world has run out of IP addresses. IPv4 uses a 32 bit address which is a total of 4 billion addresses. However there are already 6 billion people in the world, and many of us have multiple devices, each with its own address. In order for the internet to continue to grow, a larger address space is required.

  • Why not just add another octet to the address? like 50.192.168.0.1?

Adding another octet would require a new IP protocol, a change in the IP header, and all routers, computers, and devices connected to the internet. But only providing an additional 255 times the address space. This only delay the internet address problem for another 10 to 15 years, then we would require yet another overhaul of the entire internet.

For fun: a dramatization of running out of IP addresses.

2. Not your Grandmother’s IP

  • IPv6 is a different networking protocol
  • No interoperability between IPv4 and IPv6
  • Don’t assume it works like IPv4
    –No ARP (Address Resolution Protocol), functionality replaced with ICMPv6 (Internet Control Message Protocol) Neighbour Discovery
    –No Broadcast, uses Multicast

3. IPv6 Addressing

  • IPv6 address is 128 bits long, think BIG
  • It is that much bigger. 340282366920938463463374607431768211456 or 3.4 X 10^39
    — If the entire IPv4 address is equal to 1 meter (a little longer than a yard), then the entire address space of IPv6 is 18 trillion light-years.
    — There are only 10^21 stars in the observable universe
    — There are only 5.6×10^21 gains of sand on the earth
  • No variable subnet masking, subnets are always /64
    — Creates a sparely populated subnet, making it harder to scan for hosts (and attack)
    — Scanning an IPv4 subnet, takes about 5 seconds, scanning an IPv6 prefix (aka subnet) takes about 7 days!
  • Multiple addresses are needed, at a minimum, a link-local (FE80::/10) and a Global Unique Address (GUA)
    — Link-local address is auto-generated, and only unique per LAN segment, starts with FE80:
    — Global Unique Address (GUA) will come from Router Advertisements (RA) via StateLess Auto Addressing Config (SLAAC)
    — a Global address might look like: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Hands On

Attempt/Answer the following:
* What IPv6 addresses are on your computer now?
* Can you tell the difference between a SLAAC and a DHCPv6 Address?
* Can you ping6 the router?
* What does the neighbour table look like? (hint, use the ip command, or powershell Get-NetNeighbor)

Look at Tools of the Trade

Raspberry Pi, Arduino and other embedded systems to learn and create