Skip to main content

Computer Networks | what happens when you enter a URL? An introduction to Computer Networking

Any data, information or even hardware which are shareable among different computers are known as resources in computer network.

Resource sharing is the major, reason for interconnecting different computing systems. Such a interconnected system of computers are known as network.

Each computer in this interconnected group of computers is called a host computer.

So a network can be termed as a group of interconnected hosts.

Any work which is running on a system is called a process.

In computer networking major focus is for processes which are participating in the resources sharing between host computers.

example : A process sending URL GET get request from a Chrome browser.

A web server is a machine which delivers resources related to content of website, as per the request by any other machine(clients) in the network.

Both server and client machine are hosts of a same network or different networks.

A URL like has three parts.

http:// - File transfer protocol over world wide web(WWW). - domain name, an unique human understandable address of the server.

Every domain name has its own machine readable unique numerical address called IP (Internet protocol).

Domain Name Server (DNS) is service that has to be provided by every Internet Service Provider (ISP) to convert domain name into an IP address

/wiki/Main_Page - path: refers to the file location on server.

Let us see what happens when you enter the URL

  1. Your system will contact the Domain Name Server (DNS) of your internet service provider (ISP) to get back the IP address of the server.

  2. Contacting a DNS takes some time, which causes for some delay in getting information. The delay is called DNS overhead.

    In order to avoid such delay, your system will contact DNS for IP address conversion, only at its first time access of an URL and stores the IP of domain name in your system itself. So unless the IP has not expired there will not be any DNS over head (no time will not be spend for domain name to IP conversion) for next time.

  3. Using IP address your request will reach the target server system, and find the required resource.

  4. An IP address is a combination of net Network ID and and Host ID.

    A n bit binary number can make 2n numbers,

    of which if we choose first block of k bits to represent network ID, it will be of 2k networks.

    And remaining n-k bit for hosts gives a 2n-k hosts in each network.

Upon reaching at network with NID and then to host( or server in case of web service ) with HID of IP will make connection only till the interface of server machine.

In order to access required resource the system need to know which process is providing the requested resources, for that port number is used.

Port numbers are globally known, and will be different for different protocols.

Example :

For Hypertext Transfer Protocol (http) it is 80

For Hypertext Transfer Protocol Secure (https) it is 443

For Simple Mail Transfer Protocol (smtp) it is 25


Popular posts from this blog

Operating Systems | Scheduling Algorithms : Round Robin

Round RobinFeatures : Most popular algorithm of allPractically implementableImplementable with basic data structures like queueExtremely lesser starvationOptimum efficiency can be set by controlling time quantumThe round robin algorithm will continuously switch between processes if a process in CPU (under execution) exceeds a time limit set by OS called time quantum.Flow Chart :Scheduler allocated process to for execution.CPU starts monitoring the execution time right after from allocation.If the process completes its execution before exceeding time quantum, OS forwards the process to termination state.else, the processes gets preempted once the time quantum limit exceeded and if the process finished at this moment, OS moves the process to termination state, else it moves to ready queue and iterates over the whole process listed above.Example : Consider the following table of processes and calculate completion time, turn around time and waiting time using Round Robin algorithm.Assumpt…

Operating Systems | Scheduling Algorithms : SJF

Shortest Job First(SJF)SJF algorithm schedules the shortest job(low burst time) available on main memory at the time of context switching in ready state . It can be either preemptive or non-preemptive depending on the nature of scheduler.Since the SJF select the job which is shorted among available jobs on main memory, Non-preemptive SJF algorithm will have larger waiting time if a job with longer burst time get scheduled first. In short SJF is also vulnerable to Convoy EffectTo find shortest process among min-heap would be the best data structure to be usedExample : Consider the following table of processes and calculate completion time, turn around time and waiting time using SJF algorithm with the following assumptions. No preemption.No I/O request will be there from any process.Arrival time is relative to CPU on time.Process NumberATBT103222324442View Answer

The execution of processes can be visualized as follows : By analyzing above representation completion time, turn around ti…

Operating Systems | Concept of shared memory and critical section

While printing your document opened in Adobe Acrobat Reader, if you gave a same command for document opened in Microsoft Word! How will it be?These are the real time situations where two processes competing together for same resources due to improper process synchronization. An unstructured access approval to these resources may lead to a abnormal output or a breach in information security or even it may cause for data loss. In the above case which might be a bunch of over-written papers coming out of the printer connected to that system.

Shared Memory and Critical Section Resources or memory spaces where different processes have access to read, write or update at same time are known as shared memory.And the piece of program which tries to access the shared memory is known as Critical Section. There are situations where an operating system need to handle multiple request from critical sections of various processes in a machine, in order to maintain data consistency in resources