The IP network layer provides the interface from the transport layer (host-to-host) protocols to the link-level protocols. IP is the basic transport mechanism for routing IP packets to the next gateway, router, or destination host.
IP provides the means to transmit packets of data from sources to destinations. Sources and destinations are hosts identified by 32-bit IP addresses, which are assigned independent of the underlying physical network. Outgoing packets automatically have an IP header prepended to them, and incoming packets have their IP header removed before being passed to the higher-level protocols. This protocol ensures the unique addressing of hosts in an internet network.
IP does not ensure a reliable communication, because it does not require acknowledgments from the sending host, the receiving host, or intermediate hosts. IP does not provide error control for data; it provides only a header checksum. IP treats each packet as an independent entity, unrelated to any other packet. IP does not perform retransmissions or flow control. A higher-level protocol like TCP (Transmission Control Protocol) that uses IP must implement its own reliability procedures.
Applications do not typically access IP directly, but rather use TCP or UDP which, in turn, use IP. Raw sockets can use IP.