What can cause this variation in ping?

I have a problem with my internet connection and I don't know what is causing it.

My router is a Linksys E3200 and my computer is equipped with Windows 8 and a WIFI adapter TP-Link WDN3200 (Ralink 5572) with the newest drivers from Ralink.

Using inSSIDer3 I get the following statistics:

ChannelsDetails

I think the gap between my router and my neighbours should be adequate.

When doing a ping test towards my router I get the following statistics:

C:\>ping 192.168.0.1 -n 1000

Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1586ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1995ms TTL=64
Reply from 192.168.0.1: bytes=32 time=13ms TTL=64
Reply from 192.168.0.1: bytes=32 time=3ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1993ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=2000ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=4ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1994ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1995ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1990ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
Reply from 192.168.0.1: bytes=32 time=1ms TTL=64
...

I'm curious to the 2-good-1-bad pattern displayed here and it rarely deviate from this. Occationally I get a Request timed out.

With my cell phone (Samsung Galaxy Nexus) using WIFI only (data disabled), I get continuously good replies from my router during a ping test.

Using VPN + Remote Desktop for my work is not a good experience and I do seem to get a slow lookup when trying to get access to a website in a browser.

Can anyone guide me to determine what the problem is?


Updates:

Using a cabled LAN connection gives me <1ms ping results all the time.


My best guesses, in order of likelihood:

  1. You're running some software on your system that's doing a Wi-Fi scan every 3 seconds. Maybe you left inSSIDer, or some other "network scanner/stumbler/war-driving" tool running. Or maybe you've got something on your system trying to do Wi-Fi-based geolocation that's doing periodic scans. Another possible source of scans is your own wireless card, when it's looking for other networks to roam to. However, in one of the screenshots, your RSSI (signal strength) was -60 dBm, which is pretty good, so your client probably shouldn't be trying to do a roam-scan. So, go looking for things that might be triggering scans, and disable them all for now as a test.

  2. Your client is doing some form of 802.11 Power Save mode, where it puts the radio to sleep for a moment when there isn't much traffic. In Windows you can probably go into advanced driver properties for your Wi-Fi NIC driver and disable Power Save mode as a test to see if it clears this up.

  3. I think it's possible, but highly unlikely, that a problem so perfectly regular (almost exactly 2 seconds of pause almost exactly every 3 seconds) is due to interference. I suppose there might be something spewing noise with a "2 seconds on, 2 seconds off" duty cycle, but that really seems like a stretch.


One thing to take note is the fact that you have a multiple overlapping channels interfering with your Wifi channel. This causes issues with your network traffic. If you take MariusMatutiae's advice and try to ping your router while connected to via wired I am sure this won't be an issue. When working with Wifi you need to consider two different problems, co-channels and overlapping channels.

Co-channels

Co-channels are multiple networks on the same channel as you. This causes an issue because wifi is inherently half-duplex, that is, it can only send or receive not both at the same time. So when your AP or computer is about to send, it will send a "jam" signal on that channel to indicate it is about to broadcast and all other wireless transmitters on that channel will stop broadcasting. This is to ensure the fidelity of the traffic. The jam is not for very long, however it means other people cannot broadcast. Now, as I understand it, other wifi networks (ssids), not just your own will be jammed by your signal and you will be jammed by other ssids. As such everytime your neighbor is about to transmit your network is also being jammed.

Overlapping channels

Overlapping channels are, in my opinion, worse. In this case you have frequencies that are very near your own and are as such causing interference with your own signal. So if your network is on 11, and your neighbors' is on 10 then the signals are close enough that they will end up interfering. This can result in late or garbled data as well. This happens because no transmitter will perfectly transmit on the signal it is supposed to. It will be off by a small amount. As a result you will be receiving data (on occasion) from your other channels causing jams (occasionally) or bad data entirely.

For a much better guide take a look here: https://serverfault.com/questions/471721/adjacent-channel-versus-co-channel-interference

Other sources: http://www.metageek.net/support/adjacent-channel-congestion/