Border Gateway Protocol(BGP)— インターネットのドメイン間ルーティングプロトコル
BGPは、インターネット上の自律システム間で経路情報を交換するプロトコルです。ドメイン間の経路を決定し、ポリシーに基づくルーティングを支え、世界規模の接続性を下支えします。
概要
Border Gateway Protocol(BGP)は、自律システム(AS)と呼ばれる、別々の管理下にあるネットワーク間で到達可能性情報を交換するために使用される標準化されたルーティングプロトコルです。最短経路を計算するプロトコルとは異なり、BGPはポリシー駆動型です。運用者は、グローバルインターネット上でトラフィックが流れる方法に影響を与える優先順位や制約を定義します。大半のエンドユーザーがBGPを直接目にすることはありませんが、サービスプロバイダー、企業、コンテンツネットワーク、インターネットエクスチェンジ間をデータが移動する仕組みの基盤となっています。より入門的な内容については、基礎解説を参照してください。
BGPの仕組み:主要な概念
BGPはパスベクタープロトコルです。経路は、発信元、通過したASの並び(AS_PATH)、および経路の選択とフィルタリングに用いられるその他のメタデータを示す属性とともに広告されます。ピアリングセッションはTCP上で動作し、Open、Update、Notification、Keepaliveという4つの基本メッセージを交換します。運用者は、AS間リンクには外部BGP(eBGP)、AS内部で経路を共有するには内部BGP(iBGP)を使い分けます。一般的な要素と属性には、次のものがあります。
- AS_PATH — プレフィックスが通過した自律システムの連鎖。
- ネクストホップ — プレフィックスに到達するための次のルーター。
- ローカルプリファレンス、MED、コミュニティ — 経路の優先度を上げ下げするために用いるポリシー設定。
- ルートリフレクターとコンフェデレーション — 大規模ネットワーク内でiBGPを拡張するための仕組み。
歴史と発展
BGPは、初期のインターネットが単純で中央集権的に調整されたトポロジーを超えて成長するにつれ、従来のドメイン間ルーティング手法に代わるものとして発展しました。その設計では、純粋に技術的な指標よりも、拡張性、管理上の制御、ルーティングポリシーを表現する能力が重視されています。時を経てBGPには、クラスレスドメイン間ルーティング(CIDR)、経路集約、マルチプロトコル拡張機能(IPv6およびVPN向け)、ならびに大規模環境での安定性を高める運用慣行を支援する拡張が加えられました。
用途、例、重要性
BGPは、インターネットサービスプロバイダー(ISP)、大企業、コンテンツ配信ネットワーク、クラウドプロバイダーにより、どのIPアドレス範囲を提供しているかを広告し、トラフィックの流入と流出を制御するために使われます。実際の代表的な用途には、冗長性のために複数のプロバイダーへ接続するマルチホーム、ローカルプリファレンスやMEDによって通信フローを調整するトラフィックエンジニアリング、インターネットエクスチェンジポイントでのピアリングがあります。運用者はピアとの関係を設定する際、外部リソースなどの運用者ポータルにある経路ビューアーやポリシー文書を参照することがよくあります。
課題、セキュリティ、ベストプラクティス
BGPは当初、強力な暗号学的セキュリティを備えるようには設計されていなかったため、設定ミスや悪意ある経路広告により、トラフィックの誤誘導や大規模な障害が起こる可能性があります。代表的な問題には、経路リークとプレフィックスハイジャックがあります。対策としては、プレフィックスフィルタリング、RPKIに基づくオリジン検証、慎重なピアリングポリシー、さらに強力な検証のための新たな標準が挙げられます。ネットワーク運用者と研究者は、偶発的な障害を減らすため、運用慣行を継続的に改善しています。実践的な指針や運用者向けツールセットは、運用者向けガイドなど、多くのコミュニティ管理の文書や研修資料で扱われています。
主な相違点と事実
最短経路の指標を重視する内部ルーティングプロトコルとは異なり、BGPはポリシーと安定性を優先します。経路選択は予測可能な属性比較の順序に従いますが、最終的な判断には人が定義したポリシーが反映されます。BGPは独立して管理されるネットワークを結び付けるため、インターネットを「つなぎ合わせる」プロトコルと表現されることがあります。一つのASにおける小さな変更が世界規模の影響を及ぼす可能性があるため、強靱なグローバルルーティングシステムには、慎重な設計と調整が不可欠です。
関連項目
著者
AlegsaOnline.com Border Gateway Protocol(BGP)— インターネットのドメイン間ルーティングプロトコル Leandro Alegsa
URL: https://ja.alegsaonline.com/art/13073