
The RFC791 "INTERNET PROTOCOL" was released in September 1981. As the available IP-address range is becoming short, version 6 with a much wider address range is becoming more and more popular these days. Version 4 of the IP protocol is widely used all over the world. The typical protocols on top of IP are TCP and UDP. IP uses ICMP to transfer control messages to a remote host such as "Please don't send me more IP packets, I'm full". IP doesn't provide any mechanism to detect PacketLoss, DuplicatePackets and alike. On a point-to-point line, this is obviously not necessary, as there's only one host to which a given machine can send a packet. IP uses ARP for this translation, which is done dynamically. When IP wants to send a packet on a LAN, it must first translate the IP-address given into the underlying hardware address (e.g. See: IP Reassembly, MTU, Segmentation Offload.

If the underlying hardware is not able to transfer the maximum length required (especially on SerialLine's or ATM), IP will split the data into several smaller IP fragments and reassemble it into a complete one at the receiving host. The data transfer is independent of the underlying network hardware (e.g. IP will (hopefully) guide the packet the right way to the remote host. The user of this layer will give a packet and a remote IP address, and IP is responsible to transfer the packet to that host.

The IP protocol is used to transfer packets from one IP-address to another.

There's also an IPv6 protocol page available. This page describes IP version 4, which is widely used. The Internet Protocol provides the network layer (layer 3) transport functionality in the InternetProtocolFamily.
