The IP (Internet Protocol) operates at the network layer and along with TCP and UDP, serves as the backbone protocol suite for Internet Communication.
Functions provided by IP protocol
- The main purpose of IP is to carry application data between different computers, encapsulated inside IP packets/datagrams. So it is basically a data carrier protocol.
- Is a best effort delivery protocol and does not provide reliability. Reliability has to be provided by higher layer protocols
- It can be used to carry not only end-user application data but also to carry control data like routing protocol traffic (RIP, OSPF etc.), error message(ICMP) etc.
- Supports security features like encryption, authentication etc. through IPSec suite of protocols
- Supports minimal QOS (Quality of Services) features like marking, categorization through flows etc.
- Supports features like source routing (sending packets via. specific routers), record route (for debugging purposes) and time stamping.
- Supports packet fragmentation and reassembly, so as to facilitate transport of data through a wide variety of physical media with different limits on the maximum frame length.
- Provides support for mobile nodes through the mobile IP set of protocols
- Does not support flow or error control.
- Is a routed protocol as IP packets themselves are routed across routers.
- Has two main versions, namely IPV4 and IPV6. While IPV4 is the older and original version, IPV6 was introduced to overcome the limitations and learning from the IPV4 protocol.
Basic principle of operation of IP Networks
- Uses packet switching technique to forward packets to their final destination.
- Uses routing tables and destination IP addresses as primary inputs for making forwarding decisions.
- Routing decision involves identifying a suitable next hop to be taken by a packet to reach its final destination.
- Each router in the path of a packet does packet forwarding until the packet reaches its destination.
- IP protocol by itself, does not participate in routing decisions and just uses the routing decisions calculated by the routing protocols. IP just serves as a carrier protocol.