The OSI (Open Systems Interconnection) model consists of seven layers, each responsible for specific functions in network communication. Here is a list of all seven layers along with some representative protocols and a brief description of their functions:


Physical Layer:


Protocols: Ethernet, USB, HDMI

Work: Deals with the physical connection between devices, specifying characteristics such as cables, connectors, and electrical voltages.


Data Link Layer:


Protocols: MAC (Media Access Control), LLC (Logical Link Control), PPP (Point-to-Point Protocol)

Work: Responsible for framing, addressing, and error detection on the physical layer. It ensures reliable point-to-point and point-to-multipoint communication.


Network Layer:


Protocols: IP (Internet Protocol), ICMP (Internet Control Message Protocol), OSPF (Open Shortest Path First)

Work: Manages routing and forwarding of data packets between devices on different networks. It determines the best path for data to travel.


Transport Layer:


Protocols: TCP (Transmission Control Protocol), UDP (User Datagram Protocol), SCTP (Stream Control Transmission Protocol)

Work: Manages end-to-end communication, ensuring reliable and efficient data transfer. TCP provides reliable, connection-oriented communication, while UDP offers faster, connectionless communication.


Session Layer:


Protocols: NetBIOS (Network Basic Input/Output System), RPC (Remote Procedure Call)

Work: Establishes, maintains, and terminates sessions or connections between applications. It manages dialogue control and synchronization.


Presentation Layer:


Protocols: SSL/TLS (Secure Sockets Layer/Transport Layer Security), JPEG (Joint Photographic Experts Group), ASCII

Work: Handles data translation, encryption, and compression. It ensures that data is presented in a readable format between different systems.


Application Layer:


Protocols: HTTP (Hypertext Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol)

Work: Provides network services directly to end-users and applications. It enables communication and data exchange between software applications.