Computer Networking- Introduction
Tags: beginners, computerscience, productivity, wordpress
Published: 2022-01-31 20:15:27

## History of Internet (How did it start?)
<br>
**Internet**: A network of computer networks.

Around 1957, USA and Russia were on the edge of who will be the one to take the first step in Networking or Internet.
Ultimately, Russia launched the satellite [SPUTNIK](https://en.wikipedia.org/wiki/Sputnik_1).
Later, USA also went on and developed [ARPA](https://en.wikipedia.org/wiki/ARPA) (ARPA: Advanced Research Project Agency). It was mostly used for defense purposes. Eventually, for ARPA, the  [ARPANET](https://en.wikipedia.org/wiki/ARPANET) was created.

The ARPANET was a private internet.
There were 4 universities in the USA which were connected with each other with the help of ARPANET. (MIT, Harvard, UC LA, and University of UTA).
These were considered the 4 nodes of ARPANET. In order to have standardized rules to transmit data across each other, they created TCP (Transmission Control Protocol) and these 4 universities were connected to each other with the help of **TCP Protocol**.

![computer-networking-world-wide-web-original-image-anamika](https://community.codenewbie.org/remoteimages/uploads/articles/hyf9e987hn6d8zwj7sp5.png) 

One problem that they faced was that while sharing links in their Research Paper, the redirection to the link was not automatic. Due to this it became a hectic task to open the links manually every time. 
Then came into picture, **The World Wide Web**. World Wide Web or www was invented by [Tim Berners Lee](https://en.wikipedia.org/wiki/Tim_Berners-Lee) in the year 1990. WWW was used to display HTML pages. **It was basically a collection of web-pages linked by a hyperlink.** There were no search-engines, as people used to maintain the hyperlinks manually.

Then after came search engines, and we started on with the internet.
In the recent time, we have now reached to **[Web3](https://en.wikipedia.org/wiki/Web3)**. This is known as *Modern Internet*.

## Protocols

A protocol is a set of rules and regulations for sending data over the internet. They are defined and handled by the [Internet Society](internetsociety.org).

There are various types of protocols that support a major and compassionate role in communicating with different devices across the network. Some of these are:
* Transmission Control Protocol (TCP)
* Internet Protocol (IP)
* User Datagram Protocol (UDP)
* Post office Protocol (POP)
* Simple mail transport Protocol (SMTP)
* File Transfer Protocol (FTP)
* Hyper Text Transfer Protocol (HTTP)
* Hyper Text Transfer Protocol Secure (HTTPS)
* Telnet
* Gopher

## Servers and Clients

The working of the **Client-Server Architecture** can be very easily understood by the following picture-
![Servers-and-Clients-Computer-Networking-Anamika](https://community.codenewbie.org/remoteimages/uploads/articles/xi7i3z8rkoe7ev5hpsw9.png)

* Client: In the digital world a Client is a computer (Host) that is capable of receiving information or using a particular service from the service providers (Servers).
* Servers: A Server is a remote computer which provides information (data) or access to particular services.

So, it is basically that the *Client requesting something* and the *Server is serving it* as long as its present in the database.

**Localhost** : In computer networking, localhost is a hostname that refers to the current device used to access it.
Basically, if we have our client and our server on the same machine, then that particular machine will be called as the localhost.

_The **IP-Address** of the Localhost is 127.0.0.1_

## ISP (Internet Service Provider)

The term Internet service provider (ISP) refers to a company that provides access to the Internet to both personal and business customers.

![anamika's ISP diagram](https://community.codenewbie.org/remoteimages/uploads/articles/7o5dvla8g998499vsuyy.png)

## IP Address

An IP address is a unique address that identifies a device on the internet or a local network. IP stands for "Internet Protocol," which, as already stated, is the set of rules governing the format of data sent via the internet or local network.

## Ports

We need IP Address to identify the device, and in order to identify the application, we need ports.
A port is a logical construct that identifies a specific process or a type of network service.

### Port Numbers

Ports are 16-bit numbers. If we calculate, then there are around 65,000 (2^16) port numbers available.

**Classification of Port Numbers:**

<center>

| Port Number |           Classification          |
|:-----------:|:---------------------------------:|
|    0-1023   |           Reserved Ports          |
|  1024-49152 | Ports registered for applications |
|  Remaining  |       Can be used by public       |

</center>

**Ephemeral Ports**
An ephemeral port is a communications endpoint of a transport layer protocol of the Internet protocol suite that is used for only a short period of time for the duration of a communication session. 

## Sockets

It is not a hardware, but it is an interface between a *process* and the *internet*.
A socket can be thought of as a gateway between an application and a network.

## How is everything connected? (Computers & Countries)

The internet is not above us, but beneath us. Yes, the giant internet cables are laid deep inside the ocean. You can see how the entire world is connected at [submarine maps](submarinecablemap.com).
The internet is controlled by different organizations in various parts of the world.

Well a question might arise here that why don't we use satellites instead of the cables. The answer to this question is that cables actually provide a faster speed than what satellites would.

## Types of Networks

Networks can be classified into 5 types-
1. PAN (Personal Area Network)
2. LAN (Local Area Network)
3. MAN (Metropolitan Area Network)
4. WAN (Wide Area Network)
5. Global Area Network (Internet)

**Out of these, the major focus of study are the LAN, WAN, and MAN.**

## LAN,MAN, and WAN

**LAN**: Local Area Network
A local area network (LAN) is a collection of devices connected together in one physical location, such as a building, office, or home.
It is connected via *Ethernet*, WiFi, etc.

**MAN**: Metropolitan Area Network
A metropolitan area network (MAN) is a computer network that connects computers within a metropolitan area, which could be a single large city, multiple cities and towns, or any given large area with multiple buildings. A MAN is larger than a local area network (LAN) but smaller than a wide area network (WAN). MANs do not have to be in urban areas; the term "metropolitan" implies the size of the network, not the demographics of the area that it serves.

**WAN**: Wide Area Network
A wide area network (WAN) is a telecommunications network that extends over a large geographic area. Wide area networks are often established with leased telecommunication circuits.
It uses Optical Fiber Cables for connection.

**[LAN+MAN+WAN] = _Internet_**

## Modem & Router

* Modem: A modem is used to convert digital signals into analog signals & vice-versa.
This is done so that we can transfer the signals.

* Router: A router is a device that routes the **data packets** based on their IP Address.

## Network Topologies

The orientation of **nodes** to form a **network** is known as topology.

Network topology is the schematic description of the arrangement of the physical and logical elements of a communication network.

![computer-networking-network-topologies-anamika](https://community.codenewbie.org/remoteimages/uploads/articles/r5rbvkfdkovf888w2ad2.png)

There are several different logical and physical network topologies from which administrators can choose to build a secure, robust, and easily maintainable topology. The most popular configurations include:

* Bus network topology: It is also known as backbone network topology.
This configuration connects all devices to a main cable via drop lines.

* Ring network topology: Two dedicated point-to-point links connect a device to the two devices located on either side of it, creating a ring of devices through which data is forwarded via repeaters until it reaches the target device. 

* Star network topology: It is the most common network topology.
Star topology connects each device in the network to a _central hub_. Devices can only communicate with each other indirectly through the central hub. 

* Tree network topology: This topology is a combination of *Bus+Star* . It consists of a parent-child hierarchy in which star networks are interconnected via bus networks. Nodes branch out linearly from one root node, and two connected nodes only share one mutual connection.

* Mesh network topology: Each device on the network to another device via dedicated point-to-point link, only carrying data between two devices. 

* Hybrid network topology: Any combination of two or more topologies is a hybrid topology.