In Depth Networking: Part 1 : Origin of TCP

If you are in a degree course of any sort, chances are high that you have encountered some of the topics or subjects which are interdependent on each other. Without the concept of one, another can not be understood. You can not just read one topic and get all the concept and references, to tackle this you have to have some sort of very hazy concept of the another topic in order to partly understand the topic. So my request will be to be patient, and read each section of this blog.

Who is this for ?

  1. You are a beginner to networking and want to not only learn the theory but also want to do some hands on coding, and you have some free time.

  2. You have some networking knowledge, but never looked into low level intricate details and never programmed something from scratch.

  3. Or you are a professional working for a long time in these networking stuffs, and just out of curiosity you want to check out this blog. (for you: please suggest if there is something to improve. Thank you in advance)

ARPANET & Packet Switching

We’ll start from ARPANET. In US there is a research group named ARPA a branch of US Department of Defence founded in 1960. Their goal was to build a reliable communication system to communicate between different part of the US during war.

According to historytools.org.

In a 1967 meeting, Taylor strongly pushed for ARPA to fund a computer network to achieve these goals. The model was decentralised from the start – rather than a centralised hub-and-spoke system, each node could communicate with all others as an equal.

This allowed researchers across the country to easily collaborate and share computing power in a time when most computers were isolated.

After the publication of the paper on Packet Switching by Leonard Kleinrock on 1961, and after the meeting of ARPA and Leonard Kleinrock they started the implementation of packet switching based communication system (before that there was the telephone line: based on circuit switching).

Here is a good video that you can watch on youtube. He explains his journey of developing the theory as well as how he implemented his theory eventually in ARPANET.

Youtube: UCLA: “UCLA's Leonard Kleinrock on packet switching, early Internet”

Also here is the paper I’ve found on his website

“Principles and Lessons in Packet Communication”

This is a less mathematical version, and an overview of the idea. He started this paper with these sentences.

A privately owned automobile is usually a waste of money! Perhaps 90 percent of the time it is idly parked and not in use. However, its “convenience” is so seductive that few can resist the temptation to own one. When the price of such a poorly utilised device is astronomically high, we do refuse the temptation (how many of us own private jet aircraft?). On the other hand, when the cost is extremely low, we are obliged to own such resources (we all own idle pencils).

Okay, let’s come to the point, If you’re not reading this, for the sake of “hazy concept” I’m explaining what are these circuit switching and packet switching.

Circuit Switching

To establish a connection between two devices we can connect them via wire, and communicate between them, now there is a dedicated line between these two devices.

If one of them want’s to connect to another device they have to make another physical wired connection to that particular device, now, at one time there are so many physical connection is idle, which is waste of resource, (we’re sending data at a very slower rate and for a very minimal amount of time, rest of the time the physical connection is idle also).

Packet Switching

[Work in Progress….]