インターネットに接続してさまざまなウェブサイトを見る際、クライアントである自宅PCからウェブサイトをホストするサーバーまでの間にさまざまな行程を経た通信が行われています。「How Did I Get Here?」はクライアントからサーバーまでの間でパケットがどのような行程を経ているのかを示してくれるサイトです。

How Did I Get Here?

https://how-did-i-get-here.net/

実際に「How Did I Get Here?」にアクセスしたところが以下。



「You are here→」とあるのがクライアントで、「Our server」とあるのがサーバー。それぞれにHost(ホスト名)、ASN、Network(ネットワーク名)、Region(リージョン)が表示されます。ISPであるJCOMからKDDI、Arelion、Akamaiのネットワークを経てサーバーにアクセスしていることがわかります。「How Did I Get Here?」のサーバーはLinodeというプロバイダーのものですが、Linodeは2022年にAkamaiに買収されました。そのため、コンテンツデリバリネットワーク(CDN)としてAkamaiのネットワーク(AS20940)にアクセスしています。



その下にはテキストで、アクセスルートについての詳細な説明が記されています。緑色の文字部分は「How Did I Get Here?」を読み込んだ時に生成された部分です。



開発者のLexi Mattick氏は、「How Did I Get Here?」のソースコードを以下のGitHubリポジトリで公開しています。

GitHub - hackclub/how-did-i-get-here: A tool/website/article by @kognise about how routing on the Internet works.

https://github.com/hackclub/how-did-i-get-here

また、Mattick氏は「How Did I Get Here?」を構築するために「ktr」というtracerouteプログラムも作成しており、以下で公開しています。

GitHub - hackclub/ktr: Kog traceroute. Highly asynchronous traceroute program written in Rust with ASN WHOIS and PeeringDB lookups.

https://github.com/hackclub/ktr

Mattick氏は、「私はインターネットの構造に関する理解不足にいらだち、プロトコルを通してインターネットの歴史と政治を網羅する包括的でインタラクティブな記事を書こうとしましたしかし、忙しさで時間が足りず、自分で設定した高い目標に到達する時間がありませんでした。そこで、Hack Clubの仲間たちのおかげで、私は今あるものを最大限に活用することができました。『クルーズのヨットを出さないよりは、小さなイカダを海原に出した方がいい』ということです」とコメントしています。