The OSI Network Model
The OSI (Open System Interconnection) 7-layer reference model defines a concept of moving information between networked computers. It describes how information flows from one end-user application through a network into another application. This model is considered the primary architectural model for inter-computer communication. Each of the 7 OSI layers are reasonably self-contained, and handle a separate group of tasks.
Layer 1 – Physical
The Physical layer defines the electrical, mechanical, and all physical hardware means of sending and receiving data itself. It includes cables, cards, and all physical aspects. It conveys the bit stream through the network at the electrical and mechanical level. The physical layer specifications also define characteristics, such as voltage levels, timing of impulses, physical data rates, max transmission distance, and physical connectors. Physical layer implementations can be categorized as either WAN or LAN specifications.
Layer 2 – Data Link
The data link layer defines the format of data, and provides its reliable transit across the physical network link. At this layer, bits are encoded/decoded into data packets (with protocol-specific headers, including checksums, source/destination addresses, etc.). The layer facilitates transmission protocol management, flow control, frame synchronization, and handles any errors in the physical layer. It contains two sublayers – MAC (Media Access Control), and LLC (Logical Link Control).
The IEEE MAC specification defines MAC addresses, which enable multiple devices to uniquely identify each other at the data link layer. The MAC sublayer manages protocol access to the physical network medium. It controls how a network device gains access to, and permission to transmit data.
LLC manages communications between devices over a single link of a network. It controls frame synchronization, flow control and error checking.
Layer 3 – Network
The Network layer provides netwok addressing (which differs from the data link layer MAC address). It also facilitates switching, routing, error handling, congestion contol, and packet sequencing. It allows for defining the logical network layout, and virual logical paths for transmitting data between network nodes. The Internetwork Protocol (IP) operates at this layer. IP defines network addresses in a way that route selection can be determined systematically by comparing the source network address with the destination address, and applying the subnet mask. Routers operate at this layer to determine how to forward packets. Most of the design and configuration of netwok layout is at the networking layer.
Layer 4 – Transport
The Transport layer segments data (into packets) for transport across the network. It ensures complete data transfer by providing flow control, multiplexing, error checking and error recovery (retransmissions). Flow control manages data transmission between devices, so that the transmitting device does not send more data than the receiving device can process. Multiplexing allows for data from different applications to be transmitted through a single physical link. Such virtual “circuits” are established, maintained and terminated by the transport layer.
The most common transport layer protocols are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol), with reliability and speed being the main difference between them.
Layer 5 – Session
The Session layer generally deals with session and connection coordination. It establishes, manages and terminates communications sessions. Sessions consist of service requests and responses that occur between applications in different network devices. Session protocol implementations include RPC (Remote Procedure Call), ZIP (Zone Information Protocol), AppleTalk, SCP (Session Control Protocol).
Layer 6 – Presentation
The Presentaion layer deals with conversion and coding of data from application to network format. It ensures the application layer data can be readable by other systems’ application layer. This layer formats and encrypts data, providing compatability between systems. It is sometimes called the “syntax layer”.
Layer 7 – Application
The Application layer supports and interacts directly with software applications. Its functions include identifying communication partners, determining resource availability and syncronizing communication. Some examples of application layer implementations include FTP (File Transfer Protocol), Telnet, SMTP (Simple Mail Transfer Protocol).
The TCP/IP Network Model
The TCP/IP protocol suite forms the basis of the Internet. It is the most widely used form of networking between coputers. TCP/IP is a combination of protocols at different layers that is designed around simple 4-layer scheme. It combines/splits some adjacent OSI layers, and omits some features. The 4-layer TCP/IP model is also known as the DARPA model, named after the U.S. government agency that initially defeloped TCP/IP. The 4 layers are as follows:
Layer 1 – Link
The Link layer defines the device driver and network hardware (network interface card).
Layer 2 – Network
The Network layer handles basic communication, addressing and routing. IP, ICMP, ARP and IGMP protocols are at the network layer.
Layer 3 – Transport
The Transport layer handles flow of data among applications. It segments data into packets for transport over the network. TCP and UDP operate at the transport layer.
Layer 4 – Application
The Application layer handles details of the particular end-user applications. Commonly used TCP/IP applications include Telnet, FTP, SMTP, SNMP, DNS, RIP, NFS, NTP, Traceroute.