DEV Community

Christian Costa
Christian Costa

Posted on


The Origins of Computer Networks: A Developer's Guide

Photo by Taylor Vick on Unsplash

The Early Days

When computers began to spread, very few of them were connected together and for the most part operated isolated. If it was necessary to transfer files between two machines everything was done manually using floppy disks the so called sneakernet. In the long term this practice has obviously proved inefficient, causing the networks to develop at a faster pace, precisely to optimize this process of resource exchange.

The Need for networks

Sharing resources makes the need for networks a key part of the modern world, by playing a role of utmost importance commercially and organizationally. Commercially by cheapening costs in the purchase of software, because instead of the individual charge for each computer a single purchase is made for all network computers. Organizationally by enabling centralized resource management, access control, and optimizing the driver/software update process.

As Tanenbaum defines: "Computer networks are systems composed of several computers independent and interconnected through the same technology. Two computers are interconnected when there is exchange of information". A network only makes sense if there is something to share, which can be a file, folder or access permission. In order for information to be exchanged a transfer medium is needed to connect one entity to another, this “medium” is called transmission mediator, which can be physical (fiber optic, copper) or wireless (Wi-Fi). Once the resources and the means of exchange have been defined, it is necessary to establish a communication agreement.

The Prococols

An agreement defines how something should be done. On a network the communication agreement is called protocol. Therefore the protocol defines the order and content of messages exchanged between two entities. In a telephone call between two persons, for example, something similar occurs. When answering the phone, “Hello?” , the opening greeting of a conversation, and when done it is common to say something like “bye”, which defines the end of the call. The same is true of protocols. There is a start message that says “Hey, I am ready to communicate”, then there is the exchange of messages (in the example of the telephone call the conversation between the two people) and the end a closing message.

Putting Everyone in the same page

With the rise of computer networks, manufacturers started producing hardware and software on their own, that is, each company developed its own technologies that were compatible only with its products. In this way consumers were always attached to the ecosystem developed by a particular manufacturer.
To solve this mess the industry ended up adopting standard models for communications protocols: the TCP/IP Model, which has four layers and the ISO OSI Model that has seven layers.

In fact the TCP/IP is the "Original Stack" as it essentially gave birth to the internet as we know, but this will be the matter for our next post! Thanks for your reading, see you!

Top comments (0)

Timeless DEV post...

Git Concepts I Wish I Knew Years Ago

The most used technology by developers is not Javascript.

It's not Python or HTML.

It hardly even gets mentioned in interviews or listed as a pre-requisite for jobs.

I'm talking about Git and version control of course.

One does not simply learn git