* 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.