Troubleshooting Internet Connectivity

This evening, I noticed that I was having some horrible Internet connectivity issues, from home. Trying to stream anything online? Forget it. Frustrated, I started troubleshooting the issue, fully expecting that I would end up opening up a trouble ticket with my ISP, sending them all my available troubleshooting information, and asking them to resolve their issue.

Turns out, the issue was a simple fix - on my side, but I figured that I would provide my troubleshooting steps as a learning experience for anybody whom runs across this page.

Background information: My home Internet connectivity is provided by Cable Internet with a 30Mbps downstream / 5Mbps upstream.

The first thing that I did was go to http://speedtest.rackspace.com. From this page, you can run the OOKLA speedtest application from any of their data centers. This provides excellent information on download & upload speeds, latency, and jitter. I ran the test from the Dallas and Chicago data centers. Right off the bat, I noticed that I was getting a fraction of the download speed that my Internet service is configured for. This can be seen below:

This immediately pointed to a real issue, but I didn’t yet have all the information that I needed to take to my ISP. Next, I used an application called MTR. MTR is a traceroute application, that when ran correctly makes it visually easy to spot potential network issues. I ran an MTR report destined to one of my cloud servers at Rackspace.

~]# mtr --report --mpls --show-ips --report-cycles=100 xxxxxxxxxxxxxxxxxxxxxxxxx
Start: Fri Mar 13 01:50:12 2015
HOST: xxxxxxxxxxxxxxxxxxxx        Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 172.16.1.1                 0.0%   100    2.3   2.1   0.8  10.7   1.1
  2.|-- 172.16.0.34                0.0%   100    0.9   1.1   0.7  15.9   1.4
  3.|-- 192.168.0.1                0.0%   100    1.8   2.2   1.5  20.9   2.3
  4.|-- cpe-24-160-128-1.satx.res  9.0%   100   14.1  19.1   9.6  37.9   7.6
  5.|-- 24.28.133.9                4.0%   100   30.6  33.3  17.1  64.2   8.1
  6.|-- be12.lvoktxad01r.texas.rr  7.0%   100   17.5  18.2   9.5  44.7   6.4
  7.|-- agg21.snavtxuu02r.texas.r 21.0%   100   36.8  19.2  10.1  46.2   8.2
  8.|-- agg23.hstqtxl301r.texas.r 21.0%   100   18.4  26.0  14.9  45.3   7.9
  9.|-- bu-ether46.hstqtx0209w-bc 20.0%   100   20.8  26.3  15.3  46.1   9.1
 10.|-- bu-ether12.dllstx976iw-bc  2.0%   100   22.6  29.9  18.6  53.7   8.0
 11.|-- 0.ae4.pr1.dfw10.tbone.rr.  9.0%   100   23.5  25.2  17.5  50.6   6.9
 12.|-- 66.109.11.22               5.0%   100   28.1  25.1  17.4  44.7   6.1
 13.|-- ae8.er1.dfw2.us.zip.zayo.  5.0%   100   23.3  26.0  18.3  66.5   8.3
 14.|-- 128.177.70.86.IPYX-076520 12.0%   100   24.0  26.7  18.4  47.3   6.8
 15.|-- 10.25.1.71                18.0%   100   36.5  26.7  18.1  49.8   7.0
 16.|-- be42.coreb.dfw1.rackspace 21.0%   100   26.4  30.0  19.5  50.4   8.4
 17.|-- po2.coreb-core9.core9.dfw 17.0%   100   27.2  31.9  21.7  64.5   9.4
 18.|-- core9.aggr160b-3.dfw2.rac  5.0%   100   22.4  30.2  21.2  50.7   7.9
 19.|-- xxxxxxxxxxxxxxxxxxxxxxxxx  7.0%   100   26.0  26.9  20.2  47.6   5.5

You look at the ‘loss%’ column, you will notice that the MTR reports packet loss, starting at hop 4. This packet loss continues at every hop in the path. Hop 4 is the gateway of my Cable Internet. This suggests that the actual network issue exists between my cable modem and my providers router. To further solidify this finding, I ran a 100 count ping to that same server, hosted at Rackspace.

--- xxxxxxxxxxxxxxxxxxxxxxxxx ping statistics ---
100 packets transmitted, 91 packets received, 9.0% packet loss
round-trip min/avg/max/stddev = 19.296/31.589/49.183/7.557 ms
Fri Mar 13 01:53:43 CDT 2015

Indeed, the ping saw the same packet loss. Before opening a ticket with my Internet provider, I decided to power cycle my cable modem. After my cable modem was back online, I ran the same tests.

First with the speed tests.

Huge difference! Next, I ran the same MTR report.

~]# mtr --report --mpls --show-ips --report-cycles=100 xxxxxxxxxxxxxxxxxxxxxxxxx
Start: Fri Mar 13 01:59:19 2015
HOST: xxxxxxxxxxxxxxxxxxxx        Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 172.16.1.1                 0.0%   100    2.4   2.1   0.9   7.5   0.8
  2.|-- 172.16.0.34                0.0%   100    0.8   0.9   0.7   2.2   0.1
  3.|-- 192.168.0.1                0.0%   100    2.5   2.3   1.5  13.9   1.6
  4.|-- cpe-24-160-128-1.satx.res  0.0%   100   13.0  15.0   9.4  24.2   2.8
  5.|-- 24.28.133.9                0.0%   100   22.7  30.3  15.1  66.2   6.6
  6.|-- be12.lvoktxad01r.texas.rr  0.0%   100   17.6  14.5   9.1  26.4   3.0
  7.|-- agg21.snavtxuu02r.texas.r  0.0%   100   19.8  16.0   9.7  31.6   4.2
  8.|-- agg23.hstqtxl301r.texas.r  0.0%   100   17.3  20.9  13.2  40.8   4.5
  9.|-- bu-ether46.hstqtx0209w-bc  0.0%   100   25.9  22.5  14.3  52.4   5.5
 10.|-- bu-ether12.dllstx976iw-bc  0.0%   100   22.9  24.8  18.2  42.0   3.8
 11.|-- 0.ae4.pr1.dfw10.tbone.rr.  0.0%   100   26.2  24.2  17.2  75.7   7.1
 12.|-- 66.109.11.22               0.0%   100   18.4  23.7  16.9  42.8   4.3
 13.|-- ae8.er1.dfw2.us.zip.zayo.  0.0%   100   25.5  23.8  16.8  61.7   6.4
 14.|-- 128.177.70.86.IPYX-076520  0.0%   100   29.6  24.7  19.1  37.5   3.0
 15.|-- 10.25.1.71                 0.0%   100   29.1  24.3  17.6  47.0   4.6
 16.|-- be42.coreb.dfw1.rackspace  0.0%   100   22.6  24.6  19.1  45.2   3.7
 17.|-- po2.coreb-core9.core9.dfw  0.0%   100   26.6  26.5  19.9  37.2   3.5
 18.|-- core9.aggr160b-3.dfw2.rac  0.0%   100   23.9  26.9  19.9  41.7   3.7
 19.|-- xxxxxxxxxxxxxxxxxxxxxxxxx  0.0%   100   39.6  25.4  19.1  39.6   3.1

Notice how the packet loss is completely gone now? Finally, I ran the same 100 count ping.

 --- xxxxxxxxxxxxxxxxxxxxxxxxx ping statistics ---
100 packets transmitted, 100 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 20.903/29.353/62.735/4.888 ms
Fri Mar 13 02:00:56 CDT 2015

Confirmed. No packet loss. As you can see, the issue ended up being that my cable modem needed to be power cycled. No inundating my Internet provider with a trouble ticket tonight.

Simple tools, such as MTR, traceroute, and ping can provide a lot of information about network connectivity problems. At the very least, they can assist you in narrowing down where to look.