The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
IP Service Level Agreements (IP SLAs) is a portfolio of technology embedded in most devices that run Cisco IOS XR Software, which allows you to analyze IP service levels for IP applications and services, increase productivity, lower operational costs, and reduce the frequency of network outages.
Using IP SLA, service provider customers can measure and provide service level agreements. IP SLA can perform network assessments, verify quality of service (QoS), ease the deployment of new services, and assist administrators with network troubleshooting.
![]() Note | For a complete description of the IP SLA commands used in this chapter, refer to the IP Service Level Agreement Commands on Cisco IOS XR Software module of System Management Command Reference for Cisco NCS 6000 Series Routers. |
Release |
Modification |
---|---|
Release 5.2.3 |
This feature was introduced. |
Knowledge of general networking protocols and your specific network design is assumed. Familiarity with network management applications is helpful. We do not recommend scheduling all the operations at the same time as this could negatively affect your performance.
You must be in a user group associated with a task group that includes the proper task IDs. The command reference guides include the task IDs required for each command. If you suspect user group assignment is preventing you from using a command, contact your AAA administrator for assistance.
The maximum number of IP SLA configurable operations that is supported by Cisco IOS XR Software is 2000.
The current validated scale numbers for scheduling UDP jitter operations is 100 operations with default frequency.
We do not recommend scheduling all the operations at the same start time as this may affect the performance. At the same start time, not more than 10 operations per second should be scheduled. We recommend using the start after configuration.
![]() Note | Setting the frequency to less than 60 seconds will increase the number of packets sent. But this could negatively impact the performance of IP SLA operation when scheduled operations have same start time. |
IP SLA is not HA capable.
Consider the following guidelines before configuring the frequency, timeout, and threshold commands.
IP SLA uses active traffic monitoring, which generates traffic in a continuous, reliable, and predictable manner to measure network performance. IP SLA sends data across the network to measure performance between multiple network locations or across multiple network paths. It simulates network data and IP services, and collects network performance information in real time. This information is collected:
Response times
One-way latency, jitter (interpacket delay variance)
Packet loss
Network resource availability
IP SLA originated from the technology previously known as Service Assurance Agent (SAA). IP SLA performs active monitoring by generating and analyzing traffic to measure performance, either between the router or from a router to a remote IP device such as a network application server. Measurement statistics, which are provided by the various IP SLA operations, are used for troubleshooting, problem analysis, and designing network topologies.
Internet commerce has grown significantly in the past few years as the technology has advanced to provide faster, more reliable access to the Internet. Many companies need online access and conduct most of their business on line and any loss of service can affect the profitability of the company. Internet service providers (ISPs) and even internal IT departments now offer a defined level of service—a service level agreement—to provide their customers with a degree of predictability.
Network administrators are required to support service level agreements that support application solutions. Figure 1 shows how IP SLA has taken the traditional concept of Layer 2 service level agreements and applied a broader scope to support end-to-end performance measurement, including support of applications.
Type of Improvement |
Description |
---|---|
End-to-end measurements |
The ability to measure performance from one end of the network to the other allows a broader reach and more accurate representation of the end-user experience. |
Sophistication |
Statistics, such as delay, jitter, packet sequence, Layer 3 connectivity, and path and download time, that are divided into bidirectional and round-trip numbers provide more data than just the bandwidth of a Layer 2 link. |
Accuracy |
Applications that are sensitive to slight changes in network performance require the precision of the submillisecond measurement of IP SLA. |
Ease of deployment |
Leveraging the existing Cisco devices in a large network makes IP SLA easier to implement than the physical operations that are often required with traditional service level agreements. |
Application-aware monitoring |
IP SLA can simulate and measure performance statistics generated by applications running over Layer 3 through Layer 7. Traditional service level agreements can measure only Layer 2 performance. |
Pervasiveness |
IP SLA support exists in Cisco networking devices ranging from low-end to high-end routers and switches. This wide range of deployment gives IP SLA more flexibility over traditional service level agreements. |
This table lists the benefits of implementing IP SLA.
Benefit |
Description |
---|---|
IP SLA monitoring |
Provides service level agreement monitoring, measurement, and verification. |
Network performance monitoring |
Measure the jitter, latency, or packet loss in the network. In addition, IP SLA provides continuous, reliable, and predictable measurements along with proactive notification. |
IP service network health assessment |
Verifies that the existing QoS is sufficient for the new IP services. |
Troubleshooting of network operation |
Provides consistent, reliable measurement that immediately identifies problems and saves troubleshooting time. |
IP SLA uses generated traffic to measure network performance between two networking devices, such as routers. Figure 1 shows how IP SLA starts when the IP SLA device sends a generated packet to the destination device. After the destination device receives the packet and if the operation uses an IP SLA component at the receiving end (for example, IP SLA Responder), the reply packet includes information about the delay at the target device. The source device uses this information to improve the accuracy of the measurements. An IP SLA operation is a network measurement to a destination in the network from the source device using a specific protocol, such as User Datagram Protocol (UDP) for the operation.
In responder-based operations, the IP SLA Responder is enabled in the destination device and provides information such as the processing delays of IP SLA packets. The responder-based operation offers the capability of unidirectional measurements. In replies to the IP SLA source device, the responder includes information about processing delays. The IP SLA source device removes the delays in its final performance calculation. Use of the responder is required for the UDP jitter operation.
To implement IP SLA network performance measurement, perform these tasks:
Enable the IP SLA Responder, if appropriate.
Configure the required IP SLA operation type.
Configure any options available for the specified IP SLA operation type.
Configure reaction conditions, if required.
Schedule the operation to run. Then, let the operation run for a period of time to gather statistics.
Display and interpret the results of the operation using Cisco IOS XR Software CLI, XML, or an NMS system with SNMP.
IP SLA configures UDP jitter operations. It measures round-trip delay, one-way delay, one-way jitter, two-way jitter, and one-way packet loss.
The IP SLA Responder is a component embedded in the destination Cisco routing device that allows the system to anticipate and respond to IP SLA request packets. The IP SLA Responder provides enhanced accuracy for measurements. The patented IP SLA Control Protocol is used by the IP SLA Responder, providing a mechanism through which the responder is notified on which port it should listen and respond. Only a Cisco IOS XR Software device or other Cisco platforms can be a source for a destination IP SLA Responder.
Figure 1 shows where the IP SLA Responder fits relative to the IP network. The IP SLA Responder listens on a specific port for control protocol messages sent by an IP SLA operation. Upon receipt of the control message, the responder enables the UDP port specified in the control message for the specified duration. During this time, the responder accepts the requests and responds to them. The responder disables the port after it responds to the IP SLA packet or packets, or when the specified time expires. For added security, MD5 authentication for control messages is available.
![]() Note | The IP SLA responder needs at least one second to open a socket and program Local Packet Transport Services (LPTS). Therefore, configure the IP SLA timeout to at least 2000 milli seconds. |
The IP SLA Responder must be used with the UDP jitter operation. If services that are already provided by the target router are chosen, the IP SLA Responder need not be enabled. For devices that are not Cisco devices, the IP SLA Responder cannot be configured, and the IP SLA can send operational packets only to services native to those devices.
T3 is the time the reply packet is sent at the IP SLA Responder node, and T1 is the time the request is sent at the source node. Because of other high-priority processes, routers can take tens of milliseconds to process incoming packets. The delay affects the response times, because the reply to test packets might be sitting in a queue while waiting to be processed. In this situation, the response times would not accurately represent true network delays. IP SLA minimizes these processing delays on the source router and on the target router (if IP SLA Responder is being used) to determine true round-trip times. Some IP SLA probe packets contain delay information that are used in the final computation to make measurements more accurate.
When enabled, the IP SLA Responder allows the target device to take two time stamps, both when the packet arrives on the interface and again just as it is leaving, and accounts for it when calculating the statistics. This time stamping is made with a granularity of submilliseconds.
Figure 1 shows how the responder works. Four time stamps are taken to make the calculation for round-trip time. At the target router, with the responder functionality enabled, time stamp 2 (TS2) is subtracted from time stamp 3 (TS3) to produce the time spent processing the test packet as represented by delta. This delta value is then subtracted from the overall round-trip time. Notice that the same principle is applied by IP SLA on the source router on which the incoming time stamp 4 (TS4) is taken in a high-priority path to allow for greater accuracy.
![]() Note | Multiple SLA probes with the same configuration (source and port number) must not be scheduled to run simultaneously. |
This section describes the proactive monitoring capabilities for IP SLA that use thresholds and reaction triggering. IP SLA allows you to monitor, analyze, and verify IP service levels for IP applications and services to increase productivity, lower operational costs, and reduce occurrences of network congestion or outages. IP SLA uses active traffic monitoring to measure network performance.
To perform the tasks that are required to configure proactive threshold monitoring using IP SLA, you must understand these concepts:
IP SLA is configured to react to certain measured network conditions. For example, if IP SLA measures too much jitter on a connection, IP SLA can generate a notification to a network management application or trigger another IP SLA operation to gather more data.
IP SLA reaction configuration is performed by using the ipsla reaction operation command.
IP SLA supports threshold monitoring for performance parameters, such as jitter-average, bidirectional round-trip time, and connectivity. For packet loss and jitter, notifications can be generated for violations in either direction (for example, the source to the destination and the destination to the source) or for round-trip values.
The IP SLA UDP jitter monitoring operation is designed to diagnose network suitability for real-time traffic applications such as VoIP, Video over IP, or real-time conferencing.
Jitter means interpacket delay variance. When multiple packets are sent consecutively from source to destination—for example, 10 ms apart—and if the network is behaving ideally, the destination can receive them 10 ms apart. But if there are delays in the network (for example, queuing, arriving through alternate routes, and so on), the arrival delay between packets can be greater than or less than 10 ms. Using this example, a positive jitter value indicates that the packets arrived more than 10 ms apart. If the packets arrive 12 ms apart, positive jitter is 2 ms; if the packets arrive 8 ms apart, negative jitter is 2 ms. For delay-sensitive networks like VoIP, positive jitter values are undesirable, and a jitter value of 0 is ideal.
However, the IP SLA UDP jitter operation does more than just monitor jitter. The packets that IP SLA generates carry sending sequence and receiving sequence information for the packets, and sending and receiving time stamps from the source and the operational target. Based on these, UDP jitter operations are capable of measuring the following functions:
Per-direction jitter (source to destination and destination to source)
Per-direction packet-loss
Per-direction delay (one-way delay)
Round-trip delay (average round-trip time)
As the paths for the sending and receiving of data may be different (asymmetric), the per-direction data allows you to more readily identify where congestion or other problems are occurring in the network.
The UDP jitter operation functions by generating synthetic (simulated) UDP traffic. By default, ten packet-frames (N), each with a payload size of 32 bytes (S) are generated every 20 ms (T), and the operation is repeated every 60 seconds (F). Each of these parameters is user-configurable, so as to best simulate the IP service you are providing, or want to provide.
This section contains these procedures:
The IP SLA Responder must be enabled on the target device, which is the operational target.
By configuring the ipsla responder command, you make the IP SLA Responder open a UDP port 1967 and wait for a control request (not for probes). You can open or close a port dynamically through the IP SLA control protocol (through UDP port 1967). In addition, you can configure permanent ports.
Permanent ports are open until the configuration is removed. Agents can send IP SLA probe packets to the permanent port directly without a control request packet because the port can be opened by the configuration.
If you do not use permanent ports, you have to configure only the ipsla responder command.
To use a dynamic port, use the ipsla responder command, as shown in this example:
configure ipsla responder
The dynamic port is opened through the IP SLA control protocol on the responder side when you start an operation on the agent side.
The example is configured as a permanent port on the responder. UDP jitter can use a dynamic port or a permanent port. If you use a permanent port for UDP jitter, there is no check performed for duplicated or out-of-sequence packets. This is because there is no control packet to indicate the start or end of the probe sequence. Therefore, the verification for sequence numbers are skipped when using permanent ports.
1.
configure
2.
ipsla
responder
3.
type
udp
ipv4
address
ip-address
port
port
4.
commit
After enabling the IP SLA Responder, see the Configuring and Scheduling a UDP Jitter Operation on the Source Device section.
The IP SLA operations function by generating synthetic (simulated) network traffic. A single IP SLA operation (for example, IP SLA operation 10) repeats at a given frequency for the lifetime of the operation.
A single UDP jitter operation consists of N UDP packets, each of size S, sent T milliseconds apart, from a source router to a target router, at a given frequency of F. By default, ten packets (N), each with a payload size of 32 bytes (S), are generated every 20 ms (T), and the operation is repeated every 60 seconds (F). Each of these parameters is user configurable, as shown in Table 1.
UDP Jitter Operation Parameter |
Default |
Configured Using |
---|---|---|
Number of packets (N) |
10 packets |
|
Payload size per packet (S) |
32 bytes |
|
Time between packets, in milliseconds (T) |
20 ms |
|
Elapsed time before the operation repeats, in seconds (F) |
60 seconds |
![]() Note | If the control disable command is used to disable control packets while configuring IP SLA, the packets sent out from sender do not have sequence numbers. To calculate jitter, sequence number and time stamp values are required. So, jitter is not calculated when you use the control disable command. |
Use of the UDP jitter operation requires that the IP SLA Responder be enabled on the target Cisco device. To enable the IP SLA Responder, perform the task in the Enabling the IP SLA Responder on the Destination Device section.
You can configure and schedule a UDP jitter operation.
1.
configure
2.
ipsla operation
operation-number
3.
type
udp
jitter
4.
destination address
ipv4address
5.
destination port
port
6.
packet
count
count
7.
packet interval
interval
8.
frequency
seconds
9.
exit
10.
ipsla schedule operation
op-num
11. life { forever | seconds}
12.
ageout
seconds
13.
recurring
14.
start-time [hh:mm:ss {day |
month
day} |
now
|
pending |
after
hh:mm:ss]
15.
commit
You can configure and schedule a UDP jitter operation.
1.
configure
2.
ipsla operation
operation-number
3.
type
udp
jitter
4.
vrf
vrf-name
5.
destination address
ipv4address
6.
destination port
port
7.
frequency
seconds
8.
statistics [hourly |
interval
seconds]
9.
buckets
hours
10.
distribution count
slot
11.
distribution interval
interval
12.
exit
13.
datasize
request
size
14.
timeout
milliseconds
15.
tos
number
16.
exit
17.
ipsla schedule operation
op-num
18.
life {forever |
seconds}
19.
ageout
seconds
20.
recurring
21.
start-time [hh:mm:ss {day |
month
day} |
now
|
pending |
after
hh:mm:ss ]
22.
commit
23.
show ipsla statistics
[operation-number ]
24.
show ipsla statistics
aggregated [operation-number ]
If you want IP SLA to set some threshold and inform you of a threshold violation, the ipsla reaction operation command and the ipsla reaction trigger command are required. Perform the following procedures to configure IP SLA reactions and threshold monitoring:
IP SLA reactions are configured to be triggered when a monitored value exceeds or falls below a specified level or a monitored event (for example, timeout or connection-loss) occurs. These monitored values and events are called monitored elements. You can configure the conditions for a reaction to occur in a particular operation.
The types of monitored elements that are available are presented in the following sections:
You can configure a reaction if there is a connection-loss for the monitored operation.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [connection-loss]
4.
commit
Jitter values are computed as source-to-destination and destination-to-source values. Events, for example, traps, can be triggered when the jitter value in either direction or both directions rises above a specified threshold or falls below a specified threshold. You can configure jitter-average as a monitored element.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [jitter-average {dest-to-source |
source-to-dest}]
4.
commit
Packet-loss values are computed as source-to-destination and destination-to-source values. Events, for example, traps, can be triggered when the packet-loss values in either direction rise above a specified threshold or fall below a specified threshold. Perform this task to configure packet-loss as a monitored element.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [packet-loss [dest-to-source |
source-to-dest]]
4.
commit
Round-trip time (RTT) is a monitored value of all IP SLA operations. Events, for example, traps, can be triggered when the rtt value rises above a specified threshold or falls below a specified threshold. You can configure rtt as a monitored element.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [rtt]
4.
commit
You can configure triggers for timeout violations.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [timeout]
4.
commit
You can specify a reaction if there is an error verification violation.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [verify-error]
4.
commit
For each monitored element, you can specify:
Condition to check for the threshold value.
Pattern of occurrences of the condition that can generate the reaction, such as a threshold type.
For example, you can specify that a reaction can occur for a particular element as soon as you observe the condition of interest by using the threshold type immediate command or when you observe the condition for three consecutive times by using the threshold type consecutive command.
The type of threshold defines the type of threshold violation (or combination of threshold violations) that triggers an event.
Type of Threshold Violation |
Description |
---|---|
consecutive |
Triggers an event only after a violation occurs a number of times consecutively. For example, the consecutive violation type can be used to configure an action to occur after a timeout occurs five times in a row or when the round-trip time exceeds the upper threshold value five times in a row. For more information, see Generating Events for Consecutive Violations. |
immediate |
Triggers an event immediately when the value for a reaction type (such as response time) exceeds the upper threshold value or falls below the lower threshold value or when a timeout, connection-loss, or verify-error event occurs. For more information, see Generating Events for Each Violation. |
X of Y |
Triggers an event after some number (X) of violations within some other number (Y) of probe operations (X of Y). For more information, see Generating Events for X of Y Violations. |
averaged |
Triggers an event when the averaged totals of a value for X number of probe operations exceeds the specified upper-threshold value or falls below the lower-threshold value. For more information, see Generating Events for Averaged Violations. |
You can generate a trap or trigger another operation each time a specified condition is met.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [connection-loss |
jitter-average {dest-to-source |
source-to-dest} |
packet-loss [dest-to-source |
source-to-dest] |
rtt |
timeout |
verify-error]
4.
threshold
type
immediate
5.
commit
You can generate a trap or trigger another operation after a certain number of consecutive violations.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [connection-loss |
jitter-average {dest-to-source |
source-to-dest} |
packet-loss [dest-to-source |
source-to-dest] |
rtt |
timeout |
verify-error]
4.
threshold type consecutive
occurrences
5.
commit
You can generate a trap or trigger another operation after some number (X) of violations within some other number (Y) of probe operations (X of Y). The react command with the rtt keyword is used as an example.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [connection-loss |
jitter-average {dest-to-source |
source-to-dest} |
packet-loss [dest-to-source |
source-to-dest] |
rtt |
timeout |
verify-error]
4.
threshold type xofy
X value Y
value
5.
commit
You can generate a trap or trigger another operation when the averaged totals of X number of probe operations violate a falling threshold or rising threshold.
1.
configure
2.
ipsla reaction operation
operation-number
3. react [connection-loss | jitter-average {dest-to-source | source-to-dest} | packet-loss [dest-to-source | source-to-dest] | rtt | timeout | verify-error]
4.
threshold type average
number-of-probes
5.
commit
When a reaction condition is detected, you can configure the type of action that occurs by using the action command. The following types of actions are configured:
logging—When the logging keyword is configured, a message is generated to the console to indicate that a reaction has occurred.
trigger—When the trigger keyword is configured, one or more other operations can be started. As a result, you can control which operations can be started with the ipsla reaction trigger op1 op2 command. This command indicates when op1 generates an action type trigger and operation op2 can be started.
You can specify reaction events. The react command with the connection-loss keyword is used as an example.
1.
configure
2.
ipsla reaction operation
operation-number
3.
react [connection-loss |
jitter-average {dest-to-source |
source-to-dest} |
packet-loss [dest-to-source |
source-to-dest] |
rtt |
timeout |
verify-error]
4.
action [logging |
trigger]
5.
commit
This section provides these configuration examples:
The following example shows how to configure and schedule a UDP jitter operation:
configure ipsla operation 101 type udp jitter destination address 12.2.0.2 statistics hourly buckets 5 distribution count 5 distribution interval 1 ! destination port 400 statistics interval 120 buckets 5 ! ! ! schedule operation 101 start-time now life forever ! ! show ipsla statistics Fri Nov 28 16:48:48.286 GMT Entry number: 101 Modification time: 16:39:36.608 GMT Fri Nov 28 2014 Start time : 16:39:36.633 GMT Fri Nov 28 2014 Number of operations attempted: 10 Number of operations skipped : 0 Current seconds left in Life : Forever Operational state of entry : Active Operational frequency(seconds): 60 Connection loss occurred : FALSE Timeout occurred : FALSE Latest RTT (milliseconds) : 3 Latest operation start time : 16:48:37.653 GMT Fri Nov 28 2014 Next operation start time : 16:49:37.653 GMT Fri Nov 28 2014 Latest operation return code : OK RTT Values: RTTAvg : 3 RTTMin: 3 RTTMax : 4 NumOfRTT: 10 RTTSum: 33 RTTSum2: 111 Packet Loss Values: PacketLossSD : 0 PacketLossDS : 0 PacketOutOfSequence: 0 PacketMIA : 0 PacketLateArrival : 0 PacketSkipped: 0 Errors : 0 Busies : 0 InvalidTimestamp : 0 Jitter Values : MinOfPositivesSD: 1 MaxOfPositivesSD: 1 NumOfPositivesSD: 2 SumOfPositivesSD: 2 Sum2PositivesSD : 2 MinOfNegativesSD: 1 MaxOfNegativesSD: 1 NumOfNegativesSD: 1 SumOfNegativesSD: 1 Sum2NegativesSD : 1 MinOfPositivesDS: 1 MaxOfPositivesDS: 1 NumOfPositivesDS: 1 SumOfPositivesDS: 1 Sum2PositivesDS : 1 MinOfNegativesDS: 1 MaxOfNegativesDS: 1 NumOfNegativesDS: 1 SumOfNegativesDS: 1 Sum2NegativesDS : 1 JitterAve: 1 JitterSDAve: 1 JitterDSAve: 1 Interarrival jitterout: 0 Interarrival jitterin: 0 One Way Values : NumOfOW: 0 OWMinSD : 0 OWMaxSD: 0 OWSumSD: 0 OWSum2SD: 0 OWAveSD: 0 OWMinDS : 0 OWMaxDS: 0 OWSumDS: 0 OWSum2DS: 0 OWAveDS: 0
configure ipsla operation 101 type udp jitter destination address 12.2.0.2 statistics hourly buckets 5 distribution count 5 distribution interval 1 exit destination port 400 statistics interval 120 buckets 5 exit exit exit reaction operation 101 react timeout action trigger threshold type immediate exit react rtt action logging threshold lower-limit 4 upper-limit 5 exit exit schedule operation 101 start-time now life forever exit exit