Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

BGP(ビージーピー)とは | 意味や読み方など丁寧でわかりやすい用語解説

BGP(ビージーピー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

境界ゲートウェイプロトコル (キョウカイゲートウェイプロトコル)

英語表記

BGP (ビージーピー)

用語解説

BGPは、Border Gateway Protocolの略で、インターネットの基盤を支えるルーティングプロトコルの一つである。インターネットは、世界中の様々な組織や企業が管理する多数の独立したネットワークの集合体で構成されている。BGPの主な役割は、これら異なるネットワーク間、特に「自律システム(AS)」と呼ばれる大きな単位間で、効率的かつポリシーに基づいて経路情報を交換し、データが目的地まで到達するための最適なルートを決定することである。インターネット上を流れるほとんど全てのトラフィックは、BGPによって管理される経路情報に基づいてルーティングされているため、BGPはインターネットの「交通整理役」として非常に重要な役割を担っている。

詳細を説明する。まず「自律システム(AS)」とは何かを理解する必要がある。ASとは、単一の明確な管理ポリシーのもとで運用されるルータとネットワークの集まりを指す。例えば、ある特定のISP(インターネットサービスプロバイダ)のネットワーク全体や、大規模な企業ネットワークなどが一つのASとして扱われる。各ASには、インターネット全体で一意となる「AS番号」が割り当てられている。これは、それぞれのASを識別するための固有のIDである。インターネットが巨大なネットワークの集合体である以上、異なるAS間での通信を可能にするための共通のルールが必要であり、そのルールを提供しているのがBGPである。

BGPには大きく分けて二つの種類がある。一つは「eBGP(external BGP)」であり、これは異なるASに属するルータ同士が経路情報を交換する際に使用される。例えば、ある企業のネットワーク(AS)が複数のISP(異なるAS)と接続する場合、それぞれのISPとの間でeBGPセッションを確立し、経路情報をやり取りする。これにより、企業ネットワークからインターネット上のあらゆる場所への経路、およびインターネットから企業ネットワークへの経路が確立される。もう一つは「iBGP(internal BGP)」であり、これは同じAS内部に属するルータ同士が経路情報を交換する際に使用される。eBGPによって外部ASから学習した経路情報を、そのAS内の他のルータに効率的に伝達し、AS内部の全てのルータが外部ネットワークへの経路を知ることができるようにするのがiBGPの主な目的である。iBGPでは、ピアとなるルータ同士が物理的に直接接続されていなくても、TCP接続ができれば経路情報を交換できる。

BGPは信頼性の高い経路情報の交換を保証するため、TCPのポート179番を使用してピア(隣接するBGPルータ)との間にセッションを確立する。このセッションを通じて、BGPルータは自身の知っているネットワークアドレスの到達可能性情報(NLRI: Network Layer Reachability Information)を、様々な「パス属性(Path Attributes)」と組み合わせてピアに送信する。パス属性は、その経路がどのような特性を持っているかを示す情報であり、BGPが最適な経路を選択する上で極めて重要となる。

主要なパス属性には以下のようなものがある。 一つ目は「AS_PATH」である。これは、その経路情報がどのようなASを通過してきたかを示すAS番号のリストである。BGPルータはAS_PATHを見ることで、経路のループを防ぎ、また通常はAS_PATHが短い経路を優先する傾向がある。 二つ目は「LOCAL_PREF」である。これは、特定のAS内部において、複数の外部への出口がある場合に、どの出口を優先するかを決定するための属性である。値が大きいほど優先されるため、ネットワーク管理者はこれによりAS内でのトラフィックの流れを制御できる。 三つ目は「MED(Multi-Exit Discriminator)」である。これは、あるASが別のASと複数の接続点を持っている場合に、相手のASに対して、どの接続点から自身のASに入ってくるのが望ましいかを伝えるための属性である。MEDの値が小さいほど優先される傾向がある。 他にもORIGIN、NEXT_HOPなど多くのパス属性が存在し、BGPルータはこれらのパス属性を複雑なアルゴリズムに従って評価し、最も適切な経路を最終的なルーティングテーブルに登録する。BGPは、UPDATE(経路情報の広告や撤回)、KEEPALIVE(セッションの維持)、NOTIFICATION(エラーの通知)といった種類のメッセージを交換することで、ルーティング情報を管理し続ける。

BGPの最も重要な機能の一つは、その「ポリシーベースルーティング」の能力である。ネットワーク管理者は、自身のASの要件やビジネス上の判断(例えば、特定のトラフィックは特定のISPを経由させる、コストを考慮する、パフォーマンスを重視するなど)に基づいて、詳細な経路選択ルールを設定できる。これは、インターネットが単なる技術的な連結だけでなく、多くの組織間の合意によって成り立っていることを示すものであり、他のルーティングプロトコルには見られないBGPの大きな特徴である。また、BGPはインターネットの膨大な経路情報を効率的に管理できる「スケーラビリティ」を持ち、経路のループを防ぎ、障害発生時に代替経路へ迅速に切り替える機能によって、インターネットの「安定性と信頼性」に大きく貢献している。さらに、複数のISPと接続する「マルチホーミング」を可能にすることで、特定のISPに障害が発生した場合でも通信を継続できる冗長性を提供し、インターネット全体の可用性を高めている。

関連コンテンツ

関連IT用語