Article Preview
TopIntroduction And Motivation
Transmission Control Protocol and Internet Protocol (TCP/IP) are the most dominant Internet protocols which are built into modern MS Windows and Linux-based systems. There is an effort in migrating to IPv6 worldwide, as is evidenced by celebrating World IPv6 launch day worldwide (Ahmed, 2012). IPv4 has various limitations including a smaller address space (32-bit), which may eventually run out its address pool (ICANN - Global Policy for the Allocation of the Remaining IPv4 Address Space). In contrast, IPv6 has a much larger address space (128-bit) and has great potential to support new services such as real-time multimedia delivery, enhanced security and mobility, and better QoS. However, IPv6’s large address space introduces a larger overhead in its packet header (e.g. a 40-byte header compared to a 20-byte header for IPv4). This increase in overhead has some practical implications when it comes to overall IPv6 system performance.
The deployment of IPv6 is occurring side by side with the growth of Gigabit Ethernet in corporate as well as home networks alongside the release of the newest Windows and Linux OSs. Thus, it is imperative to evaluate the performance of IPv6 with respect to the latest OS developments. In this paper we evaluate the performance of IPv6 against IPv4 using four of the newest and commonly used client/server OSs (e.g. Windows 7, Windows Server 2008, Ubuntu 10.04, and Red Hat Enterprise Server 5.5) in a peer-to-peer Gigabit Ethernet local area network (LAN). These OSs were selected based on their popularity and relevance to our study. The study aims to assist network designers and planners to make an informed decision on the selection of client and server OSs for migrating to IPv6.
IPv6 is evaluated by measuring various QoS metrics, such as link throughput, round-trip-time (RTT), jitter, and CPU utilization. The link throughput (measured in Mbps) is the rate at which packet is transferred from the client to the server in the network (Pragad, Friderikos, Pangalos, & Aghvami, 2011). The RTT (measured in millisecond) is the round trip time for a packet sent from a client to the server with a request and the same packet comes back to the client with a response. Timestamps are collected before sending and after receiving the packet at the client side. RTT is the difference of the two timestamps. Jitter (measured in millisecond) is the packet delay variation between successive packets of the same streams of packets. The CPU utilization (measured in %) is defined as the amount of CPU processing resources consumed by the host (client) to transfer data across the network.
By setting up a testbed we measure the performance of both IPv6 and IPv4. We have included IPv4 in the evaluation for comparison purposes because many organizations are still using IPv4 while migrating to IPv6 (ZTI Telecom IP Traffic - Test & Measure). The lack of incentive in deploying IPv6 may slows down in adopting IPv6 in the organizations (Kuhne, 2009; Mackay & Edwards, 2009). Of course organizations could continue to assign IPv4 ‘private-addresses’ for their internal networks using tunnelling mechanisms such as Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) and Network Address Translation (NAT).
However, a very limited research on evaluating IPv6 using newer client/server OSs in peer-to-peer Gigabit Ethernet motivates us to contribute in this area and to formulate this paper. We quantify IPv6 performance degradation by measuring TCP throughput, RTT, jitter and CPU usage for various packet lengths using client/server OSs. These parameters are in-sync with industry standards. For instance, packet lengths ranging from 128 to 1408 bytes are considered because standard Ethernet packet fragmentation occurs at around 1500 bytes as per RFC 1191.
In this paper we address the following two research questions:
- 1.
How do we quantify the performance degradation of IPv6 as a result of its larger address space in peer-to-peer Gigabit Ethernet for TCP?
- 2.
Which modern client/server OS (e.g. Windows or Linux) provides the best system performance over IPv6 networks?