The OSI reference model arrived in 1984. OSI model is used as an abstract framework and most operating systems and protocols adhere to it. This is the standard model for networking protocols and distributed applications and is the International Standard Organization's Open System Interconnect (ISO/OSI) model.
It defines seven network layers.
Layer 1 - Physical Layer
Physical layer defines the cable or physical medium itself, e.g., thinnet, thicknet, unshielded twisted pairs (UTP). All media are functionally equivalent. The main difference is in convenience and cost of installation and maintenance. Converters from one media to another operate at this level. This layer converts bits into voltage for transmission. Couples of the standard interfaces at this layer are HSSI and X.21.
Layer 2 - Data Link Layer
Data Link layer defines the format of data on the network. The outer format of data changes at each layer and here it comes to a point to be translated into LAN or WAN technology binary format for proper transmission. A network data frame .e. packet includes checksum, source and destination address, and data. The largest packet that can be sent through a data link layer defines the Maximum Transmission Unit (MTU). The data link layer handles the physical and logical connections to the packet's destination, using a network interface. A host connected to an Ethernet would have an Ethernet interface to handle connections to the outside world, and a loopback interface to send packets to it. Ethernet addresses a host using a unique, 48-bit address called its Ethernet address or Media Access Control (MAC) address. This number is unique and is associated with a particular Ethernet device. Hosts with multiple network interfaces should use the same MAC address on each. The data link layer's protocol specific header specifies the MAC address of the packet's source and destination.
Layer 3 - Network Layer
The main responsibility of network layer is to insert information in the packet header so that it can be properly addressed and routed. Routing protocols build their routing table at this layer.NFS uses Internetwork Protocol (IP) as its network layer interface. IP is responsible for routing, directing datagrams from one network to another. The network layer may have to break large datagrams, larger than MTU, into smaller packets and host receiving the packet will have to reassemble the fragmented datagram. The Internetwork Protocol identifies each host with a 32-bit IP address. IP addresses are written as four dot-separated decimal numbers between 0 and 255, e.g., 126.96.36.199. The leading 1-3 bytes of the IP identify the network and the remaining bytes identify the host on that network. For large sites, the first two bytes represents the network portion of the IP, and the third and fourth bytes identify the subnet and host respectively.
Even though IP packets are addressed using IP addresses, hardware addresses must be used to actually transport data from one host to another. The Address Resolution Protocol (ARP) is used to map the IP address to it hardware address.
Layer 4 - Transport Layer
The transport layer provides end to end transport services and establishes the logical connection between two computers. Transport layer subdivides user-buffer into network-buffer sized datagrams and enforces desired transmission control. Two transport protocols, Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) sits at the transport layer. Reliability and speed are the primary difference between these two protocols. TCP establishes connections between two hosts on the network through 'sockets' which are determined by the IP address and port number. TCP keeps track of the packet delivery order and the packets that must be resent. Maintaining this information for each connection makes TCP a stateful protocol. UDP on the other hand provides a low overhead transmission service, but with less error checking. NFS is built on top of UDP because of its speed and statelessness. Statelessness simplifies the crash recovery.
Layer 5 - Session Layer
The session layer is responsible for establishing session between two applications. The connection is maintained during data transfer and released once done. The session protocol defines the format of the data sent over the connections. The NFS uses the Remote Procedure Call (RPC) for its session protocol. RPC may be built on either TCP or UDP. Login sessions use TCP whereas NFS and broadcast use UDP. The session layer works similar to telephone circuitry and the three phases are connection establishment, data transfer and connection release.
Layer 6 - Presentation Layer
The presentation layer receives information from the application layer protocol and translates in the format all computers can understand. The presentation layer is not concerned with the meaning of data. This layer is also meant to handle issues related to data compression and encryption. External Data Representation (XDR) sits at the presentation level. It converts local representation of data to its canonical form and vice versa. The canonical uses a standard byte ordering and structure packing convention, independent of the host.
Layer 7 - Application Layer
The application layer works closer to the user and provides network services to the end-users. This layer does not include the actual applications but the protocols that support the applications. Mail, ftp, telnet, DNS, NIS, NFS are examples of network applications.