JS

Saturday, April 25, 2009

IPv6 The Next Generation Internet Protocol

INTRODUCTION

Internet is the global network that consists of interconnection of millions of computers. The connections between these computers are supplied by a list of rules which is called ‘Internet Protocol’, shortly ‘IP’. IP, which is a member of TCP/IP protocol suit, is the protocol that describes how data is send across networks. This protocol was initially designed to response limited specific requests. However, due to exponential growth of Internet, the current version of IP has gradually become a bottleneck for the future of Internet. As a result, transition to a new flexible and powerful protocol is unavoidable. This new protocol is called IP version 6 (IPv6).

This report will be about the next generation Internet Protocol, IPv6. The purpose of this report is to inform reader about current situation of Internet Protocol, necessity of transition to IPv6, features of IPv6 and transition strategies for IPv6. Since IPv6 is a high approach of engineering study, therefore includes lots of technical details, only key issues of IPv6 will be presented. This report will be beneficial for researchers who are interested in computer networking.

The four parts of this report discusses (1) definition of Internet Protocol, (2) necessity of IPv6, (3) features of IPv6, and (4) transition to IPv6. The first section describes Internet Protocol and a brief history of IP. The necessity of IPv6 section discusses bottlenecks of current protocol and why IPv6 is needed. In the following section, some of features of IPv6 will be explained. The final section gives information about transition period, time of transition, current studies for transition and strategies that will be followed in order to not experience troubles.
INTERNET PROTOCOL OVERVIEW

Before explaining structure of IPv6, its features and necessity of transition to IPv6, it is beneficial to mention what IP is, and its history.
What is IP?

Internet Protocol (IP) is one of the most important cornerstones of Internet structure that provides connection between any peers that are connected to Internet. Technically, as Kozierok (2004) states, “The Internet Protocol is the primary OSI network layer (layer three) protocol that provides addressing, datagram routing and other functions in an internet work”.
History of IP

History of IP started more than 20 years ago with development of a research network in United States Defense Advanced Research Agency (DARPA, or ARPA). This network, named ARPAnet, may be considered as grandfather of Internet, and it was operating on a number of protocols called Network Control Protocol (NCP). Later, Transmission Control Protocol (TCP) was used for this network. According to writers of HistoryoftheInternet.com (1999) “Transfer Control Protocol (TCP), outlined in a 1974 paper by Kahn and Cerf, was introduced in 1977 for cross-network connections, and it slowly began to replace NCP within the original ARPAnet”.
Internet Protocol firstly defined in Request For Comment document (RFC) 791, in 1981. The name IP version 4 would imply that there were earlier versions of IP, but in fact weren’t. Until version 4 of TCP, functionalities of IP were performed by TCP but there was no distinct protocol named IP and with version 4, TCP was splitted into two parts TCP and IP. In order to provide consistency same version number was applied IP, too. This means, IPv4 is actually IPv1 which was defined in RFC 791.

NECESSITY OF IPv6
Limitations of Current Protocol

As mentioned before, IPv4 which is the current version in use is the only version that was deployed and has not changed since RFC 791, which was published in 1981. However, it was designed only focusing on small experimental network and today’s growth of Internet was not considered. After two decades Internet become a widely used popular communication tool. This popularity caused to reach structural limits of IP.

The most important property of IP is its number allocation system that assigns a number to everyone (Karadere, n.d.). In theory, with its 32-bit addressing structure, IPv4 provides 4,294,967,296 IP numbers. However, as Yeğin (2005) states, due to inefficient number allocation mechanisms, active address amount can never reach this level. In order to use this limited address space more efficiently, many technologies such as Classless Inter-Domain Routing (CIDR), Point-to-Point Protocol (PPP) and Dynamic Host Configuration Protocol (DHCP) have been developed. However, according to Kozierok (2004) they only helped to postpone exhaustion of address space. Eventually, Network Address Translator (NAT) technology was included into structure of Internet as a patch for address limit.

NAT is system that allows privately addressed hosts to connect Internet over same public IP address.

A Burn to IPv6

The current address space is not capable to satisfy the exponential growth of Internet. Although, NAT and other technologies have extended the life time of IPv4, these techniques can not be complete solution for the future of Internet. Furthermore, some problems such as limited address space are structural problems that can not be fixed. That means a new flexible version of IP is the only solution must be considered. Therefore, in the 1990s, Internet Engineering Task Force (IETF) has started working on a new powerful protocol called IP Next Generation Protocol (IPng), later named IP version 6 (IPv6).

