🐋

はじめてのBGP(簡単なまとめ!)

2024/03/18に公開

ネットワークに関する概念の一つ、BGPについてまとめてみます。

この記事で話さないこと

前提

通信の大まかな流れと基礎(OSI参照モデルに関する概念をざっくり理解しているものとする)
例えばWebページにアクセスして表示されるまでに何が起こっているかという話をなんとなく説明できるレベル感を想定しています。

話さないこと(この記事の目的)

詳しい解説ではありません。
ざっくり忘れないための、ざっくりしたメモです。

BGPとは

BGP( Border Gateway Protocol)とは、ルーターが受け取ったネットワークトラフィックを次にどこに伝達させるのか(ルーティング)のために使われる決まりごと=ルーティングプロトコルの一つで、隣接する異なるネットワーク構成単位(例:オンプレミスのデータセンターとAWS等クラウド)の間での経路情報の交換に使われます。

噛み砕いて理解するBGP

ネットワークとインターネット

ネットワークとは、元の語源は「網」を意味します。複数のコンピュータがデータ(情報)をやり取りできるような仕組みです。
一方、インターネットとはこのネットワークが世界規模に集まりつなげられた大きなネットワークです。

AS(自律システム)

インターネットを構成するネットワークの単位を自律システムと呼びます。
自律システムは個人または組織によって管理されるネットワークを指しています。

AS番号

ASには世界中で一意な番号が割り当てられます。これをAS番号と呼びます。

ルーティングについて

ルーティングとは、パケットの転送先を判断する仕組みのことです。「経路制御」とも言われます。

スタティックルーティングとダイナミックルーティング

ルーティングにはスタティックルーティングとダイナミックルーティングがあります。

スタティックルーティング

ルーターにおいてパケットの行き先を手動で管理された設定に則って決定するルーティングのこと。

ダイナミックルーティング

隣接するルーター同士で情報を交換することによりパケットの行き先を動的に決定するルーティングのこと。
この時に使われるルーティングプロトコルの一つがBGPであり、BGPにおいて経路を識別するために使われるのがAS番号です。

もっと理解するBGP

BGPには様々な属性が定義されています。その中でも経路制御にとって重要な属性をいくつか挙げてみます。

ASパス属性

ASパスは、データが目的の送信先に到達するために経由するAS番号のリストです。
一般に、ASパスが短い経路の方が優先されます。この仕様を利用した「ASパスプリペンド」では、特定の経路を意図的に優先させたい場合はAS番号をリストに追加して経路の優先度を操作することができます。

NEXT_HOP

次のルータへのIPアドレスを示します。これはパケットが次に転送されるべき方向を決定します。

MED (Multi-Exit Discriminator)

MED属性は、同じASから複数のルートが提供されている場合に、どのルートを優先すべきかを決定するために使用されます。MEDの値が低いルートが優先されます。

ローカルプリファレンス

ローカルプリファレンスは、AS内でのルートの優先度を示す属性です。この値が高いルートが、同じAS内で優先されます。

コミュニティ

コミュニティ属性は、特定のポリシーを適用するためにルートにタグを付けるために使用されます。これにより、ルートの選択プロセスを柔軟に制御することができます。

結局ルートはどう決まる?

異なるAS間

MED属性ASパスの長さが重要な役割を果たします。

  • MED属性:低い方が優先
  • ASパス:短い方が優先

同一AS内

ローカルプリファレンスが優先されます。

  • ローカルプリファレンス」高い方が優先

最も基本的な原則「ロンゲストマッチ」

BGPのルート選択において、最も優先されるのは「ロンゲストマッチ」です。
「ロンゲストマッチ」原則により最も具体的なルートが常に選択されます。
「最も具体的なルート」とは簡単に言うとIPアドレスの範囲が狭い=サブネットマスクが長いルートのことです。例えば、/24のサブネットルートは/16のサブネットルートよりも具体的と言えます。
ルート決定において/16よりも/24が優先されることで、BGPは効率的かつ正確にルートを決定することができます。

GitHubで編集を提案
Fusic 技術ブログ

Discussion