Internet congestion control: cooperative end-system and gateway algorithms