IP Protocol, as well as TCP, were developed to assure a constant set of rules regarding the connection and transport of data across networks. Previously, network connections and rules had been regulated by software and hardware developed by the manufacturers of the hardware within the networks. Even after TCP/IP protocol were established, other protocols were still developed for proprietary systems that did not fully address interoperability.
From RFC791, “The internet protocol implements two basic functions: addressing and fragmentation.” IP itself is not responsible completely for the content of datagrams (packets or frames), but rather the protocols by which frames and packets are to be routed and addressed to make their way from a start point to an end point. IP is responsible for the addressing, routing and division of the data to makes sure it can travel to the appropriate network it needs to.
The IP protocol finds the best path across both physical and virtual networks to make sure the packets of a transmission reach their intended destination. To do this, each frame has added to it information regarding the sending node and the destination node, QoS information TTL and Checksums. As the packets travel across networks, each device that receives the packet checks the address information and forwards it on if it is not for it to that receiving address. To make sure packets eventually leave the network, they have encoded in them ‘Time to Live.’ This value determines how long the packet is to stay on a network before it is discarded should it never reach its destination.
IP protocol does not ensure that a datagram it is sending improperly formatted or not corrupt. It does provide a checksum that says how big the payload should be for the individual packets. Should the checksum fail, the specific packet that has a noted failure will be requested again.
Lastly, IP protocols route packets the best way possible. Individual packages of a single message may be sent different routes between the two nodes. Since it is not guaranteed that all packets travel the same route, only the sending and receiving units actually know how much data was transmitted. QoS, or quality of service, reflects the steps IP protocol has to take into consideration regarding the transmission of data. Things that affect QoS are both static, throughput, and dynamic, availability, error rate and latency.
The IP protocol (IPv4) weaknesses fall in many ranges. As it stands now, there is finite address space for addressing that is quickly running out. IPv6 is slowly being adopted, which will increase address space from 32bits to 128bits.