Vous êtes sur la page 1sur 30

1

A SEMINAR ON THE EVOLUTION OF INTERNET PROTOCOL FROM VERSION 1 TO VERSION 6 PRESENTED BY ABARA, DANIEL NSOR 06/EEN/001 DEPARTMENT OF ELECTRICAL/ELECTRONICS ENGINEERING CROSS RIVER UINVERSITY OF TECHNOLOGY (CRUTECH) SUBMITTED TO THE DEPARTMENT OF ELECTRICAL/ELECTRONICS FACULTY OF ENGINEERING CROSS RIVER UNIVERSITY OF TECHNOLOGY (CRUTECH)

EVOLUTION OF INTERNET PROTOCOL (IP) FROM VERSION 1 TO VERSION 6 ABSTRACT The connections between computers are supplied by a set of rules called Internet Protocol (IP). IP is a member of the TCP/IP suite, and is the protocol that describes how data is sent across computer networks. This seminar highlights on how IP versions have evolved from the use of ARPANET (Advanced Research Projects Agency Network) in the early stages of development, to the beta (test) versions of TCP, which came through TCP versions one to three, and then to stability with TCPv4 which was split to IPv4 to the current Internet Protocol New Generation which is called Internet Protocol Version 6 (IPv6). IPv4 which is currently used has not changed since its deployment. It was designed only focusing on small experimental network and todays growth of internet was not considered, hence the need for newer versions of IP. KEYWORDS Internet, ARPANET, TCP/IP, IPv4, IPv6, Protocol, Evolution.

INTRODUCTION Many of us know about the internet. We use it to communicate with friends, loved ones and relatives. A few of us may know of TCP/IP as the glue that binds the internet, but many cannot offer a cogent description of what it is and how it works. This seminar presents some of the basic concepts of TCP/IP. It gives a brief origin of TCP/IP, the basic function of the protocols that constitute TCP/IP, basic and fundamental concepts in networking and explains how transmission of data takes place in real world network. The conclusion summarizes the key points of TCP/IP. So what is TCP/IP really? TCP/IP simply is a means for networked computers (computers connected to one another) to communicate with each other. It does not matter whether they are part of the same network or are attached to different networks. It does not matter if one computer is a WINDOWS computer and the other is a LINUX computer. TCP/IP is a platform-independent standard that bridges the gap between different computers, operating systems and networks. It is the protocol that drives the internet. TCP/IP stands for Transmission Control Protocol/Internet Protocol. A protocol is an agreed-upon standard that permits two computers to exchange data [1]. Wikipedia encyclopedia defines it as a formal description of digital message formats and the rules for exchanging those messages in or between computing systems and in telecommunications [2]. TCP/IP is not just one protocol, but several protocols. This is the reason it is sometimes referred to as a protocol suite, of which TCP and IP are the two principal protocols. The TCP/IP software or application that you install on your computer provides platform-specific implementations of TCP, IP and other members of the TCP/IP family. The internet is the global network of interconnection of millions of computers. The connections

between these computers are supplied by list of rules called Internet Protocol, IP for short. IP, which is a member of the TCP/IP protocol suite, is the protocol that describes how data is sent across networks. This protocol was designed initially to respond to limited specific requests, but due to the exponential growth of the Internet [1], the current versions of IP have gradually evolved as we shall see as we go on. For us to completely understand the basis of TCP/IP and the evolution of the IP versions, let us look at some of the basics of networking in general. 1.1CONCEPT OF PROTOCOL The term protocol may have several meanings depending on the context in which it is used. Hence, there exist several definitions for the word protocol. However in telecommunications and computer engineering, the term protocol refers to an agreed-upon standard that permits two or more computers to exchange data. In detail, a protocol refers to the formal description of digital message formats and the rules for exchanging those messages in or between computing systems. Communication systems use a well-defined format for message or information exchange. Each message has a precise meaning so as to yield a predefined response from the receiver of the message. A protocol is responsible for describing the syntax, semantics and synchronization of communication. One very popular phenomenon where we see the application of protocols is the internet. The communication protocols in use on the internet are designed to perform some complex settings. Hence, instead of using a single universal protocol to handle the required tasks, a set of co-functioning protocols arranged in a layering scheme is used. This layering scheme in use on the internet today is called the TCP/IP model, and the protocols themselves are called the Internet Protocol Suite.

The group responsible for this design is called the Internet Engineering Task Force (IETF). Some of the basic functions of protocols include specifying data formats for data exchange, specifying address formats for data exchange, address mappings, routing, detection of transmission errors, direction of information flow, sequence control, flow control and acknowledgement of message reception. So how are protocols developed? Recall that in digital systems, rules may be expressed as algorithms or data structures. Expressing the algorithms in a portable language makes the protocol software operating system independent. This source code could be considered a protocol specification but this however is not suitable. By describing the software interfaces of the modules on paper and agreeing on these interfaces, implementers are free to do it their way. By specifying on paper, a draft is created that when adhered to and published ensures the inoperability between software and hardware. Such a paper a draft can be developed into a protocol by getting the approval of a standards organization, which will screen the paper through a standardization process, this is called protocol development. One such standards organization is the Internet Engineering Task Force (IETF). The internet protocol is a major protocol for the internet and is used in conjunction with other protocols in the Internet Protocol Suite. Some other important protocols include Transmission Control Protocol (TCP), User Data Protocol (UDP) and Hypertext Transfer Protocol (HTTP). 1.1.1 NETWORKING LAYERS, MODELS AND ARCHITECTURE Network Layers: networking technologies are usually departmentalized in such manner by dividing their functions into layers, each containing a hardware or software element [2]. Each layer performs a particular task, as well as interacting

with layers above and below it. This is like division of labour, where each element performs a function needed by that layer. Network Models: Layering makes it possible for technologies defined by different groups to operate together. For this to occur, it must be agreed how these layers are to be defined and used. The tool used for this is called the networking model. It describes what different layers in a network are, what each layer does, and how it interacts with other layers. The most general model used today is the Open Systems Interconnection (OSI) reference model, which contains seven layers, from physical to Application layer. Network Architecture: An Architecture is a set of rules that describes the function of some portion of the hardware and software, that constitute a stack of layers [2]. A networking architecture is designed to implement the functions associated with a particular set of layers of the OSI Reference model. In this seminar paper, we are interested in the TCP/IP protocol suite, where the IP is one of the protocols 1.2THE TCP/IP SUITE AND ARCHITECTURE The OSI reference model consists of seven layers that represent a functional division of the tasks required to implement a network. The TCP/IP architecture uses four layers that logically span the equivalent of the tops six layers of the OSI reference model. This is shown in the Figure 1.

7 6 5 4 3 2 1

APPLICATION PRESENTATION SESSION TRANSPOR T NETWORK DATA LINK PHYSICAL


OSI MODEL

APPLICATION

(HOST-TO-HOST) TRANSPORT INTERNET NETWORK INTERFACE

(HARDWARE)
TCP/IP MODEL

Figure 1. OSI Reference Model and TCP/IP model [2] The figure above shows how TCP/IP compares with the OSI model. The TCP/IP architectural model has four layers that approximately match six of the seven layers in the OSI reference model. The TCP/IP model does not address the physical layer, which is where the hardware devices exist. The next three layers, network interface, internet and (host-to-host) transport correspond to layers 2, 3 and 4 of the OSI model. The TCP/IP application layer covers layers 5, 6 and 7 of the OSI model.

Internet layer This layer corresponds to the network layer in the OSI reference model and is for this reason sometimes called the network layer even in the TCP/IP model. It is responsible for typical layer 3 jobs like device addressing, data packaging, manipulation, delivery and routing. It is in this layer that we find Internet Protocol which we are interested in. (Host-to-Host) Transport Layer This layer facilitates end-to-end communication over an internetwork. It is here that identification of the specific source and destination application process is completed or accomplished. Application Layer This is the highest in the TCP/IP model. It is broad, corresponding to layers 5, 6, and 7 of the OSI reference model. Numerous protocols reside at the application layer as shown in figure 2. 1.2.1 TCP/IP PROTOCOLS TCP/IP, being a protocol suite, is most often discussed in terms of the protocols that comprise it. Each protocol resides in a particular layer of the TCP/IP architectural model. They work together to allow TCP/IP as a whole to operate. There are generally very many protocols in the TCP/IP suite but there are a few protocols that are usually called the core of the suite, because they are responsible for its basic operation. They include User Datagram Protocol (UDP), Transmission Control Protocol (TCP) and Internet Protocol (IP). These protocols support many other protocols to carry out several functions at each of the layers of the TCP/IP architecture. Transmission Control Protocol (TCP): This is the main transport layer protocol for TCP/IP. It establishes and manages connections between devices and ensures reliable and controlled delivery of data using Internet Protocol (IP) [2]. It divides

the streams of data into chunks called TCP segments and transmits them using IP. Usually, each TCP segment is sent in a single IP datagram. Since IP does not guarantee that datagrams will be received in the same order they were sent, TCP reassembles the TCP segments at the other end to form and uninterrupted stream of data. An example of an application that relies on TCP is File Transfer Protocol (FTP). Internet Protocol (IP): This is the most fundamental protocol. It is responsible for providing connectionless delivery of transport layer messages over a TCP/IP network. It transmits datagrams across a network and performs an important function called Routing [2]. Routing means choosing the path the datagrams will follow to get from one point A to another point B, using routers to hop networks. User Datagram Protocol (UDP): This is a protocol that can be considered a stripped-down or more primitive version of TCP. It is used to send data in simple ways between application processes. It is unreliable unlike TCP because it does not guarantee that datagrams will arrive in the order in which they were sent or even that they will arrive at all, but may give greater efficiency. Still, UDP has its place in the TCP/IP universe, and a number of applications like the SNMP (Simple Network Management Protocol) still make use of it. Other TCP/IP protocols play less visible but important functions in the operation of TCP/IP networks. We have the Address Resolution Protocol (ARP) which translates IP addresses into physical network addresses, such as Ethernet IDs. There is another related protocol, the Reverse Address Resolution Protocol (RARP), that does the opposite , converting the physical network addresses back to IP addresses. We have the Internet Control Message Protocol (ICMP) which is a support protocol that uses IP to communicate control and error information regarding IP packet transmissions. It is ICMP that informs the sender of an IP

10

datagram that there is a problem if a router is unable to forward that IP datagram. We have also Dynamic Host Configuration Protocol (DHCP), File Transfer Protocol (FTP) and a host of others not mentioned here. 2.0 EVOLUTION OF INTERNET PROTOCOL (IP) Since the Internet protocol (IP) is really the foundation of the entire TCP/IP suite, one would think it was created first. However, the history and evolution of IP is a little more complex. The functions it performs were defined at the birth of the Protocol, but IP itself did not exist for the first few years that the protocol suite was being defined [2]. Hence we must first introduce how the protocol suite came about. The internet is a primary reason why TCP/IP is what it is today. The internet and TCP/IP were developed together, with TCP/IP providing the structure and mechanism for implementing the internet. From the initial stages of computer technology, organizations have searched and developed ways to share information. In modern times, individuals depend on ability to access and share informational resources with colleagues. This ability greatly enhances the development of innovations in our societies. Governments have played a role in development of technology based solutions for communication that would enhance our abilities to communicate and share information in our society. The TCP/IP protocols were initially developed as part of the Research network developed by the United States Defense Advanced Research Projects Agency (DARPA) [1], [2], also called or referred to as DARPA by some people. This resulted in a network called ARPAnet (Advanced Research Projects Agency Network). Initially, ARPAnet was designed to use a number of protocols called Network Control Protocol (NCP) [3] that had been adapted from already existing theories and technologies. This network may be considered as grandfather of Internet, but the protocols used however, had flaws

11

and limitations, either in concept or in practical matters such as capacity when used on the ARPAnet. The developers of the new network recognized that trying to use these existing protocols might eventually lead to problems as the ARPAnet rises or increases in size and was adapted for newer uses and applications. For this reason, in 1973, development of a full-fledged system of internetworking protocols for the ARPAnet began. In these early versions of this technology, there was only one core protocol, TCP. These letters as at the early stages did not stand for what they do today, they were for Transmission Control Program. The first version of this predecessor of modern TCP was written in 1973, then revised and formally documented in RFC 675, Specification of Internet Transmission Control Program, December, 1974 [2]. Internet standards are usually defined in documents called Requests For Comments (RFCs). In computer network engineering, a request for Comments (RFC) is a memorandum published by the Internet Engineering Task Force (IETF) describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems [4]. Through the internet society, engineers and computer scientists may publish discourse in the form of an RFC, either for peer review or simply to convey new concepts. The IETF adopts some of the proposals published as RFCs as internet standards. The inception of the RFC format occurred in 1969 as part of the seminal ARPAnet project. Today, it is the official publication channel for the Internet Engineering Task Force (IETF), the Internet Architecture Board (IAB), and to some extent the global community of computer network researchers in general [4]. After these early version of TCP was developed from RFC 675, testing and development of TCP continued for several years. In March, 1977, version 2 of TCP was documented. In August 1977, a significant turning point came in TCP/IPs development. Jon Postel, one of the most important pioneers of the

12

internet and TCP/IP, published as set of comments on the state of TCP. In that document known as Internet Engineering Note number 2, or IEN 2, he provided a superb evidence that reference models and layers are not just for textbooks, and are really important to understand and implement. An extract from that document is given as follows. We are screwing up in our design of internet protocols by violating the principle of layering. Specifically, we are trying to use TCP to do two things: serve as a host level end to end protocol, and to serve as an internet packaging and routing protocol. These two things should be provided in a layered and modular way. I suggest that a new distinct internetwork protocol is needed, and that TCP be used strictly as a host level end to end protocol. -Jon Postel, IEN 2, 1977- [2] What this meant, is that the version of TCP created in the mid-1970s was trying to do too many things at once. It was encompassing both layer three (3) and layer four (4) activities of the OSI reference model. This vision of his was good because we now know that having TCP to handle all of these would have eventually led to problems along the line. Jon Postels observation therefore led to the creation of the TCP/IP architecture, and the splitting of TCP into TCP at the transport layer (layer 4) and IP at the network layer (layer 3), hence the name TCP/IP. The key milestone in the evolution of the Internet Protocol (IP) was the publishing of RFC 791, Internet Protocol September, 1981. This standard which was a revision of the similar RFC 760 of the previous year, defined the core functionality and characteristics of the IP that has been in widespread use for the last two decades. The IP defined in RFC 791 was the first widely-used version of the Internet Protocol. It is not version 1 of IP however but version 4 [1]. This would imply that

