Practice
Data Structures and Algorithms
Machine Coding Round (LLD)
System Design & Architecture (HLD)
Frontend UI Machine Coding
Resources
Career Advice and Roadmaps
Data Structures and Algorithms
Machine Coding Round (LLD)
System Design & Architecture (HLD)
Backend Development
Frontend Development
Project Ideas for Software Developers
Core Computer Science
Companies
SDE Jobs & Internships
Interview Questions
Compare Companies
IDE
Online IDE
Collaborative IDE

TCP/IP Reference Model | Computer Networks

Ujjwal Abhishek
Ujjwal Abhishek

TCP/IP Reference Model

The TCP/IP which stands for Transmission Control Protocol/Internet Protocol is the set of communication protocols used in the internet and similar computer networks. It provides end-to-end data communication. It specifies all the processes involved in end-to-end data communication which includes packetizing, addressing, routing, transmission. It contains four layers and all the functionalities are organized in these four layers. The four layers are shown in the diagram below.

1. Link Layer - The link layer is the lowest layer in the TCP/IP model. It is compared with the combination of the data link layer and the physical layer of the OSI Model. They are similar but not identical. This layer is the group of communication protocols that acts as a link to which the host is connected physically. It is mainly concerned with the physical transmission of the data.

The protocols used in this layer are:

  • ETHERNET
  • FDDI
  • Token Ring
  • Frame relay

2. Internet Layer - The Internet layer is compared to the network layer of the OSI model. The main responsibility of the network layer is to transport data packets from the source to the destination host across the entire network. The transmission done by the internet layer is less reliable.

The main protocols used in this layer are:

  • IP - It is the primary protocol in the internet layer. It stands for Internet Protocol. It is responsible for the transmission of data packets from the source to the destination host. It is implemented in two versions, IPv4 and IPv6.
  • ARP - It stands for Address Resolution Protocol. Its main responsibility is to find the physical address of the host using the internet address or IP address.
  • ICMP - It is used for providing messages about errors to the host.
  • IGMP - It is used for the transmission of data to a group of networks. For eg. online streaming.

3. Transport Layer - The transport layer is responsible for the end-to-end communication and delivery of the non-erroneous data. It provides services that include connection-oriented communication, flow control, reliability, multiplexing. This layer is similar to the transport layer of the OSI model.

The main protocols of this layer are:

  • TCP - It stands for Transmission Control Protocol. It is a connection-oriented protocol and provides reliable communication and error-free delivery of data from the source to the destination host. It is optimized for accurate delivery than timely delivery. It is used by many internet applications including World Wide Web(WWW), email.
  • UDP - It stands for User Diagram Protocol. It provides simple, cost-effective but unreliable service. It prioritizes speed over the accuracy of delivery.

4. Application Layer - It is the topmost layer of the TCP/IP model. Its functions are similar to the combination of the application layer, session layer, and presentation layer. It is responsible for user interface specifications. It contains communication protocols used in the process to process communication across an Internet protocol computer network.

Some of the protocols used in this layer are:

  • HTTP - It stands for Hypertext Transfer Protocol. It is the foundation of data communication for the World Wide Web. The hypertext includes hyperlinks to other resources that can be accessed easily by the user.
  • SMTP - It stands for Simple Mail Transfer Protocol. It is used for sending and receiving electronic mails.
  • TELNET - It provides a bidirectional interactive text-oriented communication facility to the hosts over a network.
  • FTP - It stands for File Transfer Protocol. It is a standard communication protocol used for transferring files from one computer to another over a network.
Ujjwal Abhishek
Ujjwal Abhishek
Ujjwal is final-year CSE Undergraduate, a competitive coder, and a web developer passionate about problem-solving and data structures and algorithms.
SDE Bootcamp - Become a software engineer at a product-based company
Practice Data Structures & Algorithms
Learning Resources
Interview Prep Resources
Community
Join our community
Blog
  • Career Advice and Roadmaps
  • Data Structures & Algorithms
  • Machine Coding Round (LLD)
  • System Design & Architecture
  • Backend Development
  • Frontend Development
  • Awesome Project Ideas
  • Core Computer Science
Practice Questions
  • Machine Coding (LLD) Questions
  • System Design (HLD) Questions
  • Topic-wise DSA Questions
  • Company-wise DSA Questions
  • DSA Sheets (Curated Lists)
  • JavaScript Interview Questions
  • Frontend UI Machine Coding Questions
Online Compilers (IDE)
  • Online Java Compiler
  • Online C++ Compiler
  • Online C Compiler
  • Online Python Compiler
  • Online JavaScript Compiler
Topic-wise Problems
  • Dynamic Programming Interview Questions
  • Linked List Interview Questions
  • Graph Interview Questions
  • Backtracking Interview Questions
  • Arrays Interview Questions
  • Trees Interview Questions
Company-wise Problems
  • Amazon Interview Questions
  • Microsoft Interview Questions
  • Google Interview Questions
  • Flipkart Interview Questions
  • Adobe Interview Questions
  • Facebook Interview Questions
DSA Sheets (Curated Lists)
  • Top Interview Questions
  • FAANG Interview Questions
  • Most Asked Interview Questions
  • 6 month DSA Practice Sheet
  • 3 month DSA Practice Sheet
  • Last minute DSA Practice Sheet