Standard layered framework for network design
The Open Systems Interconnection (OSI) reference model has been an essential component of computer network design since its inception in 1984. OSI is an abstract model, meaning that actual network implementations need not adhere to it strictly. OSI is also a standards effort, a product of the International Standards Organization (ISO). (And OSI is ISO spelled backwards, just to add to the fun). Although heavy on theory, the OSI model still provides a practical, structured introduction to network design.
OSI Model Stack
The OSI model divides the complex task of host-to-host networking, traditionally called internetworking, into layers. Layers in the OSI model are ordered from lowest level to highest in a stack. The OSI stack contains seven layers in two groups:
Upper layers:
7. application
6. presentation
5. session
Lower layers:
4. transport
3. network
2. data link
1. physical
OSI Model Upper Layers
OSI designates the application, presentation, and session layers as "upper" layers. Generally speaking, software in these layers performs application-specific functions like data formatting, encryption, and connection management. Examples of upper layer technologies in the OSI model are HTTP, SSL and NFS.
OSI Model Lower Layers
The remaining lower layers provide more primitive network-specific functions like routing, addressing, and flow control. Examples of lower layer technologies in the OSI model are TCP, IP, and Ethernet.
OSI Model Benefits
The layered approach in the OSI model offers several advantages to system implementers. By separating the design into logical smaller pieces, vendors can more easily solve network design problems through divide-and-conquer. A product from one vendor that implements OSI Layer 2 functionality, for example, will be much more likely to interoperate with another vendor's OSI Layer 3 product because both vendors are following the model. Finally, the OSI model makes network designs more extensible. New protocols and other network services are generally easier to add to a layered architecture than to a monolithic one.