BGPが苦手でも大丈夫!経路選択を超分かり易く解説

BGPって「インターネットを支える超重要技術」なのに、勉強を始めると AS/属性/ベストパス で一気に難しく感じますよね。

この記事は、初心者がつまずきやすいポイントを先回りして、CCNP(ENCOR/ENARSI)で点が取れる理解まで一直線でつなげます。




 


 


1. BGPを一言でいうと?

1-1 BGPが必要な理由

1-1-1 IGPとの違いを3行で

BGPは一言でいうと、**「ネットワークの“会社同士”が、行ける場所(宛先)を教え合う仕組み」**です。

ここで言う“会社同士”は、**AS(自治システム)**という単位で考えます。

ASは「一つの組織が管理しているネットワークのまとまり」くらいでOKです。

BGPは、このAS同士をつないで、インターネット全体が迷子にならない様に道案内をしています。(nic.ad.jp)

一方で、OSPFみたいなIGPは「会社の中(同じASの中)」の道案内が得意です。

例えば、同じ学校の校内で教室に行く道はIGP、学校から別の学校へ行く道はBGP、みたいなイメージです。

BGPが強いのは、ただ最短ルートを選ぶだけじゃなくて、“こうしたい”という方針(ポリシー)で道を選べるところです。

「この回線は高いからなるべく使わない」「この出口を使わせたい」みたいな“都合”を反映できるのがBGPの特徴です。(nic.ad.jp)


2. CCNPでBGPが出る範囲

2-1 ENCORで問われる「直結eBGP」

2-1-1 ベストパスの超基本

CCNP ENCORでは、「BGPを設定出来るか」だけでなく、**“どうやって動いてるか説明出来るか”**が大事です。

実際、試験範囲に「直接つながっている相手どうしのeBGPを設定・確認(ベストパス選びとネイバー関係)」が書かれています。(learningnetwork.cisco.com)

初心者が最初にやる事はシンプルで、流れはこの順です。

  1. 相手と友だちになる(セッション確立)
  2. 道(経路)を交換する
  3. 同じ目的地への道が複数あるとき、どれが“代表”になるか(ベストパス)

「ベストパス」は、ざっくり言うと“評価の順番”があり、その順番で勝ち残った道が選ばれます。

Ciscoの説明でも「複数の道が来たとき、ベストパスを決めてルーティングテーブルに入れる」と整理されています。(Cisco)

試験でも現場でも役立つ“確認コマンド”はこれです(暗記より、見て判断出来るのが強い)。

show ip bgp summary
show ip bgp
show ip route

2-2 ENARSIで問われる「トラシュー&設計」

2-2-1 RR/ポリシー/属性

ENARSIは、もっと“現場寄り”です。試験範囲にも、**route-map(ルートマップ:条件つきのルール)**やフィルタ、ルートリフレクタ(RR)など、運用っぽい項目が入っています。(learningnetwork.cisco.com)

ENARSIをラクにするコツは、BGPのトラブルを次の順で考える事です。

  1. つながってる?(セッション)
  2. 次の行き先(next-hop)に行ける?
  3. フィルタで落としてない?
  4. iBGPの仕組み(RRなど)で止まってない?
  5. 属性(ルートの“性格”)で負けてない?

この順番で見ていくと、原因が見つかり易いです。

Ciscoのトラブルシュート資料でも「次ホップに行けるようにルートを用意する」「iBGPなら動的ルーティングで伝える」など、まず到達性を見る考え方が出てきます。(Cisco)


3. BGPの基本用語を“絵”で覚える

3-1 ASとAS番号

3-1-1 AS_PATHがループを防ぐ

BGPでよく出るのが AS番号AS_PATH(エーエスパス)です。

AS_PATHは「この道はどのASを通ってきたか」という通り道の記録です。

これがあるおかげで、BGPは大きなネットワークでも“ぐるぐる回る”事故(ループ)を減らせます。

JPNICの解説でも、BGPはAS番号を使い、UPDATEで経路情報と属性(パス属性)を運ぶ、とまとめられています。(nic.ad.jp)

イメージは「スタンプラリー」です。

道の説明に「通った場所の一覧」が付いてきます。

もしその一覧に自分のAS番号が入っていたら、「同じ場所に戻ってきてる=危ない」ので、その道は基本使いません。

