Ad-hoc Transport Layer Protocol (ATCP) EECS 6590
Overview What is TCP? TCP Challenges in MANETs ATCP
Transport Layer In the OSI model, the transport layer is responsible for: Reliable end-to-end connection End-to-end delivery Flow control Congestion control In-order packet delivery
TCP: A Brief Review TCP: Transmission Control Protocol Specified in 1974 (TCP Tahoe) Data stream TCP packets Reliable end-to-end connection In-order packet delivery Flow and congestion control
How does TCP work? Establishes an end-to-end connection: Acknowledgement based packet delivery Assigns a congestion window Cw: Initial value of Cw = 1 (packet) If tx successful, congestion window doubled. Continues until Cmax is reached After Cw ≥ Cmax, Cw = Cw + 1 If timeout before ACK, TCP assumes congestion
How does TCP work? (2) TCP response to congestion is drastic: A random backoff timer disables all transmissions for duration of timer Cw is set to 1 Cmax is set to Cmax / 2 Congestion window can become quite small for successive packet losses. Throughput falls dramatically as a result. Random backoff timer done to avoid further congestion
TCP Congestion Window
Why does TCP struggle in MANETs? Dynamic network topology Node mobility Dynamic channel quality Multi-hop paths Variable path lengths per node Longer path = higher failure rate 1) Dynamic network topology means the nodes are mobile, and the structure of the network changes regularly. TCP must account for gaps in transmission where the routing protocol must update the paths before TCP can continue 2) The
Why does TCP struggle in MANETs? (2) Lost packets due to high BER (Bit Error Rate): BER in wired: 10-8 – 10-10 BER in wireless: 10-3 – 10-5
Solutions for TCP in MANETs Various solutions Most solutions tackle only a subset of problems Often fixing one part of TCP may break another part
Solution Topology
Why focus on TCP based solutions and not new transport protocols? We want to choose solutions which maintain close connection to TCP Upper layers in the OSI model affected by choice of transport layer protocol Modifications may affect interactions with the Internet Alternative methods only useful for isolated networks
TCP Summary Works well in wired networks Fails in wireless networks due to frequent link breaks: Node mobility Packets lost due to lossy channels Multi-hop paths more prone to failure Most solutions tackle only a subset of problems
ATCP Overview: What is ATCP? Motivation for ATCP ATCP Infrastructure How ATCP works Is ATCP Successful? Performance vs. TCP ATCP Recap
What is ATCP? Overview: Ad-hoc TCP Network layer feedback mechanism TCP state control End-to-end semantics Dependent on routing protocols
ATCP in Solution Topology
Motivation for ATCP Issues addressed by ATCP: Packet loss due to high BER or collision Route changes due to node mobility Network partitions Out-of-order packets Congestion Congestion window size adjustment
ATCP infrastructure ATCP is a thin layer that is layered between TCP and IP Sender’s ATCP states: Normal, Disconnected, Congested, and Loss TCP TCP ATCP IP IP Sender states: persist state, congestion control state and retransmission state A thin layer called ATCP is inserted into between TCP and IP, Standard TCP is maintained On receiving a ICMP “Destination Unreachable” messages, the sender enters the persist state. TCP at the sender is frozen and no packets are sent until a new route found;congestion control is not invoked.
How ATCP works – Lossy Channels Disconnected * + ATCP transmits unacknowledged segments from TCP’s buffer, and maintains its own timers for these segments. + When a new ACK comes, ATCP forwards it to TCP and returns to normal state. Normal New ACK RTO about to expire OR 3 dup ACKs Loss * Congested * TCP sender in persist mode ATCP retransmits segments in buffer
How ATCP works - Congestion Disconnected * + Congestion: ECN flag set in ACK and data packets + ATCP does not interfere. + After TCP transmits a new segment, ATCP returns to normal state. Normal Receive ECN TCP transmits a new packet New ACK RTO about to expire OR 3 dup ACKs Loss * Congested * TCP sender in persist mode ATCP retransmits segments in buffer
How ATCP works – Disconnected Network generates ICMP message “Destination Unreachable”. ATCP: disconnected mode TCP: persist mode generates probe packets Receiver responds with a data packet or ACK. ATCP and TCP return to normal state.
How ATCP works – Disconnected Receive dup ACK or packet from receiver Receive “Destination Unreachable” ICMP Normal Receive ECN TCP transmits a new packet New ACK RTO about to expire OR 3 dup ACKs Loss * Congested * TCP sender in persist mode ATCP retransmits segments in buffer
ATCP Diagram
Is ATCP Successful? Pros: Cons: Maintenance of end-to-end TCP semantics Compatibility with traditional TCP Invisibility to TCP Cons: Dependency on the network layer protocol to detect route changes and partitions Addition of a thin ATCP layer to TCP
Performance: Loss Case BER = 10-5 1 MB File Transfer 20 measurements 90% confidence interval + 5 Pentium PCs + 32-Kbps channels + Simulated hop-by-hop delay
ATCP vs. TCP: Congestion Window
Performance: BER and Congestion 200ms period every 5s (80 congestions) 1200s to 3000s transfer time (TCP) 460s to 500s transfer time (ATCP)
Performance: BER and Partition Partitioned for 1 min every 5 minutes
ATCP vs. TCP: File Transfer Time 1MB file transfer
ATCP Summary Introduces a thin layer between IP and TCP Maintain end-to-end semantics Does not interfere with TCP functions Depends on the network layer to detect route changes and partitions
References [1] Split-TCP for Mobile Ad Hoc Networks; Kopparty et al. [2] ATCP: TCP for Mobile Ad Hoc Networks; Jian Liu, Suresh Singh, IEEE Journal, 2001. [3] A Feedback-Based Scheme for Improving TCP Performance in Ad Hoc Wireless Networks; Kartik Chandran et al. [4] Ad Hoc Wireless Networks: Architectures and Protocols; C. Siva Ram Murthy and B. S. Manoj [5] Improving TCP Performance over Wireless Networks; Kenan Xu, Queen’s University 2003