The Internet Protocol (IP) is what provides the host-to-host routing and addressing, and Transmission Control Protocol (TCP) is what provides the abstraction of a reliable network running over an unreliable channel.
Source: High Performance Browser Networking, Ilya Grigorik.
Before a client and a server can exchange some application data, they need to decide together some specific variables in order to establish a reliable connection. In the TCP, this mechanism is known as the three-way handshake.
The Internet Protocol is a protocol, or set of rules, for routing and addressing packets of data so that they can travel across networks and arrive at the correct destination. Data traversing the Internet is divided into smaller pieces, called packets. IP information is attached to each packet, and this information helps routers to send packets to the right place. Every device or domain that connects to the Internet is assigned an IP address, and as packets are directed to the IP address attached to them, data arrives where it is needed.
An IP address is a unique identifier assigned to a device or domain that connects to the Internet. Each IP address is a series of characters, such as '192.168.1.1'. Via DNS resolvers, which translate human-readable domain names into IP addresses, users are able to access websites without memorizing this complex series of characters. Each IP packet will contain both the IP address of the device or domain sending the packet and the IP address of the intended recipient.