This document discusses the functional requirements for quality of service (QoS) mechanisms in IP networks. It outlines two key tasks that QoS aims to achieve: 1) differentiating between traffic or service types, and 2) treating different classes of traffic differently by providing resource assurance and service differentiation. It then describes several specific functions required for QoS, including packet marking, packet classification, traffic policing, and metering and coloring traffic. It focuses in particular on explaining single rate and two rate three color marker algorithms for policing traffic to different committed information and peak information rates.