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).
;Physical layer Layer 1. : The major functions and services performed by the physical layer are: (a) establishment and termination of a connection to a communications medium; (b) participation in the process whereby the communication resources are effectively shared among multiple users, e.g., contention resolution and flow control; and, (c) 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.
In addition to standards for individual protocols in transmission, there are now also interface standards for different layers to talk to the ones above or below (usually operating-system-specific). For example: Winsock and Berkeley sockets between layers 4 and 5, or NDIS and ODI between layers 2 and 3.
In real-world protocols, there is some argument as to where the distinctions between layers are drawn; there is no one correct answer. But roughly:
|7 - Application||HTTP, SMTP, SNMP, FTP, Telnet, FTAM, APPC, X.400, X.500, Appletalk, AFP, DAP|
|6 - Presentation||TDI, XDR, SNMP, FTP, Telnet, SMTP, AFP|
|5 - Session||NWLink, NBT, Named Pipes, NetBIOS, ASP, ADSP, ZIP, PAP, DLC|
|4 - Transport||TCP, UDP, SPX, NetBEUI, ATP, NBP, AEP, RTMP|
|3 - Network||IP, IPX, NWLink, NetBEUI, DDP|
|2 - Data Link||Ethernet, Token Ring, PPP, ODI, NDIS, LocalTalk, TokenTalk, EtherTalk|
|1 - Physical||RS-232, ISDN, 10BASE-T, electricity, radio, fiber optics|
Adapted from Federal Standard 1037C and previous Wikipedia content.