Due to version number ‘6’ it might be asked ‘What happened to IP version 5?’. The version number 5 was given to Internet Stream Protocol (ST) which “was created for the experimental transmission of voice, video, and distributed simulation. Two decades later, this protocol was revised to become ST2 and started to get implemented into commercial projects by groups like IBM, NeXT, Apple, and Sun.” (Krikorian, R., 2003).
Evolution of IP
According to Kozierok (2004), the primary motivating factor in creating IPv6 is necessity of a larger address space. Furthermore, together with fixing problems of IPv4, decision of a new protocol “made sense to use opportunity to make as many as improvements as possible”. These important enhancements are listed in Table 1, which is a comparison of IPv6 with IPv4.

IPv4


IPv6

Source and destination addresses are 32 bits (4 bytes) in length.


Source and destination addresses are 128 bits (16 bytes) in length.

IPSec support is optional.


IPSec support is required.

IPv4 header does not identify packet flow for QoS handling by routers.


IPv6 header contains Flow Label field, which identifies packet flow for QoS handling by router.

Both routers and the sending host fragment packets.


Only the sending host fragments packets; routers do not.

Header includes a checksum.


Header does not include a checksum.

Header includes options.


All optional data is moved to IPv6 extension headers.

Address Resolution Protocol (ARP) uses broadcast ARP Request frames to resolve an IP address to a link-layer address.


Multicast Neighbor Solicitation messages resolve IP addresses to link-layer addresses.

Internet Group Management Protocol (IGMP) manages membership in local subnet groups.


Multicast Listener Discovery (MLD) messages manage membership in local subnet groups.

ICMP Router Discovery is used to determine the IPv4 address of the best default gateway, and it is optional.


ICMPv6 Router Solicitation and Router Advertisement messages are used to determine the IP address of the best default gateway, and they are required.

Broadcast addresses are used to send traffic to all nodes on a subnet.


IPv6 uses a link-local scope all-nodes multicast address.

Must be configured either manually or through DHCP.


Does not require manual configuration or DHCP.

Uses host address (A) resource records in Domain Name System (DNS) to map host names to IPv4 addresses.


Uses host address (AAAA) resource records in DNS to map host names to IPv6 addresses.

Uses pointer (PTR) resource records in the IN-ADDR.ARPA DNS domain to map IPv4 addresses to host names.


Uses pointer (PTR) resource records in the IP6.ARPA DNS domain to map IPv6 addresses to host names.

Must support a 576-byte packet size (possibly fragmented).


Must support a 1280-byte packet size (without fragmentation).

Table 1:Differences between IPv4 and IPv6.


FEATURES OF IPv6
Although this report mostly pays attention to IPv6 addressing, IPv6 Header and Address auto-configuration, beyond these features, IPv6 also provides some additional benefits. These benefits are summarized by Enterasys Networks, Inc. (2004) as follows:

* Simplified header format for efficient packet handling.
* The streamlined IPv6 header provides more efficient processing at intermediate routers.
* Hierarchical network architecture for routing efficiency.
* Auto-configuration and plug-and-play support.
* Elimination of the need for Network Address Translation (NAT) and Application Layer Gateways (ALG).
* Embedded security with mandatory IPSec implementation. End-to-end security can be accomplished by deploying IPSec.
* Enhanced support for Mobile IP and mobile computing devices.
* Better support for Quality of Service (QoS). QoS is natively supported in IPv6.

IPv6 Addressing

Larger Address Space
The major factor of designing a new protocol was limited address space; therefore, the main goal of IPv6 is its large address space. It might be expected that new protocol would increase size from 32 to 48 or 64 bits. However, design of IPv6 extends size to 128 bit, which theoretically makes 340,282,366,920,938,463,463,374,607,431,768,211,456 (≈3.4 x 1038) addresses. Although the main concept of 128 bit addressing is to make sure that it will not consume again, “the relatively large size of IPv6 address is deigned to be divided into hierarchical routing domains that reflect the topology of the modern-day Internet” (Davies, 2003, p46).

A New Representation
Due to its large size, instead of ‘dotted decimal notation’, for IPv6, ‘colon hexadecimal notation’ was preferred. In order to keep size down, it is allowed to omit leading zeros and compress contiguous zero valued blocks. The figure below shows representation of an Ipv6 address in different notation. Also it illustrates how zero compression is applied. It should be noted that “::” notation can be used only once and it expresses that all values between two colons (:) are zero.

