This document describes methods for measuring delay, jitter, and packet loss on the data network using Cisco IOS® Service Assurance Agent (SAA) and Round Trip Time Monitor (RTTMON) features and Cisco routers.

With the emergence of new applications on data networks, it is becoming increasingly important for customers to accurately predict the impact of new application rollouts. Not long ago, it was easy to allocate bandwidth to applications and let the applications adapt to the exploding nature of traffic flows through timeout and retransmission functions of the upper layer protocols. Now, however, new world applications, such as voice and video, are more susceptible to changes in the transmission characteristics of data networks. It is imperative to understand the traffic characteristics of the network before deployment of new world applications to ensure successful implementations.

Voice over IP (VoIP) is susceptible to network behaviors, referred to as delay and jitter, which can degrade the voice application to the point of being unacceptable to the average user. Delay is the time taken from point-to-point in a network. Delay can be measured in either one-way or round-trip delay. One-way delay calculations require expensive sophisticated test gear and are beyond the budget and expertise of most enterprise customers. However, measuring round-trip delay is easier and requires less expensive equipment. To get a general measurement of one-way delay, measure round-trip delay and divide the result by two. VoIP typically tolerates delays up to 150 ms before the quality of the call is unacceptable.

Jitter is the variation in delay over time from point-to-point. If the delay of transmissions varies too widely in a VoIP call, the call quality is greatly degraded. The amount of jitter tolerable on the network is affected by the depth of the jitter buffer on the network equipment in the voice path. The more jitter buffer available, the more the network can reduce the effects of jitter.

Packet loss is losing packets along the data path, which severely degrades the voice application.

Prior to deploying VoIP applications, it is important to assess the delay, jitter, and packet loss on the data network in order to determine if the voice applications work. The delay, jitter, and packet loss measurements can then aid in the correct design and configuration of traffic prioritization, as well as buffering parameters in the data network equipment.

The SAA and RTTMON MIB are Cisco IOS software features available in versions 12.0 (5)T and higher. These features enable you to test and collect delay, jitter, and packet loss statistics on the data network. Internetwork Performance Monitor (IPM) is a Cisco network management application that can configure the features and monitor the SAA and RTTMON data. The SAA and RTTMON features can be used to measure delay, jitter, and packet loss by deploying small Cisco IOS routers as agents to simulate customer end stations. The routers are referred to as delay and jitter probes. Additionally, the delay and jitter probes can be configured with the remote monitoring (RMON) alarm and event triggers once baseline values have been determined. This allows the delay and jitter probes to monitor the network for predetermined delay and jitter service levels and alert network management system (NMS) stations when a threshold is exceeded.

Delay and jitter can be measured by deploying Cisco routers 17xx or higher with Cisco IOS software code version 12.05T or higher, and configuring the Cisco IOS SAA features. The routers should be placed in the campus networks next to hosts. This provides statistics for end-to-end connections. Since it is not practical to measure every possible voice path in the network, place the probes in typical host locations providing for a statistical sampling of typical voice paths. Some examples include:

In the case of VoIP deployments using traditional phones connected to Cisco routers using Foreign Exchange Station (FXS) ports, use the router connected to the phones to serve as the delay and jitter probes. Once deployed, the probe collects statistics and populates Simple Network Management Protocol (SNMP) MIB tables in the router. The data can then be accessed either through the Cisco IPM application or through SNMP polling tools. Additionally, once baseline values have been established, SAA can be configured to send alerts to an NMS station if thresholds for delay, jitter, and packet loss are exceeded.

One of the strengths of using SAA as the testing mechanism is that a voice call can be simulated. For example, imagine you want to simulate a G.711 voice call. You know that it uses RTP/UDP ports 14384 and above, it is approximately 64 kb/s, and the packet size is 200 bytes {(160 bytes of payload + 40 bytes for IP/UDP/RTP (uncompressed) }.You can simulate that type of traffic by setting up the SAA Delay/Jitter Probe as shown below.

The delay and jitter probes begin collecting data that is subsequently placed in SNMP MIB tables. The rttMonStats table provides a one hour average of all the jitter operations for the last hour. The rttMonLatestJitterOper table provides the values of the last operation completed. For general statistics on delay and jitter, poll the rttMonStats table every hour. For more granular statistics, poll the rttMonLatestJitterOper table at a higher frequency level than the jitter operation. For example, if the delay and jitter probe is calculating jitter every five minutes, do not poll the MIB at any interval less than five minutes.

The following screen capture shows data from the rttMonJitterStatsTable gathered from an HP OpenView Network Node Manager MIB poll.

SAA Report Example

The following SAA data graph is a compilation of delay, jitter, and packet loss data points over an eight-hour period for one pair of delay and jitter probes.

Command Line Data Examples

The data can also be viewed using the Cisco IOS show command at the command line on the delay and jitter probes. A Perl Expect script can be used to gather data from the command line and export it to a text file for later analysis. Additionally, the command line data can also be used for real time monitoring and troubleshooting of delay, jitter, and packet loss.

The following example shows the command output from the show rtr collection-stats command on the saarouter1 router.

There are several ways to monitor the delay, jitter, and packet loss levels in the network once baseline values have been established through the initial data collection. One way is to use the SAA threshold command. Another is to use a feature in the Cisco IOS mainline code called RMON Alarm and Event.

The SAA feature set threshold command sets the rising threshold (hysteresis) that generates a reaction event and stores history information for the operation. The following SAA threshold configuration on the delay and jitter probe enables the monitoring of jitter and creates an SNMP trap upon the violation of a 5 ms threshold.

The delay and jitter probes monitor predetermined thresholds using either the SAA Cisco IOS features, or the Cisco IOS RMON alarm and event method. In either case, the router monitors delay, jitter, and packet loss and alerts NMS stations of threshold violations via SNMP traps.

The following RMON alarm and event trap configuration causes saarouter1 to generate an SNMP trap if the rising threshold exceeds 140 ms maximum round-trip time. It also sends another trap when the maximum round-trip time falls back below 100 ms. The trap is then sent to the log on the router, as well as to the NMS station 172.16.71.19.