ASNとは?インターネットを支えるルーティングの仕組み
2008年2月24日、パキスタン国内でのわずかな設定ミスにより、世界中の数百万人のユーザーが突如としてYouTubeにアクセスできなくなりました。
当時、パキスタン政府は国内からのYouTubeへのアクセスを禁止する命令を出しました。これに対応するため、同国の国営通信会社(AS17557)は、YouTube行きのトラフィックをすべて虚無の領域へと捨てる「ブラックホールルート」を内部ネットワークに設定しました。
しかし、あるエンジニアがこの「YouTube行きの一番の近道はここだ」という誤ったルート情報を、世界中の上位プロバイダに向けて配信(アドバタイズ)してしまったのです。
この誤情報は、まるで感染症のように世界中のインターネット上のルーターへと瞬時に拡散しました。
結果として、地球上のあらゆる場所からのYouTubeへのアクセスが、アメリカのGoogleサーバーではなくパキスタンの通信会社へと吸い込まれ、そのまま消滅してしまいました。
この数時間に及ぶ大障害は、インターネットがいかに協調的で、そして時に脆弱な仕組みで成り立っているかを示す好例です。この出来事を理解するための鍵が、今回のテーマである「自治システム(Autonomous System: AS)」と、その識別番号である「AS番号(ASN)」です。
自治システム(AS)とは?
インターネットは、一つの巨大な組織によって管理されているわけではありません。実際には、無数の独立した小規模なネットワークがパッチワークのようにつなぎ合わされてできています。
これらのネットワークを運営しているのは、インターネットサービスプロバイダ(ISP)や、Google、Amazonといった巨大IT企業、大学、そして政府機関などです。このように、単一の組織によって管理され、統一されたルーティングポリシーを持つIPネットワークの集合体を「自治システム(AS)」と呼びます。
インターネットを世界中の空港ネットワークに例えてみましょう。
各空港(AS)は、独自の滑走路を持ち、ターミナルの構造や保安検査の手順を自前で管理しています。しかし、東京からロンドンへ飛行機を飛ばすためには、世界共通の航空路や管制塔のシグナル、国際的なルールに従って連携する必要があります。
ネットワークの世界でも全く同じです。各ASは内部のルーティングを自由にコントロールできますが、他のASとデータをやり取りする際には、自分のネットワークを示す唯一無二の番号が必要になります。それが「AS番号(ASN)」です。
ASN:ネットワークにとっての「マイナンバー」
AS番号(ASN)は、各自治システムに割り当てられる世界で唯一の識別番号です。いわば、ネットワーク界のパスポートやマイナンバーのようなものです。
ASNはもともと RFC 1930 で定義され、16ビット(16-bit)の数値が使われていました。これによって確保できる番号は最大で65,536個。しかし、インターネットの爆発的な普及に伴い、IPv4とIPv6の違いでも見られたような「アドレス枯渇問題」がASNでも発生しました。
そこで、RFC 4893 によって32ビット(32-bit)のASNが導入され、利用可能な番号は一挙に42億個以上にまで拡大されました。現在、インターネット上では115,000以上のASが活発に稼働しています。
誰もが知る有名企業のAS番号には、以下のようなものがあります。
- AS15169:Google
- AS16509:Amazon Web Services (AWS)
- AS13335:Cloudflare
あなたが自宅でプロバイダ(ISP)と契約してインターネットに接続するとき、あなたの端末に割り当てられるIPアドレスは、そのISPが所有するAS番号の管理下にあります。
以下のダイアグラムは、ユーザーが複数のASを中継して目的のウェブサーバーに接続するまでの流れを示しています。
個々のネットワークがどのように接続されているかが分かったところで、次はこれらのシステム間でどのように経路情報がやり取りされているのかを見ていきましょう。
BGPルーティングとASNの密接な関係
AS同士は、自動的に相手への行き方を知っているわけではありません。お互いに「自分のネットワークにはどのIPアドレスがあるか」「他のネットワークへ行くにはどのルートが最適か」を教え合う必要があります。この役割を担うのが「ボーダー・ゲートウェイ・プロトコル(BGP)」です。
TCP/IPプロトコルがデータの梱包方法を決定する規格であるならば、BGPはどの配送ルートを通るべきかを決める「世界規模のカーナビ」と言えます。
BGPは「パスベクトル(Path-Vector)」と呼ばれるルーティングプロトコルを採用しています。個々の細かなルーターを見るのではなく、「どのAS番号を通過するか」というASNの連なりによってルートを判断します。
一般的なBGPの経路情報は以下のようになります。
宛先IP -> 経由ルート: AS100 -> AS200 -> AS300
BGPルーターは、目的地にたどり着くために、経由するASの数が最も少ないルートを選択します。飛行機で乗り継ぎ回数が一番少ないフライトを選ぶようなものです。
この「お互いの自己申告を信じる」というBGPの基本的な信頼関係を逆手に取ってしまったのが、先述した2008年のYouTube障害(BGPハイジャック)です。
当時は、パキスタン電信の「YouTubeへはうちのルートが一番早い」という誤った申告を、世界中のルーターが検証なしに信じてしまいました。現在では、RPKI(Resource Public Key Infrastructure)などの認証技術を用いてルート情報の検証が行われていますが、BGPの基本原理は今もインターネットを支え続けています。
では、このASNという情報は、私たちが普段使っているIPアドレスの検索においてどのような意味を持つのでしょうか。
ASNからIPアドレスの「本当の所有者」を突き止める
ネットワークトラブルの解決やセキュリティ分析、アクセス解析などを行う際、IPアドレス単体から得られる情報は限られています。
IPアドレスは一時的に割り当てられることが多く、変化しやすい性質を持っています。一方で、ASNはネットワークを管理する組織に直接結びついているため、変動することがほとんどありません。
whoip.tw などのIP検索ツールを使用すると、以下のようなASN情報が明らかになります。
- ASN:割り当てられている固有のAS番号(例:AS13335)
- 所有組織名:ネットワークを管理している企業や団体(例:Cloudflare, Inc.)
- 割り当てIP範囲:そのASが所有しているIPアドレスのブロック
- レジストリ情報:番号を管理している地域インターネットレジストリ(APNICやJPNICなど)
この情報は、サーバーを管理するエンジニアにとって非常に役立ちます。例えば、特定のIPからの不正アクセスをいくら個別ブロックしても、相手のIPが変わってしまえば効果が薄れます。しかし、そのIPが所属するASN自体(特定の悪質なホスティングプロバイダなど)を特定できれば、ファイアウォールでそのASN全体を拒否することで、効率的に攻撃を防ぐことができます。
また、高精度なIP位置情報の割り出しにおいても、IPアドレスとASNの所有ISPデータの紐付けは欠かせない要素となっています。
次回、あなたがウェブサイトを閲覧したり、動画を再生したりするときには、データがほんの数ミリ秒の間に、BGPに導かれながら世界中のASNを飛び回っていることを思い出してみてください。