BGP-4マルチホーム接続とトラフィック制御の実践技術
1. 概要と本質:なぜ企業ネットワークでBGPとマルチホーム接続が必要なのか
企業の基幹システムやWebサービスがクラウドやインターネットに依存する現代において、インターネット回線の単一障害点(SPOF)を排除することは事業継続計画(BCP)の最重要課題です。
単一のISP(インターネットサービスプロバイダ)との回線二重化だけでは、ISP側のコアバックボーン障害や設備トラブルに対応できません。そのため、「独立した2社以上の異なるISP(または異なる経路)に同時接続する『マルチホーム接続』」を採用します。
しかし、複数ISPに接続する際、静的ルーティング(スタティックルート)では「ISP-A側の国際回線が障害を起こした時に、ISP-Bへ自動迂回する」といった柔軟な経路切り替えができません。また、社外からの戻りトラフィックが1本の回線に偏る問題も発生します。
この課題を解決するのが、インターネット全体の自律分散ルーティングプロトコルである「BGP-4(Border Gateway Protocol Version 4: RFC 4271)」です。 本稿では、ネットワークスペシャリスト(NW)午後・科目B試験で頻出するBGPマルチホーム設計、ベストパス選択アルゴリズムの厳密な優先順位、上り/下りトラフィックの制御技術(Local Preference / AS-Path Prepend / MED)、および「自社が勝手に他社通信を中継してしまうトランジット化」の防止策を徹底解説します。
2. BGPの基本アーキテクチャとピア確立メカニズム
BGPは、独立した運用管理ポリシーを持つネットワークの集合体である「AS(Autonomous System:自律システム)」の間で経路情報を交換するための「パスベクタ型(Path Vector)」プロトコルです。
図のデータを表示できません。
2.1 EBGPとIBGPの違い
BGPピア(ネイバー)接続には、接続相手のAS番号によって2つの形態が存在します。
項目 | EBGP(External BGP) | IBGP(Internal BGP) |
|---|---|---|
接続相手 | 異なるASのルータ間(例: 自社ASとISP) | 同一AS内のルータ間(例: 自社R1と自社R2) |
物理的距離 | 通常は同一セグメントの直結リンク(TTL=1) | 同一AS内であれば複数ホップ離れていても可(TTL=255) |
ループ防止機構 | AS-Path属性(自身のAS番号が含まれる経路を破棄) | スプリットホライズン(IBGPから学んだ経路は他のIBGPへ再広報しない) |
Next-Hop属性 | 自身のインタフェースIPに書き換えて広報 | デフォルトでは書き換えない(Next-Hop-Self必須) |
管理ディスタンス (AD) | 20(最優先) | 200(優先度低) |
2.2 TCPセッション確立とBGP状態遷移(ステートマシン)
BGPは信頼性の高い通信を行うため、トランスポート層に TCP(宛先ポート番号:179) を使用します。OSPFのようなブロードキャストやマルチキャストによる自動検出は行わず、管理者が相手ルータのIPアドレスを手動設定します。
図のデータを表示できません。
Idle: リソース初期化状態。相手へのルートが存在するとTCP接続を開始。
Connect: TCP 3ウェイハンドシェイクを実行中。
Active: TCP接続に失敗し、再度TCP接続を試みている状態。
OpenSent: TCP接続が確立し、自身のAS番号、BGPバージョン、BGP Router ID、ホールドタイムを記した OPENメッセージ を送信した状態。
OpenConfirm: 相手からのOPENメッセージを正常受信し、接続確認の KEEPALIVEメッセージ を送信した状態。
Established: 相手からもKEEPALIVEを受信完了。ピアが完全に確立され、UPDATEメッセージ(経路情報) の送受信が可能になる。
3. BGPベストパス選定アルゴリズムの完全順序
同一宛先プレフィックスに対して複数の経路を受信した場合、BGPルータは以下の厳密な順位(タイブレーク規則)に従って、ルーティングテーブルに登録する1本の「ベストパス(Best Path)」を決定します。
[!IMPORTANT] BGPベストパス選択の優先順位(NW午後試験の絶対暗記項目) 1. Weight(ベンダー独自・自ルータ内のみ有効。値が大きい方を優先) 2. Local Preference(ローカルプレファレンス)(AS内全ルータで共有。値が大きい方を優先・デフォルト100) 3. 自ルータが自身で生成した経路(Locally Originated)(network コマンドや再配送) 4. AS-Path長(AS-Path Length)(通過AS数が短い方を優先) 5. Origin属性(IGP [i] > EGP [e] > Incomplete [?]) 6. MED(Multi-Exit Discriminator)(隣接ASへの要望値。値が小さい方を優先) 7. EBGP経路 > IBGP経路(EBGPから学んだ経路を優先) 8. 最近傍のIGPネイバー(Next-HopへのIGPメトリックが小さい経路) 9. BGP Router ID(値が小さいルータからの経路を優先)
午後試験では、「ある拠点へのトラフィックがISP-A側に流れている理由をパス属性に基づいて説明せよ」という設問が頻出します。 判断の9割は 「2. Local Preference」 と 「4. AS-Path長」、そして 「6. MED」 で決まります。
4. トラフィックエンジニアリング:上りと下りの完全制御
マルチホーム接続では、「自社からインターネットへ抜ける通信(アウトバウンド/上り)」と、「インターネットから自社へ入ってくる通信(インバウンド/下り)」を別々の手法で制御します。 「上りと下りでは、制御権を持つ主体が異なる」ことが最大の本質です。
図のデータを表示できません。
4.1 アウトバウンド(上り)の制御:Local Preference
自社のクライアント端末やサーバが外部へアクセスする際、通常は広帯域な「ISP-A」をメインで使い、障害時のみ「ISP-B」を使わせたい場合:
設計手法:
- 自社ルータR1(対ISP-A)で受信したルートに対し、ルートマップで `Local Preference` を 200 に設定。 - 自社ルータR2(対ISP-B)で受信したルートに対し、`Local Preference` を 100(デフォルト) に設定。 - IBGPを通じて社内ルータ全員にこの値が共有され、値が大きい「ISP-A経由」が全社のアウトバウンド・ベストパスに選ばれます。
4.2 インバウンド(下り)の制御:AS-Path Prepending
外部のWeb閲覧者や取引先から自社公開サーバへ向かうトラフィックを「ISP-A経由」に誘導したい場合、相手側のASでどの経路が選ばれるかは相手のポリシー次第です。 しかし、世界中のほとんどのルータは「AS-Pathが短い経路」を優先します。
設計手法(AS-Path Prepending:水増し):
- メイン回線(ISP-A)へは、自社の正規AS番号のみを広報(例: AS-Path: 65100)。 - サブ回線(ISP-B)へ広報する際、自社のAS番号を意図的に複数回重ねて広報する(例: AS-Path: 65100 65100 65100 65100)。 - インターネット上の他ASから見ると、「ISP-B経由は自社に到達するまでに余分なASを多数経由する遠回りなルート」に見えるため、自動的に「ISP-A経由」が下りルートとして選択されます。
4.3 MEDによる隣接ASへの入口指定
同一の接続先AS(例: 同一ISPの東京POPと大阪POP)に対して2本の回線を持つ場合、MED(Multi-Exit Discriminator) を用いて「東京側の回線を使って入ってきてほしい」という希望を伝達できます(値が小さい方を優先)。 ただし、MEDは異なるAS間(ISP-AとISP-B)の比較にはデフォルトでは使われません(bgp always-compare-med がない限り比較対象外)。
5. 運用上の重大インシデントとトラブルシューティング
5.1 「意図しないトランジットAS化」による回線パンク事故
BGPマルチホーム導入時、最も恐ろしい設定ミスが「自社ASがISP間のトランジット(中継)ネットワークになってしまう事故」です。
図のデータを表示できません。
事故原因:
- 自社ルータR1がISP-Aから受信したインターネット全経路(フルルート約90万経路)を、自社ルータR2がフィルタリングせずにそのままISP-Bへ広報(再広報)してしまった。 - ISP-Bから見ると、「自社AS 65100を経由すればISP-A配下のネットワークへ抜けられる」と判断され、ISP-AとISP-Bを行き来する膨大なインターネットバックボーントラフィックが、自社の細い1Gbps回線に流れ込み、瞬時に帯域がパンクして社内通信が全滅した。
防止策(鉄則):
- 自社がEBGPで対外広報する経路は「自社が保有するIPアドレスブロック(自社プレフィックス)」のみに限定するプレフィックスリスト(Prefix-list)またはAS-Pathフィルタを厳格にインバウンド/アウトバウンド両方に適用する。
5.2 IBGPにおける「Next-Hop-Self」の欠如
現象: EBGPで学習した経路をIBGPピアに広報した際、社内ルータがその宛先へ通信できずパケットがブラックホールに消える。
原因: EBGPから学習した経路の「Next-Hop IPアドレス」は、対向ISPのルータのアドレス(例: 203.0.113.1)になっている。IBGPはデフォルトでNext-Hopを書き換えないため、社内ルータはこの外部IPアドレスへの到達経路を知らず、ルーティング不能となる。
対策: IBGPネイバー設定で必ず `neighbor x.x.x.x next-hop-self` を設定し、Next-Hopを自社境界ルータのループバックアドレスや社内インタフェースに書き換えさせる。
6. 午後・科目B形式 実戦演習
【問題シナリオ】
中堅ITサービスのK社は、データセンタで運用する自社ECサイトの可用性向上のため、自律システム番号「AS 65200」および「203.0.113.0/24」のIPアドレス空間を取得し、2社のISP(ISP-X:AS 64510、ISP-Y:AS 64520)とBGPによるマルチホーム接続を開始した。 各対外ルータ(R1、R2)および社内L3スイッチの構成は以下の通りである。
図のデータを表示できません。
K社の設計方針は以下の通りである。
通常運用時は、広帯域な「ISP-X」を主回線とし、社内からのアウトバウンド通信およびインターネットからのインバウンド通信の双方をISP-Xに集中させる。
ISP-Xの回線断またはルータ障害発生時のみ、自動的に「ISP-Y」の副回線へすべての通信を切り替える。
K社ルータがISP-XとISP-Yの間でインターネット通信を中継(トランジット)することは固く禁止する。
【設問1】
通常時において、インターネット上の一般的なクライアントからK社のWebサーバ(203.0.113.0/24)への下りトラフィックを、主回線であるISP-X経由に誘導するため、ルータR2がISP-Yに対してBGP UPDATEメッセージを送信する際に行うべき設定を、変更対象となるBGP属性名を明記し、35字以内で述べよ。
解答への思考プロセス
事実関係と要件:
- インターネットから自社へのインバウンド(下り)トラフィックをISP-Xに誘導し、ISP-Yをバックアップ(待機)にしたい。 - 自社から制御できるインバウンド制御の王道は 「AS-Path Prepending」。 - R2からISP-Yへ自社プレフィックスを広報する際、自社AS番号(AS 65200)を複数個付加(プリペンド)して、AS-Path長を水増しする。 - これにより、外部ASから見てISP-Y経由の経路が遠回り(AS-Pathが長い)と判定され、ISP-X経由が優先される。
制限字数(35字以内)への整形:
- 「AS-Path属性に自社AS番号を複数追加して経路長を長く見せる。」(33字)
模範解答
AS-Path属性に自社AS番号を複数追加して経路長を水増しする。(33字)
減点・失点分析
×「Local Preferenceの値を小さく設定して広報する。」(Local PreferenceはEBGPピアを跨いで外部へ広報されないため完全に誤り。0点)
△「MEDの値を大きく設定する。」(MEDは異なるAS間ではデフォルトで比較されないため、ISP-XとISP-Y間では有効に機能しない可能性が高く減点対象)
【設問2】
K社が「意図しないトランジットAS化」となり、他社のインターネットトラフィックが自社のデータセンタ回線へ流入して帯域が飽和することを防ぐため、ルータR1およびR2から各ISPへ送信するBGP経路広告において実施すべきフィルタリング設定を、広報を許可する対象に着目して35字以内で述べよ。
解答への思考プロセス
事実関係と要件:
- トランジット化とは、自社がISP-Xから受け取った経路をISP-Yへ広報したり、その逆を行ったりすることで発生する。 - 防ぐためには、自社から各ISPへ送信(アウトバウンド)する経路を厳格に制限する必要がある。 - 自社がインターネットへ広報してよいのは「自社が保有するIPアドレスブロック(自社プレフィックス:203.0.113.0/24)」のみである。
制限字数(35字以内)への整形:
- 「各ISPへ広告する経路を自社の保有するIPプレフィックスのみに制限する。」(35字)
模範解答
各ISPへ広報する経路を自社保有のプレフィックスのみに限定する。(33字)
減点・失点分析
×「ISPから受信するデフォルトルートのみを許可する。」(インバウンドフィルタの話になっており、設問の「他社トラフィックの流入防止(自社からの不要な経路広報遮断)」に正対していない)
△「不要なパケットをファイアウォールで遮断する。」(BGP経路広告のフィルタリングを問う設問であり、データプレーンのFWの話ではないため大幅減点)
7. まとめと次ステップ
BGPによるマルチホーム接続は、大規模エンタープライズやクラウド基盤の可用性を担保する心臓部です。
アウトバウンド(上り)は自社内の Local Preference で絶対制御する。
インバウンド(下り)は対外広報の AS-Path Prepending で誘導する。
トランジット化防止のために、自社プレフィックス以外は絶対に外部広報しない。
次稿 NWP-06(権威DNSとキャッシュDNSの分離設計およびDNSSECの実装) では、インターネットの名前解決基盤であるDNSの階層構造、キャッシュポイズニング攻撃の防御策、および暗号連鎖によるDNSSECの仕組みを徹底解説します。
次におすすめの学習
編集・検証について
編集・検証:IT資格ラボ編集部
IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。
編集方針・情報源・訂正方針を見る