BGP とは ── 組織と組織の間をつなぐ経路制御

OSPF が「社内の地図を共有する」プロトコルなら、BGP は「組織どうしが、自分の持っているネットワークを教え合う」プロトコルです。 インターネットそのものが BGP で動いていて、午後では「ISP との接続」「マルチホーム(2 回線で冗長化)」「クラウドとの接続」の題材で必ず登場します。 OSPF を覚えたあとに読むと、違いがそのまま理解の軸になります。

1. BGP が解いている問題

自社 AS 65000(社内は OSPF) ISP-A AS 100 ISP-B AS 200 インターネット eBGP eBGP iBGP R11 R12 L3SW/FW ISP-A ISP-B 赤=eBGP(AS が違う相手)、破線=iBGP(同じ AS の中)。R11・R12 が ASBR として社内 OSPF と接する
図1 自社が 2 つの ISP とつながるマルチホーム構成。午後の典型

インターネットは何万もの組織のネットワークの寄せ集めです。各組織のネットワークを AS(Autonomous System、自律システム)と呼び、 世界で一意の AS 番号が付きます。ISP も、大企業も、クラウド事業者も、それぞれ 1 つの AS です。

AS の中は OSPF でよいのですが、AS と AS の間では OSPF は使えません。理由は 2 つあります。

BGP の目的 AS どうしが「私はこのネットワーク(プレフィックス)を持っている/届けられる」という到達可能性だけを教え合い、 各 AS が自分の方針でどの経路を使うか決められるようにすること。内部構成は見せない。

2. OSPF と何が違うか

OSPFBGP
使う場所AS の中(IGP)AS と AS の間(EGP)
交換する情報全ルータの接続情報(地図)「このプレフィックスに届く」という経路と、その属性(通ってきた AS の列など)
方式リンク状態パスベクタ(経路+通過 AS のベクトル)
相手の見つけ方Hello のマルチキャストで自動相手の IP アドレスと AS 番号を手で設定(ピア、ネイバー)
通信手段IP 直上、プロトコル番号 89TCP 179。確実に届けたいので TCP
経路の良し悪しコストの合計が最小属性で段階的に比較(LOCAL_PREF → AS_PATH 長 → …)
更新変化時に LSA を流す変化時に UPDATE。生存確認は KEEPALIVE(既定 60 秒ごと)
規模数百台までインターネット全体(フルルートは約 100 万経路)

一番の違いは「自動で隣を見つけない」ことです。BGP は設定した相手(ピア)としか話しません。だから午後の問題文には必ず「R11 と ISP-A のルータとの間で eBGP ピアを張る」のような記述が出てきます。

3. 動作の流れ

(1) ピアを張る

両端のルータに「相手の IP アドレス」「相手の AS 番号」を設定すると、TCP 179 で接続し、OPEN メッセージで AS 番号などを交換してピア(BGP セッション)が確立します。 以降は KEEPALIVE を定期的(既定 60 秒)に送り合い、ホールドタイム(既定 180 秒)内に届かなければ相手が死んだと判断してセッションを切断し、相手から学んだ経路を全部捨てます。

(2) 経路を広告する

確立したピアに、自分が持つプレフィックスを UPDATE メッセージで広告します。UPDATE には「プレフィックス」と「パス属性」が入っています。 主な属性は、通ってきた AS 番号の列 AS_PATH、次に渡す先 NEXT_HOP、起源 ORIGIN、AS 内での優先度 LOCAL_PREF、相手に「こっちから入ってほしい」と頼む MED です。 最初に広告したあとは、変化があったときだけ差分の UPDATE(追加と取り消し)を送ります。

AS 30010.0.0.0/8 を持つ AS 200 AS 100 自社 10/8 [300] 10/8 [200 300] 10/8 [100 200 300] 経路が AS を通過するたびに、その AS 番号が AS_PATH の先頭に足される 自社から見て AS_PATH が短い経路=通過する組織が少ない経路、が優先される
図2 AS_PATH は通過するたびに伸びる