13

they were several earlier version of IP at several points in time but there were not. As mentioned already, IP was created when its functions where split out from an early version of TCP, that combined both TCP and IP functions. TCP came through three early versions, 1, 2 and 3. The process of dividing TCP into two portions began in version 3 of TCP, written in 1978. The first formal standard for the versions of IP and TCP used in modern networks (version 4) were created in 1980 [2]. It was at TCP versions 4, that TCP was split into TCP and IP. The version number at which the split took place (versions 4) was adopted and applied to both TCP and IP for consistency sake and to avoid confusion [1], [2]. This is why the first real version of IP is version 4 and not version 1. TCP/IP quickly became the standard protocol set for running the ARPAnet. In the 1980s, more and more machines and networks were connected to the evolving ARPAnet using TCP/IP protocols, and the TCP/IP internet was born. So when you use IP today, you are actually using version 4 and not versions 1. This version number is carried in the appropriate field of all IP datagrams. Since IPv4 was only designed for an internetwork, which is a tiny fraction of the size of our current internet, IP has proven itself remarkably capable. Several changes and additions have been made over time to how IP is used, especially with respect to addressing but the core protocol is basically what it was in the RFC 791.

2.1 INTERNET PROTOCOL VERSION 4 (IPV4) Internet Protocol version 4 (IPv4) was the first that was widely used in modern TCP/IP. The implementation of this protocol is running on very many computers. It provides the basic datagram delivery capabilities upon which all of TCP/IP functions and it has stood the test of time over a period of more than two decades.

14

The issues and features that are usually discussed as regards internet protocol are as follows. IP ADDRESSING: Although the original IP addressing scheme was relatively simple, over time it has become complex due to changes made to it to allow it deal with various modern addressing requirements. The more advanced styles of IP addressing, such as subnetting and classless addressing are the ones used most in modern networks [2]. For us to understand these concepts, we must start with the fundamentals of IP addressing. Earlier on, we ascertained that IP addressing is important because it facilitates the primary function on the Internet Protocol that is, the delivery of datagrams across an internetwork. The basic functions and features of the IPv4 address are explained in detail as follows. Network Interface Identification Like a street address, the IP address provides unique identification of the interface between a device and the network. This is to ensure that the required stream of data is delivered to the correct recipient. Routing When the source and destination of an IP datagram are not on the same network, the datagram must be delivered in an indirect manner using intermediate systems, this is called routing. Address Uniqueness In IPv4, each IP address on a single internetwork must be unique. This is for obvious reasons.

15

IP ADDRESS SIZE, ADDRESS SPACE AND DOTTED DECIMAL NOTATION At its simplest, the IP address is a 32-bit binary number. A bit is a binary number or a binary digit. So 32 bits refers to 32 binary digits that is, 32 zeroes and ones. At the lowest levels, computers always work in binary and this also applies in networking hardware and software. While different meanings are ascribed to different bits in the address, the address itself is just a 32 bit number. Human beings may not work too well with binary numbers because they are usually long and complicated. The use of only two digits makes them even harder to differentiate. Usually, a long string of bits (binary digits) is converted into four eight-bit octets to make it more manageable [1], [2]. For instance, 11100011010100101001101110110001 would become, 11100011-0101001010011101-10110001. These would then be converted to a more manageable twodigit hexadecimal number, to yield the following: E3-52-9D-B1. This is the notation used for MAC addresses (Media Access Control) in computers. IP Address Dotted Decimal Notation Most people still find hexadecimal (base 16) numbers a bit difficult to work with, hence IPv4 addresses are normally expressed with each octet of 8 bits converted to a decimal number and the octets separated by a dot [1]. Considering the example above, where we have E3-52-9DB1, the dotted decimal notation will become 227.82.157.177 as shown in table 1. See the appendix for additional conversion schemes. Each of the octets can take values from 0 to 255, hence the lowest value is 0.0.0.0 and highest is 255.255.255.255.
BINARY HEX DECIMAL

11100011 E3
227

01010010 52
82

10011101 9D
157

10110001 B1
117

16

