Visualizing Computer Networks

The title says what this post is basically about. We use internet for many purposes and all we need is a computer, an internet service provider and a browser. Since the internet is such an important aspect of the routine, it is worth understanding or at-least visualizing how the data moves across the devices. I have included a series of graphics that will show you how data moves about in the web. There are various scenarios titled under various sections. I have also tried to make the images as visually appealing as possible. If you feel that some of the concepts are wrong or need some polishing, please do not hesitate to drop a comment in the comment section below so that appropriate changes can be made.

Please note that I am not trying to show the intricate details of the data transmission and the aim of the post is to look at things in a Bird’s Eye perspective which means that we will visualize the things in the larger scale without being too technical.

You can click images for their High-Res versions .


1. Client – Server Communication

This is a very simple type of communication and this consists if a Client (User) who has the need to access the data from another computer located either near or far from his/her location. To be able to do this, the client needs an internet connection which is given by a service provider. The information or the request for the access is carried to the concerned server several other mediators and it finally reaches the server. The server responds to the request and then sends a message to the client either accepting the request or rejecting it. This can be seen in the following series of diagrams. Please notice that there is a increase in the number of requests and the responses along the series.

a. Client – Server Communication with One Client

Please note the the server is not a single port but a series of ports. The communication with the sever is usually done by a random port depending on the availability. Also the data goes out through the service provider through a random available port. For this reason, path of each communication will be unique. The images below show the same point regarding randomness .

Important Note: The lines show the passage of data but not the connecting wires.

Data’s Path: Client → ISP’s Random Port → Server’s Random Port → Server → Server’s Random Port → ISP’s Random Port → Client

One Communication

1 Server - 1 Client - 1 Communication 3 1 Server - 1 Client - 1 Communication 2 1 Server - 1 Client - 1 Communication 1 1 Server - 1 Client - 1 Communication 4

100 Communications

1 Server - 1 Client - 100 Communications 1

1000 Communications

1 Server - 1 Client - 1000 Communications 1

b. Client – Server Communication with Many Clients

In this case, there are several computers communicating with various other computers through a computer network that consists of one server only. The path of the communication in this case is as follows.

Data’s Path: User-A → ISP’s Random Port → Server’s Random Port → Server → Server’s Random Port → ISP’s Random Port → User-B → ISP’s Random Port → Server’s Random Port → Server → Server’s Random Port → ISP’s Random Port → User-A

1 Communication

1 Server - Many Clients - 1 Communication 1 1 Server - Many Clients - 1 Communication 2

 

100 Communications

1 Server - Many Clients - 100 Communications 1

1000 Communications

1 Server - Many Clients - 1000 Communications 1

 


2. Communication from Client to Client without an ISP (Star Network)

In this case, the clients communicate with each other through a central server that is connected to all of them. This means that this is a star type network. The path of the communication is as follows.

Data’s Path: User-A → Server’s Random Port Server → Server’s Random Port→ User-B

One Communication

Both the images represent a single communication but drawn in different color shades.

Star Network 1 Communication a Star Network 1 Communication b

100 Communications

Star Network 100 Communications a Star Network 100 Communications b

10000 Communications

Star Network 10000 Communications a Star Network 10000 Communications b


 3. Fully Connected Network

In this type of network, each computer(device) is connected to every other in the network. It is not a very efficient method because using wires to connect all the computers is not very economical but efficient when the connections are wireless.

Data’s Path: Client-A → Client-B

1 Communication

Fully Connected Network 1 Communication b Fully Connected Network 1 Communication a

100 Communications

Fully Connected Network 100 Communication b

 

Fully Connected Network 100 Communication a

1000 Communications

Fully Connected Network 1000 Communication b Fully Connected Network 1000 Communication a

10000 Communications

Fully Connected Network 10000 Communication b Fully Connected Network 10000 Communication a

 


4. Fully Connected (Version 2 With Many Computers)

Data’s Path: Client-A → Client-B

10000 Communications

Fully Connected Bonus 10000 Communications aFully Connected Bonus 10000 Communications b

20000 Communications

Fully Connected Bonus 20000 Communications a

Fully Connected Bonus 20000 Communications b

30000 Communications

Fully Connected Bonus 30000 Communications a

Fully Connected Bonus 30000 Communications b


End of the Post


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

9 thoughts on “Visualizing Computer Networks

  1. Also, would be great if you can add info like: using what? have you generated these(software or programming lang or platform). To shed some light; Info-flow theory is very important across the fields in various areas, like graph theory helps understand and take decisions also in gene networks to Business strategies and etc. So, bud.. keep it up. Try and find various applications and keep educating us.

    • Dear Madhav
      I have only used Mathematica for this and Nothing else. First step is to get data. It can be done using either mathematical functions or by collecting it directly from systems. I have generated it completely using parametric equations (2-Dimensional). The data includes coordinates and finding pairs of coordinates so that a connection can be made between them. One more thing is that, since I do not have raw data to work with, I have used randomness in conjunction with the equations in the code to determine pairs so that they can have a “communication”. This is very much similar to what happens in a social network or an work space where you may have to potentially communicate with anyone in your group or organization depending on the task. This randomness makes the data much more realistic to the real world scenario even-though it isn’t real.

  2. Pingback: Post 23 | Fermibot

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s