Border Gateway Protocol (BGP)

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

このトピックを使用すると、BGP でサポートされている展開トポロジ、BGP の特徴、機能など、境界ゲートウェイ プロトコル (BGP) について理解することができます。

注意

このトピックに加え、次の BGP の 関連のドキュメントも参照してください。

このトピックは、次のセクションで構成されています。

ルーティングとWindows Server 2016リモート アクセス サービス (RRAS) のマルチテナント ゲートウェイで境界ゲートウェイ プロトコル (BGP) を構成すると、テナントの VM ネットワークとそのリモート サイト間のネットワーク トラフィックのルーティングを管理できます。 また、シングル テナント RAS ゲートウェイの展開や、ローカル エリア ネットワーク (LAN) ルーターとしてリモート アクセスを展開する場合に BGP を使用できます。

BGP を使用するとルーター上で手動でルートを構成する必要性が減ります。それは、BGP が動的ルーティング プロトコルであり、サイト間 VPN 接続を使用して接続されているサイト間のルートが自動的に学習されるためです。

BGPルーティングを使用するには、リモートアクセスサービス(RAS)および/またはリモートアクセスサーバーの役割のルーティング役割サービスをコンピューターまたは仮想マシン(VM)にインストールする必要があります。使用するシステムの種類は、 マルチテナント展開があります:

  • マルチテナント展開の場合は、VM に RAS マルチテナント ゲートウェイをインストールすることをお勧めします。 複数の VM を使用すると、高可用性が提供されます。 RAS マルチテナント ゲートウェイは、複数のテナントからの複数の接続を処理でき、Hyper-V ホストと実際にはゲートウェイとして構成される仮想マシン (VM) で構成されます。 このゲートウェイは、テナントおよび CSP サブネット ルートを交換するためのマルチテナントの BGP ルーターとして、サイト間 VPN 接続で構成されます。

  • シングル テナント エッジ ゲートウェイの展開または LAN ルーターの展開の場合は、物理コンピューターまたは VM に RAS ゲートウェイをインストールできます。

重要

RAS を RAS マルチテナント ゲートウェイとしてインストールする場合、Typeパラメーターに値 All を使用した Enable-RemoteAccessRoutingDomain Windows PowerShell コマンドを指定して、テナントごとに BGP を有効にするかどうかを指定する必要があります。 マルチテナント機能を使用せずに BGP 対応 LAN ルーターとしてリモート アクセスをインストールするには、 Install-RemoteAccess -VpnType RoutingOnly コマンドを使用できます

次のコード例は、マルチテナント モードで RRAS をインストールする方法を示しています。ここでは、Contoso と Fabrikam の 2 つのテナントに対して、すべての RAS 機能 (ポイント対サイト VPN、サイト間 VPN、および BGP ルーティング) を有効に設定しています。

$Contoso_RoutingDomain = "ContosoTenant"
$Fabrikam_RoutingDomain = "FabrikamTenant"

Install-RemoteAccess -MultiTenancy

Enable-RemoteAccessRoutingDomain -Name $Contoso_RoutingDomain -Type All -PassThru
Enable-RemoteAccessRoutingDomain -Name $Fabrikam_RoutingDomain -Type All -PassThru

BGP でサポートされる展開トポロジ

ここでは、エンタープライズ サイトがクラウド サービス プロバイダー (CSP) のデータセンターに接続されている、サポートされている展開トポロジを示します。

すべてのシナリオで、CSP ゲートウェイはエッジWindows Server 2016 RAS ゲートウェイの一般的な機能です。 RAS マルチテナント ゲートウェイは、複数のテナントからの複数の接続を処理でき、Hyper-V ホストと実際にはゲートウェイとして構成される仮想マシン (VM) で構成されます。 このエッジ ゲートウェイは、エンタープライズおよび CSP サブネット ルートを交換するためのマルチテナントの BGP ルーターとして、サイト間 VPN 接続で構成されます。

テナントは、サイト間 (S2S) VPN 接続を使用して、CSP データセンターのリソースに接続します。 さらに、エンタープライズ ゲートウェイと CSP ゲートウェイの間の動的なルーティング情報の交換のために BGP ルーティング プロトコルが展開されます。

次の展開トポロジがサポートされます。

以降のセクションでは、サポートされているそれぞれの BGP トポロジに関する追加の情報を示します。

エンタープライズ サイトのエッジに BGP が配置された RRAS VPN サイト間ゲートウェイ

このトポロジは、CSP に接続されているエンタープライズ サイトを表しています。 エンタープライズのルーティング トポロジには、内部ルーター、CSP との VPN サイト間接続用に構成されたWindows Server 2016 RAS マルチテナント ゲートウェイ、およびエッジ ファイアウォール デバイスが含まれています。 RAS ゲートウェイは、S2S VPN と BGP の接続を終端します。

RAS VPN Site-to-Site Gateway

両方のサイトは、別個の自律システム (AS) の BGP 対応ルーター間で情報を転送できる外部境界ゲートウェイ プロトコル (eBGP) を使用して接続されています。 そのためには、BGP プロトコルに不可欠なパラメーターである識別可能な自律システム番号 (ASN) をエンタープライズと CSP の両方が持っている必要があります。

このシナリオでは、BGP は次のように動作します。

  • エンタープライズ サイトのエッジ デバイスは、BGP を使用してクラウドでホストされている仮想化されたサブネット ルート (10.2.1.0/24) を学習します。 また、このデバイスは、内部設置型サブネット ルート (10.1.1.0/24) を CSP の RAS マルチテナント ゲートウェイにアドバタイズします。

  • 顧客のエッジ ルーターは、次のいずれかの方法で、内部設置型の内部ルートを学習します。

    • エッジ デバイスは、内部ルーターで BGP を実行して、内部ルートを学習します (この例では、10.1.1.0/24)。 その一方で、エッジ デバイスから外部ルート (10.2.1.0/24 など) を学習した内部ルーターは、Open Shortest Path First (OSPF)、ルーティング情報プロトコル (RIP) などの内部ゲートウェイ プロトコル (IGP) を使用して、他の内部設置型のルーターに対してこれらのルートを配布する必要があります。

    • エッジ デバイスでは、静的ルートまたはインターフェイスを構成して、BGP を使用してアドバタイズするルートを選択できます。 さらに、エッジ デバイスは、IGP を使用して外部ルートを他の内部設置型ルーターに配布します。

エンタープライズ サイトのエッジに BGP が配置されたサード パーティのゲートウェイ

このトポロジは、サード パーティ製のエッジ ルーターを使用して CSP に接続するエンタープライズ サイトを表しています。 エッジ ルーターは、サイト間 VPN ゲートウェイとしても機能します。

Third party Gateway with BGP at Enterprise site edge

エッジ ルーターは、次のいずれかの方法で、内部設置型の内部ルートを学習します。

  • エッジ デバイスは、内部ルーターで BGP を実行して、内部ルートを学習します (このケースでは、10.1.1.0/24)。

  • エッジ デバイスは、内部ゲートウェイ プロトコル (IGP) を実装し、内部ルーティングに直接参加します。

CSP cloud datacenterに接続する複数のクラウドデーターセンター

このトポロジは、サード パーティ製のゲートウェイを使用して CSP に接続する複数のエンタープライズ サイトを表しています。 サード パーティ製のエッジ デバイスは、サイト間 VPN ゲートウェイと BGP ルーターとして機能します。

Multiple Enterprise sites connecting to CSP cloud datacenter

顧客のエッジ ルーターは、次のいずれかの方法で、内部設置型の内部ルートを学習します。

  • エッジ デバイスは、内部ルーターで BGP を実行して、内部ルートを学習します (このケースでは、10.1.1.0/24)。

  • エッジ デバイスは、内部ゲートウェイ プロトコル (IGP) を実装し、内部ルーティングに直接参加します。

それぞれのエンタープライズ サイトは、直接 eBGP 接続を介して他のサイトからルートを学習します。

それぞれのエンタープライズ サイトは、ホストされているネットワーク ルートを直接的に学習すると共に他のエンタープライズ サイトを使用して学習したうえで、ルートのコストに基づいて最適なルートを選択します。

エンタープライズ サイト 1 の BGP ルーターが接続障害により CSP のデータセンターの2 BGP ルーターに接続できない場合、サイト 1 の BGP ルーターは、他のエンタープライズ サイト (サイト 2) を使用して CSP 2ネットワークへのルートの学習を動的に開始します。これにより、CSP へのトラフィックがWindows サーバー BGP ルーターのサイト 1 からサイト 2 へシームレスに再ルーティングされます

BGP と VPN とで異なる終端点

