Abstract How to improve the quality of service in internet networks is a hot topic at present. This paper presents an implementation algorithm-Random Early Detection with In and Out(RIO) to support differentiated services in multi-protocol label switching-based ATM switches. The throughput, fairness and delay of this algorithm are studied to show that this algorithm can support differentiated services efficiently.