The Open Systems Interconnection (OSI) model is a conceptual model created by the International Organization for Standardization which enables various communication systems to communicate using standard protocols. The OSI model can be seen as a universal language for computer networking. It’s based on the concept of splitting up a communication system into seven abstract layers, each one stacked upon the last.
The seven layers of OSI and their description is as below.
7) The Application Layer: This is the only layer that directly interacts with data from the user. Software applications like web browsers and email clients rely on the application layer to initiate communications. Client software applications are not part of the application layer; rather the application layer is responsible for the protocols and data handling that the software relies on to present meaningful data to the user. Application layer protocols include HTTP as well as SMTP (Simple Mail Transfer Protocol is the protocols that enables email communications).
Handling of data in various ways is done in this layer which enables user or software to get access to the network. Some services provided by this layer includes: E-Mail, transferring files, distributing the results to user, directory services, network resources, etc. The Application Layer contains a variety of protocols that are commonly needed by users. One widely-used application protocol is HTTP (Hypertext Transfer Protocol), which is the basis for the World Wide Web. When a browser wants a web page, it sends the name of the page it wants to the server using HTTP. The server then sends the page back. Other Application protocols that are used are: File Transfer Protocol(FTP), Trivial File Transfer Protocol(TFTP), Simple Mail Transfer Protocol(SMTP), TELNET, Domain Name System(DNS) etc.
Functions of Application Layer
a) Mail Services: This layer provides the basis for E-mail forwarding and storage.
b) Network Virtual Terminal: It allows a user to log on to a remote host. The application creates software emulation of a terminal at the remote host. User’s computer talks to the software terminal which in turn talks to the host and vice versa. Then the remote host believes it is communicating with one of its own terminals and allows user to log on.
c) Directory Services: This layer provides access for global information about various services.
d) File Transfer, Access and Management (FTAM): It is a standard mechanism to access files and manages it. Users can access files in a remote computer and manage it. They can also retrieve files from a remote computer.
6) The Presentation Layer: The primary goal of this layer is to take care of the syntax and semantics of the information exchanged between two communicating systems. Presentation layer ensures that the data is sent in such a way that the receiver will understand the data and will be able to use the data. Languages (syntax) can be different of the two communicating systems. Under this condition presentation layer plays a role of translator. In order to make it possible for computers with different data representations to communicate, the data structures to be exchanged can be defined in an abstract way. The presentation layer manages these abstract data structures and allows higher-level data structures (eg: accounting records), to be defined and exchanged.
Functions of Presentation Layer-
a) Translation: Before being transmitted, information in the form of characters and numbers should be changed to bit streams. The presentation layer is responsible for the ability of computer systems or software to exchange data and make use of information between encoding methods as different computers use different encoding methods. It translates data between the formats the network requires and the format of the computer.
b) Encryption: It carries out encryption at the transmitter end and decryption at the receiver end.
c) Compression: It carries out data compression of the data to be transmitted to reduce the bandwidth. The primary role of Data compression is to reduce the number of bits to be transmitted over network. It is important in transmitting multimedia such as audio, video, text etc. due to their higher sizes.
5. The Session Layer: This is the layer responsible for opening and closing communication between the two devices. The time between when the communication is opened and closed is known as the session. The session layer ensures that the session stays open long enough to transfer all the data being exchanged, and then promptly closes the session in order to avoid wasting resources. The session layer also synchronizes data transfer with checkpoints. For example, if a 100 megabyte file is being transferred, the session layer could set a checkpoint every 5 megabytes. In the case of a disconnect or a crash after 52 megabytes have been transferred, the session could be resumed from the last checkpoint, meaning only remaining 50 more megabytes of data need to be transferred. Without the checkpoints, the entire transfer would have to begin again from scratch.
The Session Layer allows users on different machines to establish active communication sessions between them. It’s main aim is to establish, maintain and synchronize the interaction between communicating systems. Session layer manages and synchronize the conversation between two different applications. In Session layer, streams of data are marked and are resynchronized properly, so that the ends of the messages are not cut prematurely and data loss is avoided.
Functions of Session Layer-
a) Dialog Control: This layer allows two systems to start communication with each other in either half-duplex or full-duplex mode.
b) Token Management: This layer prevents two parties from attempting the same critical operation at the same time.
c) Synchronization: This layer allows a process to add checkpoints which are considered as synchronization points into stream of data. Example: If a system is sending a file of 80 pages, adding checkpoints after every 5 pages is recommended. This ensures that 5 page unit is successfully received and acknowledged. This is beneficial at the time of crash as if a crash happens at page number 69; there is no need to retransmit 1 to 65 pages.
4. The Transport Layer: This layer is responsible for end-to-end communication between the two devices. This includes taking data from the session layer and breaking it up into chunks called segments before sending it to layer 3. The transport layer on the receiving device is responsible for re-assembling the segments into data so that the session layer can process it further. The transport layer is also responsible for flow control and error control. Flow control determines an optimal speed of transmission to ensure that a sender with a fast connection doesn’t overwhelm a receiver with a slow connection. The transport layer performs error control on the receiving end by ensuring that the data received is complete, and requesting a retransmission if it isn’t.
The basic function of the Transport layer is to accept data from the layer above, split it up into smaller units, pass these data units to the Network layer, and ensure that all the pieces arrive correctly at the other end. Furthermore, all this must be done efficiently and in a way that isolates the upper layers from the inevitable changes in the hardware technology. The Transport layer also determines what type of service to provide to the Session layer, and, ultimately, to the users of the network. The most popular type of transport connection is a point-to-point channel that delivers error free messages or bytes in the order in which they were sent. The Transport layer is a true end-to-end layer, all the way from the source to the destination. In other words, a program on the source machine carries on a conversation with a similar program on the destination machine, using the message headers and control messages.
Functions of Transport Layer
a) Service Point Addressing: Transport Layer header includes service point address which is port address. This layer gets the message to the correct process on the computer unlike Network Layer, which gets each packet to the correct computer.
b) Segmentation and Reassembling: A message is divided into segments; each segment contains sequence number, which enables this layer in reassembling the message. Message is reassembled correctly upon arrival at the destination and replaces packets which were lost in transmission.
c) Connection Control: It includes 2 types: Connectionless Transport Layer: Each segment is considered as an independent packet and delivered to the transport layer at the destination machine. Connection Oriented Transport Layer: Before delivering packets, connection is made with transport layer at the destination device.
d) Flow Control: In this layer, flow control is performed end to end.
e) Error Control: Error Control is performed end to end in this layer to ensure that the complete message arrives at the receiving transport layer without any error. Error Correction is done through retransmission.
3) The Network Layer: The network layer is responsible for facilitating data transfer between two different networks. The network layer breaks up segments from the transport layer into smaller units, called packets, on the sender’s device, and reassembling these packets on the receiving device. The network layer also finds the best physical path for the data to reach its destination; this is known as routing.
The network Layer controls the operation of the subnet. The main aim of this layer is to deliver packets from source to destination across multiple links (networks). This layer routes the signal through different channels to the other end and acts as a network controller. It also divides the outgoing messages into packets and to assemble incoming packets into messages for higher layers. In broadcast networks, the routing problem is simple, so the network layer is often thin or even non-existent.
Functions of Network Layer
a) Routing: Responsible to finds the best physical path for the data to reach its destination. Routers and gateways operate in the layer. Mechanism is provided by Network Layer for routing the packets to on its way to destination.
b) Logical Addressing: This layer implements the logical addressing. It adds a header to the packet which includes the logical addresses of both the sender and the receiver.
c) Internetworking: This is the main role of the network layer that it provides the logical connection between different types of networks.
d) Fragmentation: The fragmentation is a process of breaking the packets into the smallest individual data units that travel through different networks.
2. The Data Link Layer: Data link layer performs the most reliable node to node delivery of data. It forms frames from the packets received from network layer and gives it to physical layer for transmission. It also synchronizes the information which is to be transmitted over the data. Error controlling is also done in this layer. Error detection bits are used by the data link layer. It also corrects the errors. The encoded data are then passed to physical layer. Outgoing messages are assembled into frames. Then the system waits for the acknowledgements to be received after the transmission. The main task of the data link layer is to transform a raw transmission facility into a line that appears free of undetected transmission errors to the network layer. It accomplishes this task by having the sender break up the input data into data frames (typically a few hundred or few thousand bytes) and transmits the frames sequentially. If the service is reliable, the receiver confirms correct receipt of each frame by sending back an acknowledgement frame.
The data link layer is very similar to the network layer, except the data link layer facilitates data transfer between two devices on the SAME network. The data link layer takes packets from the network layer and breaks them into smaller pieces called frames. Like the network layer, the data link layer is also responsible for flow control and error control in intra-network communication (The transport layer only does flow control and error control for inter-network communications).
Functions of Data Link Layer
a) Framing: Frames are the streams of bits received from the network layer into manageable data units. This division of stream of bits is done by Data Link Layer.
b) Physical Addressing: The Data Link layer adds a header to the frame in order to define physical address of the sender or receiver of the frame, if the frames are to be distributed to different systems on the network.
c) Flow Control: A flow control mechanism to avoid a fast transmitter from running a slow receiver by buffering the extra bit is provided by flow control. This prevents traffic jam at the receiver side.
d) Error Control: Error control is achieved by adding a trailer at the end of the frame. Duplication of frames is also prevented by using this mechanism.
e) Access Control: Protocols of this layer determine which of the devices has control over the link at any given time, when two or more devices are connected to the same link.
1. The Physical Layer: Physical layer is the lowest layer of the OSI reference model. It is responsible for sending bits from one computer to another. This layer is not concerned with the meaning of the bits and deals with the setup of physical connection to the network and with transmission and reception of signals.
This layer includes the physical equipment involved in the data transfer, such as the cables and switches. This is also the layer where the data gets converted into a bit stream, which is a string of 1s and 0s. The physical layer of both devices must also agree on a signal convention so that the 1s can be distinguished from the 0s on both devices.
Functions of Physical Layer
a) Representation of Bits: Data in this layer consists of stream of bits. The bits must be encoded into signals for transmission. It defines the type of encoding i.e. how 0’s and 1’s are changed to signal.
b) Data Rate: This layer defines the rate of transmission which is the number of bits per second.
c) Synchronization: It deals with the synchronization of the transmitter and receiver. The sender and receiver are synchronized at bit level.
d) Interface: The physical layer defines the transmission interface between devices and transmission medium.
e) Line Configuration: This layer connects devices with the medium: Point to Point configuration and Multipoint configuration.
f) Topologies: Devices must be connected using the following topologies: Mesh, Star, Ring and Bus.
g) Transmission Modes: Physical Layer defines the direction of transmission between two devices: Simplex, Half Duplex, Full Duplex.
h) Deals with baseband and broadband transmission.