Networking - Network Models - TCP/IP

The TCP/IP network model is a conceptual framework used to understand and describe the protocols and communication processes used in the Internet and modern computer networks. It consists of four layers: Network Interface Layer, Internet Layer, Transport Layer, and Application Layer. 

Network Interface Layer (also known as Link Layer or Data Link Layer):

  • The Network Interface Layer is responsible for the exchange of data frames between nodes over a shared physical medium or a specific network technology. It handles the addressing of network devices within a local network and ensures reliable communication between devices on the same network segment. It encompasses two sublayers:
    • Logical Link Control (LLC): The LLC sublayer handles error control and flow control within the local network. It ensures that data frames are delivered correctly and manages the flow of data between devices.
    • Media Access Control (MAC): The MAC sublayer manages access to the shared physical medium when multiple devices are connected. It uses protocols like Ethernet, Wi-Fi (IEEE 802.11), or Token Ring to control access and avoid data collisions.

Internet Layer:

  • The Internet Layer is responsible for the transmission of data packets across interconnected networks. It enables the addressing and routing of data packets from the source to the destination. The primary protocol used at this layer is the Internet Protocol (IP). The key components of the Internet Layer include:
    • IP (Internet Protocol): IP provides logical addressing (IP addresses) to identify devices on a network and defines the format of data packets for transmission. It also handles packet fragmentation, reassembly, and basic error checking.
    • Internet Control Message Protocol (ICMP): ICMP provides diagnostic and error reporting functions for IP, including error messages, network congestion notifications, and ping requests/replies.
    • Internet Group Management Protocol (IGMP): IGMP is used for multicasting, allowing hosts to join or leave multicast groups and receive multicast traffic.

Transport Layer:

  • The Transport Layer ensures reliable and orderly data delivery between hosts. It provides end-to-end communication services, segmenting data received from the upper layers into smaller units and reassembling them at the destination. The two primary transport protocols used in the TCP/IP model are:
    • Transmission Control Protocol (TCP): TCP provides reliable, connection-oriented data delivery. It establishes a connection between the source and destination hosts, ensures data integrity, retransmits lost packets, and guarantees in-order delivery. TCP is used for applications that require reliable and ordered data transfer, such as web browsing, file transfer, and email.
    • User Datagram Protocol (UDP): UDP provides connectionless, unreliable data delivery. It does not establish a connection but simply transmits data packets to the destination. UDP is used for applications that prioritize speed and efficiency over reliability, such as real-time streaming, online gaming, and DNS.

Application Layer:

  • The Application Layer is the topmost layer of the TCP/IP model. It interacts directly with end-users and supports various network applications. This layer encompasses a wide range of protocols and services that enable communication between applications running on different hosts. Some commonly used protocols at the Application Layer include:
    • Hypertext Transfer Protocol (HTTP): HTTP is used for web browsing and the transfer of web pages, images, and other resources over the Internet.
    • File Transfer Protocol (FTP): FTP enables the transfer of files between hosts, allowing users to upload and download files from remote servers.
    • Simple Mail Transfer Protocol (SMTP): SMTP is used for sending and receiving email messages between mail servers.
    • Domain Name System (DNS): DNS translates domain names into IP addresses, allowing users to access websites using human-readable names instead of IP addresses.
    • Secure Shell (SSH): SSH provides secure remote access and secure file transfers between hosts.