Table 1. IP address binary, hexadecimal and decimal representation [2] IP Address Space It is this feature that indicates a sharp change between IPv4 and future versions. Since the IP address is 32 bits wide, this provides us with a theoretical address space of 232 or 4,294,967,296 addresses [1], [2]. This is quite a lot of addresses but however, due to how IP addresses are structured and allocated, not every one of those addresses can actually be implemented or used. One of the unfortunate early events which made IPv4 to originally be created on a small internetwork is that several decision were made that wasted much of the address space. A typical example of such decision is the reservation of all addresses starting with 127 in the first octet or first 8 bits for the loopback function. This decision alone makes 1/256th of the total number of addresses which is equivalent to 16, 277, 216 addresses to be no longer available. Other factors and ways existed to contribute to making Ipv4 address space not to be conserved, which has caused some difficulty as a result of the increase in size of the internet. The IP address space dictates the limit on the number of addressable interfaces in each IPv4 network. It is for reasons such as this that a newer version of IP was needed to surmount this address space issue. Basic Structure of IPv4 As we have already seen above, each IPv4 address is 32 bits long. When we refer to the IP address, we use dotted-decimal notation, while the computer converts this notation into binary. Although these sets of 32 binary digits (bits) are taken as one single entity, they contain or have an internal structure containing two components, a network identifier (Network ID) and a Host Identifier (host ID) [2]. For the Network Identifier, a certain number of bits, from the left-most bit is used to identify the network where the host or other network interface is located. This may be called the network prefix. In the case of the host

17

identifier, the remainder of the bits aside the network identifier, are use to identify the host on the network. We can see from table 2 below that this is similar to the structure used for our phone numbers. The telephone number 0805 714 7530 is an 11 digit number which we refer to as one entity, a phone number. However, it has a network code (0805) and a local number (714 7530).
BINARY DECIMAL 0 8 16 24 32

11100011 227
8bits NID

01010010 82

10011101 157
24bits Host ID

10110001 117

IP Address: 227.82.157.177, Split Into 8-Bit Network ID and 24-Bit Host ID Table 2. Basic IP Address Division: Network ID and Host ID [2] 2.1.1 LIMITATIONS OF IP VERSION 4 As we have seen already, IPv4 which is the main version in use is the only version that was deployed and has changed little since Requests For Comments (RFC) 791, published in 1981. One important property of internet protocol as a whole is its number allocation system that assigns a number to everyone [5]. Due to its design nature, focusing on small experimental networks, todays growth of the internet has stretched the limits of IPv4 [1], [2], [3] resulting in shortage of iPv4 addresses. Since in theory, the 32 bit addressing structure of IPv4 yields 4,294,967,296 addresses, and these cannot be completely used due to wastage and inefficient number of allocation mechanisms, many technologies such as Classless InterDomain routing (CIDR), Point-to-Point protocol (PPP) and Dynamic Host Configuration Protocol (DHCP) have been developed so as to use the available limited address space judiciously. Eventually, Network Address Translator (NAT)

18

technology was included into the structure of the internet as a patch for address limit. NAT is a system which allows privately connected hosts to connect to internet via the same public IP address. Research has shown [6] that these additional operations and tweaks carried out on IPv4 lowers forwarding performance causing NATs to act as traffic bottlenecks instead of boosters. Each computer system connected to the internet is designated to a specific IP address or domain [5]. This process is carried out by an organization called the Internet Network Information Center, or InterNIC. An enormous and continual expansion of internet accessible computers continues to draw upon the once abundantly available IP addresses. For this reason, it was estimated that we may run out of available IP addresses completely soon, hence the need for a new version Internet Protocol version 6. A natural question that may be asked at this point is Why is there not an Internet Protocol version 5? The answer simply is it does not exist. Although this may seem confusing, version 5 was intentionally skipped to avoid such confusion. This is because IPv5 relates to an experimental TCP/IP protocol called the Internet Stream Protocol, version 2 [2], [7]. This protocol was originally defined in RFC 1190. It was seen by some as being beside IP at the internet layer of the TCP/IP architecture, and used for experimental transmission of voice, video and distributed simulation. In the standards of the internet Stream Protocol version 2, the packets were assigned IP version 5 to differentiate them from normal IP version 4 packets (IPv4). The development and implementation of this Internet streams protocol version 2, was experimental and obviously did not go anywhere, but to avoid confusion, the version 5 was skipped in favour of version 6 [7]. Thus, from IP versions 4 which is the first version of IP, we have IP versions 6 or IP new generation as it is referred to by some people.

19

2.1.2 NECESSITY OF INTERNET PROTOCOL VERSION 6 It is now obvious that the address space of the popular IPv4 will not be able to satisfy the exponential growth of the internet. As earlier mentioned, although NAT and other technologies have extended the life time of IPv4, these techniques cannot serve as a full fledged solution for the future of the internet. Furthermore, some problems such as limited address space are structural problems that cannot just be fixed anyhow. This meant that a new flexible version of IP was the only solution that should be considered. Therefore, in the 1990s, the Internet Engineering Task Force (IETF) started working on a new powerful protocol, with some new structural changes from IPv4, called IP next generation (IPng) later named IP version 6 (IPv6) [1], [2], [3]. IPv6 is poised to take over from IPv4, and will be the basis for the Internet of the future. 2.2 INTERNET PROTOCOL VERSION 6 IPv6 has been under development since the middle of the last decade and real IPv6 internetwork has been used for testing for a number of years as well. Despite this, many people do not know much about IPv6, other that the fact that it is the version of IP that succeeds IPv4. IPv6 represents the first major change in the Internet Protocol since IPv4 was formed in 1981[2], [8]. For several years, its main operations were only defined in a series of RFCs published around 1998, they include RFCs 2460 through 2467. Worthy of mention are the main IPv6 standard, RFC 2460 (Internet Protocol Version 6 (IPv6)), and the drafts that describe the two auxiliary or helping protocols for IPv6, RFC 2461; this describes the IPv6 Neighbour Discovery Protocol, and RFC 2463; which describes the Internet Control Message Protocol (ICMPv6) [2]. Many other RFCs define more specifics of how IPv6 functions, and also give more information about other compatible

