Understanding How Forwarding Classes Assign Classes to Output Queues
This topic covers the following information:
Output Queue Assignments Based on Forwarding Class
It is helpful to think of forwarding classes as output queues. In effect, the end result of classification is the identification of an output queue for a particular packet.
CoS packet classification assigns an incoming packet to an output queue based on the packet’s forwarding class. Each packet is associated with one of the following default forwarding classes:
-
Expedited forwarding (EF)—Provides a low-loss, low-latency, low- jitter, assured bandwidth, end-to-end service.
-
Assured forwarding (AF)—Provides a group of values you can define and includes four subclasses: AF1, AF2, AF3, and AF4, each with three drop probabilities: low, medium, and high.
-
Best effort (BE)—Provides no service profile. For the best effort forwarding class, loss priority is typically not carried in a class-of-service (CoS) value and random early detection (RED) drop profiles are more aggressive.
-
Network control (NC)—This class is typically high priority because it supports protocol control.
Devices That Support Up to 16 Forwarding Classes
Some Juniper Networks devices support up to 16 forwarding classes, which enables you to classify packets more granularly. For example, you can configure multiple classes of EF traffic: EF, EF1, and EF2. The Junos software supports up to eight output queues; therefore, if you configure more than eight forwarding classes, you must map multiple forwarding classes to single output queues.
Default and Configurable Packet Loss Priority Values
By default, the loss priority is low. On most devices, you can configure high, low, medium-high, or medium-low loss priority.
Configuration Statements Used to Configure and Apply Forwarding Classes
To configure CoS forwarding classes, include the forwarding-classes
statement at the [edit class-of-service] hierarchy level:
[edit class-of-service] forwarding-classes { class class-name queue-num queue-number priority (high | low); queue queue-number class-name priority (high | low); } interfaces { interface-name { unit logical-unit-number { forwarding-class class-name; } } } restricted-queues { forwarding-class class-name queue queue-number; }