Open In App

Adhoc TCP

Last Updated : 15 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Pre-requisites: TCP

Adhoc Transmission Control Protocol or ATCP is based on the feedback mechanism. Another point about ATCP is that the sender can change its state due to any of the following:

  • Persist
  • Congestion Control
  • Retransmit

 

Adhoc TCP is a variation of the standard TCP (Transmission Control Convention) intended to work on its exhibition in portable impromptu organizations (MANETs). In MANETs, hubs speak with one another without the requirement for any concentrated framework, for example, switches or passageways. Accordingly, the organization’s geography can change regularly, making it trying for standard TCP to give solid and proficient information move. pecially appointed TCP tends to this test by altering the TCP clog control calculation and different boundaries to further develop execution in these unique conditions. Impromptu TCP utilizes different methods, for example, adjusting the blockage window size and retransmission break, to guarantee that information is sent dependably and proficiently. The following illustrates the above conditions. There are three nodes A,B and C as shown in the diagram below. A is the source node, B is the intermediate node and C is the destination node. If node B detects that the network is partitioned, it sends the message to node A. Node A will in turn change its state to persist and avoids any retransmission. 

Persist state

 

Different States In ATCP With State Transition Diagram

ATCP State transition can be divided into the following states: 

  • Normal State
  • Loss State
  • Congestion State
  • Disconnection State

To understand the above states, we need to see some examples below. Consider the central node in the below diagram as the normal node which is in normal state in the ATCP protocol. When an adjacent node to a normal node receives three duplicate acknowledgments, the state of the node changes to loss state from a normal state. Upon the conversion to a loss state, the node will retransmit the segments in the TCP buffer. And whenever the node from the loss state sends an acknowledgment to its adjacent node, it gets turned back to the normal state. 

 

If a node receives ECN(Explicit Congestion Notification) message from the node in loss state or normal state, the receiving node converts its state from normal to congested state. upon going into the congestion state, the node starts transmitting the packets it has in store and converts into the normal state again. The details are depicted in the picture below. 

congested state

 

Upon receiving DUR(Destination Unreachable) message from the node of loss state or congested state or normal state, the state of the node turns to a disconnection state from the normal state. And on being converted to a disconnection state, the node replies back by sending the duplicate acknowledgment or the new packet. The following diagram explains the formation of the connection state and its reply. 

disconnection state

 

Advantages of Adhoc TCP

  • It maintains end-to-end symmetries of TCP.
  • It is compatible with traditional TCP which is the biggest advantage.
  • It will also improve the throughput of TCP in a wireless network.

Disadvantages of Adhoc TCP

  • The dependency on the network layer protocol to detect the root changes in the partition.
  • Addition of thin ATCP layer in the TCP/IP protocol stack requires changes in the interface function. 

Different states and state transitions in Adhoc TCP

State name  Description  Trigger for state transition
Normal state  The node is in a stable state and is transmitting and receiving data normally.  N/A
Loss state  The node has lost one or more segments, and retransmission is necessary.  Receiving three duplicate acknowledgments from an adjacent node.
Congestion state  The node has detected congestion in the network, and it is limiting the amount of data sent to prevent further congestion.  Receiving an explicit congestion notification (ECN) message from an adjacent node in normal or loss state.
Disconnection state  The node has lost contact with one or more adjacent nodes, and it is attempting to re-establish communication.  Receiving a destination unreachable (DUR) message from an adjacent node in normal, loss, or congestion state.
Persist state  The node has sent a packet to an adjacent node, but it has not received an acknowledgment. It persists in sending the packet.  If a node detects that the network is partitioned, it changes its state to persist and avoids any retransmission.

Note: The state transition diagram includes four states – Normal, Loss, Congestion, and Disconnection state. However, Persist state is not included in the diagram as it is not a state transition but an additional state that the node can enter to avoid retransmission when the network is partitioned.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads