CIT 361 RSS feeds and podcasts by Ed Nickel are licensed
under a Creative Commons Attribution 3.0 United States License
based on a work at http://cot.gbcnv.edu/~ed/class/syllabi.html.

CIT 361: Week 14
IPv6 (Internet Protocol version 6)

To automatically receive new feeds and podcasts you can copy this link: http://cot.gbcnv.edu/~ed/class/cit361/cit361.xml to your RSS reader and/or your iTunes/mp3 software. If you prefer getting the new feeds and podcasts manually you can read these files directly as you are reading this one or download the audio mp3 file which constitutes the podcast and listen to it using your favorite media software, such as Windows Media Player. Please note, iTunes is available free from Apple and can be used on your PC or Mac even if you do not have an iPod.

Two weeks ago I said there were two lessons that made me hesitate to offer this class on-line and this is the second lesson. In the live version of this lesson I ended with a lab exercise where all students worked together as a team to build a fully routed IPv6 network with two subnets and access to the current IPv4 Internet. As far as I know this lab was unique among Nevada higher education networking classes. Very few network administrators, computer technicians, or IT managers in the US have any actual experience with IPv6 and unfortunately you will not be getting any either. However, you can download the Step-by-Step Guide for Setting Up IPv6 in a Test Lab document from Microsoft on which I based this lab exercise.

Internet Protocol version 6 (IPv6) was defined by the Internet Engineering Task Force (IETF) in December 1998 and is still not close to being implemented in many places around the world, especially here in the US. It was developed because, even then, Internet organizers and operators could see IPv4 was in trouble. IPv4 is only capable of supporting 232 or 4,294,967,296 addresses and since there are currently estimated to be about 6,790,000,000 people in the world we do not have enough addresses for everyone to get on the Internet much less support all the routers, servers, and other Internet systems that need IP addresses. The problem is worse than just 1½ times as many people as IPv4 addresses, lots of people use more than one IP address; for example, I have a computer at work, one at home, a laptop that goes wherever I go, a cellphone with Internet browsing capability, a departmental web server, a wireless router, a DSL router, etc. and each of these devices needs its own IP address. We have covered some of the workarounds created either in part (like DHCP) or entirely (like NAT) to help mitigate this problem, but these have caused problems especially in Internet security while maintaining the viability of the older address system. (Before you ask, yes, there was an IPv5 but that proposal was made obsolete by IPv6 long before anyone implemented it.)

IPv6 can support 2128 or about 340,282,366,920,938,000,000,000,000,000,000,000,000 addresses. To put this incomprehensible number into a somewhat understandable context, with IPv6 there are enough IP addresses to assign one to roughly every square yard of the Earth's surface including the oceans and polar icecaps. Charlie the Tuna can have his own IPv6 address. Even though IPv6 has been around for more than a decade, routers have been capable of supporting it for almost as long, and even the ancient Windows 2000 could work with it, the old IPv4 is still dominant on the Internet. Institutional inertia, cost, and fear of disrupting a critical worldwide communications network with billions of nodes have kept the old address system in place. After all as we saw last week, we are still living with WINS and NetBIOS which were never as prevalent. However, 100% of the US Dept. of Defense, about 50% of Japan, and almost 25% of Europe have made this change.

Before we go any farther you might ask why so many IP addresses are needed and one simple answer is because we can and want to avoid going through this conversion again. However, there are some real as well as fantastical problems that increased numbers can help solve. I read an article about the upgrades to the US national electrical grid, the so called Smart Grid, that are being considered which will require many more IP addresses. Manufacturers have been adding Internet capabilities to almost every device imaginable and a few that are very hard to understand. I already mentioned cellphones like Blackberries and iPhones that use IP addresses. Blu-ray players now have Internet capabilities to access Netflix and other high definition video content sources. At least one manufacturer has an Internet capable refrigerator among other appliances being considered for Internet enhancement. Schwan's, the ice cream and frozen foods delivery company, experimented with an electronic trashcan a few years ago; as I understand it could read a magnetic strip attached to cartons of their products and would then call the company with a list of products you had used up so they would be in stock on the truck during the next delivery. I have not heard anything about this trashcan recently and I suspect it might be due to some very bright first graders figuring out the consequences of throwing the frozen broccoli container into different trashcan while swiping the ice cream carton several times. The smart home industry has been promoting computer controlled, network connected thermostats, lighting, security systems, and more via the X10 standard since 1975. It seems to me that at least a few of these excuses for a network connection are just marketing department pipe dreams but some have very real potential and will need huge numbers of IP addresses to succeed.

One of the practical consequences of switching to IPv6 is that special DHCP servers are no longer required and network management will be even easier because all network devices will obtain IP addresses without any special configuration. This works because IPv6 routers will supply the "network portion" of an IPv6 address while the manufacturer supplied MAC address will be the "host portion" of the address. So all a network administrator needs to do is program the proper network id into a new IPv6 capable router and the router becomes in effect the DHCP server for that subnet. This also means that NAT (network address translation protocol) is no longer needed which helps some security issues because hackers and spammers can no longer hide behind shared IP addresses. With IPv6 every device can automatically have a public, routable IP address using their MAC address and subnet number so private, non-routable IP addresses are no longer needed.

Consider the consequences of how IPv6 will work; try to imagine what this does for SNMP as previously discussed. Since the MAC address is hard coded by the manufacturer into all network enabled devices and is the IPv6 host identifier all SNMP software needs to do is collect these MACs via simple sniffer routines to build an inventory of all devices on a network. By using the manufacturer part of the MAC and the Internet to look up a device, it can be identified by manufacturer, device type, and unique serial number automatically. SNMP device tables can virtually build themselves.

As new devices appear on a network both the routers and the SNMP systems can notify administrators who can then determine if this is a legitimate device on that network or someone trying to connect an unauthorized device such as a rogue wireless access point or a network intruder. Furthermore, portable network devices (laptops, cellphones, etc.) can be authenticated by their base network's router when they connect to a "foreign" network and ask for a network ID since they will provide their previous network ID as part of the address request. A possible side benefit is that stolen devices could be traced to their current location. Obviously, this is a great help for making the Internet as well as private networks more secure but it also removes all Internet anonymity at least at the device level although it will not identify the individual using the device.

Another consequence of IPv6 is more efficient network bandwidth usage. As noted on page 592-594, broadcast packets go away in favor of the more efficient multicast packets and the new anycast packets. As you can see in this all too brief chapter the Internet and most private TCP/IP based networks change dramatically when IPv6 is implemented instead of IPv4. Changing the Internet worldwide all at once is impossible so transition mechanisms have been proposed and implemented to allow individual networks to transition at their own pace. Unfortunately this has also allowed various organizations to procrastinate about allocating resources to switch to this more efficient and secure protocol.

The author does an admirable job of describing how IPv6 works in a single chapter and I have not even tried to review that aspect of IPv6. Instead, I have tried to cover the reasons for and the consequences of switching to IPv6. The material covered in this lesson has profound implications for all levels of TCP/IP networking and we have just scratched the surface. So go ahead and post your comments, ideas, and questions concerning IPv6 in the current discussion.