---
description: >-
  This section outlines some concepts related to networking with details about
  architecture of Internet etc.
---

# Networking

The need for a computer network is realized with increased computers in academic institutions, government offices, and organizations. Connected computers over a network help in resource sharing, increased reliability, reduced cost, and so on. Starting in the 1990s, computer networks began to start delivering services to individuals at home. This provided individuals access to remote information, person-to-person communication, and interactive entertainment. The connection between devices has gone beyond computers and led to innovations in video conferencing, telepresence, the Internet of Things (IoT), etc. Broadly speaking, there are two types of transmission technology:

* **Broadcast** - Broadcast networks have a single communication channel that is shared by all machines on the network. Short messages, called packets in a certain context, sent by any machine are received by all the others.
* **Multicast** -  Some broadcast systems also support transmission to a subset of the machines, something is known as multicasting. In contrast, point-to-point networks consist of many connections between individual pairs of machines. Multicast frames have a value of 1 in the least significant bit of the first octet of the destination address. This helps a network switch to distinguish between unicast and multicast addresses.

For the packets to go from source to the destination, it travels through many intermediary machines. The path is determined by efficient routing algorithms that have a significant role in point-to-point networks. As a general rule, geographically localized networks tend to use broadcasting, whereas larger networks use point-to-point networks.&#x20;

Routing algorithms are grouped into&#x20;

* &#x20;**Adaptive** - Adaptive algorithms, change their routing decisions to reflect the change in the topology and usually the traffic as well and these are based on optimization principles on distance, the number of hops, estimated transmit time, etc.
* &#x20;**Nonadaptive** - Nonadaptive algorithms compute the route from source to destination in advance, offline, and downloaded to the routers when the network is booted.&#x20;

### Architecture of Internet

&#x20; Consider the below figure. An end-user using a client terminal tries to launch a website on the browser (Chrome/Firefox/Opera/Waterfox etc.). The client terminal is connected through a telephone network system or a fibreoptic cable or an RJ-11 internet cable to a regional Internet Service Provider (ISP). The ISP is connected to the rest of the world with Servers from the Server farm. Files from the Server farm are routed via the internet and regional ISP - eventually sent to the end-user terminal.

![Internet Architecture](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_kux1uuaXhHbpyCSYu%2Fuploads%2FWiYb3FKR5AUzc954ZLP2%2Ffile.png?alt=media)

### Packet Switching​

To improve the efficiency of transferring information over a shared communication line, messages are divided into fixed-sized, numbered packets​. Network devices called routers are used to direct packets between networks​. &#x20;

![Packet Switching](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M_kux1uuaXhHbpyCSYu%2Fuploads%2FTbD7R3LaT1Z73SNWlyLu%2Ffile.png?alt=media)

### Open System Interconnection (OSI) Network Layers

![OSI Network Layers](https://3903980405-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_kux1uuaXhHbpyCSYu%2F-Ma2jVvumNMeZK6iwtNc%2F-Ma2ohUTZg7roxDfhAmn%2Fimage.png?alt=media\&token=7aa71f28-dfe8-4f43-8e37-d26f95dd7836)

* **Physical Layer** -  The physical layer contains information in the form of bit&#x73;**.** It is responsible for transmitting individual bits from one node to the next. When receiving data, this layer will get the signal received and convert it into 0s and 1s and send them to the Data Link layer, which will put the frame back together.
* **Datalink Layer** - The data link layer is responsible for the node-to-node delivery of the message. The main function of this layer is to make sure data transfer is error-free from one node to another, over the physical layer. When a packet arrives in a network, it is the responsibility of DLL to transmit it to the Host using its MAC address.
* **Network Layer** - The network layer works for the transmission of data from one host to the other located in different networks. It also takes care of packet routing i.e. selection of the shortest path to transmit the packet, from the number of routes available. The sender & receiver’s IP address are placed in the header by the network layer.
* **Transport Layer** -  The transport layer provides services to the application layer and takes services from the network layer. The data in the transport layer is referred to as _Segments_. It is responsible for the End to End Delivery of the complete message. The transport layer also provides the acknowledgement of the successful data transmission and re-transmits the data if an error is found.
* **Session Layer** - This layer is responsible for the establishment of connection, maintenance of sessions, authentication, and also ensures security.
* **Presentation Layer** -  The presentation layer is also called the Translation layer. The data from the application layer is extracted here and manipulated as per the required format to transmit over the network.
* **Application Layer** - At the very top of the OSI Reference Model stack of layers, we find the application layer which is implemented by the network applications. These applications produce the data, which has to be transferred over the network. This layer also serves as a window for the application services to access the network and for displaying the received information to the user.

### Important Terms

**IP - The Internet Protocol** is the principal communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking and essentially establishes the Internet.

**MAC** - A media access control address is a unique identifier assigned to a network interface controller for use as a network address in communications within a network segment. This use is common in most IEEE 802 networking technologies, including Ethernet, Wi-Fi, and Bluetooth.

**DNS** - The Domain Name System is a and decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities

**Network Topologies -** There are various ways of connecting computers in a network. Below are possible topologies available on connecting computers in a network.

![Network Topologies](https://3903980405-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_kux1uuaXhHbpyCSYu%2F-Ma2jVvumNMeZK6iwtNc%2F-Ma2oNZ9K82kGcx9MWS_%2Fimage.png?alt=media\&token=4c293d65-3e23-49db-ae62-6010567237c0)

\
