Anyone who has investigated the cause behind a network issue knows how daunting it can be to pinpoint the problem. With so many different variables, the answer can be elusive. In our last blog, we explained how you could test your DNS speeds in PerfOps. Today, we’ll be showing you how to use our Traceroute tool to troubleshoot network issues and improve DNS speeds.
For demonstration purposes, we’ll be using Amazon Route 53’s speed data in Africa, which we retrieved in our DNS Speed Performance tip.
Using Raw Data to Troubleshoot Networks
In the graph below, we are comparing Route 53 nameservers in Africa. The data shows that one nameserver appears to be experiencing issues, which can result in slower query resolution and overall speed for the area.
Note: This is for example purposes only.
While three nameservers in this graph are relatively consistent within their own network, there appears to be a rogue server. While not always the case, this can indicate a routing issue. To get a better idea of what’s going on and to see whether or not it’s something that needs to be fixed, you can run a traceroute.
NS 1 (pink): 41.14 ms
NS 2 (green) 51.15 ms
NS 3 (red) 71.06 ms
NS 4 (blue) 107.19 ms
The easiest way to do this is to locate the nameserver and node ID from the raw logs in the table below the graph. To view the raw data for the slowest server with the most fluctuation, double click on the line graph at the point you want to view. In this case, we chose the highest peak, which had a speed of 168.17 ms.
PerfOps Raw Data Logs
After double-clicking on your desired point of the graph, you can scroll through the raw logs. This provides you with a breakdown of your speeds in milliseconds, the provider name, nameserver, whether DNSSEC is enabled, the Node ID, Node IP, Continent, Country, City, ASN, and ISP.
Find the instance you are looking for. In this case, we want to investigate the nameserver that had an unusually high speed: ns-1497.awsdns-59.org.
The next thing you need to do is copy the NS address. Navigate to Tools > Network Utilities. Once on the Network Utilities page, paste the NS address into the field for IP or Host Name. In the location field, type your desired location (in this case, Africa), and then choose how many results you would like to see. For this example, we chose 10.
Be sure that the option for Traceroute is selected (the active selection will be underlined), and then click Run Test.
After running the traceroute, you will see ASNs for each location in Africa, up to the limit you set. For each location, you will see the hops along the network path. Hops are the endpoints that a query travels from point A to point B. We’ll use the first result (Johannesburg) as our example.
As you can see, queries start off fast, but once they get to the fourth hop in the route, there is a significant change in speed. This may be completely normal, it could indicate a technical problem with a node or server, or it could demonstrate a routing issue.
Note: Hops designated by asterisks represent servers that timed out and dropped the UDP packet.
Here’s where it gets interesting and dare we say … fun!
To determine what the issue is, you first need to know where the problem is occurring. You can easily do this by copying the IP address in the hop and searching for the location using a tool like db-ip.com.
Reading Your Traceroute Data
The path in this traceroute originates in Johannesburg and ends in Dublin, Ireland. It starts off quickly but slows down significantly at hop 4, which is still in Johannesburg, South Africa. Hops 5-7 are located in London, England, and from there, the query path moves efficiently to the final destination, Dublin, Ireland.
A network administrator could use this information to determine if the path the packets were taking was optimal for speeds or if improvements could be made within the network to enhance performance.
Traceroutes for Troubleshooting and Improving Speeds
As you can see, running a traceroute gives you valuable information on the path a query takes in your network. This can help you improve DNS speeds, troubleshoot connectivity issues, or identify potential server failures and other issues.