Simulate Quality of Service (QoS)

Quality of Service (QoS) is a means of ensuring high-quality performance for critical applications. The concept is that because requirements of some users and services are more critical than others, some traffic requires preferential treatment.

Using Cisco Crosswork Planning QoS features, you can ensure that service levels are met without reactively expanding or over-provisioning the network. QoS features are available for undifferentiated traffic, for service classes, and for interface queues.

  • Undifferentiated traffic—Aggregate traffic on an interface.

  • Service class—A user-defined classification of traffic that is not discovered by Cisco Crosswork Planning. Examples include voice, video, and data. Service classes apply to the entire network.

  • Queue—In live networks, traffic waits in conceptual lines (queues) and then is forwarded over an interface on a per-queue basis according to QoS parameters. Similarly in Cisco Crosswork Planning, each queue has a set of user-defined QoS parameters (interface queue properties) that specify how these queues are prioritized and what percentage of traffic they carry. An interface contains zero or more queues that are discoverable by Cisco Crosswork Planning. You can also manually create and configure them. The traffic per queue is also discovered.


Note


Cisco Crosswork Planning 7.0 supports only Default queue. Also, you do not have the option to map the service classes to queues.


This section contains the following topics:

QoS Requirements

In Cisco Crosswork Planning, QoS requirements are defined by policies and interface queue properties.

  • Policy—Maximum percentage of traffic capacity that can be utilized by either a service class or by undifferentiated traffic. There are two policies: one for normal operation and one for worst-case scenarios. Policies set on service classes do not affect QoS requirements of any other service class. Nor would this parameter have any effect on live network behavior.

  • Interface queue properties—Configured parameters that would affect routing behavior in a live network. In Cisco Crosswork Planning, the interface queue properties are priority, weight, and police limit. To set these properties, see Edit QoS Requirements.

    • The Priority identifies the precedence of the queue. For example, traffic in a priority 1 queue is routed before traffic in a priority 2 queue. Queues with the same priority evenly share the capacity based on weighted-round robin (WRR) calculations. You can change this behavior using the weight and police limit parameters. There are unlimited number of priorities, though most networks only use no more than three. By default, queues do not have priorities.

    • The Weight is the percentage of preference given to queues of an equal priority level, which enables the network to fairly distribute the load among available resources. For example, if 10 Gbps were passing through a 10GbE interface on two priority 1 queues, by default 5 Gbps would pass through each queue. However, if you set the weight of one queue to 75% and the other to 25%, the distribution would be 7 Gbps and 2.5 Gbps, respectively. By default, all queues have a weight of 100%.

    • The Police limit is the maximum percentage of available capacity permitted through a queue of a given priority level, thereby preventing traffic from higher priority queues from starving lower priority queues. For example, if the interface is a 20GbE and a priority 1 queue has a police limit of 40%, then only 8 Gbps of interface traffic can go through this queue. By default, all queues have a police limit of 100%. To see examples of this starvation, refer to the examples in Policies and QoS Bound Calculations, where you can see that lower priority queues received zero traffic due to priority settings.

Figure 1. Policies and Interface Queue Parameters

Edit QoS Requirements

To edit the QoS parameters using Interface queues properties, do the following:

Procedure


Step 1

Open the plan file (see Open Plan Files). It opens in the Network Design page.

Step 2

In the Network Summary panel on the right side, select the interface queues from the Interface queues table.

If the Interface queues tab is not visible, then click the Show/hide tables icon (Show/Hide Tables Icon), select the Interface queues check box, and click Apply.

Step 3

Click Edit icon.

Step 4

Update one or more QoS fields (Priority, Weight, and Police limit) to create the desired QoS requirement.

Step 5

Click Save.


QoS Bound and QoS Violations

Cisco Crosswork Planning uses the concepts of QoS bound and QoS violation as a way of identifying whether QoS parameters are being met or surpassed, thus better enabling you to plan for service requirements across the network. Policies and queue properties determine the QoS bound calculation. In turn, this calculation determines whether there is a violation.

  • QoS bound—Maximum interface capacity available without violating these QoS requirements. A separate QoS bound is calculated for both policy and interface queue properties.

    QoS Bound for...

    Calculated Based on...

    Interface queues

    Combination of interface queue properties, or in live networks, it is the capacity percentage that is discovered.

    Service class

    Policy

    Service class mapped to queues

    The lower of these two calculations is used:

    • Policy for service class

    • Queue properties for queues

    Undifferentiated traffic

    Policy

    In the Network Summary table, the columns that convey the QoS bound information are: QoS bound meas, QoS bound meas (%), QoS bound sim, and QoS bound sim (%).

    QoS bound calculations are a set of decisions being made to determine how to raise traffic on the queues until that traffic cannot be raised any further. This capacity, or the reason the traffic cannot be raised further, is defined both by the QoS parameters and the amount of traffic. For example, when traffic arrives at Queue X, Cisco Crosswork Planning fixes the traffic on all other queues and then determines how it can raise the traffic on Queue X until some other traffic blocks it.

    For those queues that do not reach full capacity, unused queue capacity is made available for other queues.

  • QoS violation—Total traffic minus the capacity permitted for the queue (QoS bound). A violation occurs if the maximum QoS capacity allotted through policies and interface queue properties is exceeded. If the number appearing in the QoS violation column is positive, the allotted capacity has been surpassed. If the number is negative, the allotted capacity has not been reached.

Policies and QoS Bound Calculations

If no other QoS parameters are set via the Interface queue properties of Priority, Weight, and Police limit, the QoS bound is equivalent to the policy set.

Table 1. Example Policies and QoS Bound Calculations

Example Configuration

QoS Bound

QoS Violation (Positive # = Violation)

Interface capacity = 10,000 Mbps

Undifferentiated traffic = 5000 Mbps

Normal operation policy = 60%

6000 Mbps (60%)

–1000 Mbps (–10%)

Because this number is negative, there is no capacity violation.

Interface capacity = 10,000 Mbps

Undifferentiated traffic = 8000 Mbps

Normal operation policy = 60%

6000 Mbps (60%)

2000 Mbps (20%)

Because this number is positive, there is a capacity violation.

Interface capacity = 10,000 Mbps

Voice traffic = 6000 Mbps

Video traffic = 2000 Mbps

Voice normal operation policy = 90%

Video normal operation policy = 60%

Voice = 9000 Mbps (90%)

Video = 6000 Mbps (60%)

Voice = –3000 Mbps (30%)

Video = –4000 Mbps (40%)

Interface Queue Properties and QoS Bound Calculations

Cisco Crosswork Planning simultaneously calculates QoS bound for each queue in the interface. In doing so, Cisco Crosswork Planning uses the Interface queue parameters (Priority, Weight, and Police limit) and the traffic measured or simulated for all queues in the interface. Priority is always considered first. If there are queues of equal Priority, then Weight is applied next.

  • Queues with priority 1 share all available interface capacity. Their weight and police limits further refine how much each priority 1 queue can use (their QoS bound). Each priority 1 queue can borrow available capacity from other priority 1 queues up to the limit of their QoS bound.

  • The available capacity for priority 2 queues is the total interface capacity minus all capacity consumed by priority 1 queues. The process then begins again for all priority 2 queues. Their weight and police limits determine their QoS bound, and priority 2 queues can borrow capacity from each other up to the limits set by the QoS bound.

  • This process continues for each successive priority level. Traffic that is outside any QoS bound is dropped to the lowest priority of all traffic on the interface.

For discovered networks with measured traffic, if no Cisco Crosswork Planning QoS parameters are set, the QoS bound is based on whatever capacity percentages the live network has for each queue.

Priority

Provided policies are not set that further affect the QoS bound, a queue’s QoS bound is calculated as follows:

  • Priority 1 QoS bound = 100% of the interface capacity.

  • Priority 2 QoS bound = Total interface capacity – amount of traffic consumed by priority 1 queues.

  • Priority 3 QoS bound = Total interface capacity – amount of traffic consumed by (priority 1 + priority 2 queues).

  • QoS bound for each succeeding priority follows this same pattern where the traffic consumed by all higher priority queues is subtracted from the total interface capacity.

Table 2. Examples of Priority QoS Bound Calculations

Example Configuration

QoS Bound

QoS Violation (Positive # = Violation)

QoS Bound Calculations

Interface capacity = 20,000 Mbps

EF traffic = 6000 Mbps; priority = 1

BE traffic = 3000 Mbps; no priority set

EF = 20,000 Mbps

BE = 14,000 Mbps

EF = –14,000 Mbps

BE = –11,000 Mbps

EF = Total interface capacity because it is the only priority 1 queue

BE = 20,000 (interface capacity) – 6000 (consumed by higher priority queues)

Interface capacity = 10,000 Mbps

EF Traffic = 6000 Mbps; priority = 1

BE Traffic = 5000 Mbps; priority = 2

EF = 10,000 Mbps

BE = 4000 Mbps

EF = –4000 Mbps

BE = 1000 Mbps

EF = Total interface capacity because it is the only priority 1 queue

BE = 10,000 (interface capacity) – 6000 (consumed by higher priority queues

Weight

The weight identifies the forwarding precedence for queues of equal priority. If weights for queues of the same priority do not add up to 100%, weights are converted proportionally so they do add up to 100%.

Table 3. Examples of Weight QoS Bound Calculations

Example Configuration

QoS Bound

QoS Violation (Positive # = Violation)

QoS Bound Calculations

Interface capacity = 10,000 Mbps

AF1 traffic = 3000 Mbps; priority = 1; weight = 100%

AF2 traffic = 6000 Mbps; priority = 1; weight = 100%

AF1 = 5000 Mbps

AF2 = 7000 Mbps

AF1 = –2000 Mbps

AF2 = –1000 Mbps

AF1 = Half of capacity for priority 1 queues because both queues have equal weights

AF2 = 5000 (half of capacity) + 2000 (unused AF1 capacity)

Interface capacity = 10,000 Mbps

AF1 = 5000 Mbps; priority = 1; weight = 60%

AF2 traffic = 6000 Mbps; priority = 1; weight = 40%

AF1 = 6000 Mbps

AF2 = 5000 Mbps

AF1 = –1000 Mbps

AF2 = 1000 Mbps

AF1 = 60% of capacity for all priority 1 queues

AF2= 10,000 (interface capacity) – 5000 (consumed by AF1 queue)

Police Limits

Priority 1 queues have 100% of the interface traffic, and thus starve out the remaining queues. To prevent this queue starvation, use police limits to configure how much of the maximum percentage should be available for a given priority level.

Table 4. Examples of Police Limit QoS Bound Calculations

Example Configuration

QoS Bound

QoS Violation (Positive # = Violation)

QoS Bound Calculations

Interface capacity = 10,000 Mbps

EF traffic = 1000 Mbps; priority = 1; police limit = 50%

BE traffic = 2000 Mbps; priority = 2

EF = 5000 Mbps

BE = 9000 Mbps

EF = –4000 Mbps

BE = –7000 Mbps

EF = 50% of total interface capacity

BE = 10,000 (interface capacity) – 1000 (capacity consumed by EF)

Interface capacity = 10,000 Mbps

EF traffic = 1000 Mbps; priority = 1; police limit = 5%

BE traffic = 2000 Mbps; priority = 2

F = 500 Mbps

BE = 9500 Mbps

EF = 500 Mbps

BE = –7500 Mbps

EF = 5% of total interface capacity

BE = 10,000 (interface capacity) – 500 (capacity consumed by EF)

Interface capacity = 10,000 Mbps

EF = 3000 Mbps; priority = 1; police limit = 20%

AF1 traffic = 4000 Mbps; priority = 2; police limit = 75%

AF2 traffic = 2500 Mbps; priority = 2; police limit 25%

EF = 2000 Mbps

AF1 = 6000 Mbps

AF2 = 4000 Mbps

EF = 1000 Mbps

AF1 = –2000 Mbps

AF2 = –1500 Mbps

EF = 20% of total interface capacity

AF1 = 75% of (10,000 [interface capacity] – 2000 [capacity consumed by EF])

AF2 = 10,000 (interface capacity) – 2000 (capacity consumed by EF) – 4000 (capacity consumed by AF1)

Interface QoS Bound Calculations Using Multiple QoS Parameters

Cisco Crosswork Planning calculates a QoS bound for interface queues based on all three parameters if they are all configured: priority, weight, and police limits.

Table 5. Examples of Interface QoS Bound Calculations Using Multiple QoS Parameters

Example Configuration

QoS Bound

QoS Violation (Positive #= Violation)

QoS Bound Calculation

Interface capacity = 10,000 Mbps

EF = 3000 Mbps; priority = 1; police limit = 20%

AF1 traffic = 4000 Mbps; priority = 2; weight = 75%

AF2 traffic = 2500 Mbps; priority = 2; weight = 25%

EF = 2000 Mbps

AF1 = 6000 Mbps

AF2 = 4000 Mbps

EF = 1000 Mbps

AF1 = –2000 Mbps

AF2 = –1500 Mbps

EF = 20% of total interface capacity

AF1 = Maximum of these two values.

  • 75% of (10,000 [interface capacity] – 2000 [capacity consumed by EF])

  • 8000 (available capacity) – 2500 (AF2 traffic)

AF2 = Maximum of these two values.

  • 25% of (10,000 [interface capacity] – 2000 [capacity consumed by EF])

  • 8000 (available capacity) – 4000 (AF1 traffic)

Service Class QoS Bound Calculations Using Multiple QoS Parameters

If service classes have policies and they are mapped to queues, Cisco Crosswork Planning calculates a QoS bound for both. Cisco Crosswork Planning then uses the lowest value of the two so as to enforce restrictions in the strictest possible manner.

Example:

Interface capacity = 10,000 Mbps

QoS bound for service class = 50%, or 5000 Mbps based on policy

QoS bound for EF queue = 7500 Mbps based on combined parameters of priority, weight, and police limit

The QoS bound for this service class is 5000 Mbps because the policy QoS bound calculation is lower.

View QoS Bounds and QoS Violations

Table 1 lists the available column options to display numeric values of the QoS bound calculations. For information on QoS values as they relate to VPNs, see Simulate VPN.

Table 6. QoS Bounds and QoS Violations

To view

Show this column in Interfaces, Circuits, or Interface queues table

Measured Traffic

Maximum capacity before a QoS bound is violated under normal operations

QoS bound meas

QoS bound as a percentage of total interface capacity

QoS bound meas (%)

QoS violations under normal operations; if the number is positive, there is a violation

QoS violation meas

QoS violation as a percent of the total interface capacity

QoS violation meas (%)

Simulated Traffic

Maximum capacity before a QoS bound is violated under normal operations

QoS bound sim

QoS bound as a percentage of total interface capacity

QoS bound sim (%)

QoS violations under normal operations; if the number is positive, there is a violation

QoS violation sim

QoS violation as a percent of the total interface capacity

QoS violation sim (%)

Worst-Case Traffic

Maximum capacity before a QoS bound is violated under worst-case operations

WC QoS bound

WC QoS bound as a percentage of total interface capacity

WC QoS bound (%)

QoS violations under worst-case operations; if the number is positive, there is a violation

WC QoS violation

WC QoS violation as a percent of the total interface capacity

WC QoS violation (%)

Service class causing the worst-case utilization

WC service class

Configure Queues and Service Classes

Create Service Classes

To create service classes, do the following:

Procedure


Step 1

Open the plan file (see Open Plan Files). It opens in the Network Design page.

Step 2

From the toolbar, choose Actions > Edit > Manage QoS. You can also click Network options and choose Manage QoS from the left pane.

Note

 

The page that opens contains service classes if they have already been created.

Step 3

Under the Service Classes section, click Add icon.

An empty row appears.

Step 4

Enter a unique name under the Name column and click the Save button.

The newly created service class appears under this section.


Create Queues

Cisco Crosswork Planning discovers queues. However, you can manually add them. Once discovered or created, queues appear in the Interface Queues table.

To create queues, do the following:

Procedure


Step 1

Open the plan file (see Open Plan Files). It opens in the Network Design page.

Step 2

From the toolbar, choose Actions > Insert > Others > Interface Queues.

OR

In the Network Summary panel on the right side, click Add icon in the Interface queues tab.

The Interface queues tab is available under the More tab. If it is not visible, then click the Show/hide tables icon (Show/Hide Tables Icon) and check the Interface queues check box.

Step 3

Select the required interfaces.

Step 4

Click Next.

Step 5

Enter the queue name.

Step 6

(Optional) Enter the queue properties of priority, weight, and police limit. For information on how these queue properties behave, see Interface Queue Properties and QoS Bound Calculations.

Step 7

Click Submit.


View Queue and Service Class Information

Table 7. Queue and Service Class Information

To View

Show or Select

Queue information

Show the Queue column in the Interface queues table (click Show/Hide Columns Icon, select the Queue check box, and click Apply).

Per-queue traffic in the Interfaces table

The Traff meas and Traff sim columns display data specific to the queue type selected.

Service class demands

Show the Service class column in the Demands table (click Show/Hide Columns Icon, select the Service class check box, and click Apply).

Create Service Class Policies

You can configure policies for undifferentiated traffic and for service classes.

To configure service class policies, do the following:

Procedure


Step 1

Open the plan file (see Open Plan Files). It opens in the Network Design page.

Step 2

From the toolbar, choose Actions > Edit > Manage QoS. You can also click Network options and choose Manage QoS from the left pane.

Step 3

Under the Service Class Policies section, click Add icon.

  1. If creating a policy for undifferentiated traffic, select the Undifferentiated Traffic option. If creating a policy for an existing service class, select the Service Class option. Then, select the service class from the Service Class drop-down list.

  2. In the Normal operation (in %) field, enter the percentage of bandwidth capacity that you do not want this interface (or group of interfaces) to exceed for this traffic or service class under normal conditions.

  3. In the Worst-case (in %) field, enter the percentage of bandwidth capacity that you do not want this interface (or group of interfaces) to exceed for this traffic or service under worst-case operating conditions.

Step 4

Click Save. These values now appear in the Manage QoS window.