ATCP : TCP for Mobile Ad Hoc Networks 11/10/2018 ATCP : TCP for Mobile Ad Hoc Networks By Jian Liu and Suresh Singh Presented By Harkirat Singh 11/10/2018 CS 510 Internet Routing
Motivation WireLess Network is Different from WireLine Network Ad Hoc Network - Node Mobility - Network Partition 11/10/2018 CS 510 Internet Routing
Mobility Example: s s a a d d b b s s s T+5 T+20 d d d 11/10/2018 CS 510 Internet Routing
Explicit Congestion Notification By S.Floyd and Team Active queue management with RED RED can drop a packet or set a bit ECN-Echo flg 1, CWR flg 1 (SYN) ECN-Echo flg 0, CWR flg 1 ECT 1 CE 1 ECN-Echo flg 1 11/10/2018 CS 510 Internet Routing
Dynamic Source Routing <1,3,5,7> <1,2> 7 7 <1> 2 2 Dest 5 5 Dest. <1,3,5> Src 8 8 <1> Src 1 3 1 3 <1,3> <1,4,6> 6 6 4 <1,4,6> 4 <1> <1,4,6> <1,4> <1,4,6> Route Discover – Route Record Propagation of Route Reply with Route Record 11/10/2018 CS 510 Internet Routing
TORA-Route Creation QRY packet UPD pkt – height updates (0,3) (0,1) (-,-) (-,-) 7 Dst 7 2 (0,0) 2 Dst 5 5 (0,0) 8 8 (0,3) (0,2) . (-,-) (-,-) Src Src. 1 3 1 3 (0,3) (-,-) 6 6 4 4 (0,1) (-,-) (0,2) (-,-) QRY packet UPD pkt – height updates 11/10/2018 CS 510 Internet Routing
TCP in Ad Hoc Network High Bit Error Rate (BER) Route Recomputation Network Partition Multipath Routing 11/10/2018 CS 510 Internet Routing
Goal High BER – retransmit lost pkt Route Recomputation & Transient Partition - stop transmitting Multipath Routing – No congestion control Maintain TCP’s congestion control 11/10/2018 CS 510 Internet Routing
ATCP Functioning States – Normal, congested, loss and disconnected Lossy Channel – ATCP loss state and TCP Persist state Disconnected – ICMP destination unreachable, TCP in persist state and ATCP in disconnected state Congested – ECN flag, ATCP in congested state and do nothing! 11/10/2018 CS 510 Internet Routing
State transition diagram Receive “Destination Unreachable” ICMP, CWND 1 Receive dup ACK or pkt from receiver TCP sender put in persist state Receive ECN New Ack RTO About to Expire OR 3 dup ACKs ATCP Retransmits segments in TCP’s buffer TCP transmits a pkt 11/10/2018 CS 510 Internet Routing
Data flow - TCP/ATCP/IP stack TCP_input() TCP_output() ATCP_input() ATCP_output() ipintr() ip_output() data 11/10/2018 CS 510 Internet Routing
Flowchart for function atcp_input() 11/10/2018 CS 510 Internet Routing
Flowchart for function atcp_output() 11/10/2018 CS 510 Internet Routing
Performance study Five Pentium PCs, each with two Ethernet cards Emulate wireless in IP, 32 Kbps channel Bit error rate 10(-5) Random hop-by-hop delay Network congestion – 5sec Partition – 5 minutes and last for 1 min. Packet reordering – 25 seconds 11/10/2018 CS 510 Internet Routing
Bit Error - Performance Sequence number Time (seconds) Time (seconds) 11/10/2018 CS 510 Internet Routing
Bit Error, Congestion Window Congestion Window Size Index Index 11/10/2018 CS 510 Internet Routing
Congestion and Partition Performance Transfer time (second) hop by hop delay(ms) hop by hop delay(ms) Congestion Partition 11/10/2018 CS 510 Internet Routing
Overall Performance 11/10/2018 CS 510 Internet Routing
Conclusion End-to-End TCP semantics are maintained ATCP is transparent ATCP does not interfere with TCP’s congestion control behavior ATCP improves performance by one-third ECN as standard - WIP 11/10/2018 CS 510 Internet Routing
References RFC 2481 http://www-nrg.ee.lbl.gov/floyd/ecn.html draft-ietf-manet-tora-spec-02.txt draft-ietf-manet-tora-spec-02.txt 11/10/2018 CS 510 Internet Routing