I noticed the same problem on and off over the past few months and after finding a pattern (you need access to the PPP logs to see it) I asked IDnet about it and it is just a problem with their provider; I assume this is Zen, they did not state them by name.
The best latency I can get is ~9ms, but somehow Zen(?) have found a way to add anything up to +15ms to this which insanely translates to about an extra 2000km of fibre optic length! They must be landing us in Iceland or mainland Europe...eugh.
Either way, IDnet seem unwilling/unable to put pressure on Zen to fix this we are all stuck with it. Zen claim to be doing work to improve their load balancing but as I got that statement over a month ago with no ETA I am not holding my breath and suspecting it will never get fixed.
I'm fortunate,
my setup provides me with nerd superpowers, so when my connection restarts, I have it run a script to test if the latency is as good as it can be, if not it reconnects until it gets something it likes.
The best others can do is just restart your router until you get the lowest ping time you can to something like 1.1.1.1; I seem to get three latency bands, ~10ms, ~15ms and ~25ms, your mileage may vary.
For reference, for others with similar superpowers, my method is to use this as an 'ExecStartPost' step in my documented systemd setup, maybe you can adapt it depending on what your local setup is:
$ cat /usr/local/bin/idnet-burp.sh
#!/bin/sh
# wait a moment for things to settle
sleep 5
# IDnet has at least one misconfigured router that does not send the WAN IPv6 prefix to use
WANRA=$(ip -6 addr show dev wan scope global | sed -ne 's/.* inet6 \([^ ]*\).*/\1/ p')
[ "$WANRA" ] || { echo no assigned wan IPv6 via RA >&2; exit 2; }
# latency testing
NH=$(ping -c 1 -t 1 1.1.1.1 | sed -ne 's/From \([^ ]*\) icmp_seq=1 Time to live exceeded/\1/ p')
[ "$NH" ] || { echo unable to get next hop >&2; exit 1; }
RTT=$(ping -q -c 3 $NH | sed -ne 's/rtt min.* = \([0-9]*\)\.\?.*/\1/ p')
[ "$RTT" ] || { echo unable to get rtt >&2; exit 1; }
[ $RTT -lt 12 ] || { echo rtt too high >&2; exit 3; }
exit 0
Edited by jimdigriz00 (Fri 24-Jun-22 09:56:51)