しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

ウラジオストクから日本は(インターネット的に)遠かった話

週末を利用してウラジオストクに行ってきましたが、やはり気になるのはインターネット周りでした。4G や Wi-Fi を利用しているときに、どうも日本の Web ページは表示が遅いと感じたのがきっかけ。

地味にウラジオストクの場所が知られていないので、地図を張り付けておきます。

見てわかる通り、日本海の向こうにあるのがウラジオストクです。

物理的な距離が近いのだから、日本にあるサーバーに対しても低レイテンシでアクセスが可能なのでは?と思っていましたが、Azure の Japan East に置いてある shibayan.jp に対して traceroute を打ったところ、以下の通り驚くべき結果になりました。

f:id:shiba-yan:20171115000625p:plain

最初に traceroute を打ったところ、hop 数が多すぎて途中で終わってしまいました。なので、50 hop まで辿るようにして実行し直しました。スクリーンショットでは途切れていますが、50 hop でも終わりませんでした。

ホスト名でわかりそうなもんですが、msn.net というのは Microsoft が持っているホスト名なので、その部分だけ簡単に調べることにしました。まず最初に出てくる msa-24z-1.ntwk.msn.net [195.208.208.137] です。

f:id:shiba-yan:20171115002011p:plain

モスクワにある IX のようです。ウラジオストクからのトラフィックはロシアを横断して、モスクワまで行ってしまうようです。これにはシベリア鉄道もびっくり。

あとは ams / lon / nyc / lax といった名前から大西洋・太平洋を越えて Japan East まで辿り着いてそうなことが分かりますね。日本海を越えるだけで済みそうなのに、わざわざパケットは地球を一周してくるようです。

実際に Azure のデータセンターへのレイテンシを計測できるサイトを使って、ウラジオストクから試した結果が以下になります。ロシアにデータセンターがあれば面白い気がしました。

f:id:shiba-yan:20171115004045p:plain:w450

ウラジオストクから一番近い Azure データセンターは UK らしいです。役に立たなさそうな知識ですが、思ったよりも綺麗にデータセンター間の距離がレイテンシに現れたので満足です。

例によって CDN を使うと、一番近いエンドポイントからダウンロードされるので、全体的なページ表示速度は改善されます。しかし、Azure CDN はモスクワにエンドポイントは存在しませんでした。

Akamai も対応していないというのは少し驚きました。ロシア内にエンドポイントを持っている CDN プロバイダーは割と限られているようなので、規制などがかかっているのかも知れません。

Cloudflare や KeyCDN は対応してるみたいなので、レイテンシを計測してみたいですね。