Using Bandwidth Reservation and Priority Queuing
This document explains the bandwidth reservation and priority queuing features. It includes the following topics:
Bandwidth Reservation System (BRS)
Priority Queuing
Bandwidth Reservation With Priority Queuing
Filtering and Bandwidth Reservation
Configuring Bandwidth Reservation
Bandwidth Reservation Commands
Bandwidth Reservation System (BRS)
BRS allows you to decide which packets the router drops when demand (traffic) exceeds supply (throughput) on a network connection. The router does not use BRS until there are requests for more than 100% of the available line bandwidth.
BRS reserves transmission bandwidth for a network connection by allocating minimum percentages of total connection bandwidth to specified classes of traffic. Figure 1 shows the components of BRS classes.
These reserved percentages are a minimum slice of bandwidth for the network connection. If a network is operating to capacity, the router can only transmit a message if transmitting it does not exceed the bandwidth allocated for the class. When this happens, the router holds the transmission until other bandwidth transmissions have been satisfied. In the case of a light traffic path, a packet stream can use bandwidth exceeding its allowed minimum up to 100% if there is no other traffic.
BRS is really a safeguard. In general, a network should not attempt to use more than 100% of its line speed. If it does, you probably need a faster line. The bursty nature of traffic, however, can drive the requested transmission rate to exceed 100% for a short time. In these cases, BRS ensures that the higher priority traffic is delivered and is not discarded.
Bandwidth reservation is a feature that runs over interfaces.Note:
OpenROUTE Networks recommends that you enable BRS on every PPP interface that you enable for bridging. Bridging cannot run on PPP interfaces if the MRU is less than the maximum Ethernet frame size.
Figure 1 Components of Bandwidth Reservation System (BRS) Classes
Priority Queuing
BRS allocates percentages of total connection bandwidth for traffic classes that you define. A BRS class is a group of packets identified by the same name; for example, a class called "ipx" to designate all IPX packets.
With priority queuing, you can assign each bandwidth class one of the following priority level settings:
The router first sends all Urgent priority packets within their class. When the router has transmitted all Urgent packets, it sends High packets until it has sent them all (or until new Urgent messages are queued). The router then sends Normal packets. Only when there are no Urgent, High, or Normal packets remaining does the router transmit the Low priority packets.
You can also set the number of packets that the router can queue for each priority level in each bandwidth class. The BRS queue-length command sets the maximum number of output packets that the router can queue in each BRS priority queue. It also sets the maximum number of output packets that the router can queue in each BRS priority queue when the router input buffers are scarce.
CAUTION:
If you set the values for queue length too high, you may seriously degrade the performance of your router.
The priority settings in one bandwidth class do not affect other bandwidth classes. No one bandwidth class has priority over the others. You can only map a network protocol (or several grouped protocols) or filters to a class.
Bandwidth Reservation With Priority Queuing
When you configure priority queuing without bandwidth reservation, the router delivers the highest priority traffic first. In instances of heavy high priority traffic, the router can overlook lower priority levels. By combining priority queuing with bandwidth reservation, however, you can allocate packet transmission to all bandwidths.
Filtering and Bandwidth Reservation
Using bandwidth reservation, you can assign the following filters (via the assign command) to specific types of traffic:
Filters and Tags for IP Multicast Addressing and
MAC Addressing
A filter is available to filter IP multicast traffic.
The router handles MAC address filtering by a joint effort between BRS and MAC Filtering (MCF) using tags. For example, you can categorize bridge traffic by assigning a tag to it.
You assign tags by creating a filter item in the MAC filtering configuration and then assigning a tag to it. You then use this tag to set up a bandwidth class for all packets associated with this tag. Note:
You can apply tags only to bridged packets, and only the MAC Address fields of the packet can be used in applying the tag. You can set up to five tagged MAC filters, from 1 to 5. TAG1 is searched for first, then TAG2, and so on up to TAG5. A single MAC filter tag can consist of any number of MAC Addresses set in MCF.
Once you create a tagged filter in the MAC filtering configuration, you assign it a class and priority in the bandwidth reservation configuration process. You then use the assign command in the bandwidth reservation process to reference the tag.
Tags can also refer to "groups," as in the example of IP Tunnel. IP Tunnel endpoints can belong to any number of groups. You assign packets to a particular group through the tagging feature of MAC filtering.
For more information on MAC filtering, see "Using MAC Filtering" in the Bridging Guide.
Applying bandwidth reservation and queuing priority to tagged packets involves the following:
- 1. Use the MAC filtering configuration commands at the Filter Config> prompt to set up tags for packets passing through the bridge. See "Using MAC Filtering" in the Bridging Guide.
- 2. Use the BRS assign command to specify a class name for the tag. The assign command prompts you for a queuing priority within that BRS class.
Order Of Precedence
It is possible for a packet to fall under several filterable classes. For example, an IP Tunneled bridged packet for SNA with a filter for a MAC Address. The order for resolving the filtering priority for this packet goes as follows:
- 1. MAC Address match for bridging (IP/ASRT) tag 1 to tag 5
- 2. NetBIOS for bridging (IP/ASRT)
- 3. SNA for bridging (IP/ASRT)
- 4. IP tunneling (IP)
- 5. SDLC relay (IP)
- 6. Multicast (IP)
- 7. SNMP (IP)
- 8. Rlogin (IP)
- 9. Telnet (IP)
- 10. DLSw (IP)
Tagging and Prioritizing IP Traffic
Using IP Filters, you can set up the router to tag certain types of IP traffic. You can then prioritize that traffic in BRS by assigning the tag to a class and then assigning a priority to that tag.
For example, if you want to assign a certain priority to FTP traffic, you set up an IP filter that tags all FTP traffic. For more information on tagging IP traffic, see "Using IP Filters" in the Protocol Guide or the GTSecure IP Filtering Guide.
Once you set up IP filtering to tag traffic, you assign the tag to a BRS class and assign a priority to the class.
For example, if you set up IP filters to tag all FTP traffic with TAG15, use the following command to assign TAG15 to a BRS class and to prioritize the traffic tagged with TAG15 within that class.
BRS Config <NET-2> ASSIGN
Protocol or filter name [IP]? tag15
Class name [DEFAULT]?
Priority <URGENT/HIGH/NORMAL/LOW> [NORMAL]?
Configuring Bandwidth Reservation
To configure BRS on an interface, do the following:
- 1. At the Config> prompt, enter list interfaces to see a list of interfaces configured on the router. You use the interface number to configure an interface for BRS.
- 2. At the Config> prompt, enter network followed by the number of the interface you want to configure for BRS. For example, to configure interface 2 for BRS enter
Config>network
What is the network number [0]? 2
Circuit Configuration
Circuit Config <NET-2>
- 3. At the Circuit Config <NET-#> prompt, enter brs.
Circuit Config <NET-2> brs
Bandwidth Reservation User Configuration
BRS Config <NET-2>
- 4. At the BRS Config <NET-#> prompt, enter enable.
BRS Config <NET-2>enable
Please restart router for this command to take effect.
- 5. Restart your router.
- 6. At the BRS Config <NET-#> prompt, configure the BRS parameters using the appropriate configuration commands discussed in Bandwidth Reservation Commands.
- 7. Restart your router.
Displaying the Bandwidth Reservation Monitoring Prompt
To access BRS monitoring commands, do the following:
- 1. At the + prompt, enter list interface to see a list of interfaces configured on your router. Enter network followed by the number of the interface that you want to monitor.
+network 2
Circuit <NET-2>
- 2. At the Circuit <NET-#> prompt, enter brs.
Circuit <NET-2>brs
Bandwidth Reservation console
BRS <NET-2>
Bandwidth Reservation Commands
Table 1 describes the BRS commands.
Not all parameters apply to all router platforms. Press Space twice after you type a command to display the available options for each command for your router. Enter help for information about using the command line interface.
[C] means the command is available at the BRS Config <NET-#> prompt.
[M] means the command is available at the BRS <NET-#> prompt.
Before using the bandwidth reservation commands, keep the following in mind:
Add-class [C]
Adds a class to the BRS configuration and allocates a designated amount of bandwidth to the class.
Syntax: add-class class-name percent-bandwidth
Example: add-class
Class name [DEFAULT]? ipx
Percent bandwidth to reserve [10]? 15
Assign [C]
Assigns tags, protocols, or filters to a class and assigns a priority within that class.
You can assign up to 64 Tags by entering TAG1 through TAG64 in answer to the Protocol or filter name [IP]? prompt. By assigning a priority to tags, you can prioritize traffic that you tagged using IP filters or MAC filtering. Use the same tag number in the BRS configuration that you used in the IP filter or MAC filter configuration.
The four priority types include:
See Priority Queuing for information on the priority types.
Syntax: assign protocol or tag or filter class-name priority
Example: assign
Protocol or filter name [IP]? tag18
Class name [DEFAULT]?
Priority <URGENT/HIGH/NORMAL/LOW> [NORMAL]?
Example: assign
Protocol or filter name [IP]? ipx
Class name [DEFAULT]?
Priority <URGENT/HIGH/NORMAL/LOW> [NORMAL]?
Change-class [C]
Changes the amount of bandwidth configured for a class.
Syntax: change-class class-name or class# percent-bandwidth
Example: change test 10
Clear [M]
Clears from RAM the current BRS counters for this interface and stores them as counters that you can display with the last command.
Syntax: clear
Example: clear
Clear-block [C]
Clears the current BRS configuration from configuration memory for this interface or Frame Relay PVC. This command requires a router restart.
Syntax: clear-block
Example: clear-block
You are about to clear BRS configuration information for this interface.
Are you sure you want to do this (Yes or [No]): yes
Counters [M]
Displays statistics describing bandwidth reservation traffic for this interface according to the configured classes.
Syntax: counters
Example: counters
Deassign [C]
Restores a protocol, TAG, or filter to its default class and priority.
Syntax: deassign protocol or tag or filter
Example: deassign IP
Default-class [C]
Sets the default class and priority to a desired value. If you have not previously assigned a value, system default values are used. Otherwise, the last previously assigned value is used.
Syntax: default-class class-name or class# priority
Example: default-class test normal
Del-class [M]
Deletes a previously configured bandwidth class from this interface or Frame Relay PVC.
Syntax: del-class class-name
Example: del-class ip
Disable [C]
Disables BRS on this interface or Frame Relay circuit. This command requires a router restart.
Syntax: disable
Example: disable
Exit [C]
Returns to the previous prompt.
Syntax: exit
Example: exit
Enable [C]
Enables BRS on this interface or Frame Relay circuit. This command requires a router restart.
Syntax: enable
Example: enable
Last [M]
Displays the last saved BRS statistics. The statistics are displayed in the same format as they are for the counters command.
Syntax: last
Example: last
List [C]
Displays currently defined classes by their guaranteed percentage rates and priority queuing values. It also displays all assigned protocols and filters.
Syntax: list
Example: list
BANDWIDTH RESERVATION listing from SRAM
bandwidth reservation is enabled
interface number 2
maximum queue length 10 minimum queue length 3
total bandwidth allocated 70%
total classes defined (counting one local and one default) 4
class LOCAL has 10% bandwidth allocated
protocols and filters cannot be assigned to this class.
class DEFAULT has 40% bandwidth allocated
the following protocols and filters are assigned:
protocol IP with priority NORMAL
protocol ARP with default priority
protocol IPX with priority NORMAL
protocol AP2 with default priority
protocol ASRT with default priority
filter SNA with priority NORMAL
assigned tags:
default class is DEFAULT with priority NORMAL
The list command is very similar to the show command. However, show displays current settings from the active RAM.
Queue-length [C]
CAUTION:
Do not use this command unless it is essential to do so. OpenROUTE Networks recommends the default values for queue length for most users. If you set the values for queue length too high, you may seriously degrade the performance of your router.
Sets the number of packets that the router can queue in each BRS priority queue. Each BRS class has a priority value that you assigned to its protocols, filters, and tags. Each priority queue can hold the number of packets that you specify with this command.
This command sets the maximum number of output packets that can be queued in each BRS priority queue. It also sets the maximum number of output packets that can be queued in each BRS priority queue when router input buffers are scarce.
Syntax: queue-length maximum-length minimum-length
Example: queue-length
BRS priority queue maximum length [10]?
BRS priority queue minimum length [3]
Show [C]
Displays the currently defined bandwidth classes stored in RAM.
Syntax: show
Example: show
BANDWIDTH RESERVATION currently in RAM
interface number 2
maximum queue length 10 minimum queue length 3
4 current defined classes:
class LOCAL
class DEFAULT
class ipx
class ip
protocol and filter assignments:
Protocol/Filter Class Priority
--------------- ----- --------
IP DEFAULT NORMAL
ARP DEFAULT LOW
IPX DEFAULT NORMAL
AP2 DEFAULT LOW
ASRT DEFAULT LOW
Bandwidth Reservation Circuit Commands
Table 1 describes the BRS circuit commands. These commands are available for Frame Relay interfaces.
Not all parameters apply to all router platforms. Press Space twice after you type a command to display the available options for each command for your router. Enter help for information about using the command line interface.
[C] means the command is available at the BRS Config <NET-#> prompt.
[M] means the command is available at the BRS <NET-#> prompt.
Add-circuit-class [C]
Adds a class to the BRS configuration and allocates a designated amount of bandwidth to the Frame Relay circuits assigned to the class.
Syntax: add-circuit-class class-name percent-bandwidth
Example: add-circuit-class
Class name [DEFAULT]? ip
Percent bandwidth to reserve [10]? 25
Assign-circuit [C]
Assigns a Frame Relay circuit (DLCI) to a circuit class.
Syntax: assign-circuit circuit# class-name
Example: assign-circuit
Circuit to assign [16]?
Class name [DEFAULT]?
Change-circuit-class [C]
Changes the amount of bandwidth configured for a circuit class.
Syntax: change-circuit-class class-name percent-bandwidth
Example: change-circuit-class
Class name [DEFAULT]? ipx
Percent of bandwidth to reserve for circuit class [30]? 20
Circuit [C] [M]
Displays prompts that let you configure or monitor the DLCI of a Frame Relay PVC. See Bandwidth Reservation Commands for information on the commands available at these prompts.
Syntax: circuit
Example: circuit
Circuit to reserve bandwidth [16]? 16
BRS Config <dlci 16>
Clear-circuit-class [M]
Clears the current BRS counters for this Frame Relay interface and stores the counters so you can . This command requires a router restart.
Syntax: clear-circuit-class
Example: clear-circuit-class
You are about to clear BRS configuration information for this interface.
Are you sure you want to do this (Yes or [No]): yes
Deassign-circuit [C]
De-assigns a Frame Relay circuit (DLCI) from the circuit class to which it was previously assigned.
Syntax: deassign-circuit
Example: deassign-circuit
Circuit to deassign [16]?
Default-circuit-class [C]
Sets the name of the default circuit class.
Syntax: default-circuit-class class-name
Example: default-circuit class
Class name [DEFAULT]? ipx
Del-circuit-class [C]
Deletes a previously configured class from this Frame Relay PVC.
Syntax: del-circuit-class class-name
Example: del-circuit-class
Class name []? ipx
docs@openroute.com
Copyright © 1998, OpenROUTE Networks, Inc. All rights
reserved.