TCP/IP Suite

Transmission Control Protocol (TCP) / Internet Protocol (IP)

TCP/IP is a suite of protocols that performs the transfer of data between two computers or groups of dissimilar computers.

TCP is responsible for verifying the correct delivery of data from client to server. TCP also adds support to detect errors or lost data and to trigger retransmission until the data is correctly and completely received.

IP is responsible for moving packets of data from node to node. IP forwards packets based on a four byte destination address (IP number).

Application Layer

A TCP/IP application is any network process that occurs above the Transport Layer. This includes all the processes that users directly interact with, as well as other processes that users are not aware of.

Protocols:

Transport Layer

The transport layer corresponds to the Session and Transport Layer of the OSI model. It establishes a secure session between two machines and breaks down packets or datagrams.

Protocols:

  • Transmission Control Protocol (TCP) – ensures that the user gets data exactly as it was sent
  • User Datagram Protocol (UDP) – this protocol does not perform end-to-end reliability checks

Internet Layer

This is equivalent to the Network layer of the OSI model. It is concerned with how packets are routed and solving congestion problems. This layer uses Internet Protocol (IP), which is a connectionless protocol and Internet Control Message Protocol (ICMP).

Network Interface/Access Layer

The Network Access layer is equivalent to the Data Link and Physical layers of the OSI model. It ensures that data transmitted between sender and receiver is correct. This layer also provides guidelines on how to move data bits between modems.

Communication between Nodes

When connection-oriented services such as HTTP, FTP and pure IP are used, a connection must be established between the source and destination. This connection is called a handshake. The handshake has three steps. For argument sake, lets call the device that initiated the handshake Device A, and the target or destination Device B.

Step 1: – Device A sends its TCP sequence number and maximum segment size to Device B.

Step 2:- Device B responds by sending its sequence number and maximum segment size to Device A.

Step 3:- Device A acknowledges receipt of the sequence number and segment size information. Device A begins transmission.

A normal connection between a user (Alice) and...

A normal connection between a user (Alice) and a server. The three-way handshake is correctly performed. (Photo credit: Wikipedia)