Sunday, September 5, 2010

Understanding IPv6


Every device on the network uses an address to with another device on another network. This address in layman terms is called an “IP Address”. The current scheme of IP Address assignment is called IPv4 or IP version 4 uses 32 bit number. This 32 bit number is usually represented by 4 numbers separated by periods. For example, 202.144.79.8 is an example of an IP address. IPv4 addressing scheme can at max represent upto 4 billion IP addresses. In order to figure out your IP Address, read What’s your IP Address?
A 32 bit number can represent up to 4 billion different IP addresses. In reality the number is somewhat less, since some numbers and digits have reserved meanings. Now from a practical standpoint, it turns out that4 billion isn’t enough. If you are wondering as to why 4 Billion is not enough, its so because of the way that IP addresses are assigned and used, we would be running out of new addresses in a few years from now. However, the good news is that we already have a solution for this. 
Internet Protocol Version 6, or IPv6 brings with it a lot of interesting features, however the most notable one is that IPv6 address is going to be 128 bits long instead of the conventional 32 bits. Though, it sounds like just a 4 time multiple of 32, the reality is somewhat different. 128 bit addresses in turn refers to 2128 (about 3.4×1038) addresses, which in turn seems like more than enough to give an IP address to every grain of sand on this earth . Picture the fact below which gives a number to the IP Addresses possible with the two different schemes and you can get a better idea.
To get a better idea, about the number of IP Addresses here is the exact number of addresses availbale with IPv4 and IPv6
IPv4: 4,294,967,296 addresses.
IPv6: 340,282,366,920,938,463,463,374,607,431,768,211,456 addresses.
The extended address length provided by IPv6 eliminates the need to use network address translation to avoid address exhaustion, further; it also simplifies aspects of address assignment and renumbering when changing Internet connectivity providers.
IPv6 addresses look something like 2001:0db8:3c4d:0015:0000:0000:abcd:ef12 .
This definitely seems like a tough thing to remember as opposed to the IPv4 address schemes, but the good news is that some kind of shorthand notation for this is also in the roadmap and maybe it wont be too tough to remember the IPv6 address as well.
Image: IPv6 Header
Image: IPv6 Header
Some Interesting changes and advantages which will come over to the Internet Addressing space with the adoption of IPv6 are:
1.) Larger Address Space: As I already wrote earlier, IPv6 will bring with it a very large address space of 2128 (about 3.4×1038) addresses.
2.) Multicasting vs. Broadcasting: IPv4 currently defines broadcast addresses for network address operation; with IPv6 there would be no need to define the broadcast address. Instead, IPv6 accomplishes broadcasting with a new implementation of multicast addressing that does not disturb all interfaces on a link.
3.) TTL field: In IPv6, the TTL field has been replaced by a Hop-Limit field. In a usual IPv4 scenario, TTL field gives the number of router hops covered. This data can be interpreted from a Ping request. Below is a sample response obtained from a ping request to www.google.com
Reply from 216.239.61.104: bytes=32 time=66ms TTL=240
Every time, a router is crossed; the value of TTL generally gets reduced by 1. In this scenario, the start value of the router would have been 256.
4.) Payload Size: Currently used IPv4 limits packets to 64  Kb ( 1Kb = 1024 bytes). IPv6 on the other hand has optional support for packets over this limit, which can be as large as 4 GB. This will result in more efficient usage of broadband.
5.) IPv6 allows for many new possibilities, including a new geolocation system that lines up IPv6 addresses with squares or hexagons across the earth’s surface, in a new and novel latitude and longitude system that can be scaled down to nearly microscopic granularity.
6.) Resource Allocation support in IPv6 : IPv6 provides a mechanism called Flow Label for resource allocation. Flow label enables source to send request for the special handling of a packet. This mechanism is really helpful in real-time audio and video transmission.
7.) Better header format : The header of IPv6 has been designed in a way to speed-up the routing process. In header of IPv6 options are separated from the base header. Options are inserted into base header only when required by the upper-layer data.
Interestingly, IPv6 might also bring in opportunities for cost savings for some hugely networked companies as there won’t be any need to dedicate a box to act as a DHCP server and a NAT, which in turn means that those servers can be utilized for other tasks.
Many people would have also heard of the term IPv5, but interestingly, it was not a successor to IPv4; rather, it was an experimental streaming protocol, intended to support voice, video, and audio.
The adoption of IPv6 is in progress and it might take us a few more years before we see the entire network space getting ruled by the IPv6. For those of you who still use IPv4 and have no roadmap for transitioning from v4 to v6, maybe someday you will be forced to switch but then it’s pretty transparent, and you probably won’t be affected for some time. There actually is some IPv6 traffic on the internet already, using techniques to coexist with the IPv4 traffic.
As far as the migration of traffic from IPv4 to IPv6 is concerned, it will happen over time. Internet today is more like a cloud of heavy density IPv4 addresses. Slowly over the time, when IPv6 address space will start building up; IPv4 cloud will start shrinking.
The approach that most organizations will most probably take to adopting IPv6 is to running it natively on their backbones. Most of the organizations will then be using IPv6 over IPv4 tunneling for connectivity between the backbone and IPv4 nodes on their own networks, as well as Internet traffic exchange with the outside world. Though, this approach seems like an ideal migration strategy. It has its drawbacks as well; tunneling can slow throughput and it also requires network managers to configure information about tunnel endpoints into the encapsulating node, which is a time-consuming process.
There are certainly other migration approaches available as well. One of the other most widely known and discussed strategy is called ‘6over4’. This can be used if a multicast is available for IPv4. In this strategy a IPv6 multicast will be deployed over a IPv4 multicast. IPv6 can then utilize neighbor discovery for self-configuration.

No comments:

Post a Comment