Skip to content

Comment on How did I get here?

Comments

This reverse traceroute is still helpful. The paths will be roughly the same, likely differing only in terms of which specific routers see your packet.

This is categorically incorrect. While the AS path is often the same, the actual peering points are almost always quite different. Most ASes use hot-potato routing - getting packets to the next AS at the closest peering point to the source of the traffic. (And even if cold-potato routing is used, that's still asymmetric). In addition if there are two options with the same AS-path-length hot-potato routing can lead to different AS paths. This can happen if there's two mutual transit providers between source and destination and various other situations.

(EDIT: fixed hot/cold mixup)

FYI what you described is hot-potato routing: each AS gets rid of it as soon as possible.

You may think this is unfair, and yes, it is, but it's also quite logical when you consider you don't know where the packet is going in the destination AS. If you have a network spanning Berlin and Hamburg and the packet is going to a different network that also spans Berlin and Hamburg, and you interconnect at both points, and you don't know which city it's actually going to, handing it off at the closest interconnect doesn't risk round-tripping it for no good reason.

You may think this is unfair, and yes, it is

I'm interested in your definition of fairness that makes hot potato routing unfair.

In my mind, hot potato is fair, every packet gets treated the same, and (mostly) every provider does the same thing.

it's also quite logical when you consider you don't know where the packet is going in the destination AS. If you have a network spanning Berlin and Hamburg and the packet is going to a different network that also spans Berlin and Hamburg, and you interconnect at both points, and you don't know which city it's actually going to, handing it off at the closest interconnect doesn't risk round-tripping it for no good reason.

There are ways to help with this, BGP MED (multi-exit discriminator) or path extention can help guide towards the best place to deliver traffic. But especially for last mile traffic, you do want it on the destination network sooner than later; if traffic is genetated in Berlin, and the ultimate destination is Hannover and the Hannover endpoint is connected to both Berlin and Hamburg on the destination network, delivering at Berlin provides a better experience than delivering to Hamburg, even though Hamburg is closer to Hannover, because the transit to Hamburg was unnecessary. And if the destination is only connected to Hamburg, delivering in Berlin works about the same as delivering in Hamburg (depending on capacity and use from Berlin to Hamburg on both networks).

There's certainly situations where having options would be nice, but having options makes things complex, so typical users can't really influence routing. If you have v4 and v6, you may find that routing differs between the two and that does give you a bit of a choice.

The unfairness of hot potato routing is that it aggressively tries to offload as much cost onto other companies as possible. It may be how business works but it's not really an ideal way to build a system.

ha yes thank you. I worked for a AS that mostly did cold-potato routing so grabbed the wrong term trying to describe the common case.

Anecdotally, I've run a bunch of traceroutes and reverse traceroutes to different locations and they tend to follow the same AS paths — although sometimes the traceroute will surface more routing through your ISP (especially from college networks). In general you are correct, though, and I would love to explain more about hot-potato vs. cold-potato (and other interesting routing decisions) in the future. Either way, the results the reverse traceroute provides are good enough for the purposes of explaining the internet, IMO!

I did a traceroute to how-did-i-get-here.net, and it went through a completely different network to the one they reported for the reverse.

Yup. Those paths are cached bidirectional.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.