Prévention de la congestion dans le service “best-effort” des réseaux locaux ATM
In ATM local area networks, several kinds of traffic, such as data, video and voice, are likely to coexist. Some of this traffic has stringent delay and jitter requirements, which can only be guaranteed to be met through bandwidth reservation. In contrast, other kinds of traffic, like data traffic, are not delay sensitive, but should be loss-free and are highly bursty and unpredictable. If some of the link capacity is reserved for connections having delay constraints, the non-reserved part is available for other connnections. In addition, as the reserved traffic may not be fully utilising the bandwidth it required (especially if peak rate allocation is performed), the unused-reserved bandwidth could also be made available for other connections. We therefore define a service called "best-effort" (or elastic) service, where sources can transmit on a "best effort" basis, consuming as much bandwidth as they can from both the non-reserved and the unused-reserved bandwidth. Such a service, offered in addition to the service with bandwidth reservation, is particularly suited to easily handle bursty data traffic because it does not have to evaluate traffic descriptors. As no bandwidth is allocated, however, a control mechanism is required to prevent losses due to the contention for resources. Every cell lost inside the network would in fact trigger the retransmission of a whole frame, which would result in a very poor throughput. For this reason, we choose to support the best-effort service inside the network with a loss-free congestion control scheme. The scheme should protect the network against misbehaving sources and be simple to implement. In addition, the best-effort service must not affect the reserved traffic, and it should be fair according to a definition of fairness we base on the max-min algorithm. Having reviewed various families of control mechanisms that have been proposed in the literature, and pointed out their limitations, we conclude that a hop-by-hop scheme is more likely to provide the tight control required for highly unpredictable traffic. The various requirements led us to define and study a backpressure mechanism. It uses thresholds to stop traffic coming to an intermediate buffer before losses occur, and to restart it when the congestion is over. Through extensive simulations and analysis, we show that the mechanism successfully prevents losses in the network and may lead to a better utilization of network resources. However, the mechanism proves to be unfair due to its inability to identify and control the sources contributing most to the congestion. We then specify a more sophisticated backpressure scheme able to control the best-effort traffic both selectively, that is on a per-connection basis, and globally, on a per-link basis. The scheme dynamically adapts its thresholds to the number of connections present in the intermediate buffers. In addition, it makes use of a particular queueing policy in the switch buffers, called fair queueing. We validate these choices through simulations and analysis, and show that even under extreme load, our loss-free, best-effort service remains efficient and fair, while generating a very low amount of overhead traffic. In order to implement the scheme in ATM local area networks, a UNI protocol is defined in order to be included in both the terminal and switch adapters. The protocol was submitted by the author to the ITU and included in Recommendations I.150 and I.361. We then show that our mechanism, besides being efficient and conforming to the standard, can also be implemented by making use of a currently available ATM component, the segmentation & reassembly product SARA chipset. Finally, we consider the transport of best-effort traffic over wide area networks as well as public networks and suggest the use of backpressure, associated with dynamic bandwidth allocation schemes.