The first time I worked on IPv6 was in 2000 in my master’s degree thesis where I started an implementation of Mobile IP based on IPv6 in Linux Redhat. Over a decade later, IPv6 has not really taken off, even though we hear stories about the IPv4 address space running out and I have yet to see an embedded device using anything else than IPv4.
However, this may be about the change as on the 15th of April 2011, Japan Network Information Center (JPNIC) announced that APNIC (Asia Pacific Network Information Centre) ran out of IPv4 addresses. They will still try to make it last longer by reusing previously allocated IPv4 and an “IPv4 address transfer system” whose details will be made available later.
You can also see a chart based on IANA (Internet Assigned Numbers Authority) data that shows this is a problem right now.
If we have to update all devices to support IPv6 in the next few year, there may be an I.T boom similar to the Y2K bug. Although Linux supports IPv6, it is not always enabled.
- Check if IPv6 is enabled in your system:
$ cat /proc/net/if_inet6
000000000000000000000000000000 01 01 80 10 80 lo
fe80000000000000020b6afffeef7e 8d 02 40 20 80 eth0
You can see IPv6 is enabled and that your IPv6 Address (eth0) starts with fe80.
If IPv6 is not enabled, you’ll have to recompile your kernel after enabling it in the Networking Options.
- Ping IPv6 (localhost)
$ ping6 ::1
- Getting your IPv6 Address
$ ifconfig eth0 |grep "inet6 addr:"
inet6 addr: fe80::20d:b9ff:fe05:25b4/64 Scope:Link
Linux.com has recently put out nice IPv6 tutorials for Linux:
- IPv6 Crash Course For Linux
- Another IPv6 Crash Course For Linux: Real IPv6 Addresses, Routing, Name Services
Check them out if you want to know more about IPv6.