The Open Systems Interconnection (OSI) reference model has served as one of the most basic, yet essential, elements of computer networking 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). But despite being an abstract standard, the OSI model nevertheless offers a very practical structured introduction to many networking concepts.
In a nutshell, OSI divides the big task of host-to-host networking -- traditionally called internetworking -- into a vertical stack. The OSI stack contains these seven layers (in order from top to bottom):
1. The Physical Layer describes the physical properties of the various communications media, as well as the electrical properties and interpretation of the exchanged signals. Ex: this layer defines the size of Ethernet coaxial cable, the type of BNC connector used, and the termination method.
2. The Data Link Layer describes the logical organization of data bits transmitted on a particular medium. Ex: this layer defines the framing, addressing and checksumming of Ethernet packets. MAC addresses operate on this level.
3. The Network Layer describes how a series of exchanges over various data links can deliver data between any two nodes in a network. Ex: this layer defines the addressing and routing structure of the Internet. IP addresses operate on this level.
4. The Transport Layer describes the quality and nature of the data delivery. Ex: this layer defines if and how retransmissions will be used to ensure data delivery. The TCP and UDP protocols operate on this level.
5. The Session Layer describes the organization of data sequences larger than the packets handled by lower layers. Ex: this layer describes how request and reply packets are paired in a remote procedure call.
6. The Presentation Layer describes the syntax of data being transferred. Ex: this layer describes how floating point numbers can be exchanged between hosts with different math formats.
7. The Application Layer describes how real work actually gets done. Ex: this layer would implement file system operations.