BGP

  • URLをコピーしました!

ネットワークスペシャリスト試験の合格に向けて、BGP(Border Gateway Protocol)の理解は重要なテーマの一つです。

BGPはインターネットのルーティングを支える基盤技術であり、正しい知識を持つことで、試験対策だけでなく、実務でも役立つスキルを身に付けることができます。

この記事ではBGPの定義や経路選択について、試験で問われやすく理解が難しい範囲を噛み砕いて解説しています。

ぜひしっかりと読み込み、試験合格に向けて頑張ってください。

はーい!

目次

BGPとは

Border Gateway Protocol (BGP) は、インターネット上でルーティング情報を交換するためのプロトコルです。

BGPは、異なる自律システム(AS)間でデータをルーティングするための「ドメイン間ルーティングプロトコル」に分類されます。

自律システムについて」で前に学習しましたね!

BGPはパスベクタ型(経路ベクトル型)のプロトコルであり、AS間のルーティングを担うため「EGP(Exterior Gateway Protocol)」に該当します。

石田先生

「EGP」は「ドメイン間ルーティングプロトコル」の一種です。

パスベクタ型とは、ルート情報に経路の通過先をリスト化した「AS-Path」を含めて管理する方式です。
これにより、ループを回避できるほか、経路選択の柔軟性が向上します。
たとえば、自分のAS番号が含まれる経路を無効とすることでループの防止が可能です。
BGPはこの仕組みを採用しており、AS間の効率的で安定した通信を可能にしています。

BGPスピーカとBGPピア

BGPスピーカとは、自律システム(AS)間でBGPを利用して通信を行うルータのことです。

石田先生

BGPスピーカは、BGPに対応しているルータじゃないといけません。

まるで「BGP」という言語を理解できる人同士で会話をするみたいですね。

全てのルータがBGPを理解できるわけではないんですね。

これらのルータは、隣接するASのルータ(BGPピア)とピアリングと呼ばれる接続を確立し、BGPセッションを開始します。

ピアリングの流れ
  1. セッション確立: BGPスピーカ同士がTCP接続(ポート179)を確立します。この接続は、BGPが動作するための基盤となるもので、ピア間で信頼性の高い通信を可能にします。
  2. 情報交換: 接続が確立されると、最初にすべてのルーティング情報(フルルート)を交換します。その後、ネットワークの変更に応じて更新データのみがやり取りされます。この仕組みにより、通信量を抑えつつ、最新の経路情報を共有できます。

BGPは、4種類の広告メッセージを使ってやりとりを行います。

4種類の広告メッセージ
  1. OPEN: BGPセッションの確立に使用されるメッセージ。AS番号やBGPバージョン、ホールドタイムなどの情報を交換します。
  2. UPDATE: 経路情報やパスアトリビュート(例:AS-Path、Next-Hop)を含むメッセージで、ルーティングの更新や削除を行います。
  3. NOTIFICATION: セッション中にエラーが検出された場合に送信されるメッセージ。エラーコードが含まれ、セッションを終了する際に使用されます。
  4. KEEPALIVE: セッションを維持するために定期的に送信されるメッセージ。データのやり取りがない場合でも、接続が生きていることを確認します。

eBGPとiBGPの違い

BGPには、同じAS内でルーティング情報を交換するiBGP(内部BGP)と、異なるAS間で情報を交換するeBGP(外部BGP)の2種類があります。

石田先生

それぞれの特徴を見ていきましょう。

eBGP(外部BGP)

eBGPは、異なるAS間でルーティング情報を交換するプロトコルです。インターネットの基盤として機能し、AS間の接続性を確保します。

eBGPの特徴
  • 経路情報の交換: eBGPではAS番号が異なるルータ同士が隣接し、ルーティング情報を交換します。
  • AS-Pathの活用: eBGPではAS-Pathが重要なパスアトリビュートとして使用され、ループ防止や経路選択の際に活用されます。
  • 経路選択の優先度: eBGPで受信した経路は、iBGPで受信した経路よりも優先されます。

通信の信頼性を高めるために、このような冗長回線を構築することがあります。

そのような場合に、どのルータを優先して通信するのかを相手のルータに教えるのもeBGPです。

iBGP(内部BGP)

iBGP(Internal BGP)は、同じ自律システム(AS)内でルーティング情報を共有する仕組みです。

AS外部から受信した経路情報をAS内部の他のルータに広告することで、AS全体で統一されたネットワーク構成を維持します。

iBGPでは、iBGPピアと呼ばれるAS内の他のBGPルータと直接接続する必要があります。

ただし、すべてのルータを完全に接続する「完全メッシュ構成」はネットワーク規模が大きい場合には非現実的です。

石田先生

「完全メッシュ構成」を防ぐやり方として、エリア分割マルチアクセスといった管理方法を学びましたね。

なるほど!ここで学んだことが繋がってくるわけですね!

このようにAS内でどの経路を選択して通信するのかを設定するのもiBGPです。

eBGPとiBGPはAS外・AS内と使われる場面が異なりますが、パケットのフォーマットは同じです。

石田先生

また、BGPを自ASや他ASに伝えることを広告といいます。

コネクション数を抑える工夫

iBGPでは、以下の手法を用いることで、コネクション数を抑え、ネットワークを効率的に活用することができます。

