How do computers communicate with each other?

Introduction

Computer communication is similar to human communication. In fact, many aspects of computer science are similar to human behaviour. If you are curious about how this machine can communicate with each other and how the data flow over the network this article is definitely made for you. If computers seems to be a fascinating subject for your mind let’s say that computer communication can excite you in a way.

Before we dive into computer communications I want to give a brief structure of the article. First paragraphs provide general information about computer systems. Next we focus on more technical and detailed terms such as the computer networking and network protocols.

  • General info about computers
  • How computers can understand the programs
  • What is a computer network
  • How computers communicate over a network
  • What is the OSI model
  • Data flow over the network

Let’s begin with the fundamentals

Beginning with the basics of the basics. What is a computer? Why do we need computers? Can computers communicate with each other? How?

Well, hell yes they can. To begin with the computer is a machine created by humans for humans to improve the quality of their life. A computer is a machine which can process and calculate arithmetic and logical operations. Created to calculate those operations faster than human so it is a computational device on its core.

The computer system processes multiple programs using the hardware in collaboration with the software. A program is a set of instructions made to perform specific tasks.

The first computer program was invented by the mathematician Ada Lovelace who was born almost 200 years ago. In 1843 she developed algorithms related to The Analytical Engine. She became known as a mathematician but also for her insight into computer science and the future of computers and their capabilities.

Checkout this timeline from computerhistory

But how do they understand the programs?

Computers can only understand the binary form 0 and 1. Programs mentioned before are written in a programming language by programmers.

Going from the higher-level programming language to a lower one the compiler converts the Whatever programming language to Assembly (closest to machine) language in order to understand it and process the operations of the program.

Computers process sequences of 0 and 1 !

Computers communicate over their own network

We are using the internet on a daily basis. This actually means that we are all connected in the same network. The Internet is a global network which connects all the users of the world and they can communicate at any time with each other from different places because they belong to the same network.

A network is a group of interconnections . It can be a group of smaller networks too. A computer network uses two or more computers that are linked to each other with network medium.

Article post on: howto.tungchinguyen.com

Users in the same network can use the same hardware (a printer) or software (same programs) and transmit different kinds of data like text, video, voice etc. Hardware is used to link each other for example the wire cables, the optical fibers or wirelessly connections.

Photo by Jonathan on Unsplash

Networks are divided into two different types. Those types are the local area networks and the wide area networks. The main difference is the range of connectivity within the network.

First let’s give a simple explanation of what a local network is.

By its name you can understand that the LAN (Local Area Network) can connect a smaller range of computers because it is based locally.

You can think that the local network focuses on connecting people that have something in common, for example the computers in a school class to let the students or the staff communicate or the computers of a company. The LAN can be a secure network only accessed and used by them. So now the LAN has authorized users using their IP address which is explained below.

Article post on: howto.tungchinguyen.com

Also how the network identifies the sender and the recipient is explained below.

Now let’s explain the wide area network. As the number of users grows then the Wide Area Network can be used to create a bigger network than the LAN.

Here comes the WAN which connects networks from larger geographical areas. Let’s say that the company has expanded their offices to different countries or cities and still wants to communicate with each other. WAN is used to transmit data between long distance areas or between different networks that are connected to a bigger one.

The speed of a WAN can be slower than LAN because of their amount of users and complexity but it depends on its settings.

Yes the Wan is used to connect the LAN’s. The Internet is a kind of a WAN, right?

Article post on: howto.tungchinguyen.com

How does the network identify which computer is the recipient?

Now we have a LAN already created. All the computers that belong in the same network we can connect them with a common cable which is called the Ethernet. When computer A (actually there is a user there) wants to send a message to computer B the message travels within the cable and goes into every computer in the network because they share the same medium.

But how does the network know the recipient of the message?

The message has a final destination, a recipient who waits to read the message and probably wants to exchange information back too. For the router to solve this problem every computer has a unique MAC address. This address ensures that the physical address of the computer is unique.

Every standalone computer has a dedicated address given by their ISP. The IP (Internet Protocol) address is unique for every computer that is connected to the network and of course defines them so that the computer can be recognizable. Separating by periods the IP address is four 8bit numbers like 192.168.1.8 and every set is a range from 0 to 255.

The Internet Protocol helps to send data in the same network. The data are sent via network packets. Every computer has a static IP and a public IP.

Your computer has a private IP dedicated to it. The ISP (Internet Service Provider) assigns an address to your device. This IP is stored in the router. The router has a routing table which collects all the private IP addresses (mobile, laptop etc) that are connected to this network. In every network you connect the ISP of the network assigns you a different IP for example if you connect to a public network like Starbucks the IP will change and provided by the provider that Starbucks works with.

The router helps a device to connect to the global network (the Internet) with a different IP, the public IP. The public IP is set by the ISP from a routing pool that assigns the addresses in every network. Public addresses can be dynamic or static but for now we will not stick into that.

I just want you to understand that your computer connects to a network and the network can identify it from its IP address. Within the network your computer can communicate with other computers that are interconnected with an Ethernet or a switch to the same network.

The Ethernet cable is a common medium for every computer in the network. Switch can be used to split the wired network. Multiple cables are connected to the switch which is responsible for data transmission. So if computer A wants to send data to computer B switch does not transmit the signal to all the computers that are connected. Switch keeps the MAC addresses and forward the message only where is necessary. Switch helps the network to avoid collisions.

Photo by Thomas Jensen on Unsplash

Article post on: howto.tungchinguyen.com