An upper bound model for TCP and UDP throughput in IPv4 and IPv6
Introduction
Due to its rapid and unexpected growth, the Internet is facing serious problems in the last few years. Lack of adequate IPv4 address space may be slowing down the development of the Internet and new applications. Several proposals have been developed and implemented to solve these problems. A popular solution to the IPv4 address shortage is Network Address Translation (NAT) (Srisuresh and Egevang, 2001) which consists of hiding networks with private IPv4 addresses behind a NAT-enabled router with few public IPv4 addresses. As traffic passes from the private networks to the Internet, the source address in each packet is translated on the fly from the private addresses to the public addresses by the NAT-enabled router. Similarly, the destination address in each packet for incoming traffic is translated by the NAT-enabled router. However, NAT is a partial solution since it has drawbacks. Hosts behind a NAT-enabled router do not have true end-to-end connectivity and cannot participate in some Internet protocols. Services that require the initiation of connections from the Internet can be disrupted.
Another solution to the problem of the shortage of public IPv4 addresses that faces the Internet consists to migrate to the new version of the Internet protocol (Davies, 2002; Deering and Hinden, 1998; Popoviciu et al., 2006), called IPv6, or the coexistence between both protocols (Blanchet, 2006). IPv6 fixes a number of problems in IPv4, such as the limited number of available IPv4 addresses. IPv6 has a 128-bit address, while IPv4 has a 32-bit address. IPv6 also adds many improvements to IPv4 in areas such as routing and network autoconfiguration. In recent years, IPv6 has received significant attention from researchers, educational institutions, software vendors, and end users. All modern operating systems (Windows 2003/XP/Vista, Linux, Mac OS, AIX, Solaris, FreeBSD, etc.) support IPv6. For many applications, the overhead introduced by the operating system over the network performance is critical. However, only a few works had been presented to evaluate the performance of IPv6 at the operating system level. Ettikan (2000) and Ettikan et al. (2000) analyzed IPv6/IPv4 performance using simple applications (ping and FTP). They used computers with FreeBSD and KAME1 IPv6 protocol stack to simulate routers. They reported latency using the ping utility, and throughput using the FTP application. Zeadally and Raicu (2003) evaluated IPv6/IPv4 performance on Windows 2000 (Microsoft IPv6 Technology Preview for Windows 2000) and Solaris 8. They connected two identical workstations using a point-to-point connection and reported results such as throughput, round-trip time, CPU utilization, socket-creation time, and client–server interactions, for both TCP and UDP. They used packets ranging from 64 to 1408 bytes. Their experimental results show that IPv6 for Solaris 8 outperform IPv6 for Windows 2000, while IPv4 outperform IPv6 for TCP and UDP for both operating systems. Zeadally et al. (2004) evaluated IPv6/IPv4 performance on Windows 2000, Solaris 8, and RedHat 7.3. The authors experimentally measured throughput of TCP and UDP, latency, CPU utilization, and web-based performance characteristics. Mohamed et al. (2006) evaluated IPv6/IPv4 performance on Windows 2003, FreeBSD 4.9 and RedHat 9. They measured throughput, round-trip time, socket-creation time, TCP-connection time, and number of connections per second in three different test-beds. The first test-bed consisted of a single computer and communication was limited to processes running in this computer using the loopback interface. In the second test-bed, two computers were connected through an Ethernet hub. The Ethernet hub was replaced by a router in the third test-bed. They used packets ranging from 1 byte up to the limits of an IP packet (which is typically around 65,535 bytes). Shiau et al. (2006) evaluated IPv6/IPv4 performance in two different scenarios. In the first scenario, they connected two identical computers using a point-to-point connection. In the second scenario, the two identical computers were each connected to a real large-scale network environment (Taiwan Advanced Research and Education Network) through a Cisco 3750 GB switch, and a Cisco 7609 router. Fedora Core II was the operating system of the two computers. The authors reported results such as throughput, round-trip time, packet loss rate, for both TCP and UDP. None of these previous works compares the experimental results for TCP and UDP throughput to the maximum possible throughput.
In this paper, we present an upper bound model for TCP and UDP throughput for IPv4 and IPv6 over Ethernet. We also setup a test-bed and make own our measurement of TCP and UDP throughput for IPv4 and IPv6 on different operating systems (Windows XP SP2, Solaris 10, and Debian 3.1). We compare the experimental throughput results to the maximum theoretical throughput to validate our model.
The rest of this paper is organized as follows. Section 2 discusses some concepts of Ethernet, IPv4 and IPv6 that are fundamental to infer our upper bound model for TCP and UDP throughput. Section 3 presents the upper bound model for TCP and UDP throughput. Section 4 describes our experiments to evaluate the TCP and UDP throughput, and compare the experimental results with the theoretical maximum. Section 5 concludes the paper.
Section snippets
IPv4 and IPv6 over Ethernet
Our upper bound model for TCP and UDP throughput is limited to Ethernet for a full-duplex point-to-point connection. Ethernet is the most widely available LAN technology. Different bandwidth for Ethernet had been proposed and developed. The 10 Mbps Ethernet variant (10Base2, 10Base5, 10BaseT) was the dominant technology of LAN a few years ago. Due to the immense demand for high-speed networking, it has become almost obsolete and is replaced by 100 Mbps Ethernet (FastEthernet) and 1000 Mbps
Upper bound model for TCP and UDP throughput
To compute the round trip time (RTT), we must consider: (1) the processing time, (2) the transmission time, and (3) the propagation time. The processing time is the overhead introduced by the sender and the receiver to handle the frame for transmission and reception. The transmission time is the amount of time the sender takes to emit all bits into medium. It can be calculated by dividing the number of bits by the bandwidth. The propagation time is the amount of time it takes a bit to traverse
Experiments
As recommended in Bradner (1991) and Bradner and McQuaid (1999), we setup an test-bed consisted of two identical PCs connected by a point-to-point link (see Fig. 12). Both PCs were equipped with a dual AMD Opteron 246 (2 GHz), 2 GB of RAM, a 72 GB hard drive, and a full-duplex 10/100/1000 Mbps PCI Ethernet adapter.
In each PC, we made three partitions on the hard disk and installed Windows XP SP2, Solaris 10, and Debian 3.1.
We did our own benchmarks using the C programming language to measure the
Conclusion and future work
In this paper, we have developed an upper bound model for TCP and UDP throughput in IPv4 and IPv6 over Ethernet between two devices connected by a full-duplex point-to-point link. We also wrote some benchmarks using the C programming language to compute experimentally the TCP and UDP throughput of IPv4 and IPv6. The experiments that we did over important operating systems (Windows XP SP2, Solaris 10, and Debian 3.1) show that 10 Mbps Ethernet is a very mature technology, since the experimental
References (20)
- et al.
Evaluating IPv6 on a large-scale network
Comput Commun
(2006) Migrating to IPv6: a practical guide to implementing IPv6 in mobile and fixed networks
(2006)- Bradner S. Benchmarking terminology for network interconnection devices. RFC 1242, July...
- Bradner S, McQuaid J. Benchmarking methodology for network interconnect devices. RFC 2544, March...
- Carpenter B, Moore K. Connection of IPv6 domains via IPv4 Clouds. RFC 3056, February...
Understanding IPv6
(2002)- Deering S, Hinden R. Internet protocol, version 6 (IPv6) specification. RFC 2460, December...
- Ettikan K. IPv6 dual stack transition technique performance analysis: KAME on FreeBSD as the case. Technical report....
- Ettikan K, Gopi K, Takefumi Y. Application performance analysis in transition mechanism from IPv4 to IPv6. IWS2000,...
- Huitema C. Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs), RFC 4380, February...