How to tell if it's your problem or your ISP's problem

Solution 1:

Things I check when troubleshooting a network issue with a provider. Note here that 'ping' means 'do an extended ping, sweeping a range of sizes, and sending at least 1000 packets at each size, looking for latency, loss and errors'.

  1. Ping your ISP's hand-off from a device on the same subnet. (Confirms that there are no L2 problems between you and your ISP).
  2. Ping your ISP's hand-off from a device on one of your internal subnets. (Confirms that you have no routing/security issues between your internal network and your ISP)
  3. Ping an IP in your provider's network. If you can't find one that's publicly listed, or the helpdesk won't give you one, do a traceroute to something in the internet, and use the second or third hop. This confirms that routing between you and your ISP is configured correctly.
  4. Ping an internet IP. I normally use 4.2.2.1, one of Level3's DNS servers that is easily remembered. This confirms that routing from your ISP to the specific IP you've pinged is correctly configured.
  5. Ping an internet domain name. This verifies your/your provider's DNS configuration is correct.

If steps 1 or 2 fail, it's most likely a problem on your internal network.

If step 3 fails, there would appear to be a problem in your provider's network. Note, though, that if you get no response at all then your ISP may have simply blocked ICMP to/from their infrastructure addresses.

Step 4 failing indicates a potential problem between your ISP and one of their upstream providers.

Step 5 failing indicates issues with name resolution.

Hope that helps.

Solution 2:

A handy test site is: http://downforeveryoneorjustme.com/

Pings and traceroutes are some of the first and best tests when beginning this sort of investigation. Firewalls may block this traffic however.

Don't just stop at normal pings. Try ping <ip address> -l 2048 to send some big packets and make sure it's not a fragmentation/MTU issue.

Check your utilization -- your tubes may be full.


Solution 3:

It's also good to check TCP connection count with for example

  • netstat -a (linux/windows)
  • lsof -i tcp (linux)
  • Sysinternals TCP View (windows).

Some applications might spawn a lot of TCP connection simultaneously and this causes that you cannot create new connections but existing connections like SSH still keeps going.

DSL modem can also choke on lots of connections.

This usually only affects Windows machines.