Nov 03, 2021 By Team YoungWonks *
What is the Internet Protocol? Today, we cannot imagine living in a world without the Internet and the term Internet Protocol is one that we may have come across too often. But what does it mean and how does it work? In this blog post, we shall look at all this and more…
What is the Internet Protocol?
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite that delivers datagrams (basic transfer units associated with a packet-switched network) across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
In simpler words, the Internet Protocol (IP) is a protocol, or set of rules that govern the routing of data packets such that it travels across networks and reaches its desired destinations. Data passing through the Internet is divided into smaller pieces known as packets. All devices and/or domains connected to the Internet come with an IP address, and each data packet has an IP information attached to it, which in turn helps routers send these packets to the correct place. After the packets reach their respective destinations, they are handled as per the transport protocol being used in combination with IP.
Historically, IP was the connectionless data transfer service in the original Transmission Control Program introduced by Vint Cerf and Bob Kahn in 1974. This was then complemented by a connection-oriented service that became the basis for the Transmission Control Protocol (TCP). The Internet protocol suite is thus often known as TCP/IP. The first major version of IP, Internet Protocol Version 4 (IPv4), is the dominant protocol of the Internet and then there’s its successor, the Internet Protocol Version 6 (IPv6).
Another common transport protocol is the User Datagram Protocol (UDP). It is used by computer applications to send messages, called datagrams, to other hosts on an Internet Protocol network.
Key function of IPs
The Internet Protocol addresses host interfaces, enclosing data into datagrams and routing datagrams from a source host interface to a destination host interface across one or more IP networks.
To do this, the Internet Protocol defines the format of packets and provides an addressing system. Each datagram has two parts: 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 known as encapsulation.
How IP addressing works
Before we look at how IP addressing works, let’s take a quick look at Domain Name System (DNS). The Domain Name System is a hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates domain names assigned to each of the participating entities with different information.
An Internet Protocol address (IP address) is a numerical label that is connected to a computer network that uses the IP to communicate. It is basically a unique ID of sorts that’s assigned to a device or domain connected to the Internet. Each IP address is a series of characters; for instance, 192.168.1.1. Now DNS resolvers translate human-readable domain names into IP addresses and this allows users to access websites without memorizing this complex series of characters. Each IP packet holds both the IP address of the device or domain sending the packet and the IP address of the intended recipient, exactly how both the destination address and the return address are mentioned on mail being sent. Thus, an IP address serves two main functions: host or network interface identification and location addressing.
So in fact, a computer’s IP address is a lot like the physical address of a house. When you call a restaurant to order food, you provide your physical address for the delivery. Similarly, when a user types a domain name, say google.com, into a web browser, a request will be sent to Google’s web server asking for content (the Google homepage). Once Google gets the request, it needs to know where to send the website content, in other words it needs the user’s IP address. Using the IP address, Google can send a response to the user’s device, which will then show that content in the user’s web browser. Here, DNS is like a phone book for IP addresses so that users can access web services with human-friendly domain names.
How IP routing works
The Internet comprises large networks that are interconnected and each is responsible for certain blocks of IP addresses; these large networks are called autonomous systems (AS). Many routing protocols, including BGP, help route packets across ASes as per their destination IP addresses. Routers have routing tables that show which ASes the packets should travel through so as to reach the desired destination as quickly as possible. Packets travel from one AS to another and so on till they reach one that takes responsibility for the targeted IP address. That AS then internally directs the packets to the destination.
Latest IP being used
The IP address space is run globally by the Internet Assigned Numbers Authority (IANA), and by five regional Internet registries (RIRs) responsible in their designated areas for assignment to local Internet registries, such as Internet service providers (ISPs), and other end users.
Internet Protocol version 4 (IPv4) defines an IP address as a 32-bit number. IPv4 addresses were distributed by IANAin blocks of approximately 16.8 million addresses each, but they ran out at the IANA level in 2011. Indeed, with the Internet ever-expanding and all available IPv4 addresses getting taken up, a new version of IP (IPv6), using 128 bits for the IP address, was standardized in 1998 and it has continued to be deployed since the mid-2000s.
Differences between IPv4 and IPv6
The fourth version of IP, aka IPv4, was introduced in 1983. And even as the supply of available IPv4 addresses ran low, the move was made to IPv6 addresses, which have many more characters and thus more permutations. That said, IPv6 is not yet completely adopted, and many domains and devices still have IPv4 addresses.
Common IPs Today: TCP, UDP, BGP
TCP, as the name suggests, is a transport protocol, as it determines the way data is sent and received. A TCP header is included in the data portion of each packet that uses TCP/IP. Before sending data, TCP opens a connection with the recipient; it makes sure that all packets come in order once the transmission starts. Thanks to TCP, the recipient acknowledges receiving each packet that is delivered. Missing packets are typically sent again if receipt is not acknowledged. It is important to note here that TCP is mainly designed for reliability, not speed. This means that it focuses more on ensuring that all packets arrive in order as opposed to loading data quickly.
Another core member of the Internet protocol suite is the UDP, a widely used transport protocol and while it is faster than TCP, it is less reliable. It does not make sure all packets are delivered and in order, and it doesn't establish a connection before starting or receiving transmissions.
Both TCP and UDP are commonly placed in the transport layers of the Internet protocol suite, the OSI protocol suite, AppleTalk and Fibre Channel. It is important to note here that the Open Systems Interconnection model (OSI model) is a conceptual model standardizing the communication functions of a telecommunication or computing system without considering the underlying internal structure and technology. Its main aim is ensuring the interoperability of varied communication systems through standard communication protocols.
What then is a communication protocol? A communication protocol is a rule system that lets two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. FTP (File Transfer Protocol) and SMTP (Simple Mail Transfer Protocol) are examples of text-based communication protocols that use plain, human-readable text for its commands. Another example of a communication protocol would be the Address Resolution Protocol (ARP), which is used for discovering the link layer address associated with a given internet layer address (usually an IPv4 address). This mapping is a key function in the Internet protocol suite.
Border Gateway Protocol (BGP) is the postal service of the Internet. When we drop a letter into a mailbox, the Postal Service processes the mail and picks a fast, efficient route to deliver that letter to its recipient. Similarly, when we submit data via the Internet, BGP looks at all available paths that data could travel and selects the best route. BGP is the protocol that makes the Internet work by enabling data routing. When a user in the US loads a website with origin servers in India, BGP is the protocol that allows that communication to take place smoothly and quickly.
Advantages of TCP/IP
TCP is an industry–standard model that can be effectively deployed in practical networking problems.
An open protocol suite, it is not owned by any particular organization and thus can be used by any individual or company.
It is also a scalable, client-server architecture, which means networks can be added without disrupting current services.
Moreover, it is interoperable in that it allows cross-platform communications among heterogeneous networks.
It assigns an IP address to each computer on the network, thus making each device identifiable over the network.
Disadvantages of TCP/ IP
Since it is not generic in nature, it doesn’t represent any protocol stack other than the TCP/IP suite. For example, it cannot describe the Bluetooth connection.
It does not clearly separate the concepts of services, interfaces, and protocols. Thus it is not ideal for describing new technologies in new networks.
It does not distinguish between the data link and the physical layers, despite the two having different functionalities.
Mainly designed and implemented for wide area networks, TCP/IP is not optimized for small networks like LAN (local area network) and PAN (personal area network).
Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts the packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in Virtual Private Networks (VPNs). It includes protocols for setting up mutual authentication between agents at the start of a session and negotiating cryptographic keys to use during the session.
*Contributors: Written by Vidya Prabhu; Lead image by: Abhishek Aggarwal