このトポロジは、2 つの異なるルーターを BGP のエンドポイントとサイト間 VPN のエンドポイントとして使用するエンタープライズを表しています。 サイト間 VPN は Windows Server 2016 RAS ゲートウェイで終端され、BGP は内部ルーターで終端されています。 接続の CSP 側では、CSP は、VPN と BGP の両方の接続を、RAS マルチテナント ゲートウェイで終端しています。 この構成では、内部のサード パーティ製のルーター ハードウェアは、IGP への BGP ルートの再配布だけでなく、BGP への IGP ルートの再配布をサポートする必要があります。

Separate termination points for BGP and VPN

内部のルーターは、次のいずれかの方法で、エンタープライズのルートを学習します。

  • BGP

  • OSPF、RIP などの内部ゲートウェイ プロトコル (IGP)

  • 静的なルート構成

エンタープライズ サイトで IGP を使用する場合、内部ルーターは、CSP の仮想ネットワークとローカル エンタープライズ サブネットの間のサブネット接続を維持するために、BGP ルートを IGP ルートに再配布すると共に、IGP ルートを BGP に再配布する必要があります。

この展開では、エンタープライズ RAS ゲートウェイと CSP RAS マルチテナント ゲートウェイとの間でサイト間 VPN 接続が確立されます。これによって、CSP ゲートウェイへのルートがエンタープライズ RAS ゲートウェイに提供されます。 次に、エンタープライズの内部ルーターは、iBGP とエンタープライズ RAS ゲートウェイを使用して、この CSP ゲートウェイへのルートを学習します。 これにより、エンタープライズの内部ルーターは、CSP RASマルチテナント ゲートウェイの BGP ルーターとの間でピアリング セッションを確立できるようになります。

これ以降、エンタープライズの内部ルーターと CSP の RASマルチテナント ゲートウェイは、ルーティング情報を交換します。 また、エンタープライズの RAS BGP ルーターは、CSP ルートとエンタープライズ ルートを学習して、ネットワーク間でパケットを物理的にルーティングします。

BGP の機能

RAS マルチテナント ゲートウェイの BGP ルーターの機能を次に示します。

リモート アクセスの役割サービスとしての BGP ルーティング。 BGP LAN ルーターとしてリモート アクセスを使用する場合に、リモート アクセス サービス (RAS) 役割サービスをインストールせずに、リモート アクセス サーバーの役割のルーティング役割サービスをインストールできます。 これにより、BGP ルーターのメモリフットプリントが削減され、動的 BGP ルーティングに必要なコンポーネントだけがインストールされます。 ルーティング ロール サービスは、BGP ルーター VM だけが必要で、DirectAccess または VPN を使用する必要がない場合に便利です。 さらに、BGP で LAN ルーターとしてリモート アクセスを使用すると、内部ネットワーク上の BGP の動的ルーティングの利点を利用できます。

BGP 統計情報 (メッセージ カウンター、ルート カウンター)。 BGP ルーターは、必要に応じて、Get-BgpStatistics Windows PowerShell コマンドを使用したメッセージおよびルートの統計情報の表示をサポートします。

等コスト マルチ パス ルーティング (ECMP) のサポート。 BGP ルーターは ECMP をサポートし、複数の等コスト ルートを BGP ルーティング テーブルおよびスタックに追加できます。 ECMP が有効な場合、BGP ルーターは、データ パケットを送信するためのルートをランダムに選択します。

HoldTime 構成。 BGP ルーターは、ネットワーク要件に従った HoldTimer 値の構成をサポートします。 このタイマーは、サード パーティ製のデバイスとの相互運用性を実現するため、または BGP ピアリング セッション タイムアウトの特定の最大時間を保持するために、動的に変更できます。

内部 BGP と外部 BGP のサポート。 BGP ルーターでは、iBGP ピアリングと eBGP ピアリングの両方がサポートされます。 これらのピアリングを構成するには、適切な ASN がローカルおよびリモートの BGP ルーターに割り当てられていることを確認する必要があります。 4 つの BGP 展開トポロジのすべてにおいて eBGP ピアリングが使用され、4 番目のトポロジでは iBGP ピアリングも使用されます。

サード パーティのソリューションとの相互運用。 BGP ルーターは、最新の BGP バージョン 4 仕様に基づき、主要なサード パーティのほとんどの BGP ルーティング デバイスとの間の相互運用性がテストされています。 詳細については、Request for Comments (RFC) 4271 の境界ゲートウェイ プロトコル 4 (BGP-4) に関するページを参照してください。

