Published on September 30, 2007
Slide1: Kunal Shah Advisor: Dr. Harish Sethu SIMULATION BASED STUDY OF TCP FAIRNESS IN MULTI-HOP WIRELESS NETWORKS Computer Communications Laboratory Outline: Outline Introduction and Motivation Background Model Description Simulation Results and Analysis Conclusion Introduction: Introduction Ad Hoc Networks: A collection of nodes Capable of acting as a host and a router simultaneously Communicate with each other over shared, multi-hop wireless channels Required where a fixed wired or wireless infrastructure is either unavailable or destroyed Characterized by high mobility, low bandwidths, limited physical security and continuously changing network topology Once the ad hoc network is up and running using some routing protocol, next step is to evaluate performance of transport layer protocol Motivation: Motivation As local area wireless networks based on IEEE 802.11 standard see increasing public deployment, it is important to ensure that access to network by different users remains fair No structured studies devoted to formal investigation of TCP fairness in wireless multi-hop networks Focus: Focus Evaluate TCP Tahoe, Reno, New Reno and SACK for fairness Motivation for selecting these TCP implementations was their popularity Fairness metric based on maximal normalized distance between user’s ideal share and actual share of service delivered by network Analyze the effects of packet size, load, TCP receive buffer size and RTS/CTS on TCP fairness TCP Evolution: TCP Evolution Dominant reliable transport protocol since its origin Consists of sliding window mechanism, which, in conjunction with ACKs and sequence numbers, guaranteed a reliable delivery and flow control No congestion control or avoidance mechanism TCP Evolution (Cont.): TCP Evolution (Cont.) AIMD – virtually the base of all existing TCP protocols Besides maximizing link bandwidth, TCP must be fair to rest of the flows Efficient TCP is not guaranteed to be fair TCP Tahoe: TCP Tahoe Congestion Control Algorithms: Slow Start Congestion Avoidance Fast Retransmit Problem: Transits to slow start after each packet loss TCP Reno: TCP Reno Extension of TCP Tahoe Added Fast Recovery along with Fast Retransmit TO: Time-out TD: Threshold Duplicate TCP New Reno: TCP New Reno TCP Reno problem: Fast Recovery algorithm rendered inefficient in the presence of multiple losses within a single transmission window TCP New Reno remains in fast recovery mode despite receiving partial acknowledgement after fast retransmission Retransmits at the rate of one packet per RTT until all the lost packets are retransmitted No retransmit timeout TCP SACK: TCP SACK Selective Acknowledgements are used to provide the sender with sufficient information to recover from multiple packet losses within a single transmission window Sender knows exactly which packets to retransmit and so is able to quickly recover Problem: Inefficient in the case of small sender window size Fairness Criteria: Fairness Criteria Intuitively, one can think of fairness as the closeness of achieved throughput to its fair share Max-Min Fairness (MMF): Max-Min Fairness (MMF) When flows have equal weights, Max-Min Fair share allocation can be defined as: Resources are allocated in order of increasing demand No user gets a resource larger than its demand Users with unmet demands get an equal share of the resource MMF Example: MMF Example Dividing a 8 slice pizza among 4 people 2 slices 1 slice 4 slices 2 slices 2 slices 2 slices 4 slices 2 slices 2 slices 2 slices desires and gets - 1 slice = 1 slice + 1 slice = 3 slices 3 slices 2 slices 2 slices + 1 slice = 3 slices Proposed Unfairness Criterion: Proposed Unfairness Criterion where Fi = MMFi (C, d1, d2, …, dn) Sample Unfairness Calculation: Sample Unfairness Calculation 2 Mbps 1 Mbps 3 Mbps 0.8 Mbps 0.6 Mbps i di Ai C = 1.8 Mbps MMFi U = 0.5 0.7 Mbps 0.3 Mbps 0.6 Mbps 0.6 Mbps Related work on TCP Fairness: Related work on TCP Fairness When flows with different end-to-end propagation delays shared a link, the bandwidth allocation was far from being fair Constant rate window increase algorithm Increase-by-K policy Congestion Avoidance with Normalized Interval of Time (CANIT) Wireless links are characterized by long RTT and above schemes react by opening up the congestion window at a much higher rate Increased probing harmful as slow 56k modem links and band-limited wireless links are themselves a bottleneck in the network Performance degradation not only due to transmission errors and losses but also due to congestion at base station → Fast TCP Flow that got head-start occupied large amount of bandwidth and starved the flows starting later on → split buffer queues Unfair packet dropping policy at Internet routers → RED policy Related work on TCP Performance: Related work on TCP Performance Explicit Congestion Notification (ECN) Explicit Link Loss Notification M-TCP Split TCP Snoop TCP MAC Layer Fairness: MAC Layer Fairness IEEE 802.11 uses per-node queue with per node back-off Head-of-line packet headed towards a receiver that is in high contention neighborhood can block other flow transmissions to lightly loaded neighbors Node with many flows penalizes its flow unfairly Flows that experience more contention will block more contending flows while transmitting Implementing changes made to MAC layer are impractical given the wide deployment of wireless networks using IEEE 802.11 standard Lot of research done in improving MAC layer fairness and TCP performance but no real effort made in studying TCP fairness Model Description - Node: Model Description - Node Application Process Model: Application Process Model TCP Process Model: TCP Process Model AODV Background: AODV Background Source-based routing protocol based on DSDV and DSR Utilizes sequence number of DSDV and on-demand route discovery and maintenance mechanisms of DSR Power Efficient No flooding or periodic update messages AODV Process Model: AODV Process Model WLAN Process Model: WLAN Process Model Simulation Scenario: Simulation Scenario Simulation Setup: Simulation Setup Every TCP connection is of type FTP and all flows start at the same time In each scenario, if user 1 (node 1) wants to send x Mbps, then user 2 wants to send 2x Mbps, user 3 wants to send 3x Mbps and so forth Mobility pattern is static Battery power is infinity and transmitter power is 0.25 Watts Simulation Setup (Cont.): Simulation Setup (Cont.) Packet sizes are varied from 128 bytes to 1,024 bytes but ACKs are kept at 40 bytes long TCP receive buffer size is varied from 8,760 bytes to 131,072 bytes Load is varied from 1.5 Mbps to 7.5 Mbps to simulate low, medium and high traffic loads Load is varied from 1.5 Mbps to 7.5 Mbps but with RTS/CTS enabled for packet sizes larger than 255 packets Simulation Setup (Cont.): Simulation Setup (Cont.) All other parameters were left unchanged as per IEEE 802.11b standard Simulation was conducted for TCP Tahoe, Reno, New Reno and SACK Simulation Results – TCP Receive Buffer Size: Simulation Results – TCP Receive Buffer Size Simulation Results – TCP Receive Buffer Size: Simulation Results – TCP Receive Buffer Size Simulation Results – Load with No RTS/CTS: Simulation Results – Load with No RTS/CTS Simulation Results – Load with RTS/CTS: Simulation Results – Load with RTS/CTS Simulation Results – Packet Size: Simulation Results – Packet Size Conclusion: Conclusion Using the maximal normalized distance between the actual allocation and the max-min fair share allocation as a fairness metric, TCP fairness was evaluated for TCP Tahoe, Reno, New Reno and SACK by varying TCP receive buffer size, load with and without RTS/CTS and packet size TCP Tahoe was the least unfair protocol but suffered from low throughput Tentative Conclusions: Tentative Conclusions Fairness best when: TCP receive buffer size is large Load is high and No RTS/CTS is deployed Load is low and RTS/CTS is deployed Packet size is larger for large TCP buffer size Future Work: Future Work Tentative conclusions need to be studied in much more depth to comprehend the complex behavior of TCP in wireless networks Analyze suggested TCP improvements like Split TCP and ECN for fairness Introduce mobility and then analyze TCP fairness Acknowledgements: Acknowledgements I am sincerely grateful to my advisor Dr. Harish Sethu for watching, directing and guiding me throughout each stage of this work I am thankful to Dr. Constantine Katsinis and Dr. Kapil Dandekar for serving in my thesis committee I thank all the members of Computer Communications Laboratory for their support and responsiveness Questions?: Questions?