5.1. Primary Requirements
A node supporting the NQB PHB MUST provide a queue for Non-Queue-Building traffic separate from the queue used for Default traffic.¶
A node supporting the NQB PHB SHOULD NOT rate limit or rate police the aggregate of NQB traffic separately from Default traffic. An exception to this recommendation for traffic sent towards a non-DS-capable domain is discussed in Section 6.4.1. Note also that Section 5.2 discusses potential uses of per-microflow (rather than aggregate) rate policing.¶
The NQB queue SHOULD be given equivalent forwarding preference compared to the Default queue. The node SHOULD provide a scheduler that allows NQB and Default traffic to share the link in a manner that treats the two classes equally, e.g., a Deficit Round-Robin (DRR) scheduler with equal weights or two Wireless Multimedia Access Categories with the same Enhanced Distributed Channel Access (EDCA) parameters. The use of equal weights for DRR is given as a reasonable example and is not intended to preclude other scheduling weights (see below for details). A node that provides rate limits or rate guarantees for Default traffic SHOULD ensure that such limits and/or guarantees are shared with NQB traffic in a manner that treats the two classes equally. This could be supported using a hierarchical scheduler where the rate limits and guarantees are configured on a parent class, and the two queues (Default and NQB) are arranged as the children of the parent class and given equal access to the capacity configured for the parent class (e.g., with equal DRR scheduling). Compliance with these recommendations reduces the incentives for QB traffic to be mis-marked as NQB and is most important in nodes that are likely bottlenecks, where deviation from them could result in a discernible benefit for mis-marked traffic (to the detriment of other traffic). In network nodes that are rarely bottlenecks, these recommendations are less critical.¶
In the DRR example above, equal scheduling weights is only an example. Ideally, the DRR weight would be chosen to match the highest fraction of capacity that NQB-compliant flows are likely to use on a particular network segment. Given that NQB-compliant flows are not capacity seeking (in contrast to QB flows, which can be), and since DRR allows unused capacity in one class to be used by traffic in the other, providing a higher-than-necessary NQB scheduler weight could be considered less problematic than the reverse. That said, providing a higher-than-needed NQB scheduler weight does increase the likelihood that a non-compliant microflow mis-marked as NQB is able to use more than its fair share of network capacity. NQB microflows are expected to each consume no more than 1% of the link capacity, and in low stat-mux environments (such as at the edge of the network) would be unlikely in aggregate to consume 50% of the link capacity. Thus, 50% seems a reasonable upper bound on the weight for the NQB PHB in these environments.¶
By default, a node supporting the NQB PHB SHOULD by classify packets marked with the NQB DSCP 45 (decimal) into the queue for Non-Queue-Building traffic. In accordance with the requirement in Section 3 of [RFC2474], a node supporting the NQB PHB MUST support the ability to configure the DSCP that is used to classify packets into the queue for Non-Queue-Building traffic. A node supporting the NQB PHB MAY support the ability to configure multiple DSCPs that are used to classify packets into the queue for Non-Queue-Building traffic.¶
Support for the NQB PHB is advantageous at bottleneck nodes. Many bottleneck nodes have a relatively deep buffer for Default traffic (e.g., roughly equal to the base RTT of the expected connections, which could be tens or hundreds of milliseconds). Providing a similarly deep buffer for the NQB queue would be at cross purposes to providing very low queueing delay and would erode the incentives for QB traffic to be marked correctly at such a bottleneck node. The NQB queue MUST have a buffer size that is significantly smaller than the buffer provided for Default traffic. It is RECOMMENDED to configure an NQB buffer size less than or equal to 10 ms at the shared NQB/Default egress rate.¶
In order to enable network operators to monitor the usage of the NQB PHB and, in particular, to monitor for potential mis-marking of QB traffic, a node supporting the NQB PHB MUST provide statistics that can be used by the network operator to detect whether abuse is occurring (e.g., packet and drop counters). Support for such counters ensures that operators who configure the NQB PHB have the ability to track the amount of packet drop that is occurring due to traffic overrunning the shallow buffer and then take action if they believe the PHB is causing more issues than it is solving in their environment. Those actions could include disabling the PHB, identifying and dealing with the sources of malicious traffic directly, enabling traffic protection (Section 5.2) if it is available, or pursuing a feature request with the equipment manufacturer to add a traffic protection function if it isn't currently available.¶
To prevent propagation of degradation of service for NQB traffic caused by potential mis-marking of QB traffic, network equipment that supports this PHB and handles traffic for multiple users SHOULD support provisioning of capacity and related forwarding resources on a per-user basis and SHOULD support enforcement of the resulting per-user limits on the aggregate of NQB and QB traffic for each user. In this context, the term "user" should be read as meaning an entity that the equipment is designed to serve more-or-less independently, such as a subscriber in the case of access network equipment, a station (STA) in the case of a Wi-Fi Access Point (AP) that implements per-STA queuing and airtime fairness, or an end user in the case of a networking co-op that serves a set of end users. This functionality is commonly available in the class of network equipment for which this PHB is primarily applicable (see Section 3.4). Provisioning methodology as well as decisions on whether and how to enforce the resulting limits may vary by network operator.¶
While not fully described in this document, it may be possible for network equipment to implement a separate QB/NQB pair of queues for additional service classes beyond the Default PHB / NQB PHB pair.¶
In some cases, existing network equipment has been deployed that cannot readily be upgraded or configured to support the PHB requirements. However, this equipment might be capable of loosely supporting an NQB service; see Section 7.3.1 for details and an example where this is particularly important. A similar approach might prove to be useful in other network environments.¶