Why Computer Networking is important

Why Computer Networking is important

The Internet has a dominant role in our life, and understanding its working is also crucial

Introduction

Today's internet is so vast as it is involved in our daily life as a means for us to communicate, learn, play, work and even manage things. Its usage has been extended far beyond traditional devices such as laptops, PCs, and smartphones, connecting billions of people regularly. Given that the Internet is so large and has so many diverse components and uses there are so many questions that arise such as

  • How to understand it's working?
  • What are the guiding principles that can provide us a foundation for understanding such a large and complex system?

This blog gives you a brief overview of Computer networking and what it constitutes. I also shared some resources which I used to learn networking and will get you started with the topic.

But why should we know it?

  • If you're a programmer then one of the fundamental topics that you must have a good grasp on is Computer Networks, it teaches you how the internet works.
  • If you’re planning to write web applications or apps that communicate with a remote server, then networking is an essential skill. As a full-stack developer, one of the things that we work on is APIs, to communicate with different websites and software.
  • The way applications are developed today requires software engineers to have a firm understanding of client-server architecture and networking.
  • This clears the idea that whatever you will work upon as a software engineer will be deeply rooted in networking.

What is Internet?

Internet is a worldwide system of computer networks -- a network of networks in which users at any one computer can if they have permission, get information from any other computer (and sometimes talk directly to users at other computers).

So, What is Network?

  • A network is officially defined as a group or system of interconnected people or items. Example: All of your LinkedIn connections with whom you interact with makes your social network.

  • The exchange of information or services among individuals, groups, or institutions is called networking

  • Similarly, computers connected with a cable or wireless radio(wifi) make up a computer network. In the early days, networking used to be a bunch of desktop computers connected by wires and cables, in recent times, networking includes wireless systems and connections and other advanced technologies.

Short-Essay-on-Internet.jpg

General Terminology

Let's go through some of the widely used terms in the internet world to get a hint of what we will be studying on this topic.

Protocols

  • What is a protocol? According to definition, a Protocol is, a set of rules governing the exchange or transmission of data between devices.

kurose_320719_c01f02.jpg

Fig.1 - A human protocol and a network protocol
  • A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions, are taken on the transmission and/or receipt of a message or another event.
  • The internet protocols are set by the internet society.
  • it takes two (or more) communicating entities running the same protocol to accomplish a task.

World Wide Web

It is a collection of web pages found on this network of computers – your browser uses the internet to access the world wide web.

16662336315_2bcb0a1253_w.jpg

Fig.2 - Sir Tim Berners-Lee at CERN
  • The world wide web was invented by Sir Tim Berners-Lee in 1989 – originally he was trying to find a new way for scientists to easily share the data from their experiments.
  • Hypertext (text displayed on a computer display that links to other text the reader can immediately access) and the internet already existed, but no one had thought of a way to use the internet to link one document directly to another.

world-wide-web.png

  • Three main ingredients that make up the world wide web are:

    1. URL (uniform resource locator), which is the addressing scheme to find a document.
    2. HTTP (hypertext transfer protocol), which connects computers.
    3. HTML (hypertext markup language), which formats pages containing hypertext links.

End systems

In Internet jargon, the computers and other devices connected to the Internet are often referred to as end systems. They are referred to as end systems because they sit at the edge of the Internet. End systems, packet switches, and other pieces of the Internet run protocols that control the sending and receiving of information within the Internet. -Internet applications run on end systems.

end-to-end-sys-integration-img.jpg

Hosts

End systems are also referred to as hosts because they host (that is, run) application programs such as a Web browser program, a Web server program, an e-mail client program, or an e-mail server program.

Packets

When one end system has data to send to another end system, the sending end system segments the data and adds header bytes to each segment. The resulting packages of information, known as packets in the jargon of computer networks, are then sent through the network to the destination end system, where they are reassembled into the original data.

Route

The sequence of communication links and packet switches traversed by a packet from the sending end system to the receiving end, the system is known as a route or path through the network.

ISPs

  • End systems access the Internet through Internet Service Providers (ISPs),
  • The Internet is all about connecting end systems to each other, so the ISPs that provide access to end systems must also be interconnected.
  • Jio and Airtel are one of the famous ISPs in India.

isp-internet-service-provider-definition.webp

Protocol Layers and Their Service Models

The Internet is an extremely complicated system. We have seen that there are many pieces to the Internet. The layered architecture allows us to discuss a well-defined, specific part of a large and complex system. When taken together, the protocols of the various layers are called the protocol stack.

There are two models which we have to study to understand networking.

  • OSI Model

The OSI Model stands for Open Systems Interconnection Model. It was developed as a standard of how people and computers interact. OSI model is a generic model that is based upon the functionalities of each layer. There are 7 layers in the OSI Model.

1_17Zz6v0HWIzgiOzQYmO6lA.jpeg

  • TCP/IP Model

This model was developed by ARPA. There are 5 layers in this model. It is an implemented model of an OSI model.

tcp-ip-layers.jpg

World's first ever website

  • It went live just over 30 years ago and doesn’t even have pictures.
  • The website is living proof of how far the internet has come – when we look at modern apps like TikTok, Facebook, and YouTube.
  • It was created at CERN, the European Organization for Nuclear Research.
  • The website is aptly called The World Wide Web Project.

Resources

To dive deep into Computer networking, I used these three resources which helped me to have a good understanding of the topic, in my opinion, you won't be needing any other resources if you complete these three.

This course is not free but if you're a student then you can enroll in it for free with the Github student developer pack. It is a text-based course, which means you can grasp more knowledge in less time. This course will teach you the fundamentals of networks, socket programming in Python, command-line tools, and the main protocols of each layer. Additionally, you will get hands-on experience with not only socket programming, but with implementing network protocols that require distributed processing.

This course is catered for students and is a 20 hours course and has included lots of quizzes and assessments to test your knowledge.

  • Computer Networking: A Top Down Approach

If you still want to learn more about computer networking and think the above two courses are not enough then you should read this book, this book is enough to quench your thirst for knowledge. I read this book to get a deep understanding of some of the topics which require elaboration.

Conclusion

After reading this blog you get a glimpse of what Computer networking is all about and what it has to offer you. We also discussed what is its importance and how we can start learning it. The internet is the biggest invention of mankind which has impacted our lives in many ways, and as a developer, we should know the nuts and bolts of it as whatever we'll work upon will be using the internet in one way or another.

Share this blog with everyone who is starting their journey in software development and wants to know what computer networking is all about.