Responsibilities of different layers in the OSI model
1- Establishment, maintenance and termination of point-to-point physical connections.
2- Transmits row bits.
Data Link Layer:
1- Provides protocols that deliver reliability for point-to-point phyiscal connections to upper layers.
2- Organizes bit streams into structured frames with addressing and error checking information.
3- Provides error detection, notification and recovery. (Error Control)
4- Transmits frames sequentially.
5- Processes Acknowledgements.
6- Recognizes frame boundaries.
7- Distinguishes between duplicate frames.
8- Regulates between fast sender and slow receiver. (Flow Control)
1- Media Access Control (MAC): Interfaces with Physical Layer.
2- Logical Link Control (LLC): Interfaces with Network Layer.
1- Establishment, maintenance and termination of End-to-end network links.
2- Responsible for addressing schemes.
3- Routing and Internetwork routing.
4- Recognizes frames as packets.
5- Counting how many packets are sent (billing).
6- Congestion control.
7- Allows heterogeneous interconnections.
This layer provides upper layers with independence from transimission and switching issues.
1- Responsible for providing reliability for the end-to-end network layer connections.
2- End-to-end error recovery and flow control.
3- Provides mechanism for sequentially organizing multiple network layer packets into a coherent message.
4- In multiprogramming multiprocessor environments it is responsible for telling which message to which processor.
5- Establishes and deletes connetion by naming.
1- Establishing, maintaining and terminating sessions between user application programs.
2- User gives the remote address he wants to connect to. It is the user interface to the network.
3- Token management.
5- Allows user to remotely log on.
1- Interface between user applications and various presentation-related services required by those applications, like: Data encryption, decryption, compression, reformatting and encoding.
2- Conversion between different kinds of terminals.
1- Provides utilities that support end-user application programs, like FTP, some email basic utilities and protocols.
2- Provides virtual terminal.