4 ms·
why dont you just issue all the ttls concurrently?
by convolvatron 5y ago
why dont you just issue all the ttls concurrently?
- yannk 5y agoYou wouldn't know which packet reached its TTL just by flurry of ICMP packets received? i.e. what is the actual order of the path(s)
- sigjuice 5y agoShouldn't there be some way to match up an ICMP packet received to a particular probe(s) e.g. by UDP port or something else?
- deleted 5y ago[deleted]
- pphysch 5y agoYou 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.