OSI Reference Model Layer Functions
Layer 1 Physical
The Physical Layer is responsible for the transmission and reception of data over electrical, optical, or RF devices. It is mainly concerned with identifying bits and building bytes of data.
Layer 2 Data Link
The Data Link Layer formats the raw bytes of data into groups of bytes called frames. A frame has sequencing and error correction information to allow the Data Link Layer to identify frames that have been garbled in transmission. The information inside of a frame is known as a packet.
Layer 3 Network
The Network Layer routes packets to their proper destination. This layer is necessary because computers can be connected to many networks and data that is destined for a specific computer might need to tranverse several computer systems to get to the end destination.
Layer 4 Transport
The Transport Layer processes packets from a network and re-organizes the data into the logical format and order required by the Session Layer. Data from the Session Layer must conform to the needs of the network and might require segmentation of the data (splitting a large packet into several smaller packets). The Transport Layer is responsible for end-to-end communications between computer systems (not applications).
Layer 5 Session
The Session Layer regulates the flow of data for a class of service on a computer system. The Session Layer communicates with its remote partner and exchanges control packets describing what each partner's current operation will be. Data packets are transmitted to remote partners only after an exchange confirming the purpose and type of data to be transmitted.
Layer 6 Presentation
The Presentation Layer is responsible for converting data from one machine's format to another. The most common service performed by the Presentation Layer is the conversion of ASCII data to or from EBCDIC.
Layer 7 Application
The Application Layer is typically a utility program that internally implements an application protocol (FTP, RSH, RMAIL). This layer can also be a user-written program communicating through a session level protocol (sockets) or an embedded function of the operating system such as Remote File System (RFS), Network File System (NFS), or Network Virtual Device (NVD).