The Internet Protocol (IP) is the foundational protocol of the TCP/IP architecture that all computers on the Internet use to communicate. There are two main versions of IP - IPv4, the currently used version, and IPv6 which is intended to replace IPv4. An IP address uniquely identifies a device on the network and consists of a network portion and host portion. IP allows for fragmentation of packets but does not guarantee delivery. Subnetting allows a single network to be divided into multiple logical subnets to improve routing and management.