Computer Networks, OSI Model, TCP Model

I am Iqra Firdose, a passionate girl to learns and shares knowledge. A GDSC Lead, Open Source Contributor at Aviyel, Frontend Developer, Technical Writer, Communities.
Introduction
Computer Networks are an essential thing to learn about it. The computer network is a set of computers sharing resources located on or provided by network nodes.
Networks
Set of devices that are interconnected through the communication or transmission medium. The main purpose of the network is the sharing resource or data. It is called Data Communication.
How did it start?
The cold war is going on between the united states and Russia. They compete to launch the first satellite and Russia launched the first one. And, the united states wants to be first in invention stuff and wants to do some scientific research. So, the united states discovered ARPA(Advance Research Project Agency). The ARPA has buildings in various parts of the united states. To communicate, the united states developed ARPA Net. The ARPA Net has four places University of California(UCLA), the Stanford Research Institute (SRI), the University of California-Santa Barbara (UCSB), and the University of Utah. They are using TCP(Transmission Control Protocol).

After years, more computers and locations were added to ARPA Net. As this is a research project, many people sending research papers. The research paper is referencing the other document. If it's not possible, then WWW comes to a solution.
WWW(World Wibe Web)
WWW is a project that stores the website. It was developed by Tim Berners-lee.WWW allows storage of the data and accesses to the data. The world's first website is here where referencing links is possible. And there is no search engine in it, it is used for hyperlinks.
Protocol
Let's say you are sending a message using an application and another person is sending a message using another application, then you can't able to communicate. So, we need some sought rules to communicate.
Protocol means a set of rules. The rules are set by the Internet Society. Anyone can able to suggest about the internet by RFC(Request for comments)
There are some protocols
TCP(Transmission Control Protocol)
It will ensure the data reaches to destination and is not corrupted.
UDP
When you do not want to care about your 100% of your data is reaching or not. Ex: Video conferencing
HTTP
It is used web browser. How the client and server communicating are comes under HTTP protocol.

OSI(Open System Interconnection) Model
It is a model which shows how computers are communicating with each other.
There are seven layers in the OSI model

Application Layer
The application layer allows the users to access the network. It provides a user interface. It's implemented in software. Users interact with the application layer like browsers, messages, etc.
Design issues of the Application Layer

Client-server paradigm
All the application layer programs are based on the client and server.
A user at a local site wants to receive a service from a computer of a remote site.
Ex: A user wants to retrieve a file from remote computers both computers run the programs.
The local computer runs a program(client) that requests service from another remote program computer(server).
Addressing
Addressing is different based on mechanisms.
Client-servers communicate with each other using addressing.
Each application has its own address format.
Ex: The email address looks like username@gmail.com. And address to access the website on the internet is http://www.google.com.
The application program user uses an alias name instead of an IP address to make the environment convenient for the user by using DNS.
DNS is a Domain Name System, DNS maps names to IP addresses of that particular name.
Different services
The Application Layer is designed to give different services to the user or user programs.
The common service of the Application layer is SMTP, FTP, and HTTP.
Presentation Layer
We get the data from an application layer, the data is in the form of words or characters. The presentation converts it into a machine-readable format.
The presentation layer is concerned with the syntax and semantics of the information exchange between two systems.
The presentation layer acts as a Data translator and it performs encoding and decoding and it compresses the data.
Functions of the presentation layer
Translation
Encryption -Protecting the data
Compression-Reducing the size of the data, in order to reduce the load on the network.
Session Layer
It helps in setting and managing the connections and it enables sending and receiving of data followed by the termination of the connected session.
It is used to establish, maintain and synchronize the interaction between the communicating devices.
Functions of Session Layer
Dialogue control
Synchronization
Transport Layer
It is responsible for the process to process delivery.
Design issues of the Transport layer

Packetizing
Data received from the session layer is divided into small data units called segments. Every segment contains the port number of the source and destination and sequence number(Resemble the segments in the correct order).
Connection control
Transport layer protocols are divided into two categories:
Connection-oriented
Connection less
In Connection-oriented, the path is chosen from source to destination.
In connectionless, no path is chosen and the data can move in any direction.
TCP is connection-oriented and UDP is connectionless.
Addressing
In the transport layer, addressing is port addressing. A computer may be running several programs at the same time. The communication at the transport layer is done by the client-server paradigm.
Reliability
Reliability means having error control and flow control. Sending transport layer makes sure that the entire message arrives at the receiving transport layer without error. Error control is usually carried out by retransmission.
Network Layer
It works for the transmission of the received data segment from one computer to another that is located in a different computer.
The network layer is a host-to-host delivery.
Design issues of Network Layer

Internetworking
Internetworking is the logical connecting of heterogeneous physical networks together to look like a single network to the upper layer protocols.
It supports data transmission from one network to another network.
Packetizing
The network layer encapsulates packets received from upper-layer protocols and makes new packets out of them.
Routing
Routing means making or choosing the path
Whenever there are multiple routes to the destination, we must make a decision and choose one route.
Each IP packet normally reaches the destination via several routes.
The packet can't choose the route, the routes connecting LAN, and WAN makes the decision.
Addressing
Network layer support only IP address. The address used in the network layer must uniquely and universally define the connection of a host or router to the internet.
Fragmentation
Simply fragmentation means dividing.
A packet can travel through different networks,each router decapsulates the IP packet, process it, and encapsulates it in another frame.
Data Link Layer
The data link layer allows you to directly communicate with the computers. The data unit in the data link layer is called a frame. The main responsibility of the data link layer is the node-to-node delivery of data.
Design issues of the Data link layer

Framing
The process of encapsulating the data in a frame coming from an upper layer is called framing. A frame is a manageable unit.
Error control
It is used to find out if the data is lost or corrupted. Error control is divided into two categories. Error Detection and Error Correction.
Flow control
It controls the flow of data. It means, how much data the sender has to send before receiving an acknowledgment.
Addressing
In the data link layer, physical addressing is used. Physical addressing is also called MAC address and local address. The Mac address is 48 bits.
Media Access Control
The data link layer allows the upper layers of the OSI model to access these frames and it also controls how the data is placed and received from the media using media access controllers.
Physical Layer
The physical layer is the bottom-most layer of the OSI model. It transmits the data bits from one computer to another computer through a physical medium. It establishes, maintains, and deactivates the physical connections. It also performs the synchronization of the bits. And it is directly connected to transmission media.
Functions of the physical layer
It defines the transmission mode.
It defines the type of signal used for transmission.
It performs the bit-to-signal transformation.
It defines the way, how two or more devices are connected physically.
The data in the physical layer is in the form of a sequence of bits and it is transmitted in the form of signals.
TCP/IP Network model
The TCP model is an older model than the OSI model.TCP model is used now.TCP model contains five layers.

Protocols in TCP
In the Application layer, the protocols used are SMP, HTTP, FTP, DNS, and SNMP.
In the Transport layer, the protocols are TCP and QDP.
In Network layer,the protocols are ARP,IP,IGMP,RARP,ICMP.




