* Why network is a good component for gray box techniques ? - Narrow interface. - Opportunities to look at the contents of the packets. - Consists of large number of components so that a single interface cannot be used. - New changes cannot be deployed easily and changes can occur only at the end points. * Congestion Avoidance and Control - What do the end points want to know ? + Bandwidth : Grow until the congestion indicator is shown (lost packets) + Lost packets and RTT : To know that congestion has occurred. + RTT : state/cost of the network ? - Use the existing communication between the end points to find congestion. - Slow start + set cwnd = 1; + grow exponentially and probe for bandwidth. - Assumption : Lost packets imply congestion. This assumption doesn't affect the correctness. - "network is congested" signal is delivered automatically. - This assumption doesn't hold for wireless networks. So new methods for inferring congestion are proposed in "A comparison of mechanisms for improving TCP performance over wireless links - H.Balakrishnan, V.Padmanabhan, S.Seshan, R.Katz" - What GrayBox techniques can be used to make the congestion avoidance work better ? + Probes cannot be used (the network state changes frequently). + Algorithmic mirroring cannot be used (endpoints cannot see all the network traffic). + Microbenchmarking cannot be used (the network state changes frequently). + Fingerprinting ? - Limitations of the above congestion avoidance scheme + Wireless networks + RTT calculation + Available bandwidth is known only after probes. + The algorithm doesn't backoff until the congestion actually occurs. * RED - Assumes that the endpoint backs-off on dropped packets. - DECbit makes different assumptions. - RED algorithm. - To avoid affecting the bursty traffic maintain an average queue size. - Congestion can be notified explicitly or by dropping a packet. - End points may not behave well and they all cannot be tracked. - Limitations of RED: + Lots of parameters to configure for RED gateways. * In both the above case studies inferences are made only for performance. So it doesn't affect the correctness.