IPv6 Address Types
As in IPv4, version 6 also supports three address types, however, with some remarkable changes. These three types are 1) Unicast, 2) Multicast and 3) Anycast addresses. Unlike IPv4, as Kozierok (2003) states, “there is no distinct concept of a broadcast address in IPv6”. Functionality of broadcast addressing is performed in IPv6 by multicast addresses. On the other hand, concept of Anycast addresses is special to IPv6 and it will be discussed in the next sections.
1- Unicast Addresses
Global Unicast Address:
Global Unicast addresses are identified with having their first three digits as “001” and correspond to a full 1/8 fraction of the complete size of IPv6 address space. As Davies (2003) describes IPv6 global unicast addresses are equivalent to public IPv4 addresses which are globally routable and reachable on the whole Internet.
The large size of IPv6 address supplies remarkable flexibility to create various hierarchic addressing schemes. However, in unicast addresses, always last portion is fixed to be 64bits to be used as interface identifier. In IPv6, modified Extended Unique Identifier (EUI)-64 addresses are used to represent IPv6 interface ID of all global unicast addresses. Benefit of this representation stated by Kozierok (2003) is that, it makes networks easier to administer, because just one number for each host needed to be recorded.
The Figure 3 illustrates process of deriving a 64-Bit IPv6 Modified EUI-64 Interface Identifier from a standard MAC address

Site-Local Address:

Site-local addresses are implementations of IPv4 private addresses in IPv6. These addresses are supposed to be used within a site or an Intranet and are not forwarded to public Internet. In hexadecimal notation they start with “FEC”, “FED”, “FEE” or “FEF”. Format of site-local addresses is

Link-Local Address:

Link-local addresses start with “FE8”, “FE9”, “FEA” or “FEB” notations. An IETF worker Hinden (1995) explains that link-local addresses “are designed to be used for addressing on a single link for purposes such as auto-address configuration” or neighbor discovery.

Special IPv6 Address Types

■ Loopback Address

The loopback address (0:0:0:0:0:0:0:1 or ::1) is equivalent to IPv4 loopback address of 127.0.0.1. This special address is used for testing device by sending packets to itself.

■ Unspecified Address

According to Juniper Networks’ Routing Protocols Configuration Guide the unspecified address (0:0:0:0:0:0:0:0 or :: ) “indicates the absence of an IPv6 address. For example, newly initialized IPv6 nodes may use the unspecified address as the source address in their packets until they receive an IPv6 address.”

Compatibility Addresses

Compatibility addresses are designed to provide a soft transition to new protocol. Some of these addresses are defined as follows:

■ IPv4-compatible IPv6 addresses: These addresses are assigned to ‘dual stack’ devices which can work with both IPv4 and IPv6. Designed to be have 96 zeros followed by an IPv4 address. (0:0:0:0:0:0.212.156.4.4 or simply ::212.156.4.4 ).

■ IPv4-mapped IPv6 addresses: are formed as 0:0:0:0:0:FFFF.a.b.c.d or by zero-compression ::FFFF.a.b.c.d and they are used to map nodes that are only capable of IPv4.

■ 6over4 IPv4 addresses: Format of this type addresses is [64-bit prefix]:0:0:AABB:CCDD where AABB:CCDD is hexadecimal notation of IPv4 address of a.b.c.d. 6over4 addresses are used for tunneling mechanism.
2- Multicast Addresses

Like in IPv4, in IPv6 multicasting is used to provide send packets to multiple recipients. However, “IPv6 nodes can listen to multiple multicast addresses at same time. Nodes can join or leave a multicast group at any time” (Davies, 2003, p58).

The general structure of an IPv6 multicast address is shown by Figure 6. Scope of a multicast packet is determined with 4 bits length scope field illustrated in Figure 6. In addition, flag value (000T) is with T=0 indicates that multicast address is permanently assigned, but if T=1, it is non-permanently assigned.
3- Anycast Addresses

As Weber and Cheng (2004) describe, anycast addressing is “a new one-to-one-of-many communication method” (p.127). A packet send to an anycast address is routed the interface that is easiest to reach – in routing terms. In application of this property, it provides flexibility of load sharing between routers and finding best server to use.

Weber and Cheng (2004) draw attention to the fact that possibilities of anycast addressing have just been touched on and researches on anycast addressing will continue in the future.
IPv6 Header
Another important feature of IPv6 is its new header structure. Unlike the variable size of IPv4 header, the main header of IPv6 is fixed to be 40 bytes. This is achieved by removing unnecessary fields and placing additional (optional) information into extension headers. Due to this structure as Davies (2003) states, in contrast to 20 bytes minimum-sized IPv4 header, the new IPv6 header is only 40 bytes length. However, the new IPv6 header contains source and destination addresses that are four times longer than IPv4 source and destination addresses (p.93).

The Figure 7 shows IPv4 header and IPv6 main header format. It demonstrates that IPv6 main header has simpler format than IPv4 header. According to one expert from Enterasys Network Inc., this simplified header format provides more efficient packet handling.

Another significant point is that processing issues are done by routers have been reduced from 6 to 4. For example, IPv6 routers will not do fragmentation. As a result, streamlined IPv6 header is more efficiently processed at intermediate routers (Davies, 2003, p7).
Address Auto-Configuration

Address auto-configuration protocols such as Dynamic Host Configuration Protocol (DHCP) ease network management because network administrators do not have to manually assign address to each host. For instance, DHCP server in a network maintains addressing table. Considering this table every host in a network is assigned an IP address by DHCP server. Due to existence of this ‘stated’ table, this type of configuration is called ‘stateful address configuration’. Like IPv4, IPv6 also supports stateful address assignment with a new version of DHCP. Furthermore, IPv6 supports ‘stateless’ auto-configuration, which enables ‘plug-and-play’ Internet connection. According to Kozierok (2004) the idea behind this feature “is to have a device generate a temporary address until it can determine the characteristics of the network it is on, and then create a permanent address it can use based on that information”.
TRANSITION
Transition Period

Transition to IPv6 is expected to take a long time because implementation of new protocol requires remarkable preparation efforts in various sectors. Furthermore, due to growth and importance of Internet connectivity, it is impossible to make migration happen as a ‘plug-and-play’ process for entire Internet. However, transition issues need be done under special care and attention.

According to one expert from Cisco Systems (2003), IPv6 networks have existed since 1996 and by the end of year 2001 Internet Service Providers (ISP) started deploying new protocol in order to provide IPv6 services to their customers. However, consumer adaptation of IPv6 services is expected to continue up to year 2010. On the other hand, it may take many decades in order IPv4 networks to be completely disappeared.
Deployment Strategies

In order to achieve a smooth and healthy integration of IPv6 into existing networks, IETF proposed variety of transition mechanisms. These mechanism are come under three general forms 1) dual-stacking, 2) tunneling and 3) translators. Key issue of these mechanisms to assure the coexistence of both protocols and interoperability of IPv6 networks with existing IPv4-based infrastructures (Enterasys Networks, 2004).
Dual-Stack Mechanism

Dual-Stack devices are ones that maintain both IPv4 and IPv6 protocols. According to Carmés (2002) dual-stacking “enables networks to support both IPv4 and IPv6 services and applications during the transition period in which IPv6 services emerge and IPv6 applications become available.” He also states that an IPv4 address must be assigned for every dual-stack machine. Since IPv6 was developed precisely due to the scarcity of IPv4 addresses, this extra need of IPv4 address may be annoying.
Tunneling Mechanism

In general tunneling mechanisms allows interconnection of separate IPv6 networks over IPv4 based services. However, later as amount of IPv6 networks increase, tunneling IPv4 over IPv6 will be needed. One expert from Cisco Systems indicates following tunnel mechanism will be used during transition period:

o IPv6 Manually Configured Tunnel
o IPv6 over IPv4 GRE Tunnel
o Automatic IPv4-Compatible Tunnel
o Automatic 6to4 Tunnel
o ISATAP Tunnel
o Teredo Tunnel

Figure 8 illustrates an IPv6 tunneling demo topology prepared by IP Infusion Inc. and Foundry Networks with their own products. The figure illustrates how IPv6 hosts communicated with each other over IPv4 clouds.


Protocol Translation Mechanism

Different from the cases dual-stacking and tunneling if there is no common protocol between peers, i.e. one device is IPv4-only and other is IPv6-only device, protocol translators are used to provide connection between these peers. However, it is advised to not use protocol translators when it is not obligatory because some technologies such as IPSec can not work with Network Address Translation-Protocol Translators (NAT-PT).

According to Waddington and Chang (2002) following protocol translation mechanisms are under consideration:

o Network Address Translation-Protocol Translation (NAT-PT)
o Bump-in-the-Stack (BIS)
o Multicast Translator Proxying
o Transport Relay Translator (TRT)
o Bump-in-the-API (BIA)
o SOCKS-Based Gateway

Current Situation in the World

Although address exhaustion is a global problem, implementation of IPv6 networks evolves at different geographies at different rates. One expert form Enterasys Networks (2004) states that this is because “the lack of address space in Asia is a key driver, and such countries, like China, Korea and Japan will migrate to IPv6 more quickly than countries in Europe and North America. While the lack of address space is not so great issue in the United States”. For instance, China has started it transition to IPv6 with development of CERNET2 (China Education and Research Network). CERNET2 is now being called the biggest network running IPv6. On the other hand, in USA, Department of Defense (DoD) claims to complete their transition to IPv6 by year 2008.

CONCLUSION
In this report I have tried to explain main concepts of IPv6, its features and deployment strategies. I have shown that, beyond being a solution to limited address space of IPv4, IPv6 provides additional benefits. Most of these benefits are related to 128-bit hierarchic addressing and its astronomically large address space. Furthermore, I have mentioned how migration to IPv6 will be done. I have emphasized that since IPv6 is an evolution of IP but not revolution, transition to IPv6 will continue over a period of time. Any company planning to implement IPv6 in their network should consider that even though IPv6 mostly took shape, some features still continue changing. In addition, such companies should benefit from experiments of other organizations or companies that are completed their transition to IPv6.

No comments:

Post a Comment