The OSI model, which is shorthand for Open Systems Interconnection Basic Reference Model, is an abstract computer network protocol design divided into seven layers, developed in 1977 by the American National Standards Institute (ANSI) working group on Distributed Systems (DISY) as part of the OSI initiative. Each layer is a collection of related functions that provides services to the layer situated above it and receives services from the layer situated beneath it.
The layers of the OSI model are as follows, in ascending order: Physical (Layer 1), Data Link (Layer 2), Network (Layer 3), Transport (Layer 4), Session (Layer 5), Presentation (Layer 6) and Application (Layer 7). The layers, described below, are, from top to bottom, Application, Presentation, Session, Transport, Network, Data Link, and Physical.
The first layer of the OSI model is the Physical Layer. This layer defines the electrical and physical specifications for devices, as well as the relationship between a device and a physical medium, inclusive of the layout of hubs, repeaters, network adapters, Host Bus Adapters, pins, voltages and cable specifications, among other things.
The Physical layer is responsible for establishing and terminating a connection to a communications medium, being involved in the process of sharing communication resources among multiple users, and modulating the representation of digital data in user equipment and the corresponding signals being transmitted over a communications channel and over physical cabling or a radio link.
The second layer is the Data Link Layer. Originally intended for point-to-point and point-to-multipoint media, the Data Link layer is responsible for the detection and correction of errors that may occur in the physical layer, as well as the transfer of data between network entities. WAN and LAN services in the Data Link layer arrange bits from the physical layer into logical sequences known as "frames", although not all physical layer bits necessarily go into frames.
The third layer is the Network Layer. It is responsible for the maintaining the quality of service (QoS) requested by the Transport layer throughout transmission of variable length data from a source to a destination through one or more networks. Included among the tasks that the Network layer performs are network routing functions, fragmentation and reassembly, and reporting errors in delivery.
The fourth layer is the Transport Layer. It provides reliable data transfer services to the upper layers, and transparent transfer of data between end users. This layer uses flow control, segmentation and de-segmentation, and error control to manage the reliability of a given link. It features five classes of transport protocols, from class 0 (TP0) to class 4 (TP4) in ascending order of the amount of reliability and error recovery.
The fifth layer is the Session Layer. It controls the connections, also known as "sessions", between computers, through establishment, management and termination of the connections between the local and remote application. The Session layer is responsible for session check-pointing and recovery in sessions.
The sixth layer is the Presentation Layer. A means of transferring requests between layers (although without altering Session layer functions), this layer is responsible for translating data from the Session layer to the Application layer, as well as providing a standard interface for the Application layer.
This layer performs Multipurpose Internet Mail Extensions (MIME) encoding and data encryption among other tasks to manipulate the presentation and present the data however the developer sees fit, whether as a service or protocol.
The seventh and topmost layer is the Application Layer. This layer issues requests to the presentation layer and performs common application services for application processes; however, the layer does not provide services to the end user but to user-defined application processes.
Human interfaces are not included in the OSI model. The Application layer features functions such as messaging (X.400), directory (X.500), file transfer (FTAM), virtual terminal (VTAM) and batch job manipulation (JTAM), which are meaningful to user application programs.