(3) 最適経路を選び、経路表に入れる

受け取った経路は全部 BGP テーブルに溜まります。同じプレフィックスを複数のピアから受け取ったら、4 章のルールで1 つだけ最適経路に選び、それをルーティングテーブルに反映します。 選ばれなかった経路は BGP テーブルに残っていて、最適経路が消えたら繰り上がります。

令和3年 午後Ⅱ問2 設問2(5) 「BGP テーブルから最適経路を一つだけ選択し、ルータのルーティングテーブルに反映する」がそのまま解答例です。 BGP テーブルとルーティングテーブルは別物、という理解を問うています。

4. 経路の選び方(ここが午後の中心)

同じプレフィックスへの経路が複数あるとき、BGP は次の順に比較して、最初に差が付いたところで決めます。

順比較する属性どちらが勝つか誰が操作するか
1LOCAL_PREF大きい方自 AS 内で決める。「出ていく経路」を選ぶのに使う
2AS_PATH の長さ短い方相手 AS が AS_PATH プリペンドで自分の AS 番号を何回も付けて長く見せ、「入ってくる経路」を操作する
3ORIGINIGP > EGP > incompleteほぼ出ない
4MED小さい方相手に「こちらの入口を使って」と伝える。同じ隣接 AS からの経路どうしでだけ比較
5eBGP か iBGP かeBGP で学んだ方
6NEXT_HOP までの IGP コスト小さい方OSPF のコストがここで効く
7ルータ ID小さい方最後の同点判定
覚え方 出ていく方向は自分で決められる=LOCAL_PREF を大きく。入ってくる方向は相手が決めるので、お願いするしかない=AS_PATH を長くして嫌がらせる、か MED を小さくして誘う。 令和3年 午後Ⅱ問2 設問2(4) の空欄「AS_PATH が短い」「MED が小さい」、令和5年 午後Ⅱ問1 設問2(1) f「LOCAL_PREF が大きい」、令和7年 午後Ⅰ問1 設問1(3)「AS_PATH 長を長くする」は全部この表です。
マルチホームの典型設定(通常は ISP-A、ISP-A が落ちたら ISP-B)
  出ていく通信   R11(ISP-A 側)で受け取る経路の LOCAL_PREF を 200、R12(ISP-B 側)を 100 にする
  入ってくる通信  R12 から ISP-B へ広告するとき、自 AS 番号を 3 回プリペンドして AS_PATH を長くする
                → 世界から見て ISP-A 経由の方が短いので、普段は ISP-A から入ってくる

5. eBGP と iBGP

相手の AS が違えば eBGP、同じ AS の中のルータどうしなら iBGP です。プロトコルは同じですが、動作のルールが少し違います。

eBGPiBGP
相手隣の AS のルータ(通常は直結)同じ AS 内のルータ(直結でなくてよい。間に OSPF があれば届く)
AS_PATH広告時に自 AS 番号を追加する追加しない(AS 内なので)
NEXT_HOP自分のアドレスに書き換える書き換えない(eBGP から受けたままの外部アドレスで伝える)
学んだ経路の再広告制限なしiBGP で学んだ経路は別の iBGP ピアに広告しない(ループ防止)。だから iBGP は全ルータ間でフルメッシュに張る必要がある
ピアに使うアドレス直結インタフェースのアドレスループバックのアドレス(物理 IF が落ちてもセッションを維持できる)
自社 AS R11 R12 ISP ルータ eBGP 203.0.113.1 iBGP R12 が受け取る経路のネクストホップは本来 203.0.113.1(ISP 側) R12 はそこへの経路を知らないと使えない → R11 が next-hop-self で「ネクストホップ=自分」に書き換えて広告する
図3 next-hop-self が必要になる場面

ここから午後の 3 つの定番論点が出ます。

6. OSPF との接続(再配布)

図1 の R11・R12 は、外側で eBGP、内側で OSPF を話す ASBR です。両者の間で経路を受け渡すのが再配布で、ここが設計の急所です。

