Physical layer :
This layer deals with the physical connection between two points. This is the lowest layer, whose primary role is communicating raw bit streams. This layer is also responsible for activating, maintaining, and deactivating these bit-stream communications.
Data-link layer :
This layer deals with actually transferring data between two points. In contrast with the physical layer, which takes care of sending the raw bits, this layer provides high-level functions, such as error correction and flow control. This layer also provides procedures for activating, maintaining, and deactivating data-link connections.
Network layer :
This layer works as a middle ground; its primary role is to pass information between the lower and the higher layers. It provides addressing and routing.
Transport layer :
This layer provides transparent transfer of data between systems. By providing reliable data communication, this layer allows the higher layers to never worry about reliability or cost-effectiveness of data transmission.
This layer is responsible for establishing and maintaining connections between network applications.
Presentation layer :
This layer is responsible for presenting the data to applications in a syntax or language they understand. This allows for things like encryption and data compression.
Application layer :
This layer is concerned with keeping track of the requirements of the application.