The Internet Protocol (IP) is the primary communications protocol in the Internet protocol family for transporting datagrams across network borders. Its routing function enables internetworking and, in essence, establishes the Internet.
IP or Internet Protocol is responsible for delivering packets from the source host to the destination host exclusively based on the IP addresses included in the packet headers. IP specifies packet structures that encapsulate the data to be sent for this purpose. It also specifies addressing methods for labeling datagrams with source and destination information.
Historically, IP was the connectionless datagram service in the original Transmission Control Program, which was established in 1974 by Vint Cerf and Bob Kahn, and was supplemented by a connection-oriented service that provided the foundation for the Transmission Control Protocol (TCP). As a result, the Internet protocol suite is frequently referred to as TCP/IP.
The Internet Protocol Version 4 (IPv4), the first major version of IP, is the dominant protocol on the Internet. Its successor is Internet Protocol Version 6 (IPv6), which has been gradually gaining traction on the public Internet since around 2006.
The Internet Protocol oversees addressing host interfaces, encapsulating data into datagrams (including fragmentation and reassembly), and routing datagrams from a source host interface to a destination host interface over one or more IP networks. The Internet Protocol specifies the packet format and offers an addressing scheme for these purposes.
Each datagram is made up of two parts: a header and a payload. The IP header contains the source IP address, the destination IP address, and any other metadata required to route and transmit the datagram. The data that is carried is referred to as the payload. Encapsulation refers to the process of enclosing the data payload into a packet with a header.
IP addressing is the process of assigning IP addresses and related parameters to host interfaces. The address space is split into subnetworks through the use of network prefixes. All hosts, as well as routers, conduct IP routing, which is the primary role of which is to transfer packets across network borders. Routers interact with one another via specifically developed routing protocols, which are either internal gateway protocols or external gateway protocols, depending on the network structure.
IP Version history
The Institute of Electrical and Electronics Engineers (IEEE) released “A Protocol for Packet Network Intercommunication” in May 1974. Vint Cerf and Bob Kahn, the paper’s authors, developed an internetworking protocol for distributing resources across network nodes via packet switching. The “Transmission Control Program,” which included both connection-oriented connections and datagram services between hosts, was a key control component of this paradigm. The monolithic Transmission Control Program was later divided into a modular architecture. Which consists of the Transmission Control Protocol and User Datagram Protocol at the transport layer and the Internet Protocol at the internet layer. The model became known as the Department of Defense (DoD) Internet Model and Internet protocol suite, and informally as TCP/IP. We have to concentrate more on UDP protocol as mostly used in VoIP for SIP protocol.
IP versions 1 to 3 were prototypes created between 1973 and 1978. Prior to the present version of IPv4, the following Internet Experiment Note (IEN) publications explain version 3 of the Internet Protocol:
- The August 1977 IEN 2 (Comments on Internet Protocol and TCP) outlines the necessity to separate the TCP and Internet Protocol capabilities (which were previously combined.) It suggests the initial version of the IP header, with the version field set to 0.
- IEN 26 (A Proposed New Internet Header Format), published in February 1978, proposes an IP header with a 1-bit version field.
- IPv2 is described in IEN 28 (Draft Internetwork Protocol Description Version 2), which was published in February 1978.
- IEN 41 (Internetwork Protocol Specification Version 4), dated June 1978 describes the first protocol to be called IPv4. The IP header is different from the modern IPv4 header.
- IEN 44 (Latest Header Formats), published in June 1978, specifies a different version of IPv4, with a header that differs from the present IPv4 header.
- IEN 54 (Internetwork Protocol Specification Version 4) is the earliest definition of IPv4 using the header that would be defined in RFC 760, published in September 1978.
IPv4 is the main internetworking protocol in use at the Internet Layer; the number 4 denotes the protocol version, which is transmitted in every IP datagram. RFC 791 describes IPv4 (1981).
The Internet Stream Protocol, an experimental streaming protocol that was never implemented, utilized version number 5.
IPv6 is the successor of IPv4. IPv6 was developed over several years of trial and discussion, during which time different protocol models such as TP/IX (RFC 1475), PIP (RFC 1621), and TUBA were suggested (TCP and UDP with Bigger Addresses, RFC 1347). The size of the addresses is the most noticeable change between it and version 4. While IPv4 addresses use 32 bits, producing about 4.3 billion (4.3109) addresses, IPv6 addresses utilize 128 bits, yielding approximately 3.41038 addresses. Although IPv6 adoption has been gradual, as of June 2008, all US government systems had shown basic IPv6 infrastructure capability.
The new protocol’s designation as IPv6 was questionable until due diligence confirmed that IPv6 had not previously been utilized. Other Internet Layer protocols, such as 7 (IP/TX), 8 and 9, have been awarded version numbers (historic). Notably, on April 1, 1994, the Internet Engineering Task Force (IETF) issued an April Fools’ Day prank concerning IPv9. IPv9 was also utilized in TUBA, an alternative planned address space extension.
Reliability of Internet Protocol
The Internet protocol suite was designed using the end-to-end approach, which was taken from the CYCLADES project. According to the end-to-end concept, network infrastructure is intrinsically unstable at any single network element or transmission medium and is dynamic in terms of link and node availability. There is no central monitoring or performance measuring facility that tracks or maintains the network’s condition. The intelligence in the network is purposefully positioned at the end nodes to reduce network complexity.
As a result of its architecture, the Internet Protocol only delivers best-effort delivery and is regarded as unreliable. In network architecture terms, it is referred to as a connectionless protocol, as opposed to connection-oriented communication. Various fault situations, such as data corruption, packet loss, and duplication, can occur. Because routing is dynamic, which means that each packet is processed individually, and because the network does not preserve state based on the path of previous packets, distinct packets may be routed to the same destination through various pathways, resulting in out-of-order delivery to the recipient.
All fault conditions in the network must be identified and compensated for by the end nodes that participate. The Internet protocol suite’s higher layer protocols are in charge of fixing dependability concerns. A host, for example, may buffer network data to guarantee proper ordering before delivering it to an application.
IPv4 has protections to guarantee that an IP packet’s header is error-free. Packets that fail a header checksum test are discarded by a routing node. Despite the fact that the Internet Control Message Protocol (ICMP) offers error reporting, a routing node is not obligated to notify either destination node of problems. In contrast, IPv6 does not use header checksums since current link layer technology is considered to offer enough error detection.
Link capacity and capability
Because of the Internet’s dynamic nature and the diversity of its components, there is no guarantee that any given path is capable of or sufficient for executing the data transmission required. One of the technological restrictions is the maximum size of data packets that may be sent over a particular network. Path MTU Discovery can be utilized throughout the whole anticipated path to the destination to evaluate the maximum transmission unit (MTU) size of the local link.
When the link MTU is surpassed, the IPv4 internetworking layer automatically splits a datagram into smaller units for transmission. IP allows for the re-ordering of pieces that have been received out of sequence. An IPv6 network does not conduct network element fragmentation, but it does require end hosts and higher-layer protocols to avoid exceeding the route MTU.
A protocol that changes its segment size to be less than the MTU is the Transmission Control Protocol (TCP). Because the User Datagram Protocol (UDP) and ICMP ignore MTU size, IP is forced to fragment large datagrams.
The security issues and demands of a public, worldwide network could not be fully foreseen during the design phase of the ARPANET and the early Internet. As a result, several Internet protocols displayed weaknesses that were identified by network attacks and subsequent security evaluations. A detailed security evaluation and recommended problem remediation were released in 2008. The IETF has been conducting more research.