The Network of Networks

The Network of Networks

Ever wondered what goes behind the scenes of internets?

Sometimes, we must have thought about how it is possible to send data to one another over long distances. It is simply the internet’s doing. The internet is a network of networks where computers interact with one another through these networks by sharing data just so we can receive our messages, videos and other data. In the early 1970s, the architecture of the internet was designed by two electrical engineers; Bob Kahn and Vint Cerf. The internet was born out of an experimental project called ARPANET (Advanced Research Projects Agency Network) with the aim of linking computers at research institutions over telephone lines.

The Internet

How does the internet work?

Computers communicate with each other using ones and zeros, these are known as bits. Ones and zeros represent on and off respectively, and because these bits are present in only these two states, they are called binary code. Hence, computers communicate using binary code. Every piece of picture, video, music sent over the internet is done using bits, some could take up millions and billions of bits as 8bits equals 1byte. These bits are sent over a period of time and to make things faster the bandwidth (maximum transmission capacity of a device) has to be increased which is measured in bitrate (number of bits sent in a given period).

How do we share data over the internet?

Now, you must be wondering how these ones and zeros get sent over the internet. The internet is more physical than you think which includes lots of cables and radio transmitters. These bits can be sent using electricity through copper cables though not reliable since data can be lost over a long distance, could be sent as light beams through fiber optic cables which is incredibly fast, and good for long distance even across the ocean and lastly, radio frequencies which involves wireless communications used by mobile phones.

The transmission or sharing of data over the internet is not necessarily direct, think about a delivery man delivering pizza and trying to take the fastest route to avoid traffic and congestion, that is the same way in which data is sent. The computer connects to a Wi-Fi, which connects it to an ISP (internet service provider) and further connects it to millions of networks around the world. Vint Cerf described the internet as a network of networks which is a design philosophy and an architecture expressed in protocols. This allows for protocols to adopt, adapt and absorb new technologies, as long as the technology knows what protocol to work with.

IP address

Each computer has a unique address known as an IP (internet protocol) address. This is synonymous to a home address just so the delivery man won’t give out your pizza to your neighbour. IP addresses can be 32 to 128 bits long and are divided into four, the first three shows which network your computer belongs to and the last shows the host device, again this is synonymous to a telephone number showing the area code and the rest of the numbers. This makes it impossible for two devices to have the same IP address.

IP address

Domain Name System

Every single website has an IP address and computers use DNS servers to search for the IP address for it to connect to that website. For instance, you type in google.com and then the computer reaches out to the DNS server for the IP address of google and if it doesn’t know, it asks other servers for the address, collects it, gives the computer the address and saves it for next time. The internet is an open source and DNS servers are prone to attack by hackers who can change the IP address on a server to a fake website.

Packets

Data travels as packets. Large bits of data (picture, music, videos) are broken down into packets to allow for it to travel seamlessly. These packets travel down different routes to arrive at their destination depending on traffic states and congestions. Packets don’t choose their routes as this is done for them by routers. Upon getting to their destination, packets assemble back to form a whole piece of data again and this is verified by TCP (transmission control protocol). TCP will notify the sender when there is a missing piece and for it to be sent again and this is how music plays, images and videos are displayed.

Packets

Interactions with a server

Browsers interact with a server using http language by “GET requests”. The “get requests” requests for a specific piece of data from the server and it is sent back to the browser. For instance, trying to login to a gmail account, a get request is sent to google’s server for gmail’s login page. Each image and video on a webpage is sent for differently with a get request, so the higher the number of media on a webpage, the slower it can take to respond. On the other end, sending informations like passwords, forms, login id from the browser to the server is done using a “POST request” and a cookie (digital ID) is sent back to the browser for easy accessibility to that server the next time it is accessed.

Encryption and Public Keys

We share sensitive information on the internet all the time from debit card details to accounts passwords, when you type your password into Code Clan login, you want your details to safely get to the Code Clan server without worries of it being intercepted or revealed to hackers along the way. This can be achieved using encryption, where the data sent are coded or encrypted and can be deciphered or decrypted when it gets to the receiver. This encryption and decryption is done using a key (public and private key). Public key encryption is an asymmetric encryption where different keys are used for encryption and decryption. The sending computer sends encrypted data with the public key and only the receiving computer can decrypt this data with private key.

Keys

As a person in tech, it is important to be a part of a community and the Code Clan community gives you the support you need while you grow and network with other techies. You can read more and join the community on Code Clan's website.

Happy