Corentin BriatCongestion Control in Communication NetworksWhat is congestion?Congestion in communication networks like Internet is an important phenomenon responsible of large communication delays and data loss that deteriorate the overall network efficiency. To improve this, congestion control algorithms have been implemented in transmission protocols like TCP. Congestion control is truly a control problem, in the control theory sense: the system is the network, the controlled output is congestion, the controllers are protocol congestion avoidance/control algorithms and the control input is the user sending rate, the rate at which the user is sending packets. This sending rate is calculated from a congestion windows, which is the number of packets in flight we want to maintain, and from a congestion measure which represents the level of congestion over the route. Usual congestion measures are data loss and delays. While the first one is easy to use, it tends to provoke congestion to detect it. Delaybased protocols are however much smoother and can prevent congestion before it occurs, but are more difficult to consider due to the difficulty of separating the Round Trip Time (RTT) into a sum of queuing delays (varying) and propagation delays (constant). Besides stability, several other performance criteria may be considered when designing congestion control protocols. Efficiency means the complete use of the available bandwidth of the network. Fairness corresponds to the property that the available bandwidth is shared among users in an equitable way (in a certain sense). Crosstraffic adaptation is a property referring to the fact that unregulated/external traffic is allowed to pass and does not destabilize the congestion control mechanism. Users usually ignore almost everything about the network they are using: they ignore the number of servers (queues) that are used, they ignore the capacities of the links, they also ignore the path they are using (and thus the corresponding delays) as well as the number of users that are using the very same path, as well as the congestion protocols they are implementing. Hence, the users face the problem of controlling a very complex process with very little information. All these limitations make the design of efficient congestion control protocols rather difficult. Why modeling congestion in networks?The first reason is mathematical rigor in the modeling: is it possible to provide a mathematical model for congestion in networks based on simple concepts/axioms, similarly as for electrical networks ? Since networks consist of interconnections of different elements, the model should be modular, scalable and share the same topology with the network itself. Therefore, the model is expected to have a suitable structure adapted to the network modeling problem. It turns out that such a model exists and can be derived from the simple concept of conservation of information, which is a conservation law. Using this concept, local models for users, queues and transmission channels can be easily characterized. The second reason is analysis: by using models for networks and protocols, we can theoretically analyze performance of protocols, such as stability, fairness, efficiency, crosstraffic adaptation, speed of convergence. Analysis is not possible using the NS2 simulator, which is essentially a computational simulator emulating a network in the behavioral sense. Mathematical models are much more insightful from a theoretical perspective. The third reason is protocol design: based on the model, it may be possible to design a new generation of protocols relying on mathematical properties, such as the recent FASTTCP protocol. The fourth reason is simulator design: even though if simulators, like NS2, already exists, the development of an equationbased simulator is an interesting problem on its own. This would lead to the development of new algorithms for integrating functional differential equations involving statedependent delays, known to be quite difficult to solve numerically. References:
