Skip to main content

OSI Model



The OSI Model (Open System Interconnection) is a framework to define the protocol implementation in computer networking.

OSI Layers:
OSI model constitutes of 7 layers defined below.

Physical Layer :
The form of data at this layer is a bit stream which has to be encoded into signal for further transmission it also decides what encoding type would be applicable on transmission.Transmission rate is also decide in this layer.This is the Hardware layer of the OSI .Devices like repeater, hub, cables, ethernet involved in this layer.
Data Link Layer :
This layer is responsible for encoding and decoding of the electrical signals into bits.It manages data errors from the physical layer and converts electrical signals into frames.
Network Layer :
 This layer is responsible to deliver packets from source to destination across multiple networks. It comes into the picture If two machines are connected on the different network. It acts as a network controller  to routes the signals.It is also responsible to convert the outgoing messages into packets and to convert incoming packets into messages.Routers and gateways operate in this layer. 
Transport Layer :
This layer is responsible to deliver the entire message to destination. Transport layer makes sure that the entire  message reach destination in order. It also decides data transmission mode ( parallel path or single path).Transport layer breaks the packets into small units.
Session Layer :
This layer is responsible for managing connections and sessions between applications.
Presentation Layer:
This layer is responsible for the syntax and semantics of the message exchanged. This layers plays a role of translator in case of both the communications system's syntax are different so that they can understand each other's language.
Application Layer:
This layer is responsible for application services for file transfers, e-mail, and other network software services.
Protocols like FTP, HTTP work on this layer.

Find it here also C-Sharp-Corner














Comments

Popular posts from this blog

Abstract Factory Design Pattern

Abstract Factory : return families of related or dependent objects without specifying their concrete classes. AbstractFactory- IVehicle ConcreteFactory - Maruti, Honda AbstractProduct- IDiesel, IPetrol Product- DezirePetrol, ZenDiesel, AmazeDiesel, CityPetrol Client- This is a class which uses AbstractFactory and AbstractProduct interfaces to create a family of related objects Implementation is pretty much straight forward: Since now you have good understanding of Factory, there is nothing much to explain. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AbstractFactory {     class Program     {         static void Main(string[] args)         {             IVehicle marutiVehicle = new Maruti();             CarClient marutiClient = new CarClient(marutiVehicle); ...

Database Factory Design Pattern C#

Many developers has confusion on how to write database code in application. I will discuss several approaches here and try to provide explanation on each approach. Approach 1 : Easiest approach which is very straight forward which will work absolutely fine. The issues we will get to manage the project in terms of software principles. Like if you going to change Database provider, you would need to change using statements and other issue like mixing Database code with business logic etc. I will not go in detail here, I am assuming you already have an understanding of design principles. I am just exploring different approaches to achieve the database connectivity. using System.Collections.Generic; using System.Data.SqlClient; namespace DatabaseFactory {     class Program     {         static void Main(string[] args)         {             var employees = SomeDabOperation();   ...

Dependency Injection and Inversion Of Control C# - Par 2 (Implementation)

Before going through this post, I suggest you to go through my previous post on basic concepts in Dependency injection and Inversion of control. Demo on product. This demo is based on a traditional implementation approach: We have a Product class and it has a method which takes the discount and based on some business logic it applies the discount on the product. Product service will interact with database using ProductRepository. If you will notice ProductService has dependency on 2 concrete classes i.e. Discount and ProductRepository new Discount(); new ProductRepository(); We can hence say that ProductService is tightly coupled because of these 2 dependencies. We may require to use different discount based on several factors such as Product type, Some Festival or any other factor. Based on different discounts we may need to change ProductService class also in future you may change the database from SQL to Oracle, Again it may require ProductService changes which is viol...