This article describes the hypothetical Open Systems Interconnect (OSI) reference model and presents several "real world" network models.
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|
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.
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.
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.
The transport layer guarantees successful delivery of data by checking for errors and requesting retransmission of data if errors are detected.
Transport protocols include:
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:
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)|
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.
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.
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.
There are no 7-layer OSI networks in the real world. Here are some examples of "real-world" models.
|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|
|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.|
|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|
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.