Comp 443 Week 12: Nov 14 Firewall problems and ulam2: try ulam3: 10.38.2.67 A few fixes to ERROR ctors Queuing Disciplines; FIFO+taildrop, Random Drop, fair queuing TCP RPC Nature of request-reply semantics SunRPC BLAST, CHAN, SELECT 6.3: TCP Congestion avoidance self-clocking: sliding windows itself keeps # of packets constant RTTnoload = travel time with no queuing (RTT-RTTnoload) = time spent in queues sws*(RTT-RTTnoload) = packets in queues, usually at one router (the "bottleneck" router, right before slowest link) CongestionWindow: limits amount of data in transit window = #packets in transit + # packets in queues additive increase, multiplicative decrease timeouts as a sign of congestion Pick up with slow start Reaching equilibrium: slow start last time: double cwnd each RTT This is kind of an oversimplification slow start: for each ACK received, increment cwnd by 1 assuming packets travel together, this means cwnd doubles each RTT Eventually the network gets "full", and drops a packet. Say this is after N RTTs, so cwnd=2^N. Then during the previous RTT, cwnd=2^(N-1) worked fine, so go back to that previous value: set cwnd = cwnd/2. need for further polling for changes in capacity Slow increase *after* equilibrium slow start threshhold, ssthresh. cong. avoidance *only*: on cong., cwnd = curr_window/2 drop back by 1/2; rationale congestion avoidance phase + slow start phase review of TCP so far slow start + congestion avoidance Need for SS after each loss (just hinted at end of class Week 12) How to *combine* SS and CA self-clocking slow-start on initial startup *and* after timeout Note that everything is expressed here in terms of manipulating cwnd. Summary: phase cwnd change, loss cwnd change, no loss, per window per Ack slow-start cwnd/2 cwnd *=2 cwnd+=1 congAvoid cwnd/2 cwnd+=1 cwnd+=(1.0/cwnd) real situation: sender realizes lost packet is lost only after protracted continuation fast retransmit: = TCP Tahoe Single sender situation example A-----R----slow---B, with R having queue size of 4 bottleneck_queue >= bandwidth*no_load_delay Review of Tahoe fast recovery / TCP Reno TCP and one connection fairness same rtt