What is the Internet Protocol?
The Internet Protocol (IP) defines how the internet works and enables devices to send data. IP is responsible for addressing host interfaces, encapsulating data into datagrams, and routing datagrams from a source to a destination across one or more IP networks.
Internet Protocol is designed to handle constantly changing network infrastructures. It is a connectionless protocol that operates on a best-effort delivery model, where each datagram is individually addressed and routed based on the information in its header. Unlike a connection-oriented protocol, such as the Transmission Control Protocol (TCP), IP does not use a prearranged, fixed-data channel.
IP doesn’t check for transmission errors such as data corruption, packet loss, or duplication. These faults are handled by upper-layer protocols like TCP. However, IPv4 uses a checksum to ensure that datagram headers are error-free.
Since networking is complex and has many layers, it helps to understand where the Internet Protocol is positioned in relation to the other layers. To do that, it is helpful to first talk about the Open Systems Interconnection (OSI) and TCP/IP networking models.
What about IPv5?
There are two main versions of the Internet Protocol in use today: IPv4 and IPv6. But why did the Internet Protocol skip from IPv4 to IPv6? There was another protocol called the Internet Stream Protocol, developed in 1979, but it was never deployed. This experimental protocol happened to use the version number 5.
When IPv6 was in development, the Internet Engineering Task Force (IETF)—the international organization that creates open standards for the Internet—skipped over IPv5 to avoid confusion. So, while there is an IPv5, it's not a successor to IPv4, was never publicly adopted, and was never officially called IPv5. Read the IPv5 specification for more details.
What is a datagram?
A datagram, also referred to as a packet, is a unit of data transfer. A public network like the internet must manage a lot of data from many different sources. To route and send large amounts of data simultaneously, that data needs to be split into smaller, more manageable chunks called datagrams.
A datagram has two components:
- Header: Includes the source and destination IP address along with protocol-specific parameters. The header contains instructions about what the datagram is and how to handle it.
- Payload: Contains the data to transfer.
Addressing
The Internet Protocol defines addresses for every device on the network. This makes it possible to send information across the network without requiring a constant connection between any two devices.
Addresses are made up of bits that use different identifiers. See details on how addresses are structured in the IPv4 and IPv6 Bunny Academy content.
IP addresses on the public internet are typically provided by your Internet Service Provider (ISP) and are dynamic, meaning your IP address changes. If you have cable internet, for example, you usually receive a new IP address whenever you restart your modem.
Conclusion
The Internet Protocol and its versions are the guidelines that allow the internet to function. However, the original design of the internet never anticipated the massive adoption it has seen, and updates have been necessary along the way.