IPv4 と IPv6 のトランスポート ピアリングのサポート。 BGP ルーターでは、IPv4 ピアリングと IPv6 ピアリングの両方がサポートされます。 ただし、BGP の識別子を BGP ルーターの IPv4 アドレスとして構成する必要があります。 すべての BGP ルーター展開トポロジにおいて、この 2 種類のピアリング (IPV4、IPv6) のどちらかを使用できます。

IPv4 と IPv6 のユニキャスト ルート学習およびアドバタイズ機能 (マルチプロトコル ネットワーク層到達可能性情報 [NLRI])。 セッションを確立するときに適切な機能が他の BGP ルーターにアナウンスされる場合、BGP ルーターは、どのトランスポートを使用するかに関係なく、IPv4 ルートと IPv6 ルートを交換できます。 IPv6 ルーティングを構成するには、IPv6Routing パラメーターを有効にしたうえで、ルーター レベルでローカルなグローバル IPv6 アドレスを構成する必要があります。

混合モードとパッシブ モードのピアリング。 BGP ピアリング セッションは、混合モード (BGP ルーターはイニシエーターとレスポンダーの両方として動作します) またはパッシブ モード (BGP ルーターのピアリングを開始せず、着信要求に応答します) で構成できます。 混合モードは既定の設定であり、BGP ピアリングに推奨されます。 これは、デバッグや診断の目的でパッシブ モードを使用する場合を除いて当てはまります。 すべての BGP ルーター展開トポロジにおいて、障害イベントが発生した場合に備えて自動再起動を有効にするために混合モード ピアリングが必要になります。

ルート属性の書き直し機能。 Next-Hop、MED、Local-Pref、Community の各 BGP ルーティング ポリシーを使用して、BGP ルーターの受信および送信ルート アドバタイズの次の属性を追加、変更、または削除できます。

ルート フィルター。 BGP ルーターは、Prefix、ASN-Range、Community、Next-Hop などの複数のルート属性に基づく受信または送信ルート アドバタイズのフィルター処理をサポートしています。

ルートリフレクター (RR) クライアント。 BGP ルーターは、RR クライアントRoute-Reflectorとして機能できます。 これは、RR クラスターを形成することでネットワークを簡略化できる複雑なトポロジで役立ちます。

Route-Refresh のサポート。 BGP ルーターは、Route-Refresh をサポートし、ピアリング時に既定でこの機能をアドバタイズします。 これは、ルート更新メッセージを介してピアから要求された場合に新しいルート更新のセットを送信できるだけでなく、Route-Refresh を送信して、ピアのルーティング ポリシーの変更などのイベントでルーティング テーブルを更新することもできます。 これにより、ピアリングを再起動することなく、Windows Server 2016 BGP ルーティング ポリシーを変更または更新するシナリオが可能になります。

静的なルート構成のサポートAdd-BgpCustomRoute Windows PowerShell コマンドを使用して、BGP ルーター上で静的なルートまたはインターフェイスを構成できます。 構成する静的ルートにはプレフィックスまたはインターフェイスの名前を使用でき、ここからルートが選択されます。 ただし、解決可能な次ホップを持つルートのみが BGP ルーティング テーブルに追加され、ピアにアドバタイズされます。

トランジット ルーティングのサポート。 BGP ルーターでは、iBGP から iBGP への接続、iBGP から eBGP への接続、eBGP から eBGP への接続のトランジット ルーティングがサポートされています。

ルート フラッピング。 Windows Server 2016のBGPルーティングへのルートフラップダンプニングは、ルートフラップダンプニングのサポートを提供します。 たとえば、ルートが常にアドバタイズされ、引き出され、ルーティング テーブルが不安定になっている場合、BGP ルーターを構成してルートに重みを割り当て、フラッピングを監視し、必要に応じて抑制または抑制解除することができます。 これは、安定したルーティング テーブルを維持し、BGP ルーターによる処理を減らするのに役立ちます。

ルート集計。 BGP ルーターへのルート集計では、集約ルートを構成し、より詳細なルート アドバタイズをピアへの概要または集約ルートに置き換える機能が提供されます。 これにより、ネットワーク上で送信されるルート アドバタイズ メッセージの数が少なくなります。

注意

このSystem Center RAS ゲートウェイは、Windowsサーバー ゲートウェイと名付けられます。