これが“ループを防ぐ”考え方です。

ここが分かると、あとで出てくる **AS-PATH prepend(わざと遠回りに見せる)**も理解しやすくなります(prependは“スタンプを増やして遠く見せる”イメージ)。(nic.ad.jp)


3-2 eBGPとiBGP

3-2-1 iBGPは勝手に中継しない

ここが初心者の最大のつまずきポイントです。

**iBGP(同じASの中のBGP)は、iBGPで覚えた道を、別のiBGP相手にそのまま流しません。

だからiBGPだけでちゃんと経路を広げたいなら、基本は全員が全員と話す(フルメッシュ)**が必要になります。

RFCでも、iBGPをフルメッシュにしないとスケールが問題になり、解決策としてRRが説明されています。(IETF Datatracker)

なぜそんなルールがあるかというと、同じASの中だと「通り道(AS_PATH)」が変わらず、雑に中継すると混乱しやすいからです。

現実にはフルメッシュはつらいので、次の章で出てくる RR(Route Reflector:中継役) を使って楽にします。(IETF Datatracker)





4. セッション確立:BGPはTCPでしゃべる

4-1 4つのメッセージ

4-1-1 OPEN/UPDATE/KEEPALIVE/NOTIFICATION

BGPは、TCPでつながります。

だから、まず“会話の回線”を作ってから話します。

RFC 4271でも、確立後にUPDATE/KEEPALIVE/NOTIFICATIONを交換する(Established状態)事が書かれています。(IETF Datatracker)

メッセージは基本この4つを覚えればOKです。

  • OPEN(オープン):最初の自己紹介。「私はAS65001だよ」みたいに名刺交換する
  • KEEPALIVE(キープアライブ):生きてる確認。「まだつながってるよ」
  • UPDATE(アップデート):道を渡す本番。「この宛先へはこう行けるよ」
  • NOTIFICATION(ノーティフィケーション):大きなエラー通知。これが出ると切れることが多い

JPNICの資料でも、UPDATEが経路情報を運び、KEEPALIVEはタイマーとセットで“落ちたか判断する”ような話が説明されています。(nic.ad.jp)


5. ルート選択:ベストパスはこう決まる

5-1 まずロンゲストマッチ

5-1-1 「経路の粒度」で勝負が決まる

ベストパスの前に、超重要な大前提があります。
ルータは宛先を決めるとき、**一番細かく合う道(最長一致=ロンゲストプレフィックスマッチ)**を使います。

これはルータの基本ルールとしてRFC 1812にもはっきり書かれています。(IETF)

例:

  • 10.0.0.0/8(ざっくり)
  • 10.1.2.0/24(細かい)
    が両方あると、10.1.2.3宛ては /24が勝ちです。つまり、属性でベストパスを頑張っても、もっと細かい経路が別にあればそっちが使われる事があります。だから、思った通りにならないときは「/何(プレフィックス長)が入ってる?」を最初に見るのが近道です。(IETF)

5-2 属性の優先順位(Cisco例)

5-2-1 Weight/LocalPref/AS_PATH/Origin/MED

ベストパスは「道の点数勝負」です。

BGPには**属性(その道の“性格”)**があり、順番に比べて勝った道が選ばれます。

Ciscoの説明では、Weight、Local Preference、AS_PATH、Origin、MEDなどを順に見てベストパスを決める流れがまとまっています。(Cisco)

中学生向けに超ざっくり言うと:

  • Weight(重み):そのルータだけの“えこひいき”
  • Local Preference(ローカルプリファレンス):ASの中の“みんなのルール”。大きいほど優先
  • AS_PATH:通るASが少ないほど有利(短い方が勝ちやすい)
  • Origin/MED:細かい調整(条件つきで効く)

そして超大事なのがこれ。

next-hop(次ホップ)に行けない道は、最初から候補から落ちる事がある、という点です。

Ciscoも「なぜルータがパスを無視するか」を説明していて、次ホップ到達性は重要ポイントです。(Cisco)

Juniperの説明でも「次ホップに行けない経路は選ばれない」という考え方が明確に書かれています。(Juniper Networks)


6. ルート制御:CCNPで点が取れる設定の型

6-1 フィルタ(prefix-list/route-map)

