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 layers model.
The OSI 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 behavior 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.
This OSI model is roughly adhered to in the computing and networking industry. Its main feature is in the interface between layers which dictates the specifications on how one layer interacts with another. This means that a layer written by one manufacturer can operate with a layer from another (assuming that the specification is interpreted correctly). These specifications are typically known as Requests for Comments or "RFC"s in the TCP/IP community. They are ISO standards in the OSI community.
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 most common 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 behavior 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. As previously stated, an implementation of several OSI layers is often referred to as a stack (as in TCP/IP stack).
The OSI reference model is a hierarchical structure of seven layers that defines the requirements for communications between two computers. The model was defined by the International Organization for Standardization in the ISO standard 7498-1. It was conceived to allow interoperability across the various platforms offered by vendors. The model allows all network elements to operate together, regardless of who built them. By the late 1970's, ISO was recommending the implementation of the OSI model as a networking standard.
Of course, by that time, TCP/IP had been in use for years. TCP/IP was fundamental to ARPANET and the other networks that evolved into the Internet. (For significant differences between TCP/IP and ARPANET, see RFC 871.)
Only a subset of the whole OSI model is used today. It is widely believed that much of the specification is too complicated and that its full functionality has taken too long to implement, although there are many people who strongly support the OSI model.
On the other hand, many feel that the best thing about the whole ISO networking effort is that it failed before it could do too much damage.
Description of OSI layers
Layer 1: Physical layer
The Physical layer defines all the electrical and physical specifications for devices. This includes the layout of pins, voltages, and cable specifications. Hubs, repeaters and network adapters are physical-layer devices. 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. These are signals operating over the physical cabling -- copper and fibre optic, for example - or over a radio link.
Parallel SCSI buses operate at this level. Various physical-layer Ethernet standards are also at this level; Ethernet incorporates both this layer and the data-link layer. The same applies to other local-area networks, such as Token ring, FDDI, and IEEE 802.11.
Layer 2: Data Link layer
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. The addressing scheme is physical which means that the addresses (MAC address) are hard-coded into the network cards at the time of manufacture. The addressing scheme is flat. Note: The best known example of this is Ethernet. Other examples of data link protocols are HDLC and ADCCP for point-to-point or packet-switched networks and Aloha for local area networks. On IEEE 802 local area networks, and some non-IEEE 802 networks such as FDDI, this layer may be split into a Media Access Control (MAC) layer and the IEEE 802.2 Logical Link Control (LLC) layer.
This is the layer at which bridges and switches operate. Connectivity is provided only among locally attached network nodes; however, there's a reasonable argument to be made that these really belong at "layer 2.5" rather than strictly at layer 2.
While not a part of the official OSI model, the term "Layer 2.5" has been used to categorize some protocols that operate between layer 2 and layer 3. For example, Multiprotocol Label Switching (MPLS) operates on packets (layer 2) while working with IP addresses (layer 3) and uses labels to route packets differently.
Layer 3: Network layer
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. Routers operate at this layer -- sending data throughout the extended network and making the Internet possible (there also exist layer 3 (or IP) switches). This is a logical addressing scheme - values are chosen by the network engineer. The addressing scheme is hierarchical. The best known example of a layer 3 protocol is the Internet Protocol (IP).
Layer 4: Transport layer
The Transport layer provides transparent transfer of data between end users, thus relieving the upper layers from any concern with providing reliable and cost-effective data transfer. The transport layer controls the reliability of a given link. Some protocols are state and connection oriented. This means that the transport layer can keep track of the packets and retransmit those that fail. The best known example of a layer 4 protocol is TCP.
Layer 5: Session layer
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. This layer is responsible for setting up and tearing down TCP/IP sessions.
Layer 6: Presentation layer
The Presentation layer relieves the Application layer of concern regarding syntactical differences in data representation within the end-user systems. MIME encoding, data compression, encryption, and similar manipulation of the presentation of data is done at this layer. Examples: converting an EBCDIC-coded text file to an ASCII-coded file, or serializing objects and other data structures into and out of XML.
Layer 7: Application layer
The Application layer services facilitate communication between software applications and lower-layer network services so that the network can interpret an application's request and, in turn, the application can interpret data sent from the network. Through Application layer protocols, software applications negotiate their formatting, procedural, security, synchronization, and other requirements with the network. Some common Application layer protocols are HTTP, SMTP, FTP and Telnet.
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's 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).
Table of examples
|Layer||Misc. examples||TCP/IP suite||SS7||AppleTalk suite||OSI suite||IPX suite||SNA||UMTS|
|7 - Application||HL7, Modbus, SIP||HTTP, SMTP,SMPP SNMP, FTP, Telnet, NFS, NTP||ISUP, INAP, MAP, TUP, TCAP||AFP, PAP||FTAM, X.400, X.500, DAP||APPC|
|6 - Presentation||TDI, ASCII, EBCDIC, MIDI, MPEG||XDR, SSL, TLS||AFP, PAP|
|5 - Session||Named Pipes, NetBIOS, SAP, SDP||Session establishment for TCP||ASP, ADSP, ZIP||NWLink||DLC?|
|4 - Transport||NetBEUI||TCP, UDP, RTP, SCTP||ATP, NBP, AEP, RTMP||TP0, TP1, TP2, TP3, TP4, OSPF||SPX, RIP|
|3 - Network||NetBEUI, Q.931||IP, ICMP, IPsec, ARP, RIP, BGP||MTP-3, SCCP||DDP||X.25 (PLP), CLNP||IPX||RRC (Radio Resource Control)|
|2 - Data Link||Ethernet, Token Ring, FDDI, PPP, HDLC, Q.921, Frame Relay, ATM, Fibre Channel||MTP-2||LocalTalk, TokenTalk, EtherTalk, Apple Remote Access, PPP||X.25 (LAPB), Token Bus||IEEE 802.3 framing, Ethernet II framing||SDLC||MAC (Media Access Control)|
|1 - Physical||RS-232, V.35, V.34, Q.911, T1, E1, 10BASE-T, 100BASE-TX, ISDN, SONET, DSL||MTP-1||Localtalk on shielded, Localtalk on unshielded (PhoneNet)||X.25 (X.21bis, EIA/TIA-232, EIA/TIA-449, EIA-530, G.703)||Twinax||PHY (Physical Layer)|
This is parallel of OSI and standard letter communication between two company managers:
The 7 layer model has often been extended in a humorous manner, to refer to non-technical issues or problems. A common joke is the 9 layer model, with layers 8 and 9 being the "financial" and "political" layers.
Network technicians will sometimes refer euphemistically to "layer-eight problems," meaning problems with an end user and not with the network.
The OSI model has also on occasion been jokingly called the "Taco Bell model", since the restaurant chain has been known for their 7 layer burrito.
In the network design OSI model, the seven layers (Physical, Data link, Network, Transport, Session, Presentation, and Application) can be remembered with the mnemonic:
Please Do Not Throw Sausage Pizza Away
Or in this one (Which starts from Application -> Physical) All People Seem To Need Data Processing
Or even Any Person Studying This Needs Desperate Psychotherapy (Again Application -> Physical)
Dick Lewis uses an analogy of James Bond delivering classified messages to illustrate the seven-layer model.