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.
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. -
percent percentage—Percentage of transmission capacity. -
remainder—Use remaining rate available. In the configuration, you cannot combine theremainderandexactoptions. -
exact—(Optional) Enforce the exact transmission rate or percentage you configure with thetransmit-rate rateortransmit-rate percentstatement. Under sustained congestion, a rate-controlled queue that goes into negative credit fills up and eventually drops packets. You specify theexactoption 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
remainderandexactoptions.
-
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.
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.
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.
By default, 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, Junos devices, share excess bandwidth in the ratio of the transmit rates, but you can adjust this distribution.