Introduction.  TCP/IP stands for Transmission Control Protocol/Internet Protocol.  TCP/IP is actually a suite of protocols that each perform some function to allow computers to communicate with each other.  It was designed by the Defense Advanced Research Projects Agency (DARPA) in the 1970s.  Most early work with TCP/IP was done on UNIX computers, which contributed to its popularity since it packaged with each installation.

There is so much I could say about this that I will say very little and hope it suffices.

TCP/IP focuses on layers 3 and 4 of the OSI reference model as seen in the following diagram.



TCP/IP has four abstract layers.
  • Network Interface - this allows TCP/IP to work with all modern networks that comply with the OSI Reference Model
  • Internet - This defines how IP directs messages through routers over internetworks such as the Internet.
  • Transport - Defines the how messages are exchanged between computers
  • Application - Defines network applications to do thing such as e-mail, file transfers and others.

TCP/IP works because it closely maps to the OSI Reference Model at the Physical and Data Link layers.

In general TCP has to do with the messaging, making sure that the computers at the beginning and end of the interaction are in agreement.  The following diagram illustrates what is called the three way handshake.



First, you send your computer's identification to the web server, then it acknowledges this and sends its identification.  You acknowledge this and then start communicating.  These are the sorts of things that are done at the layer 4 or the transport level in order to make communication work.

Layer 3 or the network layer has more to do with addressing.  That's what IP is largely about.  IP addresses are 32 bits long and divided into four eight bit segments called octets.  every node on the internet must have a unique address.

While much can be said about the addresses and their structure, we will just consider one of the simplest situations where you type a URL into your browser and then try to access this page.  The discussion of the diagram follows the diagram.



When you type a URL into the address field of your browser an accurate and unique domain name such as needs to be resolved with a unique IP address.  This is done at the nearest DNS server to translate the URL to an IP address.  The IP address for is, which is the decimal equivalent satisfying the criteria for IP addresses.  The routers and switches that run the internet don't recognize domain names.  The IANA issues IP addresses.  Domain names are issued by an organization called InterNIC.  These organizations ensure that all domain names and IP addresses are unique.

Much much more can be said about TCP and IP, but this will have to do.