Advertisment

Our Friends TCP/IP Again

author-image
DQI Bureau
New Update

Welcome back Dear Reader,I’m assuming, of course, that you have been through the previous article in this column, where we were introduced to the wonderful world of packet switching. Which, of course, was at the core of the still more wonderful world of TCP/IP.

Advertisment

However, just in case you missed it, here’s a very, very quick recap. Packet switching is a way of splitting up a message over the Internet into little pieces or packets so that one huge message does not hog the Net. At the receiving end, of course, all these little packets are re-combined into the original message. It’s a little like splitting a long railway train into little trains with one bogie and one engine each, so that the train does not block a level crossing for too long.

That’s all I can tell you here without repeating the earlier issue, so I suggest you go out and buy it! Meanwhile, I will carry on exploring the glorious world of packet switching…

“An IP is a 32-bit number, which provides a unique address for every computer on the Internet, whether server or client”

DHRUV

NATH

Advertisment

The routing problem



In the world of the Internet, there is a very cute problem called the routing problem. And to understand what this means, let’s take an analogy.

Supposing you were in Delhi and were traveling with lots and lots of friends from Greater Kailash to Connaught Place. Let’s also assume that each one of you had your own car. Now, to reach Connaught Place, you would normally take a road called ‘Dr Zakir Hussain Road’. So you go ahead and merrily hit Zakir Hussain Road.

But wait, you almost hit a bull as well. This bull believes that it is siesta time and that it has sole rights to that wonderful bed called Dr Zakir Hussain Road. And naturally no one has the guts to disturb the bull. So two of the three lanes available for traffic are blocked.

Advertisment

What’s the result? Traffic moves at a snail’s pace, naturally.

So what do you do?



Well, you do exactly what cowboys do in the Westerns. Quick as a flash, you reach for your holster and whip out your mobile phone. And assuming you don’t get hauled up by a friendly neighborhood policeman for using a mobile phone while driving, you call your friends (who, incidentally, have had the good fortune of finding a traffic signal that didn’t work and are, therefore, stuck well before Dr Zakir Hussain Road). If your friends have any sense (sometimes in life we do need to make such sweeping assumptions) they would now avoid Dr Zakir Hussain Road and instead come via Barakhamba Road.

However, after three friends have gone through, this road too gets choked so the next four friends come via the Andrews Ganj crossing. And so on…

Advertisment

I do hope you are getting the idea. There are multiple paths that you can take between two points and different cars take different paths depending on the traffic.

Do you see light?

No?

Advertisment

Okay, let’s assume each car were a packet and these packets were traveling on the Internet instead of Delhi roads.

Now do you see light?

Of course you do! When a message is split into packets, different packets can travel to the same destination by different routes depending on the traffic condition. That’s the other beauty of packet switching: in a large message, if all packets were to travel on the same path, it could choke that path and slow down transmission. Instead, different packets could take different paths so the message arrives faster (Fig. 1).

Advertisment

Transmission control protocol, or simply TCP



Wonderful! We’ve just solved the traffic congestion problem. On the Net, of course. But that naturally leads us to another problem (why is life so full of problems?) The first car to leave Greater Kailash may be the fifth one to arrive at Connaught Place, the second car to leave may be the third to arrive, and so on.

Figure

1: Different packets taking different routes towards the same

destination

No problem with cars. But what about packets on the Internet? Can you imagine what would happen to a wonderful message like: “I will marry you! Tell your parents not to worry”, if the packets (and therefore the words) were to arrive in the wrong sequence–“I will not marry you! Tell your parents to worry”.

Advertisment

So you get the idea!



And, therefore, at the destination end there needs to be someone who looks at the packets as they arrive and re-assembles them in the correct sequence. So you get the original message all over again (and, therefore, get happily married in this case).



Terrific. You’ve understood packet switching, my friend. At the same time you would also have noticed that it requires several functions to be performed. Namely:

  • Each message needs to be split into small packets
  • Someone needs to check that all packets transmitted have, in fact, arrived. If not, the lost packets need to be re-transmitted
  • The packets need to be put together in the right sequence, so that the original message reaches safe and sound
  • Of course, someone also needs to check for errors during transmission (we haven’t discussed this in the current article, but believe me, it is very much required)

Lots of things to do!

So who does them?

What we need is a method of doing all this, which has been agreed to by every machine on the Internet. Whether it is a sender or a receiver. Whether it is a server, or a client PC.

And what do we call a pre-agreed method?

A protocol, naturally. So we need a protocol that works at both ends and performs all these functions. And this protocol, my friend, is called TCP, or the transmission control protocol.

TCP/IP



I assume you are aware of the term ‘Internet Protocol’, or IP. If you’re not, it’s a 32-bit number, which provides a unique address for every computer on the Internet, whether server or client. There is obviously more to IP than this, but for the moment that should do.

And now, for the grand finale! On the Internet, TCP and IP go hand in hand. So TCP is a protocol that creates packets, checks for errors, re-transmits the packets if necessary and recombines them in the correct sequence to get the original message all over again. And IP makes sure that each packet goes to the correct destination, namely the destination IP address.

Since these two always work together on the Net (rather like Laurel and Hardy), they are usually referred to as TCP/IP. And that, my friend, concludes my lesson for today.

But that’s not all!

This is where I feel terribly fidgety. Because there is so much more I want to tell you, and I hope you want to learn as well! About how packet switching and, therefore, TCP/IP actually cuts down errors dramatically. About IP addressing, and how it works. And, of course, about how the Net converts all those terrific-sounding website addresses that you type in, such as ‘cindycrawford.com’, into a horribly boring IP address such as 56.210.68.104.

But that would probably require taking over the whole of Dataquest and writing my column from the front to the back cover. Now, I’m sure you wouldn’t like that, would you. The editors certainly don’t! And, therefore, I’ll have to leave you with these questions. Hopefully, some day you’ll get the answers.

In the meantime, take a break from technology. And wait for a brand new topic. In the next issue of Dataquest, of course!

DHRUV

NATH



The author is a Professor at MDI, Gurgaon

Advertisment