インフラ用語集へ戻る

ネットワーク / L3ネットワーク

BGPとは

Border Gateway Protocol。異なるネットワーク組織やクラウド接続間で経路情報を交換するプロトコルです。

用語集内のカードを見る

詳細な図解

組織間で経路を広告して選択する流れ
自AS広告するPrefixを決める
BGP neighborneighborへ経路を交換
経路属性AS_PATHやlocal-prefで選択
相手AS/クラウド採用経路へ通信を流す
  • 経路漏えい防止フィルタを確認
  • 冗長回線の優先制御を見る
  • 受信経路と広告経路を分けて記録

この記事で学べること

BGPを、定義だけで終わらせず、現場で出てくる場面、確認材料、見落としやすい点、関連語とのつながりまで順に確認できます。

  1. BGPを読むときの前提
  2. neighborと経路広告の確認
  3. 属性と経路選択を見る
  4. フィルタと経路漏えいを防ぐ
  5. 変更証跡と引き継ぎ

実務メモ

neighbor、広告prefix、受信prefixを分けて保存する

どこで効くか

BGPはインターネット接続、閉域網、クラウド専用線で使われます。障害時はneighborがEstablishedかだけでなく、どのprefixを受け取り、どのprefixを広告し、どの属性でbest pathになったかを分けて確認します。

残す証跡

証跡にはAS番号、peer IP、neighbor状態、受信prefix、広告prefix、local preference、MED、AS path、prefix-list、route-map、max-prefix、変更前後のconfig差分、対向側で見える経路を残します。

避けたい誤解

経路表に載っているだけで正常とは判断できません。filterで一部prefixが落ちる、広告してはいけない経路を出す、戻り経路が別回線へ向く、という事故が起きます。

まず確認すること

  • 受信prefixと広告prefixを台帳と突合する
  • best pathの選択理由を保存する
  • 対向側で見える経路も確認する

BGPを読むときの前提

BGP(Border Gateway Protocol)は、AS間で経路情報を交換するためのプロトコルです。インターネット接続、閉域網、クラウド専用線、マルチホーム構成で使われ、OSPFのような内部経路制御とは責任範囲が違います。

BGPでは、neighborがEstablishedになっていることだけでは十分ではありません。どのprefixを受け取り、どのprefixを広告し、どの属性で優先経路を決めているかを確認します。経路が見えていても、意図しない広い経路広告や戻り経路の非対称で障害や経路漏えいにつながることがあります。

設計資料には、AS番号、peer IP、広告prefix、受信prefix、filter、route-map、local preference、MED、AS path prepend、default routeの扱いを残します。

neighborと経路広告の確認

障害調査では、まずneighbor状態、hold timer、受信経路数、広告経路数を確認します。IdleやActiveで止まる場合は、IP到達性、TCP 179、認証、peer設定、送信元interface、ACL、クラウド側接続状態を切り分けます。

Establishedでも、filterやroute-mapで経路が落ちている、受信はしているがbest pathに選ばれていない、対向へ広告していない、という状態があります。経路表だけではなくBGP RIBと実際のFIBを分けて見ます。

  • neighbor状態、uptime、受信/広告prefix数を保存する。
  • TCP 179、認証、送信元interface、ACLを確認する。
  • BGP RIB、経路表、対向側の見え方を分けて確認する。

属性と経路選択を見る

BGPの経路選択では、local preference、AS path、origin、MED、eBGP/iBGP、IGP metricなど複数の材料が効きます。クラウド接続や閉域網では、どちらの回線を主系にするか、バックアップ時にどの経路へ寄せるかを属性で制御することがあります。

経路が遠回りする、片系だけ通信できない、切替後に戻らないといった問題では、best pathの理由と戻り経路を合わせて確認します。prependやlocal preferenceは便利ですが、意図と証跡が残っていないと後から判断しにくくなります。

  • best pathの選択理由をコマンド結果で残す。
  • local preference、MED、AS path prependの設定理由を書く。
  • 主系/従系切替時の経路変化を事前に確認する。

フィルタと経路漏えいを防ぐ

BGP変更で特に注意するのは経路漏えいです。受け取ってよいprefix、広告してよいprefix、default routeの有無、広い集約経路、bogonや自ASの扱いを明確にします。

prefix-list、route-map、community、max-prefixは、単なる設定項目ではなく事故を止める境界です。新しい接続先を足すときは、広告経路の差分と対向が受け取った経路を確認します。

  • 広告prefixと受信prefixを台帳と突合する。
  • max-prefixやdefault routeの扱いを確認する。
  • 変更後に対向側で見える経路を確認する。

変更証跡と引き継ぎ

BGP作業では、投入前後のneighbor、BGP RIB、経路表、広告経路、受信経路、route-map差分、prefix-list差分、切替時刻、影響通信を残します。経路制御は正常時に目立ちませんが、障害時には数行の属性差が大きな迂回や到達不能を生みます。

引き継ぎでは、なぜそのASとpeerしているか、どのprefixが正、どの経路を優先するか、障害時に止めるべき広告は何かを残します。関連語としてはルーティング、AS番号、経路集約、OSPF、ルートテーブルを並べると理解しやすくなります。

  • neighbor、受信経路、広告経路を同じ時刻で保存する。
  • filterや属性変更には理由と戻し条件を書く。
  • 経路漏えい時の停止手順と連絡先を残す。

関連語

同じ主要カテゴリの用語

ネットワークの学習順

同じ主要カテゴリの用語をまとめて確認できます。現在の用語を起点に、前後の用語へ進むと文脈を保ったまま読み進められます。

InfraEngKit内の関連機能