Understanding CoS Schedulers
You use class-of-service (CoS) schedulers to define the properties of output queues on Juniper Networks EX Series Ethernet Switches. These properties include the amount of interface bandwidth assigned to the queue, the size of the memory buffer allocated for storing packets, the priority of the queue, and the drop profiles associated with the queue.
You associate the schedulers with forwarding classes by means of scheduler maps. You can then associate each scheduler map with an interface, thereby configuring the queues, packet schedulers, and tail drop processes that operate according to this mapping.
Default Schedulers
Each forwarding class has an associated scheduler priority. On EX Series switches other than Juniper Networks EX4300 and EX3400 Ethernet Switches, only two forwarding classes—best-effort (queue 0) and network-control (queue 7)—are used in the default configuration. By default on these switches, the best-effort forwarding class (queue 0) receives 95 percent of the bandwidth and the buffer space for the output link, and the network-control forwarding class (queue 7) receives 5 percent. The default drop profile causes the buffer to fill completely and then to discard all incoming packets until it has free space.
On EX4300 and EX 3400 switches, four forwarding classes—best-effort (queue 0), multicast best-effort (queue 8), network-control (queue 3), and multicast network-control (queue 11)—are used in the default configuration. By default, all the multicast traffic flows through the multicast best-effort queue. EX4300 and EX3400 switches support 12 queues (0–11), and the default scheduler transmission rates for queues 0 through 11 are 75, 0, 0, 5, 0, 0, 0, 0, 15, 0, 0 and 5 percent, respectively, of the total available bandwidth.
On EX Series switches other than EX4300 switches, the expedited-forwarding (queue 5) and assured-forwarding (queue 1) classes have no scheduler because no resources are assigned to queue 5 or queue 1, by default. However, you can manually configure resources to be assigned to the expedited-forwarding and assured-forwarding classes. On EX4300 switches, the expedited-forwarding (queue 1) and assured-forwarding (queue 2) classes have no scheduler because no resources are assigned to queue 1 or queue 2, by default. However, you can manually configure resources to be assigned to the expedited-forwarding and assured-forwarding classes.
Also by default, any queue can exceed the assigned bandwidth if additional bandwidth is available from other queues. When a forwarding class does not fully use the allocated transmission bandwidth, the remaining bandwidth can be used by other forwarding classes if they have a traffic load that exceeds their allocated bandwidth.
Excess Rate
Excess rate traffic determines the percentage of the excess bandwidth to share when a
queue receives traffic in excess of its bandwidth allocation. By default, the excess
bandwidth is shared in the ratio of the transmit rates. You can control this
distribution by configuring the excess-rate
statement at the
[edit class-of-service schedulers
scheduler-name]
hierarchy. You can specify the
excess rate sharing in percentage.
Only EX4300 switches support the excess-rate
option.
Transmission Rate
Transmission-rate control determines the actual traffic bandwidth for each forwarding class you configure. The transmission rate is specified in bits per second. Each queue is allocated some portion of the bandwidth of the interface. This bandwidth can be a fixed value, such as 1 megabit per second (Mbps), a percentage of the total available bandwidth, or the rest of the available bandwidth. In case of congestion, the configured transmission rate is guaranteed for the queue. Transmission-rate control allows you to ensure that each queue receives the bandwidth appropriate for its level of service.
Scheduler Buffer Size
To control congestion at the output stage, you can configure the delay-buffer bandwidth by using the buffer-size configuration statement. The delay-buffer bandwidth provides packet buffer space to absorb burst traffic up to the specified duration of delay. When the specified delay buffer becomes full, packets with 100 percent drop probability are dropped from the tail of the buffer.
On EX Series switches other than EX4300 and EX3400 switches, the default scheduler transmission rates for queues 0 through 7 are 95, 0, 0, 0, 0, 0, 0, and 5 percent, respectively, of the total available bandwidth. The default buffer-size percentages for queues 0 through 7 are 95, 0, 0, 0, 0, 0, 0, and 5 percent, respectively, of the total available buffer.
On EX4300 and EX3400 switches, the default scheduler transmission rates for queues 0 through 11 are 75, 0, 0, 5, 0, 0, 0, 0, 15, 0, 0 and 5 percent, respectively, of the total available buffer. The default buffer-size percentages for queues 0 through 11 are 75, 0, 0, 5, 0, 0, 0, 0, 15, 0, 0 and 5 percent, respectively, of the total available buffer.
For each scheduler on EX Series switches, you can configure the buffer size as one of the following:
-
The exact buffer size.
-
A percentage of the total buffer.
-
The remaining buffer available. The remainder is the buffer percentage that is not assigned to other queues. For example, if you assign 40 percent of the delay buffer to queue 0, allow queue 2 to keep the default allotment of 20 percent, allow queue 7 to keep the default allotment of 5 percent, and assign the remainder to queue 3, then queue 3 uses 35 percent of the delay buffer.
You can configure the buffer size as a temporal value on Juniper Networks EX4300 Ethernet Switches also.
Priority Scheduling
Priority scheduling determines the order in which an interface transmits traffic from queues, thus ensuring that queues containing important traffic are provided faster access.
Priority scheduling is accomplished through a procedure in which the scheduler examines the priority of the queue. Juniper Networks Junos operating system (Junos OS) supports two levels of transmission priority:
-
Low—The scheduler determines whether the individual queue is within its defined bandwidth profile or not. This binary decision, which is re-evaluated on a regular time cycle, involves comparing the amount of data transmitted by the queue against the bandwidth allocated to it by the scheduler. If the transmitted amount is less than the allocated amount, the queue is considered to be in profile. A queue is out of profile when the amount of traffic that it transmits is larger than the queue’s allocated limit. An out-of-profile queue is transmitted only if bandwidth is available. Otherwise, it is buffered.
On EX Series switches other than EX4300 switches, a queue from a set of queues is selected based on the shaped deficit weighted round robin (SDWRR) algorithm, which operates within the set. On EX4300 switches, the weighted deficit round-robin (WDRR) algorithm is used to select a queue from a set of queues.
-
Strict-high—A strict-high priority queue receives preferential treatment over a low-priority queue. Unlimited bandwidth is assigned to a strict-high priority queue. On EX Series switches other than EX4300 switches, queues are scheduled according to the queue number, starting with the highest queue, 7, with decreasing priority down through queue 0. Traffic in higher-numbered queues is always scheduled prior to traffic in lower-numbered queues. In other words, if there are two high-priority queues, the queue with the higher queue number is processed first. On EX4300 switches, you can configure multiple strict-high priority queues on an interface and an EX4300 switch processes these queues in a round-robin method.
Packets in low-priority queues are transmitted only when strict-high priority queues are empty.
Scheduler Drop-Profile Maps
Drop-profile maps associate drop profiles with a scheduler. A drop-profile map sets the drop profile for a specific packet loss priority (PLP) and protocol type. The inputs for a drop-profile map are the PLP and the protocol type. The output is the drop profile.
Scheduler Maps
A scheduler map associates a specified forwarding class with a scheduler configuration. After configuring a scheduler, you must include it in a scheduler map and then associate the scheduler map with an output interface.
On EX Series switches, if you configure more than the supported number of scheduler maps on a switch or for a port group in a line card, an error is logged in the system log. On any interface in a port group on a line card or on a switch, if you configure a scheduler map that causes the number of scheduler maps for that port group to exceed the maximum number supported, the default scheduler map is bound to that interface. We recommend that you check the system log for errors after the commit operation to verify that you have not configured more than the maximum permitted number of scheduler maps.
On EX Series switches, you cannot configure a scheduler map on an individual interface that is a member of a link aggregation group (LAG). Instead, you must configure the scheduler map on the LAG itself (that is, on the aggregated Ethernet (ae) interface).
Table 1 shows the number of scheduler maps supported for each port group in a switch or line card.
Switch/Line Card |
Number of Port Groups |
Port Grouping Details |
Number of Scheduler Maps Supported for Each Port Group |
---|---|---|---|
EX2200-C-12T and EX2200-C-12P switches |
1 |
Port 0–11 and 2 uplink ports form a port group. |
6 |
EX2200-24T and EX2200-24P switches |
1 |
Ports 0–23 and 4 SFP uplink ports form a port group. |
5 |
EX2200-48T and EX2200-48P switches |
2 |
|
5 |
EX4300-24Tand EX4300-24P switches |
1 |
|
64 |
EX4300-48T and EX4300-48P switches |
1 |
|
64 |
EX4550-32F switch |
1 |
|
5 |