Configuring Scheduler Transmission Rate
The transmission rate control determines the actual traffic bandwidth from each forwarding class you configure. The rate is specified in bits per second (bps). Each queue is allocated some portion of the bandwidth of the outgoing interface.
This bandwidth amount 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. You can limit the transmission bandwidth to the exact value you configure, or allow it to exceed the configured rate if additional bandwidth is available from other queues. This property allows you to ensure that each queue receives the amount of bandwidth appropriate to its level of service.
On M Series routers other than the M120 and M320 routers, you
should not configure a buffer-size
larger than the transmit-rate
for a rate-limited queue in a scheduler. If you
do, the Packet Forwarding Engine will reject the CoS configuration.
However, you can achieve the same effect by removing the exact
option from the transmit rate or specifying the buffer size using
the temporal
option.
For 8-port, 12-port, and 48-port Fast Ethernet PICs, transmission scheduling is not supported.
To configure transmission scheduling, include the transmit-rate
statement at the [edit class-of-service schedulers scheduler-name]
hierarchy level:
[edit class-of-service schedulers scheduler-name] transmit-rate (rate | percent percentage | remainder) <exact | rate-limit>;
You can specify the transmit rate as follows:
rate
—Transmission rate, in bits per second. For all MX Series router and EX Series switch interfaces, the rate can be from 65,535 through 6,400,000,000,000 bps. On all other platforms, the rate can be from 3200 through 6,400,000,000,000 bps.percent percentage
—Percentage of transmission capacity.remainder
—Use remaining rate available. In the configuration, you cannot combine theremainder
andexact
options.exact
—(Optional) Enforce the exact transmission rate or percentage you configure with thetransmit-rate rate
ortransmit-rate percent
statement. Under sustained congestion, a rate-controlled queue that goes into negative credit fills up and eventually drops packets. You specify theexact
option as follows:[edit class-of-service schedulers scheduler-name] transmit-rate rate exact; [edit class-of-service schedulers scheduler-name] transmit-rate percent percentage exact;
In the configuration, you cannot combine the
remainder
andexact
options.
Including the
exact
option is not supported on Enhanced Queuing Dense Port Concentrators (DPCs) on Juniper Network MX Series 5G Universal Routing Platforms.The configuration of the
transmit-rate percent 0 exact
statement at the [edit class-of-service schedulers scheduler-name
] hierarchy is ineffective on T4000 routers with Type 5 FPCs.
rate-limit
—(Optional) Limit the transmission rate to the specified amount. You can configure this option for all 8 queues of a logical interface (unit) and apply it to shaped or unshaped logical interfaces. If you configure a zero rate-limited transmit rate, all packets belonging to that queue are dropped. On IQE PICs, therate-limit
option for the schedulers’ transmit rate is implemented as a static policer. Therefore, these schedulers are not aware of congestion and the maximum rate possible on these schedulers is limited by the value specified in thetransmit-rate
statement. Even if there is no congestion, the queue cannot send traffic above the transmit rate due to the static policer.
You can apply a transmit rate limit to logical interfaces
on Multiservices 100, 400, or 500 PICs. Typically, rate limits are
used to prevent a strict-high queue (such as voice) from starving
lower priority queues. You can only rate-limit one queue per logical
interface. To apply a rate-limit to a Multiservices PIC interface,
configure the rate limit in a scheduler and apply the scheduler map
to the Multiservices (lsq-
) interface at the [edit
class-of-service interfaces]
hierarchy level. For information
about configuring other scheduler components, see Configuring Schedulers.
For more information about scheduler transmission rate, see the following sections:
Example: Configuring Scheduler Transmission Rate
Configure the best-effort
scheduler to use the remainder
of the bandwidth on any interface to which it is assigned:
class-of-service { schedulers { best-effort { transmit-rate remainder; } } }
Allocation of Leftover Bandwidth
The allocation of leftover bandwidth is a complex topic. It is difficult to predict and to test, because the behavior of the software varies depending on the traffic mix.
If a queue receives offered loads in excess of the queue’s bandwidth allocation, the queue has negative bandwidth credit, and receives a share of any available leftover bandwidth. Negative bandwidth credit means the queue has used up its allocated bandwidth. If a queue’s bandwidth credit is positive, meaning it is not receiving offered loads in excess of its bandwidth configuration, then the queue does not receive a share of leftover bandwidth. If the credit is positive, then the queue does not need to use leftover bandwidth, because it can use its own allocation.
This use of leftover bandwidth is the default. If you do not
want a queue to use any leftover bandwidth, you must configure it
for strict allocation by including the transmit-rate
statement
with the exact
option at the [edit class-of-service
schedulers scheduler-name]
hierarchy level.
With rate control in place, the specified bandwidth is strictly observed.
Juniper Networks M Series Multiservice Edge Routers and T Series Core Routers do not distribute leftover bandwidth in proportion to the configured transmit rate of the queues. Instead, the scheduler distributes the leftover bandwidth equally in round-robin fashion to queues that have negative bandwidth credit. All negative-credit queues can take the leftover bandwidth in equal share. This description suggests a simple round-robin distribution process among the queues with negative credits. In actual operation, a queue might change its bandwidth credit status from positive to negative and from negative to positive instantly while the leftover bandwidth is being distributed. Lower-rate queues tend to be allocated a larger share of leftover bandwidth, because their bandwidth credit is more likely to be negative at any given time, if they are overdriven persistently. Also, if there is a large packet size difference, (for example, queue 0 receives 64-byte packets, whereas queue 1 receives 1500-byte packets), then the actual leftover bandwidth distribution ratio can be skewed substantially, because each round-robin turn allows exactly one packet to be transmitted by a negative-credit queue, regardless of the packet size.
By default, on MX Series routers, the M320 Enhanced Type 4 FPCs,
and T4000 routers with Type 5 FPCs and EX Series switches, excess
bandwidth is shared in the ratio of the transmit rates. You can adjust
this distribution by configuring the excess-rate statement at the [edit
class-of-service schedulers scheduler-name]
hierarchy level. You can specify the excess rate sharing by percentage
or by proportion.
In summary, M Series and T Series routers distribute leftover bandwidth in equal shares for the queues with the same priority and same negative-credit status. MX Series routers and M320 Enhanced Type 4 FPCs, and EX Series switches, share excess bandwidth in the ratio of the transmit rates, but you can adjust this distribution.