IP Evolution
- Overview
IP stands for Internet Protocol, a protocol that helps computers/devices communicate with each other over a network. As the name suggests, the Internet Protocol comes in different versions: IPv4 and IPv6.
Internet Protocol (IP) is a set of rules that helps route data packets so that the data can move across the network and reach the correct destination.
When a computer attempts to send information, it is broken into smaller chunks called packets. To ensure that these packets all arrive at the correct location, each packet contains IP information.
Every device or domain on the Internet is assigned an IP address that uniquely distinguishes it from other devices. By assigning each device an IP address, the network is able to efficiently route all these packets and ensure they arrive at the correct location
- The Internet Protocol (IP)
The Internet Protocol (IP) is the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP has the task of delivering packets from the source host to the destination host solely based on the IP addresses in the packet headers. For this purpose, IP defines packet structures that encapsulate the data to be delivered. It also defines addressing methods that are used to label the datagram with source and destination information.
Historically, IP was the connectionless datagram service in the original Transmission Control Program introduced by Vint Cerf and Bob Kahn in 1974, which was complemented by a connection-oriented service that became the basis for the Transmission Control Protocol (TCP). The Internet protocol suite is therefore often referred to as TCP/IP.
- IANA and Hierarchical IP Addressing
A node on the Internet is identified by its IP address. For IP version 4 (IPv4), the most common version deployed today, an IP address is a 32-bit value that is expressed as a set of four bytes, each as a decimal number and separated by dots. IP version 6 (IPv6), which is rapidly expanding as we are out of IPv4 addresses in some areas, is a 128-bit value and is expressed as a set of 8 groups of four hexadecimal digits. As humans, however, we prefer to identify endpoints by name rather than by a number.
IP addresses are distributed hierarchically. At the very top level, an organization called the IANA (Internet Assigned Numbers Authority) is responsible for the entire set of IP addresses. It allocates blocks of addresses to Regional Internet Registries (RIR). There are five RIRs, each responsible for a part of the world’s geography. For instance, the U.S. and Canada get addresses from ARIN, the American Registry for Internet Numbers. Countries in Europe and the mid-East get addresses from the RIPE Network Coordination Centre. These RIRs in turn allocate blocks of IP addresses to ISPs within their region. Since ISPs are tiered, an ISP may allocate a smaller block of addresses to a lower-tier ISP as well as to a company that subscribes to its services.
- The Function of Internet Protocol (IP)
The Internet Protocol is responsible for addressing host interfaces, encapsulating data into datagrams (including fragmentation and reassembly) and routing datagrams from a source host interface to a destination host interface across one or more IP networks. For these purposes, the Internet Protocol defines the format of packets and provides an addressing system.
Each datagram has two components: a header and a payload. The IP header includes source IP address, destination IP address, and other metadata needed to route and deliver the datagram. The payload is the data that is transported. This method of nesting the data payload in a packet with a header is called encapsulation.
IP addressing entails the assignment of IP addresses and associated parameters to host interfaces. The address space is divided into subnetworks, involving the designation of network prefixes. IP routing is performed by all hosts, as well as routers, whose main function is to transport packets across network boundaries. Routers communicate with one another via specially designed routing protocols, either interior gateway protocols or exterior gateway protocols, as needed for the topology of the network.
There are two hierarchical addressing systems on the Internet: domain names and IP addresses. People use domain names to visit websites. Computers translate those domain names to IP addresses to locate and send data behind the scenes.
- The Main Flaws of IPv4 Protocol
The architecture of the Internet was developed in the late 70’s by the Internet Engineering Task Force (IETF), over the defined stack of TCP/IP protocols. The infrastructure of the Internet, since the TCP/IP model was applied in 1983, has grown at an accelerated rate. The different equipment manufacturers, the administrators and developers had to work a lot to be able to adapt to this growth. Approximately towards the end of the 80’s, and the beginning of the 90´s, due to the growth and popularity that the Internet started having, certain flaws in the design of the IPv4 protocol started to show.
Among the main faults, one can mention: the exhaustion of public addresses, the non existence of a standard security method, a poor implementation of quality of service scheme and headers of variable length with too detailed fields (some of them are no longer used). These points, among others, encouraged the development of a new protocol, called IPv6. In it, the IPv4 problems detected are solved, and new functionalities are added to the protocol, taking into account previous experience.
- Slow IPv6 Migrations and the Problems
The IPv6 protocol can handle packets more efficiently, improve performance and increase security. It enables Internet service providers to reduce the size of their routing tables by making them more hierarchical. However, IPv6 has been in the works (IETF) since 1998 to address the shortfall of IP addresses available under Ipv4, yet despite its efficiency and security advantages, adoption is still slow. Carrier networks, ISPs and major websites have been the first group to start deploying IPv6 on their networks, with mobile networks leading the charge, according to the industry group World Ipv6 Launch.
Although the IPv6 protocol is a well-known standard and it has been deployed in several environments successfully, the IPv6 deployment tends to be postponed in some operators since the migration to IPv6 is not an easy task. The IPv4 and IPv6 protocols are not compatible.
The greatest difficulty is that this compatibility with IPv4 must be maintained while one migrates to IPv6 because migration is a process which is extended in time, and many services today are only offered for IPv4 (they have not migrated to IPv6 yet).
- When Will IPv4 Be “Shut Off”?
Most of the world “ran out” of new IPv4 addresses between 2011 and 2018 - but we won’t completely be out of them as IPv4 addresses get sold and re-used, and any leftover addresses will be used for IPv6 transitions. There’s no official switch-off date, so people shouldn’t be worried that their internet access will suddenly go away one day.
As more networks transition, more content sites support IPv6 and more end users upgrade their equipment for IPv6 capabilities, the world will slowly move away from IPv4.
- Network Address Translation (NAT) and IPv6
Adoption of IPv6 has been delayed in part due to network address translation (NAT), which takes private IP addresses and turns them into public IP addresses. That way a corporate machine with a private IP address can send to and receive packets from machines located outside the private network that have public IP addresses.
Without NAT, large corporations with thousands or tens of thousands of computers would devour enormous quantities of public IPv4 addresses if they wanted to communicate with the outside world. But those IPv4 addresses are limited and nearing exhaustion to the point of having to be rationed.
NAT helps alleviate the problem. With NAT, thousands of privately addressed computers can be presented to the public internet by a NAT machine such as a firewall or router. The way NAT works is when a corporate computer with a private IP address sends a packet to a public IP address outside the corporate network, it first goes to the NAT device. The NAT notes the packet’s source and destination addresses in a translation table.
The NAT changes the source address of the packet to the public-facing address of the NAT device and sends it along to the external destination. When a packet replies, the NAT translates the destination address to the private IP address of the computer that initiated the communication. This can be done so that a single public IP address can represent multiple privately addressed computers.
[More to come ...]