TCP/IP and OSI are the two most widely used networking models for communication. There are some similarities and dissimilarities between them. One of the major difference is that OSI is a conceptual model which is not practically used for communication, whereas, TCP/IP is used for establishing a connection and communicating through the network.
The OSI model mainly emphasis on the services, interfaces and protocols; make a clear distinction between these concepts. Conversely, the TCP model is not able to distinctly describe these concepts.
Furthermore, the TCP/IP enables only connectionless communication mode in the network layer but both modes (Connectionless and connection-oriented) in the transport layer. When it comes to the OSI model, it supports connectionless and connection-oriented communication over the network layer but in the transport layer, connection-oriented communication is merely allowed. Have a look at the article difference between connectionless and connection-oriented services, for better understanding.
Other differences are discussed below.
Content: TCP/IP Model Vs OSI Model
|Basis for Comparison||TCP/IP Model||OSI Model|
|Expands To||Transmission Control Protocol/ Internet Protocol||Open system Interconnect|
|Meaning||It is a client server model used for transmission of data over the internet.||It is a theoretical model which is used for computing system.|
|Number Of Layers||4 Layers||7 Layers|
|Developed by||Department of Defense (DoD)||ISO (International Standard Organization)|
|Usage||Mostly used||Never used|
|Obeys||Horizontal approach||Vertical approach|
Definition of TCP/IP MODEL
TCP (Transmission Control Protocol) /IP (Internet Protocol) was developed by the Department of Defense (DoD) project agency. Unlike OSI Model, it consists of four layers each having its own protocols. Internet Protocols are the set of rules defined for communication over the network. TCP/IP is considered as the standard protocol model for networking. TCP handles data transmission and IP handles addresses.
The TCP/IP protocol suite has a set of protocols that includes TCP, UDP, ARP, DNS, HTTP, ICMP, etc. It is a robust and flexible model. The TCP/IP model is mostly used for interconnecting computers over the internet.
TCP/IP Model Layers
- Network Interface Layer – This layer acts as an interface between hosts and transmission links and used for transmitting datagrams. It also specifies what operation must be performed by links like serial link and classic ethernet to fulfil the requirements of the connectionless internet layer.
- Internet Layer – The purpose of this layer is to transmit an independent packet into any network which travels to the destination (might be residing in a different network). It includes the IP (Internet Protocol), ICMP (Internet Control Message Protocol) and ARP (Address Resolution Protocol) as the standard packet format for the layer.
- Transport Layer – It enables a fault-free end-to-end delivery of the data between the source and destination hosts in the form of datagrams. The protocols defined by this layer are TCP (Transmission Control Protocol) and UDP (User Datagram Protocol).
- Application Layer – This layer permits users to access the services of global or private internet. The various protocols described in this layer are virtual terminal (TELNET), electronic mail (SMTP) and file transfer (FTP). Some additional protocols like DNS (Domain Name System), HTTP (Hypertext Transfer Protocol) and RTP (Real-time Transport Protocol). The working of this layer is a combination of application, presentation and session layer of the OSI model.
Definition of OSI Model
OSI (Open System Interconnection) model was introduced by ISO (International Standard Organization). It is not a protocol but a model which is based on the concept of layering. It has a vertical set of layers, each having different functions. It follows a bottom-up approach to transfer the data. It is robust and flexible, but not tangible.
The main intent of OSI reference model is to conduct the designing and development of the digital communication hardware, devices and software in a way that they can efficiently interoperate.
The seven layers of OSI model are:
- Application Layer – With this layer, the users can access the network by using interfaces and services like electronic mail, shared database management, file access/transfer and the other services.
- Presentation Layer – Presentation layer focuses on the syntax and semantics of the transmitting information. It performs tasks such as translation, encryption and compression where the actual information existing in the form of character strings, numbers, symbols is encoded into bit streams, converted into another form and compressed.
- Session Layer – This layer establishes the session between different machines in order to synchronize and maintain the interaction between them. The services provided by the session layer are dialog control, token management and synchronization.
- Transport Layer – It accepts the data from its preceding layer in the form of independent packets and transmits it to the succeeding layer in proper order. The other function carried out by this layer are service point addressing, connection control, segmentation and reassembly, flow control and error control.
- Network Layer – Logical addressing and routing are the major operations performed by the network layer. It translates the network logical address into physical MAC address so that the two systems residing in the different networks could also communicate efficiently. A packet also requires a path to be followed to reach at the destination avoiding congestion and failed components, so it also facilitates the automatic updation of the routes.
- Data Link Layer – It is responsible for transforming the raw transmission service (Physical layer) into a reliable link. It makes the physical layer free from error by masking them so that the network layer does not notice them. In this layer, the input data is split into frames. The tasks carried out in the data link layer are framing, access control, physical addressing, error and flow control.
- Physical Layer – It transmits the individual bits over the transmission channel. The physical layer deals with the description of the characteristics of the interface between the devices and the transmission media, representation of bits, synchronization of the bits, data rate, physical topology, line configuration, transmission mode.
Key Differences between TCP/IP and OSI Model
- TCP/IP is a client-server model, i.e. when the client requests for service it is provided by the server. Whereas, OSI is a conceptual model.
- TCP/IP is a standard protocol used for every network including the Internet, whereas, OSI is not a protocol but a reference model used for understanding and designing the system architecture.
- TCP/IP is a four-layered model, whereas, OSI has seven layers.
- TCP/IP follows Vertical approach. On the other hand, OSI Model supports Horizontal approach.
- TCP/IP is Tangible, whereas, OSI is not.
- TCP/IP follows top to bottom approach, whereas, OSI Model follows a bottom-up approach.
The TCP/IP Model was developed before OSI Model, and hence, the layers differ. Concerning the diagram, it is clearly seen that TCP/IP Model has four layers namely, Network Interface, Internet, Transport and Application Layer. On the other hand, OSI model has seven layers in which the data link and physical layers are merged to make the network interface layer of TCP/IP model. Application Layer of TCP/IP is a combination of Session, Presentation and Application Layer of the OSI Model.
Concerning the above article, we can conclude that the TCP/IP Model is reliable over OSI Model, TCP/IP is used for end to end connection so as to transmit the data over the internet. TCP/IP is robust, flexible, tangible and also suggests how data should be sent over the web. The transport layer of TCP/IP Model checks whether the data has arrived in order, it has an error or not, lost packets are sent or not, acknowledgement is received or not, etc. In contrast, the OSI model is just a conceptual framework to interpret how applications communicate over a network.