20

version of other protocols related to TCP/IP like Domain Name Server (DNS) and Dynamic Host Configuration Protocol (DHCP). IPv6 is sometimes called IP Next Generation or IPng, probably because it was designed for the next generation. However, IPv6 and many of its features are still very much a work in progress with new standards and operation methods being proposed and adopted regularly. 2.2.1 INTERNET PROTOCOL VERSION 6 NEW FEATURES The issue of address space in IPv4 was the main motivation and reason for creating IPv6 but it is not the only change made in the Internet Protocol as a whole. Some of the most important goals in IPv6 design include the following: Larger Address Space Ipv6 is required to produce more addresses for the growing internet. Better Management of Address Space IPv6 is required to manage the available address space to provide for optimum consumption, using the bits in each address. Better Support for Security Ipv4 was designed during the era that security in information systems was not a too serious issue due to the small number of networks on the internet then. Modern Design for Routing- Unlike IPv4 which was designed before the modern day internet, IPv6 was created to optimize and control the process of routing in our internet. Easier TCP/IP Administration the designers the protocol have solved some current labour-intensive requirement for the old IPv4. Support for Mobility Ipv4 was produced when the concepts of mobile devices where still at the foundational stage. Mobile IP developed due to the problems associated with computers within main networks and was rarely catered for by

21

IPv4. IPv6 builds on Mobile IP and also provides support for mobility in IP itself [8], [9]. IPv6 was to address the above mentioned issues and several other problems with IPv4 not mentioned here. During the several discussions and decisions of the IETF in the 1990s, some people were of the opinion that the protocol IPv4 be changed completely in IPv6. However, this is not what was adopted but rather a definition of a more capable version of the same IP we have been using from scratch. Hence, IPv4 was still used as base in the design of IPv6 to ensure that whatever issues exist in the new IPv6 or IPng can be managed or minimized. Some of the major changes which we see evident in IPv6 are as follows: IPv6 Addressing: This was the primary reason for creating IPv6 as there was a need to correct the addressing issues seen in IPv4. Apart from the need for more addresses there was a need for creating an internet protocol that can operate in a way that is in harmony with modern internet operations. Thus, most of the major changes in IPv6 have to do with the IP addressing. Addressing recommends for IPv6 can be found in RFC 2460 Internet Protocol Version 6 Specification although most of the details on addressing are found in two other RFCs, RFC 3513 (Internet Protocol Version 6 Addressing) and RFC 3587 (IPv6 Global Unicast Address format). Some areas of the Internet protocol addressing did not change and are basically the same as they were in IPv4. They include:
(a)

Core Addressing Functions: The two main functions of addressing are network interface identification and routing. These features have not changed in IPv6. Network Layer Addressing: IPv6 addresses are still associated with the network layer in the TCP/IP model and are distinct from the data link layer. Number of IP Addresses Per Device: As in versions 4, IP addresses are still assigned to network interfaces and a personal computer will still have

(b)

(c)

22

one address while a router will as usual have more than one, for each physical network that it connects to [2]. IPv6 Address Size and Address Space: The most popular change introduced in the IPv6 is the increase in number of available addresses which led to a corresponding increase in the address space [1], [8], [9]. It might be expected that new protocol would increase size from 32 to 48 or even 64 bits so as to lead to a larger no of available addresses or larger address space. However, the design of IPv6 makes this to extend to a remarkable size of 128bits which theoretically makes 2128 which yields 340, 282, 366, 920, 938, 463, 463, 374, 607, 431, 768, 211, 456 addresses.

Pv4 Address Space (4,294,967,296 Addresses)

IPv6 Address Space (340,282,366,920,938,463,463,374,607,431,768,211,456 Addresses)

23

