The Hermit Hermit's Free Library  Computer Networking

This article describes the hypothetical Open Systems Interconnect (OSI) reference model and presents several "real world" network models.

Part 9: Open Systems Interconnect (OSI) Reference Model

(Andrews, pp. 897-900)

Early network designs (70's) were proprietary. In the early 80's manufacturers began attempts at standardization.

Two bodies which lead the movement for standardization were:

IEEE standardized protocols for the Token Ring and Ethernet network types, while ISO developed a networking model known as the Open Systems Interconnect (OSI) reference model.

The OSI model breaks down communication over a network into seven logical levels. It does not deal with hardware, only with software and firmware.

The OSI model is simply a reference model which standardizes the way manufactures can conceptualize the workings of a network - there are no networks in the real world which correspond directly to the model.

Layer Name (out) Purpose Name (in) Example
Layer 7 Application Talks to application software Application API
Layer 6 Presentation Reformat, encrypt/decode, compress/decompress Presentation  
Layer 5 Session Makes connection at both ends Session TCP, SPX
Layer 4 Transport Error Correction Transport TCP, IPX
Layer 3 Network Finds best possible route Network IP, IPX
Layer 2 Data-Link Disassembles/reassembles segments Data-Link NIC firmware: Ethernet, Token Ring, FDDI, etc.
Layer 1 Physical Passes data on to media Physical NIC firmware
Cabling Media
(Andrews, Figure 17-1, p.898)

Layer 7 Application layer

Talks to applications software.

This is the interface between the application and the network.

For example, when MS-Word attempts to open F:\DATA\AFILE.DOC, it is the Application layer which takes the request and passes it along to the rest of the network and it is the Application layer which then hands off the retrieved file to the application.

Everything in between is transparent to the application.

Layer 6 Presentation layer

Reformat, encrypt/decode, compress/decompress

The Presentation layer receives requests for files form the Application layer and presents them to the Session layer.

In order for data to be sent faster and more securely, the Presentation layer encrypts/decodes or compresses/decompresses the data so that the Application and Session layers can communicate.

Layer 5 Session layer

Makes connection at both ends

Establishes and maintains a session, sometimes known as a socket, between the two network nodes.

An attempt is made to create the socket - both nodes acknowledge the session - and the session is assigned an identifying number. Either node can close the socket when communications in both directions is completed.

Layer 4 Transport layer

Error correction

The transport layer guarantees successful delivery of data by checking for errors and requesting retransmission of data if errors are detected.

Transport protocols include:

Layer 3 Network layer

Finds the best possible route for sending frames over an internet (a network of networks)

Two most popular Network layer protocols (both supported by NT) are:

Layer 2 Data-Link layer

Note: the Data-Link and Network layers are "glued" together with interface protocols:

ARP Address Resolution Protocol Maps network layer (3) addresses to data link layer (2)
RARP Reverse Address Resolution Protocol Maps data-link layer (2) to network layer (3)
(Sportack, p.157-62)

The job of the data-link layer is to disassemble and reassemble segmented data.

This is the Token Ring or Ethernet firmware on the network card that segments and packages the stream of data bytes into packets before presenting it to the Physical layer to be transmitted over the media.

Layer 1 Physical layer

The NIC's tranceiver passes data on to media.

Also controlled by the network card firmware which includes the IEEE specifications for how the bits are to be transmitted over the particular physical media attached to the card.

More on data frames and OSI

Each layer (except the Physical layer) in the seven-layer model can add information to the header and trailer portions of the packet, though in practice, only the Data-Link layer adds both a header and a trailer.

When transmitting, layers add information which can be read by the corresponding layer at the receiving end. As the packet is presented to each layer at the receiving end, they interpret any information intended for them and then strip off that header and pass the packet to the next higher layer in the model.

Each layer of the OSI must use the same protocol at both ends in order to communicate successfully.

The Physical layer uses neither header nor trailer - it sees only bits and bytes.

"Real-World" Network Models

There are no 7-layer OSI networks in the real world. Here are some examples of "real-world" models.

Three layers

(Andrews)

Layer Includes Purposes OSI Layers
One NIC firmware, NIC driver Package data, present to Media Physical, Datalink
Two Protocols (TCP/IP, IPS/SPX) Route and correct Network, Transport
Three OS Functions Connect, format, present to applications Session, Presentation, Application

Three layer Network

(Minasi pp.77-85)

Layer What Purpose Examples OSI Layers
Bottom Network Board Drivers Adapts board (an architecture)to NOS Driver Physical, Datalink
Middle Protocols   NetBios/NetBEUITCP/IPDLCIPX/SPX Network, Transport, Session, Presentation, Applications
Top Network Services Provide net wide capabilities RedirectorE-mail, Etc.  

A hypothetical model

Layer What Purpose Examples OSI Layers
Bottom NIC firmware, NIC driver Package data, present it to media Ethernet NIC and software driver Physical, Data-link
Binding (NDIS, ODI)
Middle Protocols (TCP/IP, IPS/SPX) Routing, error correction TCP/IPIPS/SPXNetBeui/NetBios Network (IP) (IPX), Transport(TCP) (IPX)
Top Protocols (TCP, SPX) Connect, format, and present to apps TCP/IPIPS/SPX Session (TCP) (SPX) Presentation, Application
TDI
API
Applications

The NT Network Stack

Networking API's


NetBIOS Windows Sockets


Transport Driver Interface (TDI)


NetBEUI
Streams Interface
TCP/IP IPX/SPX


NDIS Interface


Network Board Driver


Network Card
(Sportack, Figure 21.10, p.380)



The Transport Driver Interface (TDI) makes API's protocol-independent. It allows API's such as NetBIOS and Winsock to be bound to any lower-level protocol.

The TCP/IP and IPX/SPX protocols are encapsulated in an NT version of the Streams interface (originally designed for UNIX System V). Streams wraps various network protocols in a standard interface with which higher and lower-level protocols can connect seamlessly.

Network Driver Interface (NDIS) - seamlessly interfaces the higher-level transport protocols to lower-level data-link protocols (such as Ethernet, Token Rind, etc.).

The Network board drivers only need to be written once, because the abstraction provided by the NDIS interface allows it to be connected with any higher-level protocol.