BGP と VRRP の順序 マルチホームの冗長化は「BGP で外側の経路を確保し、VRRP で内側の PC から見た出口を 1 つにする」の二段構えです。 導入は BGP が先、VRRP が後。VRRP マスターになったルータが BGP の経路を持っていないと、PC から来たパケットを転送できないからです(令和5年 午後Ⅱ問1 設問2(4))。OSPF のときと同じ「経路表が揃ってから代表になる」理屈です。

7. 用語集(午後で出る順)

用語意味午後でのポイント
AS / AS 番号1 つの管理組織のネットワーク。番号は世界で一意(プライベート AS 番号 64512〜65534 もある)空欄で「AS」を答えさせる(平成29年、令和5年)
ピア(ネイバー)手動設定した BGP の相手。TCP 179「eBGP ピアを無効にする」が切替手順の操作(令和3年)
OPEN / UPDATE / KEEPALIVE / NOTIFICATION4 種類のメッセージ。確立 / 経路広告 / 生存確認 / エラー通知定期的に流れるのは KEEPALIVE(タイプ 4)。止まるとセッション切断、経路クリア(令和5年)
ホールドタイムKEEPALIVE が届かなくなってから切断するまでの時間(既定 180 秒)短くすると障害検知が速い。BFD を併用すればさらに速い
プレフィックス広告する宛先ネットワーク(例 203.0.113.0/24)ISP に広告するのは自社のグローバルアドレスだけ
AS_PATH経路が通ってきた AS 番号の列短い方が優先。プリペンドで長くして入ってくる経路を操作。自 AS 番号が含まれる経路は捨てる(ループ防止)
NEXT_HOPその経路のパケットを次に渡す先iBGP では書き換わらない → next-hop-self
LOCAL_PREFAS 内だけで使う優先度大きい方が優先。出ていく経路の選択
MED隣接 AS に伝える「こちらの入口を使って」の値小さい方が優先。相手が尊重するとは限らない
BGP テーブル受け取った全経路の置き場ここから最適経路を 1 つ選んでルーティングテーブルへ
フルルート / デフォルトルートインターネット全経路(約 100 万)/ 0.0.0.0/0 だけ社内にはデフォルトルートだけ流す
ルートリフレクタiBGP のフルメッシュを省く中継役ピア数削減。冗長化はクラスタ ID
MP-BGPIPv6 や VXLAN(EVPN)の情報も運べる拡張令和6年 午後Ⅱ問1「MP-BGP を用いて学習する」
BGP Flowspec / RTBHDDoS 対策で、BGP を使って遮断ルールやブラックホール経路を配る令和6年 午後Ⅰ問1
不正な BGP 接続知らない相手からのピア要求ピア認証(MD5)や ACL で防ぐ(令和6年 午後Ⅰ問1 設問2(3))

8. 午後での問われ方と答え方の型

設問の型答え方出た年度
空欄「AS」「ピア」「UPDATE」「KEEPALIVE」「ルーティングテーブル」用語そのままR5 午後Ⅱ問1、H29 午後Ⅰ問3、R1 午後Ⅰ問1
LOCAL_PREF / AS_PATH / MED の大小LOCAL_PREF は大きい、AS_PATH は短い、MED は小さい方が優先R5 午後Ⅱ問1、R3 午後Ⅱ問2
使わせたくない経路をどうするかAS_PATH プリペンドで長くするR7 午後Ⅰ問1
next-hop-self で何が設定されるか広告するルータ自身の IP アドレスR5 午後Ⅱ問1
定期的にやり取りされるメッセージと、止まったときの動作KEEPALIVE。ホールドタイム内に届かないと BGP 接続を切断し経路情報をクリアするR5 午後Ⅱ問1
iBGP をループバックで張る理由物理 IF が複数あり、片方が落ちても OSPF の迂回路でセッションを維持できるからR3 午後Ⅱ問2
BGP テーブルとルーティングテーブルの関係BGP テーブルから最適経路を 1 つ選んでルーティングテーブルに反映するR3 午後Ⅱ問2
静的経路があると BGP 経路が使われない理由静的経路の方が優先される(管理距離が小さい)から。削除すると BGP 経路が有効になるR5 午後Ⅱ問1、R3 午後Ⅱ問2
BGP 導入後に VRRP を入れる理由VRRP マスターが BGP の経路を持っていないと転送できないからR5 午後Ⅱ問1
再配布でのループ防止eBGP から OSPF へ再配布した経路を再び eBGP へ再配布しない(経路フィルタ)H29 午後Ⅰ問3、R6 午後Ⅰ問2
ルートリフレクタの利点と冗長化iBGP ピア数を減らせる。冗長化はクラスタ IDR6 午後Ⅱ問1
BGP で得られる冗長化の効果回線断や機器障害を検知してトラフィックを迂回できるH29 午後Ⅰ問3
読み方の型 BGP の問題には「表 3 BGP の設定」「表 4 障害試験」のように設定表と手順表が付きます。空欄は表の中にあることが多く、本文の該当箇所を探せば埋まります。 「どちらの ISP を通るか」は、LOCAL_PREF → AS_PATH 長 の順に表の値を比べれば機械的に決まります。

9. ミニ確認問題

Q1 BGP が OSPF と違って「自動で隣を見つけない」のはなぜか相手は別組織のルータで、誰と経路を交換するかは契約で決まるから。相手の IP アドレスと AS 番号を手で設定してピアを張る。
Q2 BGP が TCP(179)を使う理由経路情報を確実に届ける必要があり、再送や順序制御を TCP に任せるため。差分更新なので信頼性のある接続が前提。
Q3 LOCAL_PREF、AS_PATH、MED はそれぞれどちらが優先かLOCAL_PREF は大きい方、AS_PATH は短い方、MED は小さい方。比較はこの順。
Q4 「入ってくる通信」を ISP-A 側に寄せたい。何をするかISP-B へ広告する経路に自 AS 番号をプリペンドして AS_PATH を長くする(または ISP-B 側の MED を大きくする)。
Q5 iBGP で next-hop-self が必要になる理由iBGP は NEXT_HOP を書き換えないので、eBGP で受けた外部アドレスがそのまま伝わる。内側のルータがそのアドレスへの経路を知らないと経路を使えない。
Q6 iBGP のピアにループバックアドレスを使う理由物理インタフェースが 1 本落ちてもループバックは生きており、OSPF の迂回路でセッションを維持できる。
Q7 KEEPALIVE が届かなくなるとどうなるかホールドタイム経過後に BGP セッションを切断し、そのピアから学んだ経路をすべて削除する。
Q8 BGP テーブルとルーティングテーブルの違いBGP テーブルは受け取った全経路の置き場。そこから最適経路を 1 つ選んだものだけがルーティングテーブルに入る。
Q9 ISP から受けた経路を社内の OSPF にどう流すかフルルートは流さず、デフォルトルートだけを OSPF に再配布する。逆方向は経路フィルタでループを防ぐ。
Q10 BGP と VRRP、どちらを先に導入するか。理由はBGP が先。VRRP マスターになったルータが BGP の経路を持っていないと、受け取ったパケットを転送できないから。

用語の振り返り

このページの用語集(15 語)から作った確認問題です。「意味 → 用語」は意味の説明(用語そのものは__で伏せてある)を読んで用語を入力し、Enter で答え合わせします。 表記ゆれで × になったときは「合っていた」で直せます。「用語 → 意味」は口で説明してから答えを開いて自己採点します。結果はこのブラウザに保存され、「×だけ」で間違えた語だけを解き直せます。

← OSPFトップ(目次)へVRRP →

作成 2026-10-26。ネットワークスペシャリスト 科目B(午後)対策。出典は平成29年秋・令和元年秋・令和3〜7年春の午後Ⅰ・Ⅱ(IPA 公開問題)。 関連: OSPF とは、VRRP とは、ルーティング即答ドリル。