Figure 2. Representation of Relative IPv4 and IPv6 Address Space Sizes [2] IPv6 Address Representation: Although the large address size and space of IPv6 gives us more hope of not running out of IP addresses in future, there are some problems with having such a large address size, one of which is that 128 bits numbers are large, which makes them difficult to handle and use. Computers work in binary and can easily handle long strings of binary digits. However, humans may find too long strings confusing. We remember that in IPv4, the 32 bits addresses are converted to decimal notation to enable us manipulate them more easily. IPv6 addresses are far larger than IPv4 addresses that even dotted decimal notations are still cumbersome to handle. For IPv4, the 32 bits were split into four Octets (that is, four 8bits digits), but in IPv6 the 128 bits are split into 16 octets (or 16 8 bit digits) and represented with a decimal from 0 to 255. A typical IPv6 address in decimal will be as follows: 128.91.45.157.220.40.0.0.0.0.252.87.212.200.31.255 To make addresses shorter than this, IPv6 addresses were changed from this primary method of decimal notation to the used of hexadecimal. This is because hexadecimal requires fewer characters and conversion between hexadecimal and binary is much easier than converting between binary and decimal. However, the disadvantage is that many people may find hexadecimal difficult to understand. The hexadecimal notation used for IPv6 is like that of IEEE 802 MAC addresses where 48 bits are represented by six octets (six 8bit characters), each being a hexadecimal number from 0 to FF [1], [2]. The octets are usually separated by a dash or column. An example is as shown: 0A-A7-94-07-CB-D0

24

Since IPv6 addresses are larger than MAC, they are instead grouped into eight 16 bit words separated by colons to create what some may call colon hexadecimal notation. Hence, the following IP address in decimal notation, 128.91.45.157.220.40.0.0.0.0.252.87.212.200.31.255 can be expresses as, 805B:2D9D:DC28:0000:0000:FC57:D4C8:1FFF To further reduce the size of IPv6 addresses, leading zeroes can be suppressed in the notation so we can reduce the address above to 805B:2D9D:DC28:0:0:FC57:D4C8:1FFF. Zero Compression in IPv6 Addresses: This method helps a string of contiguous zeroes in an IPv6 addresses to be replaced by double colon. Hence the above address could be expressed as 805B:2D9D:DC28::FC57:D4C8:1FFF. We know how many zeroes are missing because we know there are supposed to be eight 16 bits words but here we have six, hence we are missing 2 zeroes. 3.0 ANALYSIS OF CHANGES BETWEEN IPV4 AND IPV6 The table below gives us a comparison between IPv4 and IPv6. It enumerates some of the other changes that have been made as the Internet Protocol has evolved from IPv1. IPV4 IPV6 Source and destination addresses are Source and destination addresses are 32bits (4 bytes) in length 128bits (16 bytes) in length Both routers and the sending hosts Only the sending hosts fragment

fragment packets packets, routers do not Header includes a checksum Header does not include a checksum Address Resolution Protocol (ARP) Multicast neighbor solicitation messages uses broadcast ARP request frames to resolve IP addresses to link-layer

25

resolve an IP address to a link-layer addresses address Broadcast addresses are used to send Uses a link-local scope all-nodes

traffic to all nodes on a subnet multicast address Must be configured either manually or Does not require manual configuration through Dynamic Host Configuration or DHCP Protocol (DHCP) Must support a 576byte packet size Must support a 1280 byte packet size (possibly fragmented) (without fragmentation)

3.1 TRANSITION FROM IPV4 TO IPV6 The Internet protocol is the base or foundation of TCP/IP protocol suite. We can compare this to the foundation of a building. Hence, changing IP is like modifying the foundation of such building. When changing the foundation of a building, some caution is definitely required. Such caution is also required in the implementation of IPv6. While some may see IPv6 as something completely new, its planning and development has been going on for almost 10 years. If it were being built from scratch, it probably would have been fully implemented by now, but since it was a rebranding of an already existing technology, it had to be planned. Experimental networks are good but the fact is that there exist several opinions as to promises of IPv6 over IPv4. Some groups of people are eager for the implementation of IPv6 while others are not so thrilled about the whole idea but are rather skeptical [2]. IPv6 has a lot of support in areas outside the United States, many of which are in short supply of IPv4 addresses due to the small allocation relative to their size. An example is Asia with a massive population, rapidly growing technology and internet. In the United States, there was a little less push

26

for IPv6 until July 2003, when the United States Department of Defense (DoD) announced that from October 2003, it will only purchase network equipment that have IPv6 compatibility. Transition to IPv6 would most likely take a long time for full implementation because it requires remarkable preparation efforts [9], [10]. And although a lot of new systems will incorporate IPv6, there surely shall be a few systems that will still incorporate the IPv4 technology. Deployment Strategies For smooth and healthy implementation of IPv6 into networks the IETF, proposed a several transition methods which can be grouped into three: (a) Dual-stacking
(b) (c)

IPv4 Tunneling of IPv6 IPv4/IPv6 Translators

In dual-stacking routers and network devices will be programmed with both IPv4 and IPv6 to allow for compatibility on both platforms. In tunneling, IPv6 devices that do not have paths consisting of only IPv6 routers in them may be able to communicate by accepting or encapsulating IPv6 datagrams within IPv4. That is, they will superimpose IPv6 on IPv4. In translation, dual-stacked devices may be designed in a way that accepts requests from IPv6 hosts, converts them to IPv4, and then send them to the IPv4 destination [1], [2], [10]. The overall importance of these three methods is to encourage the coexistence of both protocols and the compatibility of IPv6 networks with existing Ipv4 networks. 4.0 SUMMARY AND CONCLUSION As we know, the exhaustion of IPv4 addresses is a general and global problem. This need for more addresses was the main facilitator in the development of IPv6. However, implementation of Ipv6 networks evolves at different

27

geographical locations at different rates too. It was suggested that the lack of address space in Asia is a key driver, and such countries like China, Korea and Japan will welcome IPv6 faster than others in the Europe and North America. This is the current situation in the world [1]. In this seminar report, I have described how the internet protocol started, from the use of Advanced Research Projects Agency Network (ARPAnet), and then to the development of Transmission Control Protocol which is responsible for establishing connections between devices and ensuring reliable and controlled deliver of data using Internet Protocol (IP). This TCP was developed through three stages and split into two in the fourth stage, to yield TCP and IP, which are the main protocols in the known TCP/IP suite. This split occurred at the fourth version of TCP (TCP version 4), hence we had IP version 4 and not IP version 1. So the IPv4 is the first version of the Internet Protocol but is has the number 4 because it was split out of TCP at version 4, and the consistency needed to be maintained. We also talked about the features of IPv4 and its downsides where we identified that it uses binary decimal notation to represent IP addresses, and that it is a 32 bits protocol. We noted the limited address size and space and affirmed the need for a newer protocol, IPv6 to curb these downsides. IPv6 as I explained is a 128 bits protocol, yielding a large address size and space. Apart from this, it comes with several other features to enhance the capabilities we found in IPv4. Furthermore, I we enumerated three methods proposed by the Internet Engineering Task Force (IETF) for the smooth transition to deployment of IPv6, they are dual-stack, tunneling and translation. We noted that IPv6 deployment cannot happen overnight but is a gradual process as there are a lot of factors that affect it. I recommend however that any company planning to remain current should consider the implementation of IPv6 remembering that some features will keep changing in the future. In addition such companies can benefit from research

28

and resources from various organizations that have also migrated to IPv6 completely.

29

REFERENCES [1] Ozcan I. (June 3, 2009). IPv6, The Next Generation Internet Protocol. Retrieved June 20, 2011, from the World Wide Web: http://knol.google.com/k/ipv6#History_of_IP [2] Kozierok, C. M. (June 7, 2004). The TCP/IP Guide. Retrieved June 20, 2011 from the World Wide Web: http://www.tcpipguide.com/free/index.htm [3] Moschovitis, J.P., Poole, H., Schuyler,T., & Senft, T. M. (1999). History of the Internet: A chronology, from 1843 to the present. Retrieved June 22, 2011 from the World Wide Web: http://www.historyoftheinternet.com/ [4] Stephen D. C. (April 6, 2009). How the Internet Got Its Rules, The New York Times, Retrieved June 21, 2011 from the world Wide Web http://www.nytimes.com/2009/04/07/opinion/07crocker.html?_r=1&em [5] Karadere, Tufan. (n.d). IPv6. Retrieved May 11, 2011 from the World Wide Web:http://cisn.metu.edu.tr/tufan.php. [6] Davies, J. (2003). Understanding IPv6. Redmond, Washington: Microsoft Press. Enterasys Networks, Inc. (2004). The Next-Generation Internet & IPv6. Retrieved May 20, 2005 from the Web: http://www.enterasys.com/products/routing/ipv6/ [7] Krikorian, R. (2003). What ever happened to IPv5?. Retrieved June 14, 2011 from the World Wide Web: http://www.oreillynet.com/pub/wlg/3316

30

[8] Cisco Systems. (n.d.).The ABCs of IP Version 6. Retrieved May 1, 2011 from the World Wide Web: http://www.cisco.com [9] Hinden, R. M. (1995). IP Next Generation overview. Retrieved June 22, 2011 from the World Wide Web: http://playground.sun.com/pub/ipng/html/INET-IPngPaper.html [10] Carms, E. (2002). The transition to IPv6: ISOC member briefing #6. Retrieved June 08, 2005 from the World Wide Web: http://www.isoc.org/briefings/006/ [11] Yein, A. E. (2003). IPv6: Internet Protokol srm 6. Retrieved June 22, 2005 from the World Wide Web: http://w.teknoturk.org/docking/yazilar/tt000125yazi.htm [12] Waddington, D.G., & Chang, F. (2002, June). Realizing the transition to IPv6. IEEE Communications Magazine. 40, p138-148. Weber, S., & Cheng, L. (2004, January). A survey of Anycast in IPv6 Networks. IEEE Communications Magazine. 42, p127-132.