コネクション数を抑える手法
  • ルートリフレクション: iBGPの完全メッシュ構成を緩和するための仕組みです。特定のルータを「ルートリフレクター(Route Reflector)」として設定し、他のルータから受信した経路情報を必要なルータに再広報します。この仕組みにより、全ルータ間の直接接続が不要となり、スケーラビリティが向上します。
  • コンフェデレーション: ASを論理的に複数の小さな単位(ミニAS)に分割する手法です。これにより、各単位内では簡略化されたiBGPを運用し、全体の複雑さを軽減します。ミニAS同士はeBGPの形式で経路情報を交換します。

これらの手法により、スケーラビリティを維持しつつ、効率的な経路管理が可能になります。

ちょっと難しいですね。

石田先生

豆知識として覚えておく程度で大丈夫ですよ

パスアトリビュートを利用した経路選択

BGPの経路選択は、複数のパスアトリビュート(Path Attributes)をもとに行われます。

これにより、単純な距離計算ではなく、柔軟な経路選択が可能です。

それぞれの属性にはタイプコードが割り当てられており、以下のように分類されます。

Local Preference (タイプコード: 5)

Local Preferenceは、自AS内での経路の優先度を示す属性で、iBGPで利用されます。

この値はAS内のすべてのルータに共有され、高い値を持つ経路が優先されます。この属性は、管理者が手動で設定する必要があり、iBGP内での経路選択ポリシーを制御する際に非常に重要です。

特定の出口経路を指定することで、ネットワーク全体のトラフィックを効率的に制御することができます。

: 経路AのLocal Preferenceが200、経路BのLocal Preferenceが100の場合、経路Aが優先されます。この仕組みにより、特定の出口経路を一貫して使用するよう設定できます。

この場合は赤色のLP200の経路が優先して選ばれるんですね。

AS-Path (タイプコード: 2)

AS-Pathは、経路が通過したASのリストを示す属性で、eBGPで利用されます。

この属性はAS-Pathの長さによって経路の優先順位が決まります。

短いAS-Pathを持つ経路が優先されるため、効率的な経路選択が可能です。

eBGPでは、AS間での通信においてAS-Pathの情報が非常に重要になります。

: 青の経路がAS-Path [300, 200] を持ち、緑の経路がAS-Path [300, 500, 400] を持つ場合、青の経路が優先されます。この仕組みにより、最短経路を利用する形でトラフィックを最適化します。

緑の経路より青の経路の方が通過するASの数が少なくなりますね。

通過するASの数が少なければ必ずしも短距離という訳ではないかもしれませんが、ASの数も経路選択において重要なのですね。

MED(Multi-Exit Discriminator, タイプコード: 4)

MEDは、他ASから複数の入口が提供される場合に使用される属性で、eBGPで利用されます。

この値が低いほど優先されるため、特定の入口を経路として依頼することができます。

MEDは隣接AS間でのみ有効であり、管理者が手動で設定する必要があります。

これにより、特定の入口を利用してトラフィックを最適化することが可能です。

: 隣接ASが経路A(MED: 50)と経路B(MED: 100)を提供している場合、管理者が経路Aに低いMED値を設定することで、経路Aが優先されます。

この場合は赤色の経路が優先して通信に使われるんですね。

最短経路の選択アルゴリズム

最短経路の選択は、次のようなアルゴリズムで行われます。

最短経路アルゴリズムの優先順位
  1. Local Preference値が最も高い経路を選択します。
  2. AS-Pathの長さが最も短い経路を選択します。
  3. Origin属性が”IGP” > “EGP” > “Incomplete”の順で優先されます。
  4. Multi-Exit Discriminatorの値が最も低い経路を選択します。
  5. 外部経路(eBGP)を内部経路(iBGP)より優先します。
  6. IGPコストが最も低いNext-Hopを選択します。
  7. 他に差がない場合、最も古い経路を選択します。
  8. 最終手段として、Router IDが最も低い経路を選択します。

最短経路の選択は、アルゴリズムの優先順位順に行われます。

さっき学習したLPやAS-Path長は優先順位が高く設定されているのですね。

石田先生

アルゴリズムの全てを覚える必要はありませんが、優先順位の高いものと、「他にもこのようなものがあるんだな」と頭の片隅に置いておいてもらえると理解が深まると思います。

まとめ

BGPは、インターネットの安定性と効率性を支える重要なプロトコルです。

その最大の特徴は、異なる自律システム(AS)間の通信を効率的に管理し、ループの回避や柔軟な経路選択を可能にする点にあります。

BGPの運用においては、iBGPとeBGPの違いや、それぞれのプロトコルがどのような状況で使用されるのかを正確に理解することが重要です。

しっかり覚えますね!

また、BGPの経路選択アルゴリズムやパスアトリビュートの仕組みを活用することで、ネットワーク管理者はトラフィックの最適化を実現し、ビジネス要件に応じた柔軟なネットワーク設計を行うことができます。

特に、Local PreferenceやAS-Path、MEDといった属性を適切に設定することで、より安定したネットワーク運用が可能になります。

石田先生

LP、AS-Path、MEDは必ず覚えてくださいね。

BGPの効果的な運用は、インターネットの接続性を維持し、予期しないトラフィックの混雑やループによる問題を回避するために欠かせません。

ネットワーク管理者にとっては、これらの知識を深めることで、日々の業務の中で安定したネットワーク環境を提供し続けることができるでしょう。

学びをSNSで共有しよう
  • URLをコピーしました!
目次