A protocol is a set of rules followed while communicating on a computer network that standardizes the connection and communication between computers. The data transfer between computers, along with the syntax and semantics of the communication is governed by the protocols defined. The TCP/IP is a set of networking protocols used for setting up the Internet.
TCP/IP was developed on the lines of the OSI model, also referred to as the DoD or ARPANET protocol, as the early developments were funded by Advanced Research Projects Agency (ARPA). ARPA is a part of the US Department of Defense (DoD). The OSI model has seven layers and in 1974, the TCP/IP reference model was drawn on the lines of the OSI model.
There are many similarities as well as differences between the two models. The seven layers of the OSI reference model are:
- Physical layer
- Data link layer
- Network Layer
- Transport Layer
- Session Layer
- Presentation Layer
- Application Layer
- Network Interface Layer
- Internet Layer
- Transport Layer
- Application Layer
This protocol stack requires very less central management and can easily recover from node or phone line failures. It is called the protocol stack, usually, the stack refers to the software related to the protocol. TCP is a transmission control protocol and is responsible for transmitting packets of data from the client to the server.
The TCP retransmits data if the data is lost or if erroneous data is received at the endpoints. The data is retransmitted until it is completely received without any error by the server or any endpoint that had requested for that data.
The IP, i.e. the Internet Protocol, is operated on the network gateways and is responsible for transmitting packets from node to node. Internet Protocol uses the IP address of the node for transmission of data.
Network Interface Layer
The network interface is between the host computer and the network. It refers to the physical network and all related physical components, which are responsible for the transmission of data. This layer uses protocol to send packets of information over the network. This protocol is not the same everywhere and varies from network to network.
The functionalities of this layer can be seen by the internet user, because they are carried out by the operating system and the hardware drivers (network drivers) allow the connection with the computer network.
The main functions of network interface layer are routing and synchronizing data over the network, checking the data format, converting signals (analog to digital), and error detection in the transmitted data.
This the most crucial layer amongst the four layers that follows five different protocols, viz., IP protocol, ARP protocol, ICMP protocol, RARP protocol, and IGMP protocol.
This protocol enables the routing of data packets to remote computers and manages the data received at these machines. The data packets are sent from the host machine in any random order across the network. The IP protocol is responsible for receiving the data packets in an ordered fashion at the receiver end.
The transport layer is the third layer of the TCP/IP protocol stack. As the name suggests, the transport layer is responsible for the transport of the data. The transmission and reception of data is handled by the transport layer. This layer is also functions for detecting the errors in the transmitted data.
Basically, the transport layer communicates data between the applications running on the computers. The applications and the operating system used are different on different computers. To identify the applications along with the operating systems, the transport layer uses a numbering system.
These numbers assigned are associated with the application used and are called port numbers. The transport layer uses two protocols which are:
- TCP (Transmission Control Protocol): This a connection-oriented protocol.
- UDP (User Datagram Protocol): This is a connectionless protocol.
The layered structure provides an advantage of separating functions according to the purposes they serve. This simplifies troubleshooting and allows interoperability of the hardware and software related to the network communication.
This layer is the topmost layer. It deals with the actual applications running on the computers that want to communicate that perform functions like network connection, internet utilities, remote connection services and various other internet services. The application running on the host computer provides a link between the OS and the network services.