COMP 431 Transport Layer Protocols & Services Internet Services & Protocols Performance issues application transport ◆ How does congestion control network impact the latency of TCP The Transport Layer data link network transfers? physical data link TCP Fairness & Performance » Does TCP give good physical home performance for Web transfers? network network data link Logical physical end-to-end ◆ What throughputs are regional ISP transport attainable under TCP’s Jasleen Kaur congestion control scheme? » What is the impact of slow- start/AIMD congestion control on throughput? March 26, 2020 application Institutional transport network network data link physical 1 2
TCP Performance TCP Latency Analysis Latency for TCP transfers Fixed-sized congestion window of w segments ◆ How long does it take to Client Client Server Server ◆ Assume no congestion or flow receive an object from a Web control server? establishment Connection » TCP connection establishment » Receiver has large window overhead » Data transfer delay 2 RTT ❖ Slow start ◆ Case 1: RTT + S / R < wS / R ❖ Congestion avoidance » Here ACKs return before the S / R ◆ Assume one link between server completes the transmission client and server with of a window Object transfer transmission speed R RTT wS/R » (Hence the size of the congestion window does not effect » Fixed congestion window of w segments performance) O/R » S = segment size » O = object size » No loss/retransmissions » SYN & ACK transmission times ◆ latency = 2 RTT + O / R negligible » Is it possible to do better? Time Time 3 4
TCP Latency Analysis TCP Latency Analysis Fixed-sized congestion window of w segments Adding in the effect of slow-start ◆ Assume the window grows Client Client Server Server according to slow start ◆ Case 2: RTT + S / R > wS / R » k = Number of windows required to » Now the server “ stalls ” waiting for transmit the object ACKs to return » q = Number of windows transmitted » latency = 2 RTT + O / R + before the server no longer stalls 1 st window total stall time » Actual number of stalls is » stall time per window = P = MIN{ q , k –1} S / R 2 nd ( S / R + RTT ) – wS / R wS/R window ◆ latency = min_latency + RTT stall time ◆ The object requires stall 3 rd » min_latency = 2 RTT + O / R window k = O / wS » stall time = P ( ... ) windows to transmit 4 th window » total stall time = ( k –1)( S / R + RTT – wS / R ) Time Time 5 6
TCP Latency Analysis TCP Latency Analysis Adding in the effect of slow-start Summary ◆ min_latency = 2 RTT + O / R Client Client Server Server ◆ Latency with a fixed-size ◆ stall time for the i th window = window w : » 2 RTT + O / R + time for the return time to of the ACK for the transm it the = 0 or – S S first segment in i th window the i th window 1 st S / R ( k –1) + RTT – w 1 st S / R window R R window S S = 0 or + RTT – 2 i –1 2 nd 2 S / R 2 nd 2 S / R ◆ Latency under slow start: R R window window » 2 RTT + O / R + 4 S / R 4 S / R 3 rd 3 rd ◆ total stall time = ... S S window window – (2 P –1) P + RTT R R P S S = Σ + RTT – 2 i –1 4 th 8 S / R 4 th 8 S / R R R i =1 k = Number of windows window window required to transmit the object S S P = Number of TCP server stalls = P + RTT – (2 P –1) = MIN{ q , k –1} R R Time Time 7 8
TCP Latency Analysis Congestion Control Finding q and k How to Define Fairness? ◆ k is the number of windows ◆ q is the number of windows required to transmit the object required for the sender to fully consume the bandwidth on the ... ... link R k –1 R k k = MIN i : 2 0 +2 1 +2 2 +…+2 i –1 ≥ O k –1 k k +1 S q = MAX i : RTT + ≥ 2 i –1 S S = MIN i : 2 i –1 ≥ O R R S ◆ If n k connections share a congested link k with capacity R k , each = MAX i : 2 i –1 ≤ 1 + RTT O connection should receive r = R k / n k bandwidth = MIN i : i ≥ log 2 S +1 S / R RTT O ◆ But what if a connection can’t consume R / n bandwidth? = MAX i : i ≤ log 2 1 + +1 = ceil( log 2 S +1 ) S / R » MAX-MIN fairness: ❖ If a connection receives less bandwidth than it requires, then it receives RTT = floor( log 2 1 + + 1) the same amount of bandwidth as all other unsatisfied connection S / R 9 20
TCP Performance TCP Throughput Is TCP throughput fairly realized? Is TCP fair? Equal bandwidth share R Connection 1 Throughput goal Loss: decrease window by factor of 2 Bottleneck Congestion avoidance: additive increase router Loss: decrease window by factor of 2 Connection 2 ◆ Simple fairness Congestion avoidance: additive increase » If n TCP sessions share a bottleneck link, each should get 1/ n of link Connection 1’s capacity R throughput ◆ When a connection slows down, by how much should it slow ◆ Consider two competing connections with same MSS and RTT down? » Additive increase gives slope of 1, as throughout increases » Multiplicative decrease decreases throughput proportionally 22 23
Transport Layer Protocols & Services Summary application transport ◆ Fundamental transport layer network services network data link data link physical » Multiplexing/Demultiplexing physical » Error detection » Reliable data delivery ... network » Flow control data link » Congestion control physical ... Logical end-to-end ◆ Internet transport protocols transport » UDP ... » TCP ... application transport ◆ Up next: Leaving the network “ edge ” and network data link diving into the network “ core ” physical 25
Recommend
More recommend