Understanding IP SLA (Service-Level Agreement)

Cisco IP SLA enables continuous monitoring of network performance using numerous network parameters, and it supports static routes, policy-based routing (PBR), and dynamic routing protocols. Many types of probes may be configured to monitor traffic in a network environment which include:

  • Delay
  • Jitter
  • Packet loss
  • Packet sequencing
  • Path
  • Connectivity
  • Website and server download time
  • Voice quality scores

 

IP Service-Level Agreements offer several customizable network monitoring methods. Any SLA obtained from a service provider typically only monitors or ensures traffic as it traverses the service provider’s network, as shown in the image below. It does not deliver end-to-end SLA or visibility, but it can significantly help with troubleshooting.

IP SLA

 

IP SLA Configuration

The ICMP echo operation can be considered testing reachability by utilizing ICMP echo and echo replies or pings. The topology below will be used for the Cisco IP SLA configuration example.

ICMP Echo Operation

The ‘ip sla <operation-number>’ command is used to specify the individual IP SLA probe and to configure IP SLA operations. Multiple instances can be configured for different operations on a single device. The context of help ‘?’ is entered to check the supported operations:

Router1(config)#ip sla 1
Router1(config-ip-sla)#?
IP SLAs entry configuration commands:
dhcp DHCP Operation
dns DNS Query Operation
ethernet Ethernet Operations
exit Exit Operation Configuration
ftp FTP Operation
http HTTP Operation
icmp-echo ICMP Echo Operation
icmp-jitter ICMP Jitter Operation
mpls MPLS Operation
path-echo Path Discovered ICMP Echo Operation
path-jitter Path Discovered ICMP Jitter Operation
tcp-connect TCP Connect Operation
udp-echo UDP Echo Operation
udp-jitter UDP Jitter Operation
voip Voice Over IP Operation

 

In this example, icmp-echo will be configured. Enter the destination IP address of the monitored device or host using the command:

icmp-echo {<destination-ip-address> | <destination-hostname>} [source-ip {<ip-address> | <hostname>} | source-interface <interface-name>]

 

Next, define how often the ICMP echo operation should be performed using the ‘frequency <seconds>’ command. Then, schedule and activate the operation using the following command:

ip sla schedule <operation-number> [life {forever | <seconds>}] [start-time {[hh:mm:ss] [<month day> | <day month>] | pending | now | after <hh:mm:ss>}] [ageout <seconds>] [recurring]

 

The configuration on Router1 is as follows:

Router1(config)#ip sla 1
Router1(config-ip-sla)#icmp-echo 192.168.20.20
Router1(config-ip-sla-echo)#frequency 100
Router1(config-ip-sla-http)# end
Router1# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip sla schedule 1 start-time now life forever

 

The configuration can be verified using the ‘show ip sla statistics’ command or the following command:

Router1#show ip sla configuration
IP SLAs Infrastructure Engine-III
Entry number: 1
Owner:
Tag:
Operation timeout (milliseconds): 5000
Type of operation to perform: icmp-echo
Target address/Source address: 192.168.20.20/0.0.0.0
Type Of Service parameter: 0x0
Request size (ARR data portion): 28
Verify data: No
Vrf Name:
Schedule:
Operation frequency (seconds): 100 (not considered if randomly scheduled)
Next Scheduled Start Time: Start Time already passed
Group Scheduled : FALSE
Randomly Scheduled : FALSE
Life (seconds): Forever
Entry Ageout (seconds): never
Recurring (Starting Everyday): FALSE
Status of entry (SNMP RowStatus): Active
Threshold (milliseconds): 5000
Distribution Statistics:
Number of statistic hours kept: 2
Number of statistic distribution buckets kept: 1
Statistic distribution interval (milliseconds): 20
Enhanced History:
History Statistics:
Number of history Lives kept: 0
Number of history Buckets kept: 15
History Filter Type: None

 

Using the same topology, let’s configure an HTTP operation on Router1. The HTTP GET probe will be configured using the command:

http {get | raw} <url> [name-server <ip-address>] [version <version-number>] [source-ip {<ip-address> | <hostname>}] [source-port <port-number>] [cache {enable | disable}] [proxy <proxy-ur>l]

 

Then, schedule and activate the operation. The configuration for the HTTP Get operation on Router1 is:

Router1(config)# ip sla 2
Router1(config-ip-sla)# http get http://192.168.20.20
Router1(config-ip-sla-http)# frequency 205
Router1(config-ip-sla-http)# end
Router1# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router1# ip sla schedule 2 start-time now life forever

 

Now, verify the HTTP operation configuration:

Router1# show ip sla configuration 2
IP SLAs Infrastructure Engine-III
Entry number: 2
Type of operation to perform: http
Target address/Source address: 192.168.20.20/0.0.0.0
Target port/Source port: 80/0
Type Of Service parameters: 0x0
Vrf Name:
HTTP Operation: get
HTTP Server Version: 1.0
URL: http://192.168.20.20
Proxy:
Raw String(s):
Cache Control: enable
Owner:
Tag:
Operation timeout (milliseconds): 60000
Schedule:
Operation frequency (seconds): 205 (not considered if randomly scheduled)
Next Scheduled Start Time: Start Time already passed
Group Scheduled : FALSE
Randomly Scheduled : FALSE
Life (seconds): Forever
Entry Ageout (seconds): never
Recurring (Starting Everyday): FALSE
Status of entry (SNMP RowStatus): Active
Threshold (milliseconds): 5000
Distribution Statistics:
Number of statistic hours kept: 2
Number of statistic distribution buckets kept: 1
Statistic distribution interval (milliseconds): 20
History Statistics:
Number of history Lives kept: 0
Number of history Buckets kept: 15
History Filter Type: None

Download our Free CCNA Study Guide PDF for complete notes on all the CCNA 200-301 exam topics in one book.

We recommend the Cisco CCNA Gold Bootcamp as your main CCNA training course. It’s the highest rated Cisco course online with an average rating of 4.8 from over 30,000 public reviews and is the gold standard in CCNA training: