Configuring Large Delay Buffers with a Configuration Editor
Large bursts of traffic from faster interfaces can cause congestion and dropped packets on slower interfaces that have small delay buffers. For example, a J Series device operating at the edge of the network can drop a portion of the burst traffic it receives on a channelized T1/ E1 interface from a Fast Ethernet or Gigabit Ethernet interface on a router at the network core. On J Series devices, large delay buffers can be configured for both channelized T1/E1 and non-channelized T1/E1 interfaces.
To ensure that traffic is queued and transmitted properly on slower interfaces, you can configure a buffer size larger than the default maximum.
This section contains the following topics:
- Maximum Delay Buffer Sizes Available to Channelized T1/E1 Interfaces
- Delay Buffer Size Allocation Methods
- Specifying Delay Buffer Sizes for Queues
- Configuring a Large Delay Buffer on a non-Channelized Ti Interface
- Configuring a Large Delay Buffer on a Channelized T1 Interface
Maximum Delay Buffer Sizes Available to Channelized T1/E1 Interfaces
When you enable the large delay buffer feature on interfaces, a larger buffer is available for allocation to scheduler queues. The maximum delay buffer size that is available for an interface depends on the maximum available delay buffer time and the speed of the interface as shown in Table 41.
. The default values are as follows:
- Clear-channel interface—The default delay buffer time is 500,000 microseconds (0.5 seconds).
- NxDS0 interface—The default delay buffer time is 1,200,000 microseconds (1.2 seconds).
Table 41: Maximum Available Delay Buffer Time by Channelized Interface and Rate
Effective Line Rate | Maximum Available Delay Buffer Time |
|---|---|
< 4xDS0 | 4,000,000 microseconds (4 seconds) |
< 8xDS0 | 2,000,000 microseconds (2 seconds) |
< 16xDS0 | 1,000,000 microseconds (1 second) |
<= 32xDS0 | 500,000 microseconds (0.5 second) |
<= 10mbps | 400,000 microseconds (0.4 seconds) |
<= 20mbps | 300,000 microseconds (0.3 seconds) |
<= 30mbps | 200,000 microseconds (0.2 seconds) |
<= 40mbps | 150,000 microseconds (0.15 second) |
You can calculate the maximum delay buffer size available for an interface, with the following formula:
For example, the following maximum delay buffer sizes are available to 1xDS0 and 2xDS0 interfaces:
1xDS0—64 kilobits per second x 4 seconds = 256 kilobits (32 kilobytes)
2xDS0—128 kilobits per second x 4 seconds = 512 kilobits (64 kilobytes)
If you configure a delay buffer size larger than the new maximum, the system allows you to commit the configuration but displays a system log warning message and uses the default buffer size setting instead of the configured maximum setting.
Delay Buffer Size Allocation Methods
You can specify delay buffer sizes for each queue using schedulers. The queue buffer can be specified as a period of time (microseconds) or as a percentage of the total buffer or as the remaining buffer. Table 42 shows different methods that you can specify for buffer allocation in queues.
Table 42: Delay Buffer Size Allocation Methods
Buffer Size Allocation Method | Description |
|---|---|
Percentage | A percentage of the total buffer. |
Temporal | A period of time, value in microseconds. When you configure a temporal buffer, you must also configure a transmit rate. The system calculates the queue buffer size by multiplying the available bandwidth of the interface times the configured temporal value and transmit rate. When you specify a temporal method, the drop profile is assigned a static buffer and the system starts dropping packets once the queue buffer size is full. By default, the other buffer types are assigned dynamic buffers that use surplus transmission bandwidth to absorb bursts of traffic. |
Remainder | The remaining buffer available. The remainder is the percentage buffer that is not assigned to other queues. For example, if you assign 40 percent of the delay buffer to queue 0, allow queue 3 to keep the default allotment of 5 percent, and assign the remainder to queue 7, then queue 7 uses approximately 55 percent of the delay buffer. |
Specifying Delay Buffer Sizes for Queues
You specify delay buffer sizes for queues using schedulers. The system calculates the buffer size of a queue based on the buffer allocation method you specify for it in the scheduler. See Table 42 for different buffer allocation methods and Table 43 for buffer size calculations.
Table 43: Delay Buffer Allocation Method and Queue Buffer
Buffer Size Allocation Method | Queue Buffer Calculation | Example |
|---|---|---|
Percentage | available interface bandwidth x configured buffer size percentage x maximum delay buffer time = queue buffer | Suppose you configure a queue on a 1xDS0 interface to use 30 percent of the available delay buffer size. The system uses the maximum available delay buffer time (4 seconds) and allocates the queue 9600 bytes of delay buffer: 64 Kbps x 0.3 x 4 seconds=76800 bits=9600 bytes |
Temporal | available interface bandwidth x configured transmit rate percentage x configured temporal buffer size = queue buffer | Suppose you configure a queue on a 1xDS0 interface to use 300,000 microseconds (3 seconds) of delay buffer, and you configure the transmission rate to be 20 percent. The queue receives 4800 bytes of delay buffer: 64 Kbps x 0.2 x 3 seconds=38400 bits=4800 bytes When you configure a temporal value that is greater than the maximum available delay buffer time, the system allocates this queue the remaining buffer after other queues are allocated buffer. Suppose you configure a temporal value of 6,000,000 microseconds on a 1xDS0 interface. Because this value is greater than the maximum allowed value of 4,000,000 microseconds, the queue is allocated the remaining delay buffer. |
When you specify the buffer size as a percentage, the system ignores the transmit rate and calculates the buffer size based only on the buffer size percentage.
Configuring a Large Delay Buffer on a non-Channelized Ti Interface
To configure large-delay buffers on non C-TI/E1 interfaces, you must first enable the large buffer feature and then extend the q-pic-large-delay-buffer size on all interfaces. The maximum delay buffer time varies by the interface speed as shown in Table 44.
Table 44: Recommended Delay Buffer Sizes
| Interface Speed | Effective Bandwidth in kilobytes per second (kbps) | Recommended Buffer Size in microseconds (ms) |
< 256kbps | 4000ms | |
256kbps | < 512kbps | 2000ms |
512kbps | < 024kbps | 1000ms |
1024kbps | <2048kbps | 500ms |
>2048kbps | 100ms |
For more information on using J-web or the CLI configuration editor to configure large delay buffers, see Configuring a Large Delay Buffer on a Channelized T1 Interface.
Configuring a Large Delay Buffer on a Channelized T1 Interface
On J Series devices, you can configure large delay buffers on channelized T1/E1 interfaces. To configure large-delay buffer sizes, you must first enable the large buffer feature on the channelized T1/E1 PIM and then configure a buffer size for each queue in the CoS scheduler.
Each channelized T1/E1 interface can be configured as a single clear channel, or for channelized (NxDS0) operation, where N denotes channels 1 to 32 for an E1 interface and channels 1 to 24 for a T1 interface.
In this configuration, you enable the large delay buffer option on a channelized T1 PIM with an interface speed of 1.5 Mbps and a maximum delay buffer time of 500,000 microseconds. Based on the interface speed and the maximum delay buffer time, you can calculate the available delay buffer size for the interface. For more information, see Maximum Delay Buffer Sizes Available to Channelized T1/E1 Interfaces.
Next, you specify a queue buffer of 30 percent in a scheduler be-scheduler and associate the scheduler to a defined forwarding class be-class using a scheduler map large-buf-sched-map. Finally, you apply the scheduler map to the channelized T1 interface t1-3/0/0. As a result, a buffer of 9600 bytes is assigned to the queue associated with forwarding class be-class (see Table 43). You can specify a delay buffer size for other queues following the instructions in this example.
To configure large delay buffers for channelized T1/E1 interfaces:
- Navigate to the top of the configuration hierarchy in either the J-Web or CLI configuration editor.
- Perform the configuration tasks described in Table 45.
- If you are finished configuring the router, commit the configuration.
- Go on to one of the following tasks:
- To configure other CoS components, see Configuring CoS Components with a Configuration Editor.
- From the CLI, enter the show class of service command, to check your configuration.
Table 45: Configuring a Large Delay Buffer
Task | J-Web Configuration Editor | CLI Configuration Editor |
|---|---|---|
Navigate to the Chassis level in the configuration hierarchy. |
| From the [edit] hierarchy level, enter edit chassis |
Enable the large buffer size feature on the channelized T1/E1 PIM in slot 3. |
| Enter set fpc 3 pic 0 q-pic-large-buffer |
Navigate to the Class-of-service level in the configuration hierarchy. | On the main Configuration page next to Class of service, click Configure or Edit. | From the [edit] hierarchy level, enter edit class-of-service |
Create be-scheduler and specify a buffer size of 30 percent for it. |
| Enter set schedulers be-scheduler buffer-size percent 30 |
Configure the scheduler map large-buf-scheduler-map to associate schedulers with defined forwarding classes. For information about configuring forwarding classes, see Assigning Forwarding Classes to Output Queues. |
| From the [edit class-of-service] hierarchy level, enter set scheduler-maps large-buf-sched-map forwarding-class be-class scheduler be-scheduler |
Apply the scheduler map to the channelized T1 interface. Note: For information about configuring channelized T1/E1 interfaces, see JUNOS Software Interfaces Configuration Guide for Security Devices. |
| From the [edit class-of-service] hierarchy level, type set interfaces t1-3/0/0 unit 0 scheduler-map large-buf-sched-map |