Measure the latency in milliseconds between two public DNS servers

107 Views Asked by At

Short Introduction: I'm trying to create a distance matrix of the latency between DNS servers in order to predict p2p latencies using matrix factorization. To use the prediction algorithm, I need about 20 DNS servers and the latencies between them.

Servers DNS1 DNS2 DNS3 ... Client 1
DNS1 0 ? ? ... ping
DNS2 ? 0 ? ... ping
DNS3 ? ? 0 ... ping
... ... ... ... 0
Client1 ping ping ping

Knowing the distances between the DNS servers, I can add a client by pinging all DNS servers and entering the distances. Using this distance matrix, I can now use matrix factorization to predict the distance between two clients.

The Problem: Without access to the DNS servers, I don't quite know how to get the latencies between them. Can I use a traceroute or recursive lookup?

I'm considering hosting about 20 pingable servers myself in order to get one initial matrix. But this costs a lot of money and is kind of a waste of resources.

Maybe someone has an idea how to get these distances from a set of servers. (They don't necessarily have to be DNS servers)

This is a project that has already collected a huge distance matrix but is super old: https://pdos.csail.mit.edu/archive/p2psim/

This is the paper for the algorithm: https://dl.acm.org/doi/pdf/10.1145/1028788.1028827

1

There are 1 best solutions below

0
Seife On

Alright, I might have found a great solution.

https://www.azurespeed.com/Azure/RegionToRegionLatency

Microsoft offers a distance matrix with RTT between their availability zones. These are not super current, but should be enough.

There is also a method to measure these yourself: https://learn.microsoft.com/en-us/azure/network-watcher/view-relative-latencies