BGPのイントロダクション
BGPは、インターネット上の自律システム(AS)間でルーティングと到達可能性情報を共有するために設計された標準化されたエクステリアゲートウェイプロトコルです。
Cato Cloudは、BGPルーティング情報を活用して、複数の静的パスを手動で設定したり、アクションを実行したりすることなく、構成に基づいてリアルタイムでルーティングの意思決定を行います。 これにより、ダイレクト接続またはアクティブ-アクティブ構成、仮想IPによる災害復旧(DR)、サイト内の自律システム(AS)との統合、段階的な展開の柔軟性などのシナリオに対応するための強化されたサポートが、AWSで可能になります。
CatoはBGPをどのようにサポートしていますか?
このセクションでは、CatoのBGPコンポーネント(グローバルオブジェクトを含む)と、CatoのBGPサポートの設計とパフォーマンスについて説明します。
CatoのBGPコンポーネント
CatoのBGPサポートは、BGPネイバー、動的範囲、フローティング範囲の3つの主要なコンポーネントで構成されています。
注:
サイトのネイティブレンジで定義されたすべてのレンジは、このセクション全体で「静的レンジ」と呼ばれます。
BGPのネイバー
ネイバーとのBGPセッションを確立するには、接続が必要です。 BGPネイバーを配置できるオプションと、Cato Cloud内でのアカウントとの相互作用の結果です。
トンネル内のCato ネットワーク PoP と BGP ルーター間の BGP - Catoはアカウントレンジ(デフォルトルート(0/0)を含む)をアドバタイズし、サイトの静的ダイナミックレンジおよびフローティングレンジを受信します。 例えば、BGPはAmazon AWSのIPSec接続でルート交換を行うための推奨モードです。
Cato CloudとLAN / Altに設置されたBGPルーター間のBGP。 WANリンク - Catoは、ソケット内の確立されたレンジ上で、BGPネイバーと通信できます:ダイレクトレンジ、ネイティブレンジ、またはVLANレンジ。
すべてのレンジがBGPピアと同じネクストホップを持つ限り、BGPセッションはルーティングレンジ上で確立できます。
注:
このオプションは、トンネルの確立に依存しません。
Catoは、すべてのBGP接続が“ネクストホップセルフ”を前提としています: ネイバーが常にCatoによって選ばれるネクストホップであり、Catoはすべてのアドバタイズされたルートに対してネイバーのIPをネクストホップとしてアドバタイズします。
アルト上のBGP時に。 WANは、通常他のサイトの範囲(アルトを通じて到達可能な他のすべてのサイト)を受信します WANリンク)。 Catoは、これらのレンジを考慮する前にフィルタリングを行います。
ソケットがCato Cloudから切断されると、他のすべてのサイトレンジは撤回されます。 これにより、BGPピアがセカンダリパスを持っている場合、Cato Cloudから一時的に切断されても、次のホップとして代替として使用できる接続性が確保されます。 (ソケットバージョン17.0以上でサポートされています)
BGPネイバーの構成についての詳細は、BGPネイバーの定義を参照してください。
BGP接続はどのように確立されるか
BGP接続を確立するためのいくつかの段階があります。 接続タイプによって、次のようにBGP接続が確立されます:
初期TCPセッションが開始されます。 TCPセッションが確立されない場合、セッションが成功するまで30秒ごとに試行されます。
TCPセッションが確立されるとすぐに、BGPセッションが開始されます
BGPセッションが確立されない場合、15秒ごとに試行されます
BGPセッションが確立された後に終了した場合、次の試行は1秒ごとにスケジュールされます
ダイナミックレンジ
ダイナミックレンジは、BGPネイバーからCatoによって動的に学習されるIPレンジです。 Catoによって受け入れられると、それらはアカウント全体に伝播され、そのネイバーを経由してネットワークのどこからでも到達できるようになります。
注:
ダイナミックレンジは、BGPネイバーから動的に学習されるため、Cato Management Applicationではグローバルオブジェクトとして構成できません。したがって、ネットワークやセキュリティルールで明示的に使用することはできず、居住するサイトのポリシーに従って動作します。
フローティングレンジ
フローティングレンジは、特定のサイトに接続されていないグローバルIPレンジですが、BGPネイバーと共にどのサイトでも学習できます。 例えば、Disaster Recovery(DR)シナリオでは、多くのアプリケーション(VMware NSXなど)が、IPアドレスを維持しながらサーバーをある場所から他の場所に移動できます。 このような場合、BGPは他のネットワークオブジェクトを更新し、これらのサーバーがどこに居住しているかをアドバタイズするのに役立ちます。
フローティングレンジは、グローバルオブジェクトとして定義されています。 フローティングレンジは、特定のサイトと関連付けられていないため、セキュリティまたはネットワーキングルールに定義し、適用する必要があります(サイトの関連付けは動的に変化する可能性があります)。 グローバルオブジェクト定義を活用して、組織のポリシー要件に従ってネットワークやセキュリティルールを明示的に作成できます。
BGPダイナミックレンジがフローティングレンジのセキュリティまたはネットワークポリシーを継承するためには、完全に一致する必要があります。 例えば、BGPダイナミックレンジが192.168.1.0/24であり、フローティングレンジが192.168.1.1/32として定義されている場合、両者には接続がなく、BGPダイナミックレンジはフローティングレンジからポリシーを継承しません。
注:
フローティングレンジは、静的レンジと重複することはできません。
CatoにおけるBGPの設計とパフォーマンス
ルートの取り扱い
Cato CloudのBGPネイバーは、Cato PoPまたはサイト接続と接続されています。 サイト接続はソケットまたは IPsec トンネルであることができます。 Cato Cloudが新しいまたは更新されたBGPルートを受信すると、常にグローバルWANネットワーク(サイト接続およびPoP)と同期します。
BGPルートが受信されると、Catoはそれを次のように関連するオブジェクトに関連付けます:
フローティングレンジとして定義されたIPレンジは、それらの定義されたオブジェクトと結びつき、オブジェクトに割り当てられたすべてのネットワーキングおよびセキュリティポリシーに従います。
その他のIPレンジはダイナミックレンジと見なされ、サイトに割り当てられたすべてのネットワーキングおよびセキュリティポリシーに従います。
ルートは、BGPメッセージまたはネイバーの切断(CEASEまたは物理的)によって撤回され、Cato Cloudによりすぐに撤回が伝播されます。
Cato上のトンネルメトリクス(ルーティングテーブル)
Cato内のサイト、IPSecまたはソケットサイトなどは、LANまたはインターネットを介してトラフィックを送信するために、複数の接続されたトンネルを持つことができます。 複数のトンネルが接続されている場合、その優先順位はリンクの品質などに基づいて決定されます。 ルーティングテーブル画面 (Monitoring > Routing Table) は、ルートのトンネルメトリックを表示します。 これは、Catoがトラフィックを最適なトンネルに送信するように割り当てる値です。 トンネルメトリックの値が低いほど、このトンネルの優先度が高いことを示しています。 例えば、ソケット高可用性の展開において、アクティブなトンネルにはメトリックが5で、パッシブなソケットからのトンネルにはメトリックが10である可能性があります。
ルートの優先順位付け方法
通常の静的レンジとは対照的に、BGPはネットワーク上で重複したり重なる可能性がある複数のルートを許可します。 では、Cato Cloudはどのようにしてどのパスを介してパケットをルーティングするかを決定するのでしょうか?
複数のルートが宛先IPアドレスに適用できる場合、ルーティングの意思決定は以下の優先順位に従って行われます:
より具体的なルートが、より具体的でないルートよりも選択されます(/24 は /22 よりも選択されますなど)。
次のIPレンジに対する優先順位の順序:
静的レンジ
フローティングレンジ
ダイナミックレンジ
より低いネイバー メトリックが優先されます。
より短いAS-PATHが優先されます。
より低いトンネルメトリックが優先されます。
ルートIDからのBGP MED(マルチエクジットディスクリミネータ)が低い方が優先されます。
Cato Cloudはレイヤー7ポリシーベースルーティングを行うため、非対称ルートを回避する必要性が重要です。 そのため、同じアカウント内でのルート優先順位は普遍的です:言い換えれば、Cato Cloudネットワーク内の任意の場所から単一のオリジンが選択されます。
ルートがどのように伝播されるか
ルートがBGPネイバーによって受け入れられると、それに関連付けられた情報(ASパス、BGPコミュニティ)が保持されます。 ダイナミックレンジがBGPネイバーにアドバタイズされると、AS PathにはCato Cloud AS番号が追加されます(通常のBGPと同様です)。
Catoは、コミュニティを含むすべてのTransitiveフラグが付けられたパス属性を透過的に伝播します(RFC 4271)。
アカウントレンジ(静的)は、発信元ASNとしてCatoソケットネイバーASNとともにアドバタイズされます(ネイバーへのASNの割り当てを参照)。
BGPルートサマリーの詳細については、BGP Summary Routesの作業を参照してください。
注:
no-exportなど、いくつかのよく知られたコミュニティは、CatoからBGPネイバーへの出力時に伝播されません。
ネイバーへのASNの割り当て
ASNはルーティングエンティティが通信を確立する64,512 – 65,534(プライベートASN)の範囲の番号です。 Cato NetworksのデフォルトASNは64,515です。
Cato CloudはeBGPをサポートしているため、BGPネイバーはCato Cloud側とは異なるASNを持っている必要があります。
注:
すべてのBGPセッションにわたって通信のCato Cloud側を表す単一のASNをグローバルに使用することがベストプラクティスです。 異なるネイバー間で異なるASNの使用を検討している場合は、サポートに連絡してください。
ループはどのように防止されるか
Catoがルートを受信すると、ASパスがネイバーのCato Cloud ASNのためにスキャンされます。 このASNを含むルートはすべて破棄されます。 ネイバーは現在のネイバーのASNのみをスキャンすることを注意してください。
注:
Catoはグレースフルリスタートをサポートしていません。
セキュリティとネットワーキング
ダイナミックレンジは、受信したルートのサイトに自動的に関連付けられ、すべてのサイトのポリシーグループ、ネットワークおよびセキュリティポリシーを継承します。 フローティングレンジはグローバルに定義され、セキュリティルールはそれに直接適用されるか、ポリシーグループに関連付けることによって適用されます。
BGPの使用を開始する前に
どのサイト接続タイプを使用できますか?
Catoは、ソケット、vソケット、およびIPsecサイト(CatoインシティエートIPsec IKEv1、IPSec IKEv2)を使用するサイトのBGPをサポートしています。 さらに、既存のBGPルーターとの接続性が要求されます。
BGPネイバーはCatoとどのようにしてBGPセッションを確立しますか?
BGPセッションは、ソケット内のローカルルートまたはIPSecトンネル上で、BGPネイバーとサイト間の確立された接続性を必要とします。
Catoソケットの展開の場合、セッションの確立にはダイレクト、VLAN、ネイティブレンジのみが使用できます
BGPセッションは、すべてのレンジがBGPピアと同じネクストホップを持つ限り、ルーティングレンジ上で確立できます。
代替WANリンク上でのBGPセッションの設定
Catoでは、代替WANの宛先は2つの(潜在的にVLANタグ付きの)ネットワークを含みます:パブリックとプライベート。 BGPネイバーは、それら2つのネットワークのいずれかに存在する必要があり、Cato Cloud側のBGPネイバーはそのレンジに対応するCato IPになります。
パブリックインターフェース上でBGPセッションを定義する際、そのリンクを通過するトラフィックに対してソースNATを実行することもできます。 これは、そのネイバーを経由するすべてのアウトゴーイングトラフィックのソースアドレスがCato側のIPになることを意味します。
既知の制限事項
Cato CloudはIPv4のみをサポートしています。
複数のネイバーに対して複数のASNが構成されている場合、ASNはネイバーによって検出されず、ループが発生する可能性があります。
Cato Cloudは、ネイバーがループをスキャンするのに依存して、ネイバーのASNを含むルートの伝播を許可します。
フローティングレンジは静的レンジと重複できません。
Catoは、ルートの撤回に対してグレースフルリスタートをサポートしていません。
Catoによって開始されたBGPルートの変更(ルートの撤回を含む)は、イベントを生成しません。
Catoはルートの要約を行いません。
デフォルトで、Catoは各BGPネイバーから受信するプレフィックスの数を1024に制限しています。 この制限を増やすには、 サポートに連絡してください。
静的レンジ変換を使用するアカウントでは、BGPはサポートされていません。 ソケットサイトのネイティブレンジを変換したBGPが必要な場合は、 サポートに連絡してください。