为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Evaluating IPv4 to IPv6

2011-05-23 8页 pdf 523KB 19阅读

用户头像

is_894204

暂无简介

举报
Evaluating IPv4 to IPv6 Evaluating IPv4 to IPv6 Transition Mechanisms Abstract The next-generation Internet Protocol, initially known as IP Next Generation (Ipng), and then later as IPv6, has been developed by the Internet Engineering Task Force (IETF) to replace the current I...
Evaluating IPv4 to IPv6
Evaluating IPv4 to IPv6 Transition Mechanisms Abstract The next-generation Internet Protocol, initially known as IP Next Generation (Ipng), and then later as IPv6, has been developed by the Internet Engineering Task Force (IETF) to replace the current Internet Protocol (also known as IPv4). To enable the integration of IPv6 into current networks, several transition mechanisms have been proposed by the IETF IPng Transition Working Group. This work examines and empirically evaluates two transition mechanisms, namely 6-over-4, and IPv6 in IPv4 tunneling, as they relate to the performance of IPv6. We explore the impact of these approaches on end-to-end user application performance using metrics such as throughput, latency, host CPU utilization, TCP connection time, and the number of TCP connections per second that a client can establish with a remote server. All experiments were conducted using two dual stack (IPv4/IPv6) routers and two end-stations running Windows 2000, loaded with a dual IPv4/IPv6 stack. Keywords: IPv4, IPv6, 6-over-4, encapsulation, tunneling, performance evaluation 1 INTRODUCTION Over the last decade, IETF has been working on the deployment of IPv6 [1, 2] to replace the current IPv4 [3] protocol. The motivations behind IPv6 are briefly discussed in the following section and are covered in the literature [4, 5, 6, 7]. One of the biggest challenges in the deployment of IPv6 is how to migrate IPv4-based infrastructures to those supporting IPv6. It is impractical and costly to replace existing IPv4-based networking infrastructures with IPv6. To ensure a smooth and successful integration of IPv6 into existing networks, the IETF IPng Transition Working Group [1] has been working on several transition strategies, tools, and mechanisms. In general, these transition mechanisms encapsulate IPv6 packets into IPv4 packets and transport them over an IPv4 network infrastructure. We expect to rely on these transition strategies as the Internet shifts from the traditional IPv4 to an IPv6-based Internet while retaining both IPv4 and IPv6 throughout the transition phase. The main goal of this work is to empirically evaluate two transition mechanisms, namely 6-over-4 [8] and IPv6 in IPv4 tunneling [9], and assess the impact of these approaches on end-to-end application performance. We evaluate the performance impact of these mechanisms in a real world setting, which includes hosts and routers supporting dual IPv4/IPv6 stacks. [10] The 6-over-4 mechanism performs the encapsulation of IPV6 into IPV4 packets at the host, and we will refer to it as host-to-host encapsulation henceforth. The IPv6 in IPv4 tunneling performs the encapsulation at the routers, and we will refer to it as router-to-router tunneling throughout the paper. Section 2 covers background information about the fundamental differences between IPv4 and IPv6 and some related works. It also presents a brief overview of the various transition mechanisms, including a significant review of router-to-router tunneling and host-to-host encapsulation. Section 3 describes the test-bed configurations used and our measurement procedures. Section 4 discusses our experimental results. Finally, in section 5, we make some concluding remarks and discuss future work. 2 BACKGROUND 2.1 IPv4 and IPv6 Architecture Internet Protocol was first developed in the early 1980s. In the early 1990s, it became pretty evident that if the Internet will continue to grow at the rate it was growing, the IPv4 address space would be depleted by the turn of the millennium. Some temporary solutions were offered, such as NAT (Network Address Translator) [11] or CIDR ______________________________________________________________________________ * The work presented herein was completed by the author while he was a graduate student in the Department of Computer Science at Wayne State University, Detroit, Michigan, USA. *Ioan Raicu Department of Computer Science Purdue University 1398 Computer Science Building West Lafayette, IN 47907, USA iraicu@cs.purdue.edu Sherali Zeadally Department of Computer Science Wayne State University 5143 Cass Ave., 454 State Hall Detroit, MI 48202, USA zeadally@cs.wayne.edu 0-7803-7661-7/03/$17.00©2003 IEEE (Classless InterDomain Routing) [7], however work began on a new Internet Protocol, namely IPv6. The main reason for a new version of the Internet Protocol was to increase the address space; IPv6 was designed with a 128 bit address scheme, enough to label every molecule on the surface of the earth with a unique address [7]. Furthermore, the only kind of traffic that existed on the internet twenty years ago was elastic traffic, such as emails or file transfers. These kinds of traffic were very flexible regardless of the network conditions; on the other hand, inelastic traffic requires a certain level of guaranteed performance, which if not met, the application does not have the same usefulness. IPv6 was designed for efficiently supporting both elastic and inelastic traffic. The goals of IPv6 were to support scalability, security, and multimedia transmissions. First, the address space is increased from 32 bits to 128 bits. Unlike IPv4, IPSec [12] support has become a requirement in the IPv6 header. Payload identification for QoS handling by routers is now supported by the Flow Label field in the IPv6 packet header. Fragmentation support has been moved from routers to the sending hosts. The IPv6 header does not include a checksum and has no options included in the header, but rather introduces extension headers. Finally, IPv6 requires no manual configuration or DHCP (Dynamic Host Configuration Protocol), which will become important as the number of nodes increases. Overall, IPv6 was carefully thought out and was designed with future applications in mind. [7] The main difference in the packet layout between IPv4 and IPv6 is that IPv4 has a 20 byte header while IPv6 has a 40 byte header. Although the address space in IPv6 is four times the size of its counterpart, IPv6 has reduced the number of required fields and made them optional as extension headers. Since the Ethernet MTU size is 1514 bytes, the additional 20 bytes of header information only incurs an additional 1.3% overhead; an additional 20 bytes of header information when an IPv6 packet is encapsulated in an IPv4 packet raises the overall overhead to 2.6%. In theory, this performance overhead between these two protocols is minimal. 2.2 IPv4 to IPv6 Transition Mechanisms Some currently available transition mechanisms are: Dual Stacks [10], DTI & Bump-in-dual-stack, NAT Protocol Translator [13], Stateless IP/ ICMP Translator (SIIT), Assignment of IPv4 Global Addresses to IPv6 Hosts (AIIH), Tunnel Broker [14], 6-to-4 Mechanism [15], 6- over-4 Mechanism [8], and IPv6 in IPv4 tunneling [9]. Dual Stacks are easiest to implement, however complexity increases at the hosts due to both infrastructures and the cost is higher due to a more complex technology stack. NAT Protocol Translator has scaling and DNS issues, and has single point of failure disadvantage. The Tunnel Broker dynamically gains access to tunnel servers, but has authentication and scaling issues. 6-to-4 mechanism creates dynamic stateless tunnels over IPv4 infrastructure to connect 6-to-4 domains. 6-over-4 mechanism allows the interconnection of isolated IPv6 hosts to connect over the IPv4 infrastructure without requiring IPv6 enabled routers or explicit tunnels. IPv6 in IPv4 tunneling allows existing infrastructure to be utilized via manually configured tunnels. We chose to pursue the IPv6 in IPv4 tunneling and 6- over-4 as a transition mechanism. 6-over-4 mechanism performs the encapsulation at the host, and therefore we will refer to it as host-to-host encapsulation throughout the paper. The IPv6 in IPv4 tunneling performs the encapsulation at the routers, and hence we will refer to it as router-to-router tunneling. The router-to-router tunneling enables two entire LANs to be upgraded to IPv6 while maintaining connectivity to the rest of the Internet. Host-to-host encapsulation is also addressed mainly because of its simplicity of implementation, and offers another method of making the transition from IPv4 to IPv6 as smooth as possible. Encapsulation of IPv6 packets within IPv4 packets allows two IPv6 hosts/networks to be connected with each other while running on existing IPv4 networks. IPv6 packets are encapsulated in IPv4 packets and then are transmitted over IPv4 networks like ordinary IPv4 packets. At the destination, these packets are de-capsulated to the original IPv6 packets. It should be noted that encapsulation of IPv6 packets in IPv4 packets, only IPv4 routing properties will be utilized and hence the IPv6 packet will lose any special IPv6 features until it is de-capsulated at the receiving host/router. It requires a hole in a firewall to allow protocol 41 (IP in IP encapsulation, or in our case, IPv6 in IPv4) passage. 2.2.1 Host-to-Host Encapsulation In the host-to-host encapsulation method, the encapsulation is done at the source host and the de- capsulation is done at the destination host. The encapsulated datagrams are sent through a native IPv4 network that has no knowledge of the IPv6 network protocol. Figure 1 illustrates two hosts, each with dual IPv4/IPv6 stacks which encapsulate the packets of IPv6 in IPv4 packets and transmit over the network as an IPv4 packet. With this transition mechanism, it is possible to support IPv6 simply by upgrading the end hosts protocol stacks to IPv6 while leaving the IPv4 infrastructure unchanged. Figure 2 depicts an IPv6 packet encapsulated in an IPv4 packet. All the various header fields (IP version, Flow Label, Next Header, etc) are clearly visible just as we had described them in the earlier section. Figure 1: Host-to-Host tunneling Figure 2: IPv6 packet encapsulated in an IPv4 packet depicted by the Microsoft Network Monitor 2.2.2 Router-to-Router Tunneling In router-to-router tunneling mechanism, encapsulation is done at the edge router of the originating host and de- capsulation is done at the edge router of the destination host. The tunnel is created between the two edge routers supporting both IPv4 and IPv6 stacks. Therefore, the end hosts can support native IPv6 protocol stack while the edge routers create the tunnels and handle the encapsulation and de-capsulation of IPv6 packets over the existing IPv4 infrastructure. Figure 3 shows a tunnel established between two dual stack edge routers. The IPv6 packets are forwarded from host to edge routers while encapsulation takes place at the router level; similarly at the other end, the reverse process takes place. In this method, both edge routers need to support dual stacks and established a tunnel prior to transmission. Note that other transition mechanisms exists that dynamically establish the tunnels as needed. Figure 3: Router-to-Router Tunneling 2.3 Related Work It is important to point out that our work was driven by the fact that there is no empirical performance experimentation to evaluate any of the transition mechanisms that currently exist to assist in the deployment of IPv6 networks. This work extends our previous work [16] where we compared the IPv4 protocol and the IPv6 protocol under various operating systems and testbed configurations. Most of the industry wide routers implement their functionality in hardware and are therefore we believe that hardware based routers are more efficient than a software-based router implementation. The reason few researchers tested IPv6’s performance using hardware- based routers supporting dual stack IPv4/IPv6 are relatively expensive; as an example, the two routers we used for our experiments cost a total of US $60,000. As a result, most of the work done in the research community has been performed using software-based routers utilizing off-the-shelf PCs. Various works have been attempted [17, 18, 19, 20, 21] which evaluated the IPv6 protocol stack, however none of them used hardware-based routers, had such a wide range of metrics, and none investigated transition mechanisms. 3 EXPERIMENTAL TESTBED AND MEASUREMENT PROCEDURES 3.1 Testbed Configuration Our testbed consisted of two dual stack (IPv4/IPv6) routers: an Ericsson AXI 462, and an IBM 2216 Nways Multiaccess Connector Model 400. In addition, two identical workstations were connected directly to the routers and were configured to be on separate networks. Ericsson AXI 462 Router PC SZ06 IPv4 - 141.217.17.26/24 IPv6 - 4:4:4:4:4:4:4:2/64 PC SZ07 IPv4 - 172.17.0.27/24 IPv6 - 8:8:8:8:8:8:8:2/64 * R3 IPv4 10/100 - 10.0.0.1/8 * R3 IPv6 10/100 - 3:3:3:3:3:3:3:1/64 * R4 IPv4 10/100 - 141.217.17.49/24 * R4 IPv6 10/100 - 4:4:4:4:4:4:4:1/64 * R5 - N/A * R6 - N/A * R1 - N/A * R2 - N/A * R3 - N/A * R4 IPv4 10/100 - 10.0.0.3/8 * R4 IPv6 10/100 - 3:3:3:3:3:3:3:3/64 * R5 - N/A * R6 - N/A * R7 - N/A * R8 IPv4 10/100 - 172.17.0.1/24 * R8 IPv6 10/100 - 8:8:8:8:8:8:8:1/64 * * * * * * * * * * * * * * * * IBM AS/400 Router Figure 4: IBM-Ericsson Testbed architecture; two routers are depicted, an IBM 2216 Nways Multiaccess Connector Model 400 and an Ericsson AXI 462 Both workstations used were equipped with Intel Pentium III 500 MHz processors, 256 megabytes of SDRAM PC100, 30GB IBM 7200 RPM IDE hard drive, and COM 10/100 PCI network adapters. The workstations were loaded with Windows 2000 Professional. Windows 2000 had the IPv4 stack as a standard protocol; however in order to get IPv6 support, an add-on package was installed. There were two add-on package choices to choose from, both written by Microsoft and in Beta testing. We chose the newer release of the two, “Microsoft IPv6 Technology Preview for Windows 2000” [22] which is supported by Winsock 2. Our testbed configuration shown in Figure 4 a depicts the entire testbed utilizing two routers in between the two end hosts connected via a 100 Mbit/s link. Note that the IP addresses of the end hosts are not on the same network, and hence we have the routers to allow communication between the two distinct networks. In the Ericsson router, R3 through R6 are the various network cards available; each interface card has both an IPv4 and an IPv6 address. Similarly, on the IBM router, R1 through R8 are the various network cards that are available; each interface card has both an IPv4 and an IPv6 address. 3.2 Measurement Procedures The majority of the tests were done for a sufficiently long period of time and resulted in the exchange of 50,000 packets to 1,000,000 packets, depending on the size of the packets sent and the corresponding test. We conducted an empirical measurement based on the following performance metrics: throughput, latency, CPU utilization, TCP connection time, and the number of TCP connections per second. All the performance measurement software was written in C++. • Throughput: The rate at which bulk data transfers can be transmitted from one host to another over a sufficiently long period of time; the performance is measured in Mbit/s • Latency Latency, also known as RTT (round trip time), is the amount of time it takes one packet to travel from one host to another and back to the originating host; the performance is measured in microseconds per RTT • CPU Utilization This metric was measured only for Windows 2000 using the Windows Task Manager under the performance tab; the average CPU utilization was recorded throughout each corresponding experiment; the performance is measured in percentage of utilization • TCP Connection Time This metric measured the amount of time it took to establish a TCP connection between the client and the server; the performance is measured in microseconds per TCP connection • Web Client/Server Simulation This simulation investigated the maximum number of tests that could be performed per second by the client/server applications; the test comprised of: create a socket, make a TCP connection, send a 1- byte message, receive a 1-byte message, tear down the connection, and destroy the socket; the performance is measured in number of tests per second We conducted three basic performance comparison tests over the TCP transport protocol under the Windows 2000 operating system: • Homogeneous IPv6 Network (Figure 5) is referred to as TCP/IPv6 Stack Test Name in Figure 8 through Figure 11 • Heterogeneous IPv4 and IPv6 Network (Figure 6), known as IPv6 in IPv4 Tunneling, is referred to as TCP/IPv6 Stack Test Name (Router-to-router Tunneling) in Figure 8 through Figure 11 • Heterogeneous IPv4 and IPv6 Network (Figure 7), known as 6-over-4, is referred to as TCP/IPv6 Stack Test Name (Host-to-host Encapsulation) in Figure 8 through Figure 11 IPv6 Router IPv6 Protocol Stack IPv6 Infrastructure IPv6 Application IPv6 Router IPv6 Protocol Stack IPv6 Application Figure 5: IPv6 Homogeneous Network IPv4 Router IPv4/IPv6 Protocol Stack IPv4 Infrastructure IPv6 Application IPv4 Router IPv4/IPv6 Protocol Stack IPv6 Application Figure 6: Router-to-router Tunneling IPv4/IPv6 Heterogeneous Network IPv4/IPv6 Router IPv6 Protocol Stack IPv4 Infrastructure IPv6 Application IPv4/IPv6 Router IPv6 Protocol Stack IPv6 Application Figure 7: Host-to-host Encapsulation IPv4/IPv6 Heterogeneous Network Note that all the basic configurations above all have IPv6- based applications, and the major difference between the various configurations is the infrastructure that is required for two end applications to communicate. 4 EXPERIMENTAL RESULTS 4.1 Throughput As Figure 8 indicates, every layer of complexity adds additional overheads for all packet sizes. 0 5 10 15 20 25 30 35 40 45 50 0 8192 16384 24576 32768 40960 49152 57344 65536 Packet Size (bytes) Th ro ug hp ut (M bi ts /s ) TCP/IPv6 Stack Throughput (Host-to-host Encapsulation) TCP/IPv6 Stack Throughput (Router-to-router Tunneling) TCP/IPv6 Stack Throughput Figure 8: TCP throughput results for IPv6, and transition mechanisms with packet size ranging from 64 bytes to 64 Kbytes Router-to-router tunneling seems to have very little overhead on top of the IPv6 protocol stack. Specifically, it incurs about 1% to 7% overhead. On the other hand, the host-to-host encapsulation performed surprisingly better than IPv6; this may seem counter intuitive, however the better performance can be justified to the better performance of the IPv4 infrastructure [16]. Once a packet is encapsulated at the host, it will traverse the entire network as an IPv4 packet, and only at the receiving host will the packet be de-capsulated. As for the CPU utilization depicted in Figure 9, the host-to-host encapsulation incurred the most CPU overhead at the host. This was expected since the end host had to encapsulate and de-capsulate (at the host where the CPU utilization measurements were taken) every single packet that was transmitted or received, while the other two tests simply sent and received IPv6 packets. 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 0 8192 16384 24576 32768 40960 49152 57344 65536 Packet Size (bytes) C PU U til iz at io n % TCP/IPv6 Stack Throughput CPU Utilization (Host-to-host Encapsulation) TCP/IPv6 Stack Throughput CPU Utilization TCP/IPv6 Stack Throughput CPU Utilization (Router-to-router Tunneling) Figure 9: CPU utilization for TCP throughput results for IPv6, and IPv4-IPv6 transition mechanisms with packet size ranging
/
本文档为【Evaluating IPv4 to IPv6】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索