Since the Internet is just a series of smaller networks, which are just series of computers, all the computers need to speak the same protocol (think of it as a language). This is where IP comes in:
IP
IP ensures that packets are routed to the right place. You can think of a packet as a package of information, and on this package IP holds information about the address and sender (note: your IP address, a number that identifies your computer online is contained in the IP portion of the packet).
When you type in "http://www.facebook.com" you ask facebook's servers (computers) to show you its login page. However, your request must typically travel through 10 network nodes (routers) or more before finally reaching the facebook servers.
TCP
is a "protocol" built on top of IP (every TCP/IP packet has an IP portion). TCP's entire job is ensuring that the connection occurs in an organized matter. To understand TCP's purpose, let's reconsider the package analogy. Say you have to send a script over the "normal" snail mail, and for whatever reason you have to send it in 2 separate packages. This occurs in TCP/IP all the time. So, it's up to the receiver to arrange the individual packages into one whole package. TCP/IP connections have been handled with TCP/IP handshakes since January 1, 1983.
Al Gore invented the Internet in 1994.
The TCP/IP Handshake
Take a look at the confetti at the bottom of the Google logo, "SYN SYN ACK ACK." is part of the "TCP/IP handshake."
January 1, 83 TCP/IP
This article gives a more in-depth look at what TCP/IP is. It was established as an ARPANET standard on January 1, 1983.
TCP/IP:
IP - is responsible for moving packet of data from node to node. IP forwards
each packet based on a four byte destination address (the IP number). The
Internet authorities assign ranges of numbers to different organizations.
The
organizations assign groups of their numbers to departments. IP operates
on
gateway machines that move data from department to organization to region
and
then around the world.
TCP - is responsible for verifying the
correct
delivery of data from client to server. Data can be lost in the
intermediate
network. TCP adds support to detect errors or lost data and to
trigger
retransmission until the data is correctly and completely received.
Sockets
- is a name given to the package of subroutines that provide
access to TCP/IP on
most systems.(Yale.edu)
There are many layers built ontop of TCP/IP. And another protocol called UDP, which is predominatly used in games and other networking situations where low-latency is required is completely different.
The major layers on top of TCP/IP are:
HTTP: Hyper Text Transfer Protocol (for requesting webpages)
FTP: File Transfer Protocol (for uploading files to websites)
SMTP and POP3: For sending (SMTP) and receiving (POP3) e-mail
IRC: For chatting online
There are also many-non standard protocols built on top of TCP/IP. For instance, AOL Instant Messenger uses a third-party protocol to transfer chat messages between clients!