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:
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 the remainder and exact options.
exact—(Optional) Enforce the exact transmission rate or percentage you configure with the transmit-rate rate or transmit-rate percent statement. Under sustained congestion, a rate-controlled queue that goes into negative credit fills up and eventually drops packets. You specify the exact option as follows:transmit-rate rate exact;transmit-rate percent percentage exact;
In the configuration, you cannot combine the remainder and exact 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, the rate-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 the transmit-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:
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.