An upper bound model for TCP and UDP throughput in IPv4 and IPv6

https://doi.org/10.1016/j.jnca.2007.11.009Get rights and content

Abstract

Due to the shortage of public IPv4 addresses, the IETF has developed a new version of the Internet Protocol called IPv6. Many institutions all over the world had already started the migration to IPv6. Since this migration has to be done slowly, the first step is the coexistence of the two protocols (IPv4 and IPv6) for some years. One important issue for IPv6 to gain acceptance, is its performance in end-user applications. Hence, due to the availability of a variety of IPv6 implementations on different operating systems, it is important to evaluate the performance of the different IPv6 stacks, and compare it to the one shown by IPv4. In this paper, we present an upper bound model to compute TCP and UDP throughput for IPv4 and IPv6, in a full-duplex point-to-point connection. Our model can be used for any variant of Ethernet technology (10, 100, and 1000 Mbps). To validate this model, we did experiments and compared the maximum theoretical throughput with the experimental ones. Experiments were done with Windows XP SP2, Solaris 10, and Debian 3.1, which are very popular operating systems. The results show that 10 Mbps Ethernet technology is already very mature, since it gave performance very close to the maximum theoretical throughput. Experiments with FastEthernet (100 Mbps) show a TCP and UDP throughput close to the maximum theoretical throughput, especially for large payload. In the case of GigaEthernet (1000 Mbps), experimental results are not far from the maximum throughput for large TCP and UDP payload. However, for small TCP and UDP payload, the differences between our model (the maximum throughput) and the experiments are important. These differences should significantly decrease with the release of faster technology (processors and RAM).

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)

  • W. Shiau et al.

    Evaluating IPv6 on a large-scale network

    Comput Commun

    (2006)
  • M. Blanchet

    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...
  • J. Davies

    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...
There are more references available in the full text version of this article.

Cited by (0)

View full text