The Open Systems Interconnection Reference Model (OSI Model or OSI Reference Model for short) is a layered abstract description for communications and computer network protocol design, developed as part of the Open Systems Interconnect initiative. It is also called the OSI seven layer model.

The model divides the functions of a protocol into a series of layers. Each layer has the property that it only uses the functions of the layer below, and only exports functionality to the layer above. A system that implements protocol behaviour consisting of a series of these layers is known as a 'protocol stack' or 'stack'. Protocol stacks can be implemented either in hardware or software, or a mixture of both. Typically, only the lower layers are implemented in hardware, with the higher layers being implemented in software.

Usually, the implementation of a protocol is layered in a similar way to the protocol design, with the possible exception of a 'fast path' where the commonest transaction allowed by the system may be implemented as a single component encompassing aspects of several layers.

This logical separation of layers makes reasoning about the behaviour of protocol stacks much easier, allowing the design of elaborate but highly reliable protocol stacks. Each layer performs services for the next higher layer, and makes requests of the next lower layer. An implementation several OSI layers is often referred to as a stack (as in TCP/IP stack).

Table of contents
1 Description of Layers
2 Model in Real World
3 Interfaces
4 Examples

Description of Layers

  • Physical layer Layer 1. : The major functions and services performed by the physical layer are:
    • establishment and termination of a connection to a communications medium.
    • participation in the process whereby the communication resources are effectively shared among multiple users. For example, contention resolution and flow control.
    • modulation, or conversion between the representation of digital data in user equipment and the corresponding signals transmitted over a communications channel. Basically this is signals operating over the physical cabling -- copper and fibre optic, for example. SCSI operates at this level.

  • Data link layer Layer 2. : The Data link layer provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in the Physical layer. Note: Examples of data link protocols are HDLC and ADCCP for point-to-point or packet-switched networks and LLC for local area networks. Basically this is the layer that hubs and switches operate. Connectivity among locally attached network nodes.

  • Network layer Layer 3. : The Network layer provides the functional and procedural means of transferring variable length data sequences from a source to a destination via one or more networks while maintaining the quality of service requested by the Transport layer. The Network layer performs network routing, flow control, segmentation/desegmentation, and error control functions. Basically, the router operates at this layer -- sending data throughout the extended network and making the Internet possible, although there are layer 3 (or IP) switches.

  • Transport layer Layer 4. : The purpose of the Transport layer is to provide transparent transfer of data between end users, thus relieving the upper layers from any concern with providing reliable and cost-effective data transfer.

  • Session layer Layer 5. : The Session layer provides the mechanism for managing the dialogue between end-user application processes. It provides for either duplex or half-duplex operation and establishes checkpointing, adjournment, termination, and restart procedures.

  • Presentation layer Layer 6. : The Presentation layer relieves the Application layer of concern regarding syntactical differences in data representation within the end-user systems. An example of a presentation service would be the conversion of an EBCDIC-coded text file to an ASCII-coded file.

  • Application layer Layer 7, the highest layer. : This layer interfaces directly to and performs common application services for the application processes. The common application services provide semantic conversion between associated application processes. Examples of common application services include the virtual file, virtual terminal, and job transfer and manipulation protocols.

The mnemonics "Please Do Not Throw Sausage Pizza Away" or "All People Seem To Need Data Processing" may help you remember the layers.

Model in Real World

Real-world protocol suites often do not strictly match the seven-layer model. There can be some argument as to where the distinctions between layers are drawn; there is no one correct answer. However, most protocol suites share the concept of three general sections: media, covering layers 1 and 2; transport, covering layers 3 and 4, and application, covering layers 5 through 7.

Interfaces

In addition to standards for individual protocols in transmission, there are also interface standards for different layers to talk to the ones above or below (usually operating-system-specific). For example, Microsoft Windows' Winsock and Unix's Berkeley sockets and System V Streams are interfaces between applications (layers 5 and above) and the transport (layer 4). NDIS and ODI are interfaces between the media (layer 2) and the network protocol (layer 3).

Examples

 
 
 
 
 
 
 
 
Layer Misc. Examples TCP/IP suite AppleTalk suite OSI suite IPX suite SNA
7 - Application HTTP, SMTP, SNMP, FTP, Telnet, RIP, OSPF, BGP AFP, PAP FTAM, X.400, X.500, DAP RIP APPC
6 - Presentation TDI XDR, SNMP, FTP, Telnet, SMTP AFP, PAP
5 - Session Named Pipes, NetBIOS ASP, ADSP, ZIP NWLink DLC?
4 - Transport NetBEUI TCP, UDP ATP, NBP, AEP, RTMP SPX
3 - Network NetBEUI IP, ICMP DDP IPX
2 - Data Link Ethernet, Token Ring, FDDI, PPP, HDLC, Frame Relay, ATM, Fibre Channel LocalTalk, TokenTalk, EtherTalk Token Bus 802.3 framing, Ethernet II framing SDLC
1 - Physical RS-232, V.35, V.34, ISDN, 10BASE-T, StarLAN Localtalk on shielded, Localtalk on unshielded ("phone talk") Twinax


Adapted from Federal Standard 1037C and previous Wikipedia content.