A Functional and Performance-Oriented Comparison of Transition Mechanisms for Internet Transition from IPv4 to IPv6 Protocol

A computer network that would cover the entire planet and connect billions of devices was beyond imagination when the Internet was first conceived. Consequently, over the last 20 years, the Internet has become a crowded place. This is because the IP protocol that makes the Internet possible was an experimental protocol that “escaped from the lab”. The Internet address exhaustion problem was identified less than a decade later, when the first proposal solutions also began to emerge. Switching to the Classless Inter-Domain Routing (CIDR) scheme was crucial for continued Internet growth, but insufficient to resolve the resulting problematic. Being able to address only $2^{32}$ Internet nodes started becoming a serious concern that was subsequently temporarily dismissed due to the aggressive use of Network Address Translation (NAT). As collateral damage, NAT heavily endangered one of the core principles of the Internet--end-to-end connectivity. The only possible long-term solution to the IPv4 address exhaustion and end-to-end connectivity problem appears to be transitioning the Internet from the “old” IPv4 protocol to the “new” IPv6 protocol. This must be done because IPv4 and IPv6 are incompatible. However, transitioning such a large and complex system is not an easy task, particularly if applying “hacks” continues to solve the most difficult problems and if motivation appears to be far off and misty. Many transition mechanisms have been proposed in order to solve this task and make the transition less painful for users. A scientific approach to the development, analysis and evaluation of these mechanisms is crucial in order to avoid as much hassle as possible during the transition as well as during the coexistence period of the IPv4 and IPv6 protocols. In this thesis, we thoroughly address the IPv6 transition problem. Even though the IPv6 protocol was standardized more than a decade and a half ago, we show that the transition has not yet gained its momentum. We examine how the transition to the IPv6 was approached and executed through time and what are the major drawbacks and drivers in this ongoing process. We identify two major groups of transition mechanisms: IPv6 deployment mechanisms, which are used to introduce IPv6 connectivity into IPv4-only networks, and IPv4 address sharing mechanisms, which are used to assure the long-term co-existence of the IPv4 and IPv6 protocols on the Internet by enabling ISPs to allocate a single IPv4 address to multiple subscribers. We analyse the current state of the transition and systematically review a large number of the IPv6 transition mechanisms that have been proposed thus far. We then go one step further in approaching IPv4 address sharing mechanisms. In recognition that it is difficult to scientifically examine the actual proposals of various mechanisms, we develop a classification system by defining five dimensions. We classify existing IPv4 address sharing mechanisms into nine distinct classes and analyse mechanism properties by systematically analysing possible values along the dimensions. To enable practitioners to understand the tradeoffs between different mechanism classes, we asses the key advantages and disadvantages of individual classes in the tradeoff analysis. By defining the dimensions for the classification, we construct a 5-dimensional space of all possible IPv4 address sharing mechanisms. We identify a combination of properties that result in another useful IPv4 address sharing mechanism - AP64. We define the architecture and function of this mechanism and provide all the technical details for its implementation. Finally, we propose a theoretical performance analysis framework for IPv4 address sharing mechanisms. While conducting this research, it has become apparent that it is indeed challenging to generally evaluate the performance of different mechanisms because they are complex and difficult to implement. Also, the implementations of whole mechanisms are difficult to obtain. To alleviate this problem, we decompose the mechanism classes into basic packet operations and experimentally evaluate their performance. We tackle space and time requirements for the mechanisms and establish a resulting framework that may be used as a tool to evaluate the performance of future mechanisms by classifying them using the proposed classification system and identifying their basic packet operations.