2 Oct — OSI model

The OSI model is a model that identifies the separate jobs of any complete networking system. It is structured into a stack of seven layers.

application
presentation
session
transport
network
data link
physical

The presentation layer specifies how bits are transmitted over a medium physically connecting one host to another host. (A host is frequently a computer, but could also be a router, a printer, or something else.)

The data link layer specifies how errors in physical transmission should be identified and corrected.

The network layer specifies how to route between two hosts that are not physically connected. This includes how hosts are identified — i.e., their addresses.

The transport layer specifies how a message should be broken into packets, since lower layers in the stack will have some maximum packet length that they can transmit. It also looks at how to specify the order of packets for reassembly at the other end, and at protocols for ensuring receipt of a packet, since a single send request could be lost in transit.

The session layer provides the illusion of a virtual connection (“session”) between computers; lower layers are focused on simply sending a one-time message from one computer to another, without any chance ot responding.

The presentation layer specifies how abstract data is translated into bits, including basic encodings (e.g., big-endian/little-endian, UTF-8/UTF-16), encryption, and compression.

The application layer specifies the communication structure specific to the application.

While the OSI model is very useful for discussion about the various jobs of the network, in practice most people use the Internet protocol suite, which is independent of the OSI model (and in fact predates it). It has four layers, which don't correspond precisely to the OSI model since they are independent of each other (TCP/IP predates OSI).