What is jitter?
Jitter is any deviation in, or displacement of, the signal pulses in a high-frequency digital signal. The deviation can be in terms of amplitude, phase timing or the width of the signal pulse.
Jitter can cause a display monitor to flicker, affect the ability of the processor in a desktop or server to perform as intended, introduce clicks or other undesired effects in audio signals, and lead to loss of transmitted data between network devices. The amount of allowable jitter is highly dependent on the application.
Jitter in Internet Protocol (IP) networks is the variation in the latency on a packet flow between two systems when some packets take longer to travel from one system to the other. Jitter results from network congestion, timing drift and route changes.
Jitter is especially problematic in real-time communications, such as IP telephony and video conferencing. It is also a serious problem for hosted desktops and virtual desktop infrastructure (VDI). Jitter can lead to audio and video artifacts -- unintended deviation or inconsistency -- that degrade the quality of communications.
What causes jitter?
Causes of jitter include the following:
- Poor hardware performance. Using an outdated network with older equipment, such as an outdated switch, cable or router, can cause network jitter.
- Not enough bandwidth. Networks overcrowded with traffic will perform poorly because too many active devices are using bandwidth.
- Wireless network jitter. One of the drawbacks of using a wireless network is an inferior network connection. Using a wired connection helps ensure that video and voice call systems provide a better user experience (UX).
- Not implementing packet prioritization. For voice over IP (VoIP) systems in particular, jitter occurs when audio data is not prioritized to be delivered before other types of traffic.
Types of jitter
Types of jitter include the following:
- Constant jitter. A generally constant level of packet-to-packet delay variation.
- Transient jitter. Characterized by a significant incremental delay that may be incurred by a single packet.
- Short-term delay variation. Characterized by an increase in delay that continues for some number of packets, which may be accompanied by an increase in packet-to-packet delay variation. This type of jitter is typically associated with congestion and route changes.
Metrics for measuring jitter, how to conduct a jitter test
Measuring jitter consists of calculating the average packet-to-packet delay time. This can be done in a variety of ways depending on the type of traffic:
- Voice traffic. This is measured based on if the user has control over one endpoint or both endpoints.
- Single endpoint. This is measured by calculating the mean round-trip time (RTT) and the minimum round-trip time of a series of voice packets, known as a ping jitter test. RTT is the time it takes for a signal pulse or packet to travel from a specific source to a specific destination and back again.
- Double endpoint. This can be measured using the instantaneous jitter measurement, which refers to the variation between the transmitting and receiving intervals for one packet.
- Bandwidth testing. Performing a bandwidth test can also determine the level of jitter, which evaluates the upload and download speeds of the user's internet connection, jitter times and the overall capacity of the network.
The easiest way to test jitter is by performing a bandwidth test. This can help users determine if their high jitter is caused by their internet providers. With bandwidth testing, files are sent over a network to a specific computer, and the time required for the files to download at the destination is measured. This determines a theoretical data speed between the two points, which is measured in kilobits per second (Kbps) or megabits per second (Mbps).
However, bandwidth tests can vary significantly as testing can be affected by internet traffic, file sizes, noise on data lines and load demand on the server at the time of testing. Users should conduct bandwidth tests several times to identify an average throughput.
What's an acceptable level of jitter?
If possible, jitter should be below 30 milliseconds, packet loss should be no greater than 1% and network latency should not be more than 150 ms one way and 300 ms RTT.
A small amount of jitter likely won't be a big problem because low jitter levels probably won't noticeably affect connectivity.
However, some services and applications have higher levels of tolerance for jitter than others. For instance, jitter affects voice changes more than it does sending emails. Consequently, it comes down to what users want to accept as irregularities and fluctuations in data transfers, although poor audio and video quality result in poor UX.
How to reduce jitter
There are a number of ways to reduce jittering, including the following:
- Using jitter buffering. A jitter buffer can mitigate the effects of jitter, either in the network on a router or switch or on a computer. The application consuming the network packets essentially receives them from the buffer instead of directly. They are fed out of the buffer at a regular rate, smoothing out the variations in timing of packets flowing into the buffer.
- Upgrading the ethernet cable. One of the causes of jitter is outdated cables and switches. New cables can potentially solve ethernet jitter because they can transmit data at 250 megahertz (MHz). Older cables can only transmit data at 125 MHz.
- Reducing unnecessary bandwidth use during working hours. Using a lot of bandwidth for activities that are not work-related, such as streaming videos or network gaming, can make jitter worse.
- Scheduling updates outside of work times. Updating applications and operating systems (OSes) should be done outside working hours to free up capacity for more critical communications.
Other techniques for mitigating jitter where multiple pathways for traffic are available is to selectively route traffic along the most stable paths or to always pick the path that can come closest to the targeted packet delivery rate.
Network monitoring tools
Network monitoring tools can measure and display data about jitter and other negative aspects of the network. These tools include the following.
SolarWinds VoIP and Network Quality Manager (VNQM)
This tool closely monitors VoIP calls and call detail records and measures the performance metrics -- jitter, latency, packet loss and mean opinion score (MOS). It is specifically designed to check the quality of VoIP calls for current jitter and maximum jitter, which helps gauge performance at a more detailed level, monitor the quality of the VoIP traffic and enable users to quickly troubleshoot any issues. This software enables users to analyze call detail records from Cisco Unified Communications Manager and Avaya Aura Communication Manager.
Key features include the following:
- real-time wide area network (WAN) monitoring;
- troubleshooting VoIP call quality problems;
- visual VoIP call path trace; and
- Cisco VoIP gateway and Primary Rate Interface (PRI) trunk monitoring.
PRTG (Paessler Router Traffic Grapher) Network Monitor
This software can detect jitter and continuously monitor it. This tool uses sensors to monitor separate elements within a device. One sensor typically monitors one measured value in a network, e.g., the traffic of a switch port, the CPU load of a server or the free space of a disk drive. On average, a user needs about five to 10 sensors per device or one sensor per switch port.
PRTG Network Monitor comes with four different sensors to help users monitor network jitter:
- Quality of Service (QoS) Round Trip Sensor. Monitors the quality of the connection. It measures and displays network jitter (in ms), packet loss, latency and MOS.
- QoS One Way Sensor. Keeps track of the quality of the connection between two PRTG probes. It measures and displays jitter, loss, latency and MOS.
- Cisco IP SLA Sensor. Uses Simple Network Management Protocol (SNMP) to monitor Cisco IP SLA (service-level agreement). It also measures and displays jitter.
- Ping Jitter Sensor. Only for jitter, it uses a series of pings to measure and calculate jitter.