A new multiple-access protocol provides fair channel access for a heterogeneous user population. The protocol is asymmetric: only a subset of users is eligible to access the channel. The eligible subset is a function of user queue sizes and past channel activity. The number of data slots reserved by reservation signals is also a function of past channel activity. Channel resources are not necessarily wasted by collisions and idle slots on the reservation subchannel. The protocol is adaptive to a time-varying mixture of traffic types; a priori knowledge of arrival processes and message lengths is not required. It supports a mixture of bursty and stream-type traffic, and it is not necessary to know the number of users accessing the channel.