The World of Computer Networks
What are Computer Networks?
Set of devices connected through links. Every node should have a device capable of sending or receiving signals. It uses distributed processing in which tasks are divided into several computers(devices).
A computer network is a group of devices connected through wires, optical fibres or optical links to send or receive data.
Components of a computer network include NIC, Hub, Switch, Cables & Connecters, Modem, and Router.
The main useful features of computer networks include communication, file sharing, storing data on the cloud, software and hardware sharing, security, scalability and reliability.
Computer Architecture
The physical & logical design of software, hardware, protocols, media for the transmission of data.
There are two types of Computer Architecture:
Peer-to-Peer Architecture
Client-Server Architecture
Peer-to-Peer Architecture:
All the computers are linked together in this architecture with the equal privilege to the processing of data. It has no dedicated server. Any user can communicate with the other user as all the computers are connected in a form of a mesh-like structure.
Client-Server Architecture:
Created for the end users(known as clients) to collect the data from the centralized computer(known as a server) on the request. If client1 wants to share data with client2, they should be using a server as a medium to perform the task. All the clients can communicate with each other through the server.
Types of Computer Networks:
LAN (Local Area Network): A group of computers connected in a local area such as a building or locality.
PAN (Personal Area Network): A group of devices connected in a range of 10 meters.
MAN (Metropolitan Area Network): A MAN is a network that connects different LANs over a large area to form a larger network.
WAN (Wide Area Network): WAN is a network that extends over a furthermore large geographical area such as a country or a continent.
Types of Network Topologies:
The structure of all the components that are connected to form a Network.
Bus Topology: All the stations are connected to a single cable known as a backbone cable.
Ring Topology: When both ends of a Bus topology are joined together, they form a ring topology.
Star Topology: When all the nodes are connected to a single centralized device(server) they form a star topology.
Tree Topology: The combination of Bus + Star topology is known as a tree topology.
Mesh Topology: All the devices are inter-connected with each other through various redundant, it doesn't contain any central hub or server.
Transmission Mode:
How data is transmitted from one device to another is known as transmission mode. Also known as communication mode.
The transmission is divided into 3 categories:
Simplex Mode: In this mode, the transmission of data is unidirectional only. One device can either send the data or receive it. The flow of data can be in one direction only.
Half-Duplex Mode: In this mode, the transmission of data can be bidirectional. The flow of data can be performed in both directions, but not at the same time.
Full-Duplex Mode: In this mode, the transmission of data is always bidirectional. The flow of data can be performed in both directions simultaneously.
Computer Network Models
The complex subsystem of hardware and software are included for the communication or transmission of data. Earlier the models were based on single-layered architecture and the resultant was very difficult to manage, test and modify. To overcome such problems, layered architecture was introduced.
Layered Architecture
The aim was to divide the tasks into layers and each lower layer adds its service to the higher layer to provide a full set of services and to run the applications.
The basic elements of a layered architecture are Service, Protocol and Interface.
Service: Set of actions that a layer provides to the higher layer.
Protocols: A set of rules that a layer uses to exchange information with a peer entity.
Interface: The way through which a message is transferred from one layer to another.
An example of 5 Layered Architecture:
In a layered architecture, unmanageable tasks are divided into small as well as manageable tasks. The data is passed from the upper layer to the lower layer through an interface. Below layer 1 there is the physical medium through which actual communication takes place.
A set of layers and protocols is known as network architecture.
OSI Model
Stands for Open System Integration Model.
OSI consists of 7 layers and each layer perform a particular network function.
Developed in 1984 by the ISO (International Organization of Standardization), now considered an architectural model for inter-computer communications.
Each layer is self-contained and individually performs the task assigned to it.
Characteristics of the OSI Model:
The OSI model consists of 7 layers named Application, Presentation, Session, Transport, Network, Data-link and Physical.
The combination of 4 layers(Application, Presentation, Session and Transport) is the responsibility of the host. On the other hand, the combination of the remaining 3 layers(Network, Data-link and Physical) is the responsibility of the Network.
7 Layers of OSI Model:
Physical Layer:
It provides the physical medium through which bits are transmitted.
This layer gets the data from the above layer(Data-link layer) at one node and transmits it to the physical layer at the other node. Further, the data is transferred to the data link layer at this node.
Data-Link Layer:
This layer is responsible for the error-free transfer of data frames.
It defines the format of the data on the network
It provides reliable and efficient communication between two or more devices.
It is mainly responsible for the unique identification of each device that resides on a local network.
Network Layer:
It is a layer that manages device addressing, and tracks the location of devices on the network.
It determines the best path for the migration of data from the destination to the source.
Routers are specified in this layer. Used to provide routing services within an internetwork.
Converts the data into packets to perform further tasks.
The protocols used to route the network are known as network layer protocols. Examples of protocols are IP and IPv6
Transport Layer:
It is a layer that ensures that the data is transmitted in the order in which they are sent and there is no duplication of data.
Converts the data into small units known as segments.
This layer can be termed an end-to-end layer as it provides a secure connection between point and source to deliver the data reliably.
It uses two protocols for the transportation of data:
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
Session Layer:
This layer is used to establish, maintain and synchronize the interaction between communicating devices.
Presentation Layer:
It is mainly concerned with the syntax and semantics of the info exchanged between the two systems.
It is a data translator for a network.
This is a part of the operating system that converts the data from one format to another format.
Application Layer:
It is the layer that serves as a window for the end user to generate network requests according to their need.
It is not an application but performs functions at the application level.
TCP/IP Model
This model was developed before the OSI Model.
This model was not exactly similar to the OSI Model.
TCP/IP is a hierarchical protocol made up of interactive modules, and each of them provides specific functionality. Hierarchy in other words means each of the upper-layer protocols is being supported by two or more lower-level protocols.
Characteristics of TCP/IP Model:
The TCP/IP consists of 5 layers named Application, Transport, Network, Data-link and Physical.
5 Layers of TCP/IP Model:
Physical Layer:
It defines how data should be sent physically through the network.
The layer is mainly responsible for the transmission of data between the two devices present on the same network.
Data-Link Layer:
The function of this layer is the encapsulation of the IP datagram into frames transmitted by the network and the mapping of IP addresses into physical addresses.
The protocols used by this layer are ethernet, token ring and frame relay.
Internet/Network Layer:
The main responsibility of this layer is to send the packets from any network so that they arrive at their destination irrespective of the path taken.
It uses the following protocols for the transportation of packets:
IP (Internet Protocols) **most significant part**
ARP (Address Resolution Protocol)
ICMP (Internet Control Message Protocol)
Transport Layer:
The transport layer is responsible for the reliability, flow control and correction of data that is being transmitted.
The 2 protocols used in this layer are:
UDP (User Datagram Protocol)
TCP (Transmission Control Protocol)
Application Layer:
The topmost layer in the TCP/IP model.
Responsible for handling high-level protocols and representation.
This layer allows the user to interact with the application.
Some of the protocols used in this layer are:
HTTP (Hyper Text Transfer Protocol)
SNMP (Simple Network Management Protocol)
SMTP (Simple Mail Transfer Protocol)
DNS (Domain Name System)
FTP (File Transfer Protocol)
Well that's it, that is pretty much what goes around the computer networks. You'll love it once you start understanding and learning more about the processes that are dependent upon the fundamentals of computer networks. Want to know about more such topics? Keep an eye on my blog page as there might be something coming for you in the future.
References:
Thank you so much for reading ๐
Like | Follow | Share | Leave a comment below :)
Subscribe to my newsletter
Read articles from Tanay Vaswani directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Tanay Vaswani
Tanay Vaswani
Building Real-Time Machine Learning Platform, LLM Applications & Lifecycle Observability Platform at TurboML, Inc. (https://turboml.com) Experienced with building large scale production applications using Next.js, Node.js, Typescript, PostgreSQL, Python & FastAPI. Currently learning about Databases, Low Level Design, Distributed & Machine Learning Systems at Scale Email: tanayvaswani.work@gmail.com Portfolio: tanayvaswani.vercel.app