Receiver Driven Bandwidth Sharing for TCPOverview of the PresentationMotivationExample:GoalsSlide 6System OverviewSystem Overview…Flow Control SystemFlow Control System…ExampleRTT and Bandwidth estimationTarget Rate Allocation Systemσ – Calculation SubsystemSlide 15Slide 16Slide 17Slide 18Slide 19ConclusionObservation: TCP window managementSlide 22Receiver Driven Bandwidth Sharing for TCPAuthors: Puneet Mehra, Avideh Zakor and Christophe De VlesschouwerUniversity of California Berkeley.Presented at: INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications Societies.Overview of the PresentationMotivationGoalsProposed MethodNS-2 SimulationsConclusionMotivationMost Internet traffic is TCPHTTP, FTP, P2P, Multimedia streaming…In many cases access links are bottleneckLimited Bandwidth (B/W) eg: DSL/Cable < 1.5MbpsUser run many apps that compete for B/WProblem: TCP shares bottleneck B/W according to RTTNot fair to flows with large RTTDoesn’t consider application needs or user prefs!Example: INTERNET INTERNETHigh RTTLow RTTMed. RTTVideo trafficFTPP2PCongestionGoalsAchieve full utilization of the receiver’s access link (bottleneck).Satisfy user preferences: -priorities assigned to each flow.Approach: limit throughput of low-priority flows to provide additional B/W for high-priority onesOverview of the PresentationMotivation GoalsProposed MethodNS-2 SimulationsConclusionTRASTarget Rate Allocation Sub-SystemFCS1Flow Control SystemFCSnFlow Control SystemσCalculationSub-SystemσUserPreferencesBWSSBandwidth Sharing SystemT1TnInternetSendernSender1RnRnR1R1Wn & dnW1 & d1For the receiverσ = system target bit-rateFor the nth connectionWn = Advertised Windowdn = Delay in ACK packetsTn = Target RateRn = Measured Rate10NiiTSystem Overview......System Overview…Band-Width Sharing System (BWSS) consists of: a) Flow Control System (FCS) b) Target Rate Allocation Sub-system (TRAS) c) σ Calculation Sub-system.FCS1Flow Control SystemT1R1d1W1For the nth connection W = Advertised Window d = Delay in ACK packets R = Measured Rate P = Packet size in bits Ti = Target Rate mi = minimum bandwidth wi = weightCalculateTarget Rate – Measured RateMeasureBit-rate and RTTAdaptReceiver Window / ACK DelayFlow Control SystemFlow Control System…Ri < Ti : search for the smallest Wi to achieve (1- α )Ti =< Ri =< (1+ α )TiIf Ri > (1+α)*Ti then delay the ACKs as decreasing Wi is ineffective.Aim to minimize delay : otherwise results in unresponsiveness & instability in TCP flow.)(*dRTTPWRsizeWindow size limits the data rate : Max Window size = min (cwndmax, receiver’s adv. window)Receiver’s advertised windowAfter fast recoveryExample Slide borrowed from Dr. Nitin Vaidya’s TCP tutorialRTT and Bandwidth estimationTCP timestamp option to estimate RTT.Bandwidth estimation relies on exponentially weighted moving average R α*R + (1-α)*RøØ – bandwidth estimation period, tradeoff between accuracy of estimation and time for convergence.Target Rate Allocation SystemSome apps need minimum guaranteed rate(video), others don’t (ftp)User assigns each flow:Priority (pi), minimum rate (mi) and weight (wi)Bandwidth allocation algorithm:Satisfy minimum rate in decreasing order of priorityRemaining B/W shared according to weightT1User Prefs.σTn1010iii * w+ m = TNjjNjjwmPrevents starvation of low priority connectionσ – Calculation SubsystemR1RNU = Σi RiσGoal: Choose σ to maximize link utilization. U = Σi Ri (σ)Approach: Iteratively increase/decrease σ and measure the impact on utilizationσ < σideal implies under-utilization of the link.If σ > σideal , does it affect the system ?Overview of the PresentationMotivationGoalsProposed MethodNS-2 SimulationsConclusionExample of User PreferencesTime 0: Min. Rate = 0 Kb/sweights = 1,2,3 for S0-S2Priority -> S0 (max), S2(min) Time 300: Min Rate = 600 Kb/sTCPBWSSNetwork-Congestion ExamplePriorities: increasing from S0-S2Min Rate:S0,S2 – 600Kb/sS1 – 100 Kb/sTime 400s to 1200s700Kb/s Interfering TCP trafficS2 limited to 300Kb/sMultimedia Streaming Example• S0 – Ftp traffic. Low Priority• Min Rate = 700Kb/s• S1 – Streaming at 450Kb/s• High Priority• 300Kb/s UDP flow (400s-1000s)Overview of the PresentationMotivationGoalsProposed MethodNS-2 SimulationsConclusionConclusionBWSS allows user to allocate link B/WFlexible B/W allocation modelAdapts to changing network conditionsNo changes to TCP/senders/routersObservation: - works only if desired rate is achievable under flow’s cwnd- What was receiver window advertisement actually designed for??Observation: TCP window management1Ack1 win4243 4 5 6 DATA3 ~ 6 win4Data1 win48Ack6 win2910 11DATA10 ~11
View Full Document