6-1-1 “許可リスト”から作る

BGPは広い範囲に影響が出るので、初心者ほど 「通していいものだけ通す」 が安全です。

これが“許可リスト方式”です。

  • prefix-list(プレフィックスリスト):通していい宛先のリスト
  • route-map(ルートマップ):条件に合うものだけに、追加のルールを当てる仕組み

Ciscoの資料でも、不要な経路更新を減らすためにフィルタを使う考え方(prefixベースのフィルタ)や、ルート制御の重要性が説明されています。(Cisco)

やり方の“型”はこれです。

  1. prefix-listで「許可」する宛先を作る
  2. route-mapで「その宛先だけ」通したり、属性を変えたりする
  3. neighborに in/out で当てる(入ってくる道/出していく道)

この型を作ると、「なぜ経路が来ない?」「なぜ広告しない?」のときに、まずフィルタを疑えるようになります。(Cisco)


6-2 トラフィックエンジニアリング

6-2-1 LocalPref・AS-PATH prepend・Community

ここは言葉が難しく見えるけど、やる事は単純です。

コツは “行き”と“帰り”を分ける事。

  • 行き(自分のASから外へ出る道):自分のASの中で決めやすい → Local Preferenceが主役
  • 帰り(外から自分のASへ入ってくる道):相手が選ぶ → AS-PATH prependで“遠く見せる”工夫がよく使われる

そして便利なのが Community(コミュニティ)

これは「この道はこう扱ってね」という“タグ”みたいな物です。

例えば NO_ADVERTISE(誰にも広告しない)NO_EXPORT(ASの外へ出さない) の様な“有名タグ”があります。

Ciscoコミュニティの記事や解説でも、no-advertise等の意味が説明されています。(community.cisco.com)

初心者はまず、「LocalPrefは内側で効かせる」「prependは外側にお願いする」「communityはラベル」という3点だけ覚えれば十分です。(Cisco)


6-3 経路集約

6-3-1 aggregate-addressとsummary-only

経路が増えると、BGPの表が大きくなって重くなります。

そこで使うのが 経路集約(たくさんの道を、まとめて短くする)です。

Ciscoの資料では aggregate-address で集約でき、ただし属性が継承されないなどの注意点が説明されています。(Cisco)

集約を中学生向けに言うと、「住所をまとめる」感じです。

  • 「東京都千代田区1丁目、2丁目、3丁目…」を
  • 「東京都千代田区」みたいにまとめる
    というイメージです。便利だけど、まとめると細かい情報が消えます。だから、集約するときは「何が消えるか」を意識する必要があります。(Cisco)

また、summary-only(集約した経路だけ出したい)という考え方もあり、細かい経路を出したくないときに使います(状況によっては運用上助かります)。(Cisco)


7. トラブルシュート:詰まるのは大体ここ

7-1 Next-Hop到達性

7-1-1 next-hop-selfとIGPを疑う

BGPトラブルで一番多いのはこれです。
「相手とはつながってる(Established)っぽいのに、経路が使えない/入ってこない」

この時、まず見るのが **next-hop(次ホップ)**です。

次ホップは「次に行くべき相手の住所」みたいなもの。

そこに行けないなら、その道は使えません。

Ciscoのトラブルシュートでも「次ホップに行けるようにルートを入れる(スタティックや動的ルーティング)」と説明されています。(Cisco)

そして、iBGPでよく効くのが next-hop-selfです。

これは「次ホップを“自分”に書き換えて、相手が迷わないようにする」考え方です。

Ciscoコミュニティでも、next-hop-selfが“next-hopを一貫した値にする”ために使われる、という説明があります。(community.cisco.com)

チェックの順番はこれでOKです。

  1. show ip bgp で next-hop を見る
  2. show ip route で next-hop に行けるか見る
  3. 行けないなら IGP/スタティック/next-hop-self を疑う
    (Cisco)

7-2 iBGPスケール問題

7-2-1 ルートリフレクタでフルメッシュ回避

iBGPは「勝手に中継しない」ので、ルータが増えるとフルメッシュが地獄になります。

そこで使うのが **RR(Route Reflector)**です。

RRは「フルメッシュしなくても済むようにする仕組み」としてRFC 4456で説明されています(RFC 2796を置き換えたものです)。(IETF Datatracker)

イメージは「クラスの連絡係」です。

  • みんなが全員に連絡するのは大変
  • 連絡係(RR)に言えば、RRがみんなに回してくれる
    という感じです。これでiBGPの数が増えても回せます。(IETF Datatracker)

ただしRRを入れても、next-hop問題や設定ミスで届かない事があります。

だから、最初は「RR1台+クライアント2台」の小さな形で動く事を確認してから広げるのが安全です。(IETF Datatracker)


8. 学習ロードマップ(初心者→CCNP)

8-1 演習で覚える最短ルート

8-1-1 3つのラボ課題と確認コマンド

最後に、暗記を減らして“体で覚える”ためのラボを3つにしぼります。

ENCORは「直結eBGPの設定・確認(ベストパス、ネイバー)」が明記されています。(learningnetwork.cisco.com)

ENARSIは「route-map(ルール)、フィルタ、RR」などトラシューと設計寄りが入っています。(learningnetwork.cisco.com)

ラボ①:直結eBGP(ENCORの土台)

  • ゴール:Establishedになる → 経路を交換する → どれが選ばれたか言える
  • 見るコマンド:
show ip bgp summary
show ip bgp

ベストパスの考え方はCiscoの解説を読むと整理しやすいです。(Cisco)

ラボ②:属性で“出口”を変える(ベストパスを体験)

  • ゴール:LocalPrefやAS_PATHで、選ばれる道が変わるのを目で見る
  • ここで「次ホップに行けないと候補落ち」も体験すると一気に強くなります。(Juniper Networks)

ラボ③:iBGP+RR+next-hop地雷(ENARSI直結)

  • ゴール:iBGPの“中継しない”で詰まる → RRで解決 → next-hopで詰まって直す
  • 見るコマンド:
show ip bgp
show ip route

RRはRFC 4456にまとまっているので、仕組みの理解に最適です。(IETF Datatracker)


まとめ

BGPは、インターネットで「ネットワークの“組織同士(AS同士)”」が、行ける場所(宛先)を教え合うためのルールです。

普通はISP同士など、別のASとつなぐ時に使い、どの相手を通すかは**方針(ルーティングポリシー)**で決めます。

経路をまとめて小さくして渡す(集約)考え方もあります。(nic.ad.jp)

CCNPでは、ENCORで「直結した相手とのeBGP設定・確認」と「どの道が選ばれるか(ベストパス)」がポイントです。(learningnetwork.cisco.com)

ENARSIではさらに、トラブル対応ルール(フィルタ/属性操作)、**ルートリフレクタ(RR)**など“運用っぽいところ”まで出ます。(learningcontent.cisco.com)

BGPの基本の流れはこうです。

  1. まずTCPでつながって会話を始める
  2. OPEN/UPDATE/KEEPALIVE/NOTIFICATIONのメッセージで、自己紹介→道の交換→生存確認→エラー通知をする(IETF Datatracker)

そして「どの道を使うか」は、次の順で考えると迷いません。

  • 最長一致(いちばん細かい道が勝つ):/24の道は/16より優先されます(IETF)
  • 同じ細かさの道が複数あるときに、BGPのベストパスで代表を決めます(Cisco)
  • ただし、次ホップ(next-hop)に行けない道は使えないので、まず「次ホップに行けるか」を確認するのが超重要です(Cisco)

うまく動かない時のチェック順(これだけ覚えると強い):

  1. 相手とつながってる?(疎通・設定ミス)
  2. next-hopに行ける?(経路がないと使えない)(Cisco)
  3. フィルタ(許可/拒否)で落としてない?
  4. iBGPなら「勝手に中継しない」ルールで止まってない? → RRで解決できることがある(community.cisco.com)
  5. 最後に、属性(Weight/LocalPref/AS_PATHなど)で負けてないかを見る(Cisco)

この順番で理解して、ラボで「直結eBGP」「属性でベストパスが変わる」「iBGP+RR+next-hop問題」を体験すると、暗記が減って一気にラクになります。

 




コメント

この記事へのコメントはありません。

CAPTCHA


カレンダー
2026年2月
 1
2345678
9101112131415
16171819202122
232425262728  
カテゴリー
月別アーカイブ
PAGE TOP

You cannot copy content of this page