Technology, much like individual products, has a distinct lifecycle that spans from initial introduction to eventual obsolescence, a pattern that is fairly common in the United States. Typically a disruptive invention storms on the scene, gains adherents, eventually plateaus, and finally dies out, usually after being displaced by the “next big thing.” A specific example that most of us remember is the Video Home System, or VHS, that brought movies and other entertainment directly into the home in the mid-1970s. All in all, VHS had a fairly long run, but in the end, the Digital Versatile Disc (DVD) displaced the technology.
Networking technologies are no exception to this lifecycle rule, as evidenced first by the evolution various Local Area Network technologies, with Token Ring competing with Ethernet, and even various Ethernet media (such as Thinnet, 10 Mbps, FastEthernet, etc.) coming and going. This is the exact situation that applies to the current version of the Internet Protocol, typically referred to as IPv4 or simply IP. Introduced by the Internet Engineering Task Force (IETF) in RFC 791 in September 1981, IPv4 has dominated the networking landscape for some time, and it is the most widely deployed routable protocol of all time. Through the power of this protocol, an individual on one side of the globe can send real-time messages to someone on the other side.
However, as innovative as IPv4 has been historically, the protocol has undeniably begun to show its age. The most obvious (and most publicized) shortcoming certainly relates directly to the pool of available publicly routable address space available. Short-term solutions, such as Network Address Translation (NAT), stemmed the shortages for a period of time, but with the last available address blocks now allocated, something clearly needs to change. This is the intent and purpose of IPv6, which is an entirely new version of the Internet Protocol.
What’s Different about IPv6?
As previously mentioned, one of the major motivating factors behind the development of an updated version of the Internet Protocol had to do with inadequate address space. In IPv4, address sizes are based on 32-bits whereas, in IPv6, the addressing size is increased to 128 bits. To put this into the correct perspective, consider the following IPv4 address.
The binary representation of the dotted decimal notation (DDN) of this address would be:
The overall capacity of the IPv4 address space, based on 32-bits, yields 4,294,297,296 and, as stated, most of this has already been allocated. Contrast that with an IPv6 address space of 128 bits, which provides 340 trillion addresses by comparison. Since we will discuss IPv6 addressing formats in a moment, we will not display a comparable address here.
Just about anyone who has done code development would change fundamental things about the program structure after the benefit of experience, and IPv6 designers had the opportunity to modify the operation of the protocol. Because of this, some elements of the protocol header were discarded and others added. Although the actual header is larger, the functionality involved is much more efficient. For example, IPv6 packets do not use the checksum mechanism, which required an entire recalculation for any changes to the packet in IPv4. Also, a flow label, used for easily flagging packets belonging to the same flow, was added.
Elimination of Broadcasts
Even the most casual observation of IPv4 transaction traffic will reveal a number of all-nodes broadcasts within the network. While not all devices act on these, the network adapter still is forced to listen, slowing its ability to do other things. If you have spent any time trying to carry on a conversation with someone in a loud and crowded room, you get a sense of how that works. IPv6 eliminates broadcasts entirely, opting instead to use multicast-driven mechanisms that are less resource-intensive.
Elimination of Network Address Translation
While IPv6 did not initially require the usage of NAT, as address depletion became a major issue, it became an accepted reality of everyday life in networking. Certainly, while many improvements have been made to NAT, the reality is that it breaks the end-to-end model on which the Internet Protocol was created to emulate. IPv6 does not rely on NAT at all, though some transition mechanisms can certainly use it as a temporary measure.