390 likes | 520 Views
Understanding TCP fairness over Wireless LAN IEEE INFOCOM 2003 Saar Pilosof, Ramachandran Ramjee, Danny Raz, Yuval Shavitt, Prasun Sinha. Presented by Yixin Hua. Agenda. Introduction Problem Overview Simulation Study Modeling TCP Access Our Solution Related Work Conclusion & Discussion.
E N D
Understanding TCP fairness over Wireless LANIEEE INFOCOM 2003Saar Pilosof, Ramachandran Ramjee, Danny Raz, Yuval Shavitt, Prasun Sinha Presented by Yixin Hua
Agenda • Introduction • Problem Overview • Simulation Study • Modeling TCP Access • Our Solution • Related Work • Conclusion & Discussion WPI CS577
IntroductionScenarios (Assumption) • All senders or receivers: Share bandwidth equally. • One sender and two receivers: Sender get half BW, and receivers share other half. WPI CS577
Problem OverviewReal Experiment Setup WPI CS577
Problem OverviewReal Experiment Setup • Ru: Average TCP uplink throughput • Rd: Average TCP downlink throughput • Ru/Rd: Ratio • MTU: Maximum Transmission Unit – Varied • Background UDP: to reduce buffer available to TCP flows – varied by packet size and arrival interval WPI CS577
Problem OverviewResult WPI CS577
Problem OverviewResult • In basic case, Ru/Rd = 1.44 • Does commercial system give high priority to downstream? Since most applications involve download rather than upload. • With UDP flows, ratio Ru/Rd increase • With smaller MTU, ratio reaches 8 WPI CS577
Problem OverviewFurther investigation with sniffers • Upstream TCP window size reaches its maximum in all cases • Downstream TCP window size changes WPI CS577
Problem OverviewFurther investigation with sniffers WPI CS577
Problem OverviewConcerns • Wireless link interference • Base station buffer size • Implementation details of 802.11 MAC layer • Difficult to vary and isolate parameters, and trace their impacts WPI CS577
Simulation StudyExperiment 1: 1 TCP sender and 1 TCP receiver • TCP receiver window size w = 42 • MTU = 1500 • Base station buffer size B = 6 ~ 85 packets • Number of ACK per data packet = 1 • Data packet size 1024 bytes • 5 runs, each lasts 100 second • Nodes don’t move WPI CS577
Simulation Study Experiment 1: Observation • Region 1: over 84, ratio is 1 • Region 2: 42 to 84, ratio decreases from 10 to 1 • Region 3: 6 to 42, ratio varies between 9 and 12 • Region 4: below 6, data points wide spread (too noisy) WPI CS577
Simulation Study Experiment 1: More observations • RTT increases monotonically with base station buffer size w/o significant rate changes • Data packet loss rate is always higher than ACK loss rate, not linear with base station buffer size WPI CS577
Simulation Study Experiment 1: Further investigation WPI CS577
Simulation Study Experiment 1: Further investigation • When buffer size is smaller than 42, sharing result is 1:10 • When buffer size becomes larger, sharing ratio increases • When buffer size is larger than 84, Base Packet is equal to the difference between Down ACK and the Up Packet WPI CS577
Simulation StudyExperiment 2: Multiple flows • Case 1: One upstream and multiple downstream flows • Case 2: Equal number of multiple upstream and downstream flows • Base station buffer size is 100 packets • 5 runs, each lasts 100 seconds WPI CS577
Simulation Study Experiment 2: Observation • Case 1: • Ratio is linear • All downstream flows share bandwidth equally • Total throughput stay stable • Case 2: • Average ratio goes up to 800, since upstream flows’ ACK clutter base station buffer • Upstream flows maintain maximum window size • Downstream flows struggle with a window of 0-2 packets WPI CS577
Modeling TCP Access Scenario 1: One upstream and one downstream flow • Base station buffer size: B • TCP receiver window size: w • All packet loss due to buffer overflows at base station WPI CS577
Modeling TCP Access Scenario 1: Analysis • Upstream flow window behavior • When sender window is large, a loss of an ACK has no effect on the window size due to TCP cumulative acknowledgement nature. • Sender window will reach w. WPI CS577
Modeling TCP Access Scenario 1: Analysis • Downstream flow window behavior • It changes depending on B and w, since loss of data packet will cause sender half window size. • If B ( + 1)w, all packets have room in base station buffer, no drops. • Assume BS buffer is full of w ACKs.(?) If B (+1)w, B - w buffer available for downstream. Sender window will vary between (B - w)/2 and B - w, average window size is 3(B - w)/4. (Simplified) • Ratio: R = 4w/(3(B - w)) WPI CS577
Modeling TCP Access Scenario 1: Further Analysis • Using bounded size queuing system (M/M/1/K) • Arrival rate Rd + Ru , = 1. • The probability of K packets in a buffer in a stable state, Pk = (1-) k/(1- k+1) (1) • is ratio between arrival rate and service rate, = (Rd + Ru)/ Ru= 1+R, where R = Rd/Ru (2) • Drop rate approximate to p = (1+BR)/(B+1) (3) • Using Rd= sqrt(3/(2p))/RTTd, and Ru=w/RTTu • R = RTTu/RTTd*sqrt(3/(2w2p)) (4) WPI CS577
Modeling TCP Access Scenario 1: Further Analysis • Using (3) and (4), We get (1+BR)/(B+1) = 3/(2w2R2) • Finally • Using 1+B B and 1+BR BR, R = 1/10.56, it gives an approximation for region 6 to 42. WPI CS577
Modeling TCP Access Scenario 1: Further Analysis • When B > w and only loss is due to buffer overflow, window size is composed from a fixed part B - w, and a part of interaction with acknowledgements in the BS buffer. • Effective average window size is sqrt(3/(2p)) + 3(B - w)/4 • R=RTTu/(w*RTTd)*sqrt(3/(2p))+3(B-w)/4 (6) • It gives an approximation to region 42 to 85. • When w=42, it matches with Eq. 4 WPI CS577
Modeling TCP Access Scenario 1: Validation • TCP doesn’t provide a nice arrival behavior like M/M/1/K WPI CS577
Modeling TCP Access Scenario 2: Small Buffer • Upstream flow with small buffer size, using discrete time Markov chain • State i represents a state where TCP window size is 2i • On state i, go to state 0 if a timeout occurs with probability p2i • Otherwise double the window size and move into state i+1 with probability 1- p2i • With ns2, the upstream flow always end up with maximum window size WPI CS577
Modeling TCP Access Scenario 3: Multiple Flows • From eq. 1, = (Rd + nRu)/ Ru= 1+nR (7) • Drop rate, p = (1+nBR)/(B+1) (8) • R=sqrt(3/(2nw2p))+3(B-w)/(4nw) (9) • It fits figure 6 very well! WPI CS577
Our solution • Separately queue for TCP data and ACK packets at base station - Doesn’t wok • Fake duplicate ACK packets or discard data packets to force TCP to reduce the upstream window size – Waste BW • Using advertised receiver window field in the ACK packets towards TCP sender, BS manipulates the receiver window WPI CS577
Our solution Solution 3 • Keep a counter for numbering current TCP flow in the system • If n flows in system, BS set receiver window to B/n • ? Web traffic, bursty flow, UDP • ! An XCP way WPI CS577
Our solutionA simulation for solution 3 WPI CS577
Related Work • Lu et al. [2] first identified the problem under a UDP model. They proposed a centralized scheduling algorithm performed at BS. • Nandagopal et al. [3] suggests a fairness model that identify the different node fairness and flow fairness. • Research [9] suggests employ BW reservation over MA channels to support QoS. • Sobrinho and Krishnakumar [10] suggests blackburst to find the the real-time sender with longest waiting time( and thus the highest priority). WPI CS577
Related Work • Deng and Chang [1] suggested to change the backoff period according to a station priority. The lower the priority the higher is the maximum backoff period a station can draw. • Berry et al. [11] follower the line and use two distinct backoff periods for two priority classes. • Vaidya et al. [4] suggests a distributed algorithm that calculates the backoff period for the stations that resulted access to the channel will closely match the Self-Clocked Fair Queueing scheduling. • Ada and Castelluccia suggests three differential mechanism based on scaling of the congestion window, modifying the IFSs, and changing the maximum frame length. WPI CS577
Conclusion & Discussion • Buffer size at base station plays a key role in the observed unfairness. • Based on simulation, the unfairness in TCP throughput ration could be as high as 800. • Using bounded size queuing system (M/M/1/K), authors explained TCP’s behavior and interaction with MAC layer. • The analysis identified four regions of unfairness that depend on the buffer availability at base station. • Proposed solution using advertised window manipulated by base station alleviates the problem in simulation and testbed. WPI CS577
Conclusion & Discussion • Open discussion: • Channel losses • TCP with different RTT • Providing higher share of the media to the base station • Interaction with IPSec WPI CS577