The Next Generation Internet Protocol
Essay by review • February 7, 2011 • Essay • 2,484 Words (10 Pages) • 1,407 Views
The Next Generation Internet Protocol
The internet is a world-wide data network; the first of humanity's global comnets. It has now become essential in many areas of life, among them private and mass communication, business management, data transfer, and various other uses. The vast majority of people do not know how the internet functions, but only that it does. To me, this is unacceptable. It is in an attempt to rectify that shortcoming on my part that I write this. May you be enlightened as I was.
The basic internet connections rely on a five-layer TCP/IP programming "stack". Each layer provides services to, or receives services from, the layer above and below it, with the top and bottom layers being exceptions. The first (bottom) layer is the physical layer. It is the hardware itself, your network card or modem, which gives you the physical capability to transmit bits. The second layer is the data link layer, which is responsible for node to node packet delivery. A node is a "point" on a network which is connected to other nodes via wired or wireless transmissions. At this layer, a packet does not have to be able to travel to the destination, but merely to any other node. The concept is similar to the game of telephone in which one passes a message to a person who passes it to another person and another until the message arrives at the intended destination. The third layer is the network layer. This layer is responsible for quality of service, (QoS) or data integrity, over the overall end to end transmissions. It directs the data layer, "telling" it which sequence of node hops to take (routing) and establishes the basic connections necessary
for data transmission. The concept is somewhat similar to a carrier wave in a radio transmission. This layer is where IPv4 and IPv6 (both of which will be discussed later) are implemented. The fourth layer is the transport layer, which is a link between the application layer (fifth and top layer) and the aforementioned network layer. It receives transmission requests from applications and routes them to the network layer. The fifth and top layer is the application layer. This is the program that you are using, such as HTTP for websites or FTP or BitTorrent for file transfers.
The internet as we know it would not exist or would be worthless if one of these layers was missing. What I will be focusing on is the connection itself; not what makes it possible from a hardware point of view, or what makes it useful from a software point of you, but simply what it is and how it functions. The current incarnation of internet protocol (IP) is IPv4, which has been in use (with very few modifications) since 1981. It is the fourth version of IP, but the first one to be widely adopted. We will begin with addressing. Assume that every device has a unique "location" on the internet (IP address). IPv4 addresses are comprised of 32-bit (4 byte) numerical strings and almost always displayed in dot-decimal notation (ex. 207.142.131.235), but can also be displayed in dotted-hexadecimal (0xCF.0x8E.0x83.0xEB), dotted-octal (0317.0216.0203.0353), hexadecimal (0xCF8E83EB), decimal (3482223595), octal (031743501753), or each octet could be in a different base (207.0x8E.0203.235). The 32-bit size limits IPv4 to a maximum of 232 or 4,294,967,296 possible unique addresses, around 18 million of which are reserved for private network usage, and another million for multicast networking, or networks in which information is delivered to multiple destinations using the most efficient route possible. This leaves only several hundred
million addresses for world-wide use. This limit is the reason for Network Address Translator (NAT) systems, which assign a single external IP address to all computers on your intranet. Your network router is a NAT system. Multiple levels of NAT routing put an immense strain on the backbone servers that maintain the internet, as well as cause complications with encrypted network traffic. To say that having almost every device behind a NAT router makes large-scale connections extremely complicated is an understatement. To relieve these many issues, the Internet Engineering Task Force (IETF) created a next-generation protocol suite: IPv6.
Now that the reason for the creation of IPv6 is clear, we will address the solutions IPv6 offers. IPv6's solution to running out of addresses is also its most obvious characteristic. Looking through Understanding IPv6 by Joseph Davies, we find ourselves with the following information in hand: unlike IPv4, IPv6 uses a 128-bit address. Thus, the number of possible addresses is increased from 232, or 4,294,967,296, addresses, to 2128, or 340,282,366,920,938,463,463,374,607,431,768,211,456 (or ~3.4 x 1038) addresses (Davies, The IPv6 Address Space). While this limitation was fairly obvious, Ipv4's original creators never conceived that 232 addresses would not be sufficient. Computer technology has advanced more than anyone could have imagined in the 30 years since IPv4 was created; computers today are thousands of times more powerful than computers were when IPv4 was created. Due to this, and the resultant explosions of internet hosts, it was clear by 1992 that a new internet protocol would be necessary (Davies, The IPv6 Address Space). The increased size of the address has another effect besides simply increasing the number of possible hosts; it also allows multiple levels routing. IPv4 addresses are divided into three sections: a network section, a subnet
section, and a host section. We will not worry about the host section right now. The network section is the external address of the router. The subnet section tells the router to which subnet to send the data to. A subnet (or subnetwork) is exactly what it sounds like: a network within a network. Each computer on a network requires a unique IP address, but subnetting allows each address to be used once per subnet instead of once per network. To determine which subnet an address refers to, an AND operator is applied to the address and the subnet mask. For example, assume the binary address is 11000000.10101000.00000101.00001010 (192.168.5.10 in dot-decimal) and the subnet mask 11111111.11111111.11111111.00000000 (255.255.255.0 (the subnet mask is determined by the type of network)). The result of the AND operation is the network portion 11000000.10101000.00000101.00000000 (192.168.5.0), and the remainder is the client portion 00000000.00000000.00000000.00001010 (0.0.0.10). While this is fascinating, I will now head back to the topic at hand. IPv6's 128 bit address is divided into a 64-bit network section and a 64-bit subnet section. This allows multiple levels of subnetting, specifically three additional levels of internet service providers (ISPs) between the internet's backbone servers and
...
...