KNOWLEDGE

AS / ASN / BGPルーティング — インターネットの骨格を理解する

インターネットは1つのネットワークではなく、87,000以上の自律システム(AS)がBGPプロトコルで相互接続されてできています。AS番号とは何か?BGPはどのように動くのか?経路リークやハイジャックはどうして起きるのか?

要点まとめ

「インターネット」の実体は、87,000以上の独立したネットワーク(AS、Autonomous System)が互いに接続したもので、それぞれに一意の番号(ASN。例:AS13335 = Cloudflare)が付いています。これらのASはBGPで互いに経路を交換し、「自分はこのIPアドレス帯に到達できる」とアナウンスすることで、グローバルなルーティングテーブル(IPv4プレフィックス約100万件、IPv6プレフィックス約20万件)を形成しています。自宅からGoogleへ向かうパケットは、通常4〜15のASを経由します。以下、順を追って解説します。

I. ASとは — Autonomous System(自律システム)

AS(Autonomous System、自律システム)とは、単一の管理ポリシーのもとでルーティングされる1つまたは複数のネットワークです。AS内部でどのルーティングプロトコル(OSPF / IS-IS)を使うかはそのASの自由ですが、AS間ではBGPを使ってIPプレフィックスを外部に向けてアナウンスします。

  • 大手ISPはそれ自体が1つのASです(China Telecom AS4134、China Unicom AS4837、China Mobile AS9808)
  • 大手クラウド事業者も1つのASです(Google AS15169、Cloudflare AS13335、AWS AS16509)
  • 大学・政府機関・大企業は独自のASを持つことができます
  • 一般の家庭用ブロードバンドユーザーのIPは契約先ISPのASから切り出されたもので、エンドユーザーが自分のASを持つ必要はありません

1.1 ASNは誰が割り当てるのか

ASN(AS番号)は、5つの地域インターネットレジストリ(RIR)が管理しています:

RIR地域代表的なASN範囲
ARIN北米AS1-AS6655 など
RIPE NCCヨーロッパ / 中東AS6656-AS9215 など
APNICアジア太平洋AS17676-AS18431 など
LACNIC中南米AS27648-AS28671 など
AFRINICアフリカAS36864-AS37887 など

ASNは当初16ビット(0-65535。1996年以降に逼迫し始めました)でしたが、現在は32ビット(0-4294967295、RFC 6793)です。現在、世界で実際に使われているのは約12万個です。

1.2 ASNの読み方 — 表記形式

AS13335 // 旧形式(16ビット)
AS393227 // 数字のみの新形式(32ビット)
AS6.10 // 旧ドット形式(= 6×65536+10 = 393226。RFC 5396ではasplainが推奨表記とされています)

現在は数字のみの形式を使えば十分です。「AS」というプレフィックスは省略できますが、付けて書いたほうがわかりやすくなります。

II. BGP — インターネットの「郵便番号システム」

BGP(Border Gateway Protocol)はRFC 4271で定められた、AS間で使われる唯一のルーティングプロトコルです。各ASはBGPを使って、近隣のASに「これらのIPプレフィックスには自分が到達でき、自分を経由すればその先にあるこれらのASにも到達できる」とアナウンスします。

2.1 BGPアナウンスの核心:プレフィックス + AS-PATH

BGPルーティングテーブル(RIPE RISからの抜粋)
Prefix                Next Hop          AS-PATH
104.16.0.0/13    203.0.113.1   AS3356 AS13335   ← Lumen経由でCloudflareへ
104.16.0.0/13    198.51.100.5   AS6939 AS13335   ← HE.net経由でCloudflareへ
8.8.8.0/24      203.0.113.1   AS3356 AS15169   ← Google DNSへ
202.106.0.0/16  198.51.100.5   AS6939 AS4847 AS4134 ← China Telecom北京へ

AS-PATHには、オリジンAS(プレフィックスの所有者)から現在のルーターまでに通過したすべてのASが並びます。右から左に読みます — 右端がオリジンAS、左端が近隣ASです。

2.2 BGPが最適経路を選ぶしくみ

同じプレフィックスに複数の経路がある場合、BGPは次の優先順位で1つを選びます(要約):

  1. LOCAL_PREF:大きいほど優先 — AS内部での優先度(どちらを先に使うか)
  2. AS-PATHが短いほど優先 — 通過するASが少ない経路が選ばれます
  3. Origin:IGP(内部)> EGP > Incomplete
  4. MED(Multi-Exit Discriminator):小さいほど優先 — AS間で受け渡されるヒント
  5. eBGP > iBGP
  6. IGPコスト:小さいほど優先
  7. Router ID:小さいほど優先(最後のタイブレーク)

注意:BGPは必ずしも最速の経路を選ぶわけではありません。AS-PATHが短くても、物理的な遅延が小さいとは限りません。1つのASを通る大陸間の経路が、3つのASを通る同一都市内の経路より遅いこともあります。

III. Tier 1 / Tier 2 / Tier 3 — ISPの階層構造

すべてのASは、上流のトランジットに料金を払う必要があるかどうかによって、3つの階層に分けられます:

階層定義代表例
Tier 1誰にも料金を払わず、ピアリングだけで世界全体に到達できるAT&T AS7018、Verizon AS701、Lumen/Level3 AS3356、NTT AS2914、Telia AS1299、Tata AS6453、GTT AS3257、China Telecom AS4134(定義によっては含まれる)、China Unicom AS4837
Tier 2少数のTier 1とピアリングしているが、一部の接続には料金を払っている多くの全国規模のISP / 大手クラウド事業者(Google AS15169、Microsoft AS8075、Cloudflare AS13335)
Tier 3他のネットワークに到達するには、上流のプロバイダーに料金を払う必要がある小規模な地域ISP / アクセス系キャリア

一般的な家庭用回線のパケット経路:自宅 → 地域の小規模ISP(Tier 3)→ 省レベル / 都市圏のネットワーク(Tier 2)→ China Telecomのバックボーン(Tier 1)→ 海外のTier 1 → 宛先のネットワーク。

IV. 自分で試す — 自宅からGoogleまでにどのASを通るのか

mtr -bz(BSDではtraceroute -A)を使うと、各ホップのAS番号を確認できます:

mtr -bz www.google.com (Linux)
HOST: xxx                Loss%   Snt   Last  Avg   ASN
1.  192.168.1.1                0.0%   10   0.5  0.6   (プライベートネットワーク、ASNなし)
2.  61.183.x.x                 0.0%   10   3.2  3.5   AS4134  China Telecom
3.  202.97.x.x                 0.0%   10   5.1  5.4   AS4134  China Telecomバックボーン
4.  202.97.x.x                 0.0%   10  15.2  16.1  AS4134
5.  202.97.x.x                 0.0%   10  45.3  46.0  AS4134  国外への出口の手前のノード
6.  211.95.x.x                 0.0%   10 156.4 158.2  AS4134  国際ゲートウェイ
7.  72.14.215.x                0.0%   10 158.1 159.8  AS15169 Googleのネットワーク
8.  142.250.x.x                0.0%   10 159.8 161.2  AS15169 Google
9.  142.250.x.x (www.google.com)  0.0%   10 160.2 162.0  AS15169

このmtrの結果から、次のことがわかります:

  • 自宅 → China Telecomの地域ネットワーク(AS4134、ホップ2-3):< 10ms
  • China Telecomのバックボーン(AS4134、ホップ4-6):5-150ms
  • 国際ゲートウェイからGoogleへのホップ(AS15169、ホップ7):150ms以上に急増 ← 国外への出口での遅延
  • Googleの内部(AS15169、ホップ8-9):< 5ms

中国の家庭用回線からGoogleまでは2つのASしか通らず、AS-PATHは非常に短いにもかかわらず、物理的な遅延は大きくなっています。これこそが「BGPの経路長は物理的な遅延とは別物」ということの意味です。

V. BGPの2つのセキュリティ上の悪夢 — 経路リークと経路ハイジャック

5.1 経路リーク(Route Leak)

あるASが上流に渡すべきではない経路を誤って上流や近隣のASに渡してしまい、世界中のトラフィックが誤った経路に流れてしまう現象です。典型的な例は、ISPが顧客の経路を自社の経路と取り違えて、すべての相手にアナウンスしてしまうケースです。

有名な事例:2017年11月、Level3(AS3356)の経路リークにより、ComcastやVerizonなど下流の多数の顧客に障害が発生しました。

5.2 BGPハイジャック

悪意のあるASが、自分が所有していないIPプレフィックスをアナウンスします。他のASがそのアナウンスを受け入れると、トラフィックがハイジャックした側へ流れ、中間者攻撃(MITM)、サービス妨害、DNSポイズニングなどが可能になります。

主な事例:

  • 2008年:パキスタンのPTCLがYouTubeのプレフィックスをアナウンスし、世界中のYouTubeのトラフィックが2時間にわたってパキスタンへ流れました
  • 2018年:eNet(AS10297)がAmazon Route 53のDNSプレフィックスをアナウンスし、MyEtherWalletのユーザーのトラフィックを約2時間ハイジャックしました
  • 2022年:ロシアのRTCOMMがTwitterのプレフィックスを一時的にハイジャックしました

5.3 防御策 — RPKIによる経路への署名

RPKI(Resource Public Key Infrastructure)(RFC 6480シリーズ)を使うと、IPプレフィックスの正当な保有者が「このプレフィックスはこのASからのみ発信される」ことを暗号技術で署名できます。RPKIに対応したBGPルーターは、署名のない経路や署名が正しくない経路を破棄します。

現在、世界のIPv4プレフィックスの約半数がRPKIで署名されており、その割合は今も増え続けています。cleanip.ioでIPを検索すると、「AS情報」カードにRPKIステータス(valid / invalid / not-found)が表示されます。

VI. IPやドメインがどのASNに属しているかを調べる方法

6.1 cleanip.ioで直接調べる

https://cleanip.io/8.8.8.8またはhttps://cleanip.io/AS15169にアクセスするだけで、ASNの詳細情報、登録日、IPアドレス帯、上流 / 下流、地理的な分布をすべて表示します。

6.2 cleanip.ioのBGP可視化

/asn-graph では、任意のASNのBGPトポロジーを描画します。OriginからTier 2を経てTier 1までをたどれるので、どのASがどことピアリングしているかがひと目でわかります。

/asn-history では、IP / CIDRの所有履歴を確認できます。あるCIDRが過去にどのASに属していたか、いつ変更されたかがわかります。

6.3 コマンドラインツール

terminal — ASN lookup
$ whois -h whois.cymru.com " -v 8.8.8.8"
AS      | IP        | BGP Prefix    | CC | Registry | Allocated  | AS Name
15169   | 8.8.8.8   | 8.8.8.0/24    | US | arin     | 1992-12-01 | GOOGLE, US

$ curl https://api.bgpview.io/ip/8.8.8.8 | jq
{
  "data": {
    "ip": "8.8.8.8",
    "prefixes": [{
      "asn": { "asn": 15169, "name": "Google LLC" },
      "prefix": "8.8.8.0/24"
    }]
  }
}

VII. 主要ASNの早見表

ASN名称種類
AS13335CloudflareCDN / DNS
AS15169Googleクラウド / 検索
AS16509Amazon AWSクラウド
AS8075Microsoft / Azureクラウド
AS32934Facebook (Meta)SNS
AS13414Twitter / XSNS
AS2906Netflix動画
AS4134China TelecomISP(一部Tier 1)
AS4837China UnicomISP
AS9808China MobileISP
AS37963Alibaba / Alibaba Cloudクラウド
AS45102Alibaba Cloud国際版クラウド
AS132203Tencent Cloudクラウド
AS9009M247(主要なVPNバックボーン事業者)IDC
AS62371Proton AG (ProtonVPN)VPN
AS24940HetznerドイツのVPS
AS16276OVHフランスのVPS
AS20473Choopa (Vultr)VPS
AS14061DigitalOceanVPS

VIII. 一般のユーザーにとっても重要な理由

  • リスク管理システムはIPの評判を判定する際にASNを見ます — データセンターのASN(クラウド / VPN事業者)は通常スコアが低く、レジデンシャル(住宅用)回線のASN(China Telecom / China Unicom)はスコアが高くなります
  • 越境ビジネス向けにCDNを選ぶときは、ターゲットユーザーのASNとCDNのノードとの間のAS距離を確認しましょう — cleanip.ioなら1回の検索で、IPがどのASに属しているかがわかります
  • DDoS攻撃を受けたとき、ASNは発信元をたどるための最初の手がかりになります — 例:「攻撃トラフィックの大半はAS46562 Performiveのデータセンターから来ていた」
  • VPNを選ぶときは、どのIDCのASNでホストされているかを確認しましょう — 詳しくはVPNの追跡をご覧ください

参考資料

mimetic
mimetic
mimetic