OSI model

From Wikipedia, the free encyclopedia.

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.

This OSI model is roughly adhered to in the computing and networking industry. Its main feature is in the junction 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 Request 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 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 of several OSI layers is often referred to as a stack (as in TCP/IP stack).

Contents

Description of Layers

  • Physical layer Layer 1. : The physical layer defines all electrical and physical specifications for devices. This includes the layout of pins, voltages, and cable specifications. Hubs and repeaters 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. 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. The addressing scheme is physical which means that the addresses 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 LLC and Aloha for local area networks. This is the layer at which bridges and switches operate. Connectivity is provided only 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. 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. This is a logical addressing scheme - values are chosen by the network engineer. The addressing scheme is hierarchical.
  • 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. The transport layer controls the reliability of a given link. Some protocols are stateful and connection oriented. This means that the session layer can keep track of the packets and retransmit those that fail.
  • 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. This layer is responsible for setting up and tearing down TCP/IP sessions.
  • Presentation layer Layer 6. : The Presentation layer relieves the Application layer of concern regarding syntactical differences in data representation within the end-user systems. MIME encoding, encryption and similar manipulation of the presentation of data is done at this layer. 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 "People Design Networks To Send Packets Accurately", "Please Do Not Throw Sausage Pizza Away", and "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.

The DoD model, developed in the 1970s for DARPA, is a 4-layer model that maps closely to current common internet protocols. It is based on a more "pragmatic" approach to networking than OSI.

Strict conformance to the OSI model has not been a common goal in real-world networks, in part because of the negative view of the OSI protocol suite. Andrew Tanenbaum argues in his popular textbook Computer Networks that the failure of the OSI suite to become popular was due to bad timing, bad technology, bad implementations, and bad politics. The timing was bad because the model was finished only after a significant amount of research time and money had been spent on the TCP/IP model. The technology is "bad" because the session and presentation layers are nearly empty, whereas the data link layer is overfull. Early implementations were notoriously buggy and in the early days, OSI became synonymous with poor quality, whereas early implementations of TCP/IP were more reliable. Finally, the politics were bad because TCP/IP was closely associated with Unix, making it popular in academia, whereas OSI did not have this association.

Having said all that, the model is still the general reference standard for nearly all networking documentation. All networking phrases referring to numbered layers, such as "layer 3 switching", refer to this OSI model.

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).

Table of Examples

Layer Misc. Examples TCP/IP suite AppleTalk suite OSI suite IPX suite SNA UMTS
7 - Application HL7 HTTP, SMTP, SNMP, FTP, Telnet, NTP AFP, PAP FTAM, X.400, X.500, DAP   APPC  
6 - Presentation Tabbed Document Interface, ASCII, EBCDIC, MIDI, MPEG XDR AFP, PAP        
5 - Session Named Pipes, NetBIOS, SIP, SAP, SDP   ASP, ADSP, ZIP   NWLink DLC?  
4 - Transport NetBEUI TCP, UDP, RTP, SCTP ATP, NBP, AEP, RTMP TP0, TP1, TP2, TP3, TP4 SPX, RIP    
3 - Network NetBEUI, Q.931 IP, ICMP, IPsec, ARP, RIP, OSPF, BGP DDP X.25, CLNP IPX   RRC (Radio Resource Control)
2 - Data Link Ethernet, Token Ring, FDDI, PPP, HDLC, Q.921, Frame Relay, ATM, Fibre Channel   LocalTalk, TokenTalk, EtherTalk Token Bus 802.3 framing, Ethernet II framing SDLC MAC (Media Access Control)
1 - Physical RS-232, V.35, V.34, Q.911, T1, E1, RJ-45, 10BASE-T, StarLAN   Localtalk on shielded, Localtalk on unshielded ("phone talk")     Twinax PHY (Physical Layer)

Humor

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.

Carl Malamud, in his book "Stacks," defines layers 8, 9, and 10 as "Money", "Politics", and "Religion". The "Religion layer" is used to describe non-rational behavior and/or decision-making that cannot be accounted for within the lower nine levels. (For example, a manager who insists on migrating all systems to a Microsoft platform "because everyone else is doing it" is said to be operating in Layer 10.)

The OSI model has also sometimes been jokingly called the "Taco Bell model", since the restaurant chain has sometimes sold a 7 layer burrito.


Adapted from Federal Standard 1037C and previous Wikipedia content.

See also