So I have heard for years that we are running out of IP addresses. I have also heard for years that IPv6 is “just around the corner”. So what is the hold up? What will be the driving factor for IPv6? The one thing that everyone seems to understand and agree on is that IPv6 will give us more IP addresses. The question in my mind is if we really need more addresses. I think we do, but not just because were about to run out.
Depending on whose estimation you look at, ISPs may no longer be able to requests more addresses in late 2011 and may no longer be able to issue new public addresses to customers in 2012. That is definitely a problem, but I think service providers and customers will use, or more aggressively use, Network Address Translation or NAT to buy time. IPv6 is an evolution in the IP protocol, but is not readily backward compatible. Therefore for IPv6 to become a snowball and begin to roll, it must reach a tipping point. Once enough of the Internet is natively operating or reachable via IPv6, it will make sense for everything to implement IPv6. The challenge is the coexistence until we reach the tipping point and eventually phase out IPv4.
I think one significant benefit to IPv6 and the available address space that I see is the ability to take the Internet back to its original roots of a peer-to-peer network. In the late 90’s everyone started using NAT and that sort of redesigned the Internet from a peer-to-peer network to a network that lent itself to client/server communication. At that point in time most things were a client/server environment, and they still are from a traffic flow standpoint.
Today many uses for the Internet are peer-to-peer from a process point of view. Applications like chat, WebEx, GoToMyPC are peer-to-peer applications that overcome the challenges of NAT by overlaying them into a client/server model. Basically, there is a host server in the middle of the connection that acts as a proxy. This allows the endpoints to all establish outbound connections and alleviate some of the pain of Network Address Translation and firewalls. Unfortunately, this requires resources, adds latency and in many cases costs a service fee.
So assuming this panacea of connectivity from any endpoint to any endpoint, what other issues must be considered? One issue is a searchable centralized repository acting as an endpoint location service. I can imagine that an extension of our current DNS could easily provide this. The next, and most prevalent issue, is security. NAT is not the same thing as a firewall, but its very nature does provide some protection. With the current state of operating systems and applications, I cannot image an Internet with public addresses assigned to all hosts. Somehow endpoint security must get much better for network borders to move and peer-to-peer applications to reach their full potential.
Cisco talks about things like “borderless” networks. It is funny that no one seems to have the same understanding as to what a “borderless network” actually is. My concern is that if operating system and software vendors do not properly develop secure code, that we will never get back to a peer-to-peer model and that we will not reap the rewards of many applications that could be written (or much more efficiently written) under this model. One thing that we have continued to do is to layer on security mechanisms in the endpoints. These must be very manageable and effective and currently they are not. A better solution is just to write adequately secure code to begin with. I doubt this will every happen so in my mind I am concerned that endpoint security will never reach the point that a peer-to-peer Internet is feasible.
So what are your thoughts? How can you see a nearly limitless amount of IP addresses being beneficial? How long do you think it will be until IPv6 will be the primary protocol for the Internet? When do you believe IPv4 will be phased out? Do you think endpoint security will ever be as such that we can have an Internet without Network Address Translation? What do you think is the driving factor for IPv6?