In today's Internet congestion control is achieved by relying on end-to-end protocols, such as TCP. This approach requires little support from routers, and therefore can be efficiently implemented at high speeds. However, for this approach to work it is critical that
An alternate approach to achieve congestion control is to provide router support for fair bandwidth allocations. In this way we achieve protection against ill-behaved flows. In addition, each flow is ensured to receive its fair share no matter what control algorithms, if any, the end hosts implement. The major disadvantage of this approach is that the known algorithms to achieve fair share are complex, as they require routers to perform per flow management. More precisely, a router needs to perform (1) per packet classification, (2) per-flow buffer management, and eventually (3) per-flow scheduling. This complexity may prevent them form being cost-effectively deployed at high speeds.
- all end-host cooperate - otherwise, well-behaved flows are not protected against ill-behaved flows, which, at the limit, can acquire all resources.
- end-hosts implement homogeneous control algorithms - otherwise, users implementing more aggressive control algorithms can get unfair advantage.
To address this problem, we propose a network architecture and an algorithm, called Core-Stateless Fair Queueing (CSFQ), that significantly reduces the implementation complexity yet still achieves approximately fair allocations. The architecture differentiates between edge and core nodes. While edge nodes do perform per flow management, core nodes do not perform per flow management, and therefore can be efficiently implemented at high speeds. In addition, edge nodes themselves are simpler than regular fair queueing nodes.
To find more about CSFQ click here.