4 ms·
You don't know how many hops there are, so it would mean guessing beforehand, or using a big default (like 64) which means a ton of unnecessary packets for the
by pphysch 5y ago
You don't know how many hops there are, so it would mean guessing beforehand, or using a big default (like 64) which means a ton of unnecessary packets for the average route.
- kwantam 5y agoPossible solution: binary search to find the number of hops (buffering intermediate responses so that you don't have to re-send them), and send all missing TTLs in parallel once you've determined the number of hops to use. You could do a linear scan in parallel with the binary search so that the user-facing behavior looks more or less the same as now. (It could be that some utilities---including this one!!!---already do that. The linked article doesn't go into that level of detail and I haven't read the code.)
- athrowaway3z 5y agoKnowing little about other use-cases, i would guess sending 1,2,4,8, ~12 is well within bandwidth budget for all people running traceroute. Some bastardized version of binary search sounds reasonable for most internet targets.