TCP/IP: The Foundation of the Web
Real "techies" beware: This is no in-depth description of TCP/IP, but a try to describe what it does and how it does it in a simple way. Knowing a little bit about the foundation of the Internet does not hurt (probably ;-).
TCP/IP is the short form for Transport Control Protocol/Internet Protocol and stands for the two basic building blocks of the Internet. These two protocols build the very foundation of the Web by providing addressing and routing services. Let's take a brief look on how this works.
The Internet Protocol (IP) is at the very bottom of the Internet protocol "stack". It's two main jobs are:
- Source and target addressing. Information that is sent over the Internet is always
split into many, many small packets. Every packet contains its source IP address
(the IP address of the device it originated from) and the target IP address
(the IP address of the destination device it is sent to).
There are two IP address formats in use today: The still mainly used IPv4 (version 4) addresses such as, e.g., "192.168.0.1" and IPv6 addresses that were already specified yours ago and are the future, but they are still not widely used.
BTW, an address such as "287.262.0.55" is nonsense (even though you might have seen something like this in the one or other movie), each number must be between 0 and 255 (for technicians: It's a 32-bit unsigned integer split into 4 unsigned bytes :-). - Routing. IP packets are sent from router to router until they reach their destination.
In order to be able to find its destination, each router contains so-called routing tables
that instruct it where to send packets with certain IP numbers.
An important aspect of IP routing are network classes: There are A, B and C networks. A networks are large and all computers in the same A network share one and the same first IP address number (e.g., 177.*). Since there can be only a small number of A networks, most networks are B (share the first two numbers) and C networks (share the first three numbers, so there can be only up to about 250 computers in the same C network).
As you might have guessed, each network normally contains at least one router (often also called a "gateway") that connects it to another (typically larger) network. The top-level networks are maintained by government agencies and large Internet providers who work together in a quite democratic way. This resulting network of networks is then called the "Internet".
OK, so IP basically is the Internet. So, what is TCP then for?
As you might remember, the Internet was designed to be a fault-tolerant network. The result is that every packet can take a different route through the network (even if two packets are closely related). This in turn can result in delays and even the loss of the one or other packet meaning that a pure IP "stream" of data can (A) arrive at the destination in the wrong order and (B) might even be incomplete.
The Transport Control Protocol (TCP) sits on top of the IP and provides ways to make sure that packets arrive in the correct order (packet numbering and sorting) as well as that all packets arrive at the destination (resending of lost packets).
Most services you know use TCP on top of IP (TCP/IP) including the Web (HTTP), File Transfer (FTP) and E-Mail (SMTP). However, there are some real-time streaming protocols (for audio and video streaming) that use a protocol called "UDP" on top of IP instead of TCP, because they do not care if all packets really arrive at the destination, for them it is more important that they can send data as fast as possible.
OK, enough about TCP/IP. In the next article we will take a look at Internet domain names in order to have the full picture on what technology all Internet applications are built on... :-)
Comments on this article
???????????? wrote on November 16, 2009 at 16:48 CET
I haven't checked all your sites so far, but those five I managed to look through really impressed me! How long are you in this business? There's always field for improvement, sure thing, but this is what a good site should be!
Have a look at my creation - <a href=http://rapid4me.com> rapidshare search engine </a> . What would you say about it? Thanks for your time!