OSPF が「社内の地図を共有する」プロトコルなら、BGP は「組織どうしが、自分の持っているネットワークを教え合う」プロトコルです。 インターネットそのものが BGP で動いていて、午後では「ISP との接続」「マルチホーム(2 回線で冗長化)」「クラウドとの接続」の題材で必ず登場します。 OSPF を覚えたあとに読むと、違いがそのまま理解の軸になります。
インターネットは何万もの組織のネットワークの寄せ集めです。各組織のネットワークを AS(Autonomous System、自律システム)と呼び、 世界で一意の AS 番号が付きます。ISP も、大企業も、クラウド事業者も、それぞれ 1 つの AS です。
AS の中は OSPF でよいのですが、AS と AS の間では OSPF は使えません。理由は 2 つあります。
| OSPF | BGP | |
|---|---|---|
| 使う場所 | AS の中(IGP) | AS と AS の間(EGP) |
| 交換する情報 | 全ルータの接続情報(地図) | 「このプレフィックスに届く」という経路と、その属性(通ってきた AS の列など) |
| 方式 | リンク状態 | パスベクタ(経路+通過 AS のベクトル) |
| 相手の見つけ方 | Hello のマルチキャストで自動 | 相手の IP アドレスと AS 番号を手で設定(ピア、ネイバー) |
| 通信手段 | IP 直上、プロトコル番号 89 | TCP 179。確実に届けたいので TCP |
| 経路の良し悪し | コストの合計が最小 | 属性で段階的に比較(LOCAL_PREF → AS_PATH 長 → …) |
| 更新 | 変化時に LSA を流す | 変化時に UPDATE。生存確認は KEEPALIVE(既定 60 秒ごと) |
| 規模 | 数百台まで | インターネット全体(フルルートは約 100 万経路) |
一番の違いは「自動で隣を見つけない」ことです。BGP は設定した相手(ピア)としか話しません。だから午後の問題文には必ず「R11 と ISP-A のルータとの間で eBGP ピアを張る」のような記述が出てきます。
両端のルータに「相手の IP アドレス」「相手の AS 番号」を設定すると、TCP 179 で接続し、OPEN メッセージで AS 番号などを交換してピア(BGP セッション)が確立します。 以降は KEEPALIVE を定期的(既定 60 秒)に送り合い、ホールドタイム(既定 180 秒)内に届かなければ相手が死んだと判断してセッションを切断し、相手から学んだ経路を全部捨てます。
確立したピアに、自分が持つプレフィックスを UPDATE メッセージで広告します。UPDATE には「プレフィックス」と「パス属性」が入っています。 主な属性は、通ってきた AS 番号の列 AS_PATH、次に渡す先 NEXT_HOP、起源 ORIGIN、AS 内での優先度 LOCAL_PREF、相手に「こっちから入ってほしい」と頼む MED です。 最初に広告したあとは、変化があったときだけ差分の UPDATE(追加と取り消し)を送ります。
受け取った経路は全部 BGP テーブルに溜まります。同じプレフィックスを複数のピアから受け取ったら、4 章のルールで1 つだけ最適経路に選び、それをルーティングテーブルに反映します。 選ばれなかった経路は BGP テーブルに残っていて、最適経路が消えたら繰り上がります。
同じプレフィックスへの経路が複数あるとき、BGP は次の順に比較して、最初に差が付いたところで決めます。
| 順 | 比較する属性 | どちらが勝つか | 誰が操作するか |
|---|---|---|---|
| 1 | LOCAL_PREF | 大きい方 | 自 AS 内で決める。「出ていく経路」を選ぶのに使う |
| 2 | AS_PATH の長さ | 短い方 | 相手 AS が AS_PATH プリペンドで自分の AS 番号を何回も付けて長く見せ、「入ってくる経路」を操作する |
| 3 | ORIGIN | IGP > EGP > incomplete | ほぼ出ない |
| 4 | MED | 小さい方 | 相手に「こちらの入口を使って」と伝える。同じ隣接 AS からの経路どうしでだけ比較 |
| 5 | eBGP か iBGP か | eBGP で学んだ方 | |
| 6 | NEXT_HOP までの IGP コスト | 小さい方 | OSPF のコストがここで効く |
| 7 | ルータ ID | 小さい方 | 最後の同点判定 |
マルチホームの典型設定(通常は 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 から入ってくる
相手の AS が違えば eBGP、同じ AS の中のルータどうしなら iBGP です。プロトコルは同じですが、動作のルールが少し違います。
| eBGP | iBGP | |
|---|---|---|
| 相手 | 隣の AS のルータ(通常は直結) | 同じ AS 内のルータ(直結でなくてよい。間に OSPF があれば届く) |
| AS_PATH | 広告時に自 AS 番号を追加する | 追加しない(AS 内なので) |
| NEXT_HOP | 自分のアドレスに書き換える | 書き換えない(eBGP から受けたままの外部アドレスで伝える) |
| 学んだ経路の再広告 | 制限なし | iBGP で学んだ経路は別の iBGP ピアに広告しない(ループ防止)。だから iBGP は全ルータ間でフルメッシュに張る必要がある |
| ピアに使うアドレス | 直結インタフェースのアドレス | ループバックのアドレス(物理 IF が落ちてもセッションを維持できる) |
ここから午後の 3 つの定番論点が出ます。
図1 の R11・R12 は、外側で eBGP、内側で OSPF を話す ASBR です。両者の間で経路を受け渡すのが再配布で、ここが設計の急所です。
| 用語 | 意味 | 午後でのポイント |
|---|---|---|
| AS / AS 番号 | 1 つの管理組織のネットワーク。番号は世界で一意(プライベート AS 番号 64512〜65534 もある) | 空欄で「AS」を答えさせる(平成29年、令和5年) |
| ピア(ネイバー) | 手動設定した BGP の相手。TCP 179 | 「eBGP ピアを無効にする」が切替手順の操作(令和3年) |
| OPEN / UPDATE / KEEPALIVE / NOTIFICATION | 4 種類のメッセージ。確立 / 経路広告 / 生存確認 / エラー通知 | 定期的に流れるのは KEEPALIVE(タイプ 4)。止まるとセッション切断、経路クリア(令和5年) |
| ホールドタイム | KEEPALIVE が届かなくなってから切断するまでの時間(既定 180 秒) | 短くすると障害検知が速い。BFD を併用すればさらに速い |
| プレフィックス | 広告する宛先ネットワーク(例 203.0.113.0/24) | ISP に広告するのは自社のグローバルアドレスだけ |
| AS_PATH | 経路が通ってきた AS 番号の列 | 短い方が優先。プリペンドで長くして入ってくる経路を操作。自 AS 番号が含まれる経路は捨てる(ループ防止) |
| NEXT_HOP | その経路のパケットを次に渡す先 | iBGP では書き換わらない → next-hop-self |
| LOCAL_PREF | AS 内だけで使う優先度 | 大きい方が優先。出ていく経路の選択 |
| MED | 隣接 AS に伝える「こちらの入口を使って」の値 | 小さい方が優先。相手が尊重するとは限らない |
| BGP テーブル | 受け取った全経路の置き場 | ここから最適経路を 1 つ選んでルーティングテーブルへ |
| フルルート / デフォルトルート | インターネット全経路(約 100 万)/ 0.0.0.0/0 だけ | 社内にはデフォルトルートだけ流す |
| ルートリフレクタ | iBGP のフルメッシュを省く中継役 | ピア数削減。冗長化はクラスタ ID |
| MP-BGP | IPv6 や VXLAN(EVPN)の情報も運べる拡張 | 令和6年 午後Ⅱ問1「MP-BGP を用いて学習する」 |
| BGP Flowspec / RTBH | DDoS 対策で、BGP を使って遮断ルールやブラックホール経路を配る | 令和6年 午後Ⅰ問1 |
| 不正な BGP 接続 | 知らない相手からのピア要求 | ピア認証(MD5)や ACL で防ぐ(令和6年 午後Ⅰ問1 設問2(3)) |
| 設問の型 | 答え方 | 出た年度 |
|---|---|---|
| 空欄「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 ピア数を減らせる。冗長化はクラスタ ID | R6 午後Ⅱ問1 |
| BGP で得られる冗長化の効果 | 回線断や機器障害を検知してトラフィックを迂回できる | H29 午後Ⅰ問3 |
このページの用語集(15 語)から作った確認問題です。「意味 → 用語」は意味の説明(用語そのものは__で伏せてある)を読んで用語を入力し、Enter で答え合わせします。 表記ゆれで × になったときは「合っていた」で直せます。「用語 → 意味」は口で説明してから答えを開いて自己採点します。結果はこのブラウザに保存され、「×だけ」で間違えた語だけを解き直せます。
作成 2026-10-26。ネットワークスペシャリスト 科目B(午後)対策。出典は平成29年秋・令和元年秋・令和3〜7年春の午後Ⅰ・Ⅱ(IPA 公開問題)。 関連: OSPF とは、VRRP とは、ルーティング即答ドリル。