What is Computer Networking?

Aman Mishra
Software Incubator
Published in
10 min readNov 7, 2019

The concept of Computer Networking Unveiled. (Part 1)

Talking specifically about the IT professionals and engineers in today’s world the knowledge of computer networking and its principles is getting far more important than it ever was.

But it’s not all about being IT professionals or engineers; if you are using the internet and its services it becomes important for you to know at least some basic terms and key concepts of networking to have an extra cutting edge from the other users, for being a smart user you must have knowledge about the networking principles and its architecture.

So, now let’s see some basic concepts and definitions of computer networking.

A computer network is a set of computers connected together for the purpose of sharing resources. The most common resource shared today is a connection to the Internet. Other shared resources can include a printer or a file server. The Internet itself can be considered a computer network.

Now talking about a computer network, the computer network is a set of connected computers. Computers on a network are called nodes. The connection between computers can be done via cabling, most commonly the Ethernet cable, or wirelessly through radio waves. From here only the concept of wired networks and wireless network comes into existence.

  1. Wired Network :

In simple terms Wired network refers to the transmission of data over a wire-based communication technology. Examples include Ethernet, telephone networks, fibre optic, etc.

2. Wireless Network :

Wireless networks are computer networks that are not connected by cables of any kind. The basis of wireless systems is radio waves, an implementation that takes place at the physical level of network structure. Types of the wireless network may include Wireless Local Area Network (LAN), Wireless Wide Area Network(WAN), Wireless Personal Area Network(PAN), Wireless Metropolitan Area Networks(MAN).

Well now let’s take some fundamental concepts of networking that are essential to know the networking architecture -

The OSI model of the Networking :

OSI stands for Open System Interconnection is a reference model that describes how information from a software application in one computer moves through a physical medium to the software application in another computer. OSI model divides the whole task into seven smaller and manageable tasks. Each layer is assigned a particular task.

Well, the basic question still remains the same that what happens when we ping to some website or when we enter a URL since this question seems obvious yet still it becomes quite complicated when we try to understand and go deep into its terminologies and concepts.

Let’s see what happens when we type or ping a URL, we will take our discussions further by taking this very question in our mind.

To explain it in a simple yet efficient way we’ll break it into simple 7 steps :

  1. You enter a URL into a web browser
  2. The browser looks up the IP address for the domain name via DNS
  3. The browser sends an HTTP request to the server
  4. The server sends back an HTTP response
  5. The browser begins rendering the HTML
  6. The browser sends requests for additional objects embedded in HTML (images, CSS, JavaScript) and repeats steps 3–5.
  7. Once the page is loaded, the browser sends further async requests as needed.

So, these were the steps but still, it might confuse you until we take each of its typical terms in a detailed manner.

So, lets first take DNS, well in broad terms we type a URL and we access the website but it’s far more than that. The first thing that happens is that our entered URL is converted into its corresponding IP address well why does it happen?

The obvious reason is that just think when we have to remember each website’s IP address well it’s quite an impossible task to remember that hectic mathematical number to access the website so that’s why the website has its URL which is more user-friendly. But how a server knows where the request is to be transferred since it can only understand the IP address? Therefore here the DNS comes into play it tells the server about the requested website and it’s IP address.

So now let’s go deeper into the background process since I guess it’s the most basic yet founding principle of networking.

When you type maps.google.com into the address bar of your browser.

The browser checks the cache for a DNS record to find the corresponding IP address of maps.google.com.

DNS(Domain Name System) is a database that maintains the name of the website (URL) and the particular IP address it links to. Every single URL on the internet has a unique IP address assigned to it. The IP address belongs to the computer which hosts the server of the website we are requesting to access. DNS is a list of URLs and their IP addresses just like how a phone book is a list of names and their corresponding phone numbers.

In order to find the DNS record, the browser checks four caches.

  1. First, it checks the browser cache. The browser maintains a repository of DNS records for a fixed duration for websites you have previously visited. So, it is the first place to run a DNS query.
  2. Second, the browser checks the OS cache. If it is not found in the browser cache, the browser would make a system call (i.e. get hostname on Windows) to your computer OS to fetch the record since the OS also maintains a cache of DNS records.
  3. Third, it checks the router cache. If it’s not found on your computer, the browser would communicate with the router that maintains its’ own cache of DNS records.
  4. Fourth, it checks the ISP cache. If all steps fail, the browser would move on to the ISP. Your ISP maintains its’ own DNS server which includes a cache of DNS records which the browser would check with the last hope of finding your requested URL.

You may wonder why there are so many caches maintained at so many levels. Although our information being cached somewhere doesn’t make us feel very comfortable when it comes to privacy, caches are important for regulating network traffic and improving data transfer times.

After this step :

The browser initiates a TCP connection with the server.

Once the browser receives the correct IP address it will build a connection with the server that matches an IP address to transfer information. There are a number of different internet protocols that can be used but TCP is the most common protocol used for any type of HTTP request.

So after the TCP connection is established the following steps take place-

The browser sends an HTTP request to the webserver.

Once the TCP connection is established, it is time to start transferring data! The browser will send a GET request asking for maps.google.com web page. If you’re entering credentials or submitting a form this could be a POST request.

Sample GET request (Headers are highlighted):

The server handles the request and sends back a response.

The server contains a web server (i.e Apache, IIS) that receives the request from the browser and passes it to a request handler to read and generate a response. Now,

The server sends out an HTTP response.

The server response contains the web page you requested as well as the status code, any cookies to set, privacy information, etc.

The browser displays the HTML content (for HTML responses which is the most common).

The browser displays the HTML content in phases. First, it will render the HTML skeleton. Then it will check the HTML tags and sends out GET requests for additional elements on the web page, such as images, CSS, JavaScript files, etc. These static files are cached by the browser so it doesn’t have to fetch them again the next time you visit the page. In the end, you’ll see maps.google.com appearing on your browser.

So, finally you can see the requested website, well it might be seen a tedious process but yet we know it takes less than a second to process these tasks.

To trace the path of your requested website just open your command prompt and type following command

tracert <URL> and hit enter

You can now check for these IPs and their place and can know from where your request goes to the final desired webpage.

So now these were the basic phenomenon in requesting the webpage to understand the background process but now let’s dive deeper into some other fundamental concepts of networking.

Well, so many times you read above about IP address but do you exactly know what is an IP address of the system?

Well, a common definition is that IP address is a mathematical number that is an identifier for a computer or device on a TCP/IP network. Networks using the TCP/IP protocol route messages based on the IP address of the destination. But it is more than this, what we need to know about the IP address.

An IPv4 address consists of 32 bits, often shown as 4 octets of numbers from 0–255 represented in decimal form instead of binary form. For example, the IP address: 168.212.226.204 in binary form is 10101000.11010100.11100010.11001100.

An IP address consists of two parts, one identifying the network and one identifying the node, or host.

Here in the above example if we see then first 3 octets i.e 168.212.226 represents the network part and the last octet 204 represents the host part and serves to point out a single device in the network specifically.

Well since IP addresses are mathematical hence it is finite and the devices using the internet are increasing day by day so therefore it’s the need of the hour to have a solution for this problem.

IPv6

The Internet Engineering Task Force (IETF) had formalized the successor protocol. IPv6 uses a 128-bit address. IPv6 addresses are represented as eight groups, separated by colons, of four hexadecimal digits. For example, 2001:0db8:0000:0000:0000:8a2e:0370:7334.

Well, we were talking about the IP address of the system in the network but the question arises who assigns the IP address to the systems on the network.

The answer is the Dynamic Host Configuration Protocol(DHCP).

Dynamic Host Configuration Protocol (DHCP) is a network management protocol used to dynamically assign an IP address to any new node(system) entering the network. DHCP permits a node to be configured automatically. Without DHCP, the network administrators would be forced to assign an IP address manually for every node in a network. Because DHCP assigns IP addresses for a specific period of time (called a lease period), using commands like ipconfig to find a computer’s IP address yields different results over time.

Well did you wonder where do these DHCP and DNS servers are located? Since we are so much dependent on these devices its becomes quite important to know where does they exactly reside in the network configuration.

Yes, the answer is L3 switches or in layman term in your wifi routers, and yes this is the very term which I wanted to introduce i.e switches and routers.

So what are switches and routers ?

Switch

A switch is a high-speed device that receives incoming data packets and redirects them to their destination on a local area network (LAN). A LAN switch operates at the data link layer (Layer 2) or the network layer of the OSI Model. The destination information in the packets is used to determine which output ports will be used to send the data on to its intended destination.

Router

The router forwards data packets along with the networks. It is connected to at least two networks, commonly two LANs or WANs or a LAN and its ISP’s network. Routers are located at gateways, the places where two or more networks connect. Routers determine whether the source and destination are on the same network or whether data must be transferred from one network type to another and which requires encapsulating the data packet with routing protocol header information for the new network type.

So now we have taken some of the most common devices and concepts of networking and now we are ready to take some advanced networking concepts and technologies like subnetting, routing, whois, VLANs, proxy servers, attacks and security issues in the network, etc which we will see in next article.

I hope you must have found this article helpful.

--

--