How can I diagnose a network connectivity issue?

Linode Staff

I am seeing latency and packet loss when trying to connect to my Linode. How can I determine what is causing that?

1 Reply

We primarily use the MTR command to diagnose networking issues that our customers are seeing. Essentially, MTR combines both the traceroute and ping commands into a single command to provide greater clarity of the traffic that your Linode is seeing.

Installing MTR

On Linux

Debian and Ubuntu

apt-get update
apt-get upgrade
apt-get install mtr-tiny

CentOS and Fedora

yum update
yum install mtr

Arch Linux

pacman -Syu
pacman -S mtr

Windows

For Windows, you can use an application called WinMTR.

Mac OS X

With Hombrew

brew install mtr  

Running the MTR command

The following syntax will provide you with a great deal of information regarding the traffic that you are seeing. Since this runs a count of 100, it will take some time to complete.

mtr -rwzbc100 < IP address >

Reading an MTR

Example Output

~$ mtr -rwzbc100 google.com
Start: Wed May  9 08:50:17 2018
HOST: fremont                                                      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. AS63949 2600:3c01::8678:acff:fe0d:79c1                         0.0%   100    0.9   1.0   0.8   2.6   0.1
  2. AS63949 2600:3c01:3:4::1                                       0.0%   100    0.4   1.7   0.4  49.6   6.8
  3. AS63949 2600:3c01:3333:5::1                                    0.0%   100    0.6   0.9   0.5  17.1   1.8
  4. AS???   as15169.sfmix.org (2001:504:30::ba01:5169:1)           0.0%   100    3.8   4.7   3.7  52.7   5.2
  5. AS15169 2001:4860:0:1007::1                                    3.0%   100    5.4   5.5   5.2   8.0   0.3
  6. AS15169 2001:4860:0:1::967                                     4.0%   100    5.2   5.4   5.0  11.4   0.6
  7. AS15169 sfo03s18-in-x0e.1e100.net (2607:f8b0:4005:80b::200e)   0.0%   100    4.3   4.3   4.2   4.8   0.0

Each column in the MTR output pertains to a specific data point.

Loss% - The percentage of packet loss at each hop.

Snt - The number of packets sent.

Last - The latency of the last packet sent.

Avg - The average latency of all packets.

Best & Wrst - The best(shortest) and worst(longest) round trip time for a packet.

StDev - The standard deviation, which is how far the data is from the mean.

Analyzing and MTR

There are two major pieces of the MTR that you will want to focus on; Loss% and Latency.

Loss%

When you are looking at loss%, you will want to focus on loss that occurs consistently over multiple hops. When you see loss for a single hop that then drops back down to 0%, this is typically indicative of rate limiting, not actual loss.

If there is loss across multiple hops, you should focus on the loss% value in the later hops as rate limiting can also alter the loss% across a number of hops.

Latency

There are many factors to consider when looking at the latency output of an MTR. There are real world factors, such as hardware and distance or the speed allowed by an ISP, that will come into play when determining how big of an impact latency will have.

As expected, you will want to see the lowest latency possible. Also, as with Loss%, if you see a spike in latency that then drops off for subsequent hops, you will want to focus on the latency that continues through multiple hops.

Additional Information

Linode's Guides & Tutorials page has a great, in-depth, guide that offers additional details and use cases for the MTR command. You can find that at the following link.

https://linode.com/docs/networking/diagnostics/diagnosing-network-issues-with-mtr/

The Official MTR Website is also a great resource that we would recommend looking into.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct