Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ジュニパーBNG CUPSの動作理論

このセクションでは、ジュニパーの運用方法と、ジュニパーBNG CUPSを運用するために行う必要がある設定について説明します。

運用の概要

TR-459マルチサービス非集約BNG(CUPS付き)TR-459(Reference Architecture, Deployment Models, Interface, and Protocol Specification)ドキュメントは、細分化されたBNGアーキテクチャを定義するためにBroadband Forumによって作成されました。TR-459仕様の図1は、コントロールプレーンとユーザープレーンにおける機能ブロックの配置を示しています。

図1:TR-459コントロールプレーンとユーザープレーンの機能分離 TR-459 Functional Separation Between the Control Plane and the User Plane

コントロールプレーン機能の組み合わせは、細分化されたBNGのコントロールプレーンと呼ばれます。同様に、ユーザープレーン固有の機能の組み合わせは、細分化されたBNGのユーザープレーンと呼ばれます。

コントロールプレーンとユーザープレーンの間には、3種類のインターフェイスがあります。

  • 管理インターフェイス(Mi)—オプションでBNG CUPSコントローラでのBNGユーザープレーンの集中管理に使用されます。

  • 制御パケットリダイレクトインターフェイス(CPRi)—BNG CUPSコントローラとBNGユーザープレーンの間で制御プロトコル(DHCP、DHCPv6、PPPoE、PPP、L2TPなど)トラフィックを誘導および交換し、加入者セッションをネゴシエートするために使用されます。

  • 状態制御インターフェイス(SCi):

    • BNG CUPSコントローラとBNGユーザープレーン間の関連付けを確立するために使用します。

    • トラフィック検出と転送ルールをプログラムし、各加入者セッションのBNGユーザープレーンの状態を加入者するために使用されます。

    • BNG CUPSコントローラにセッション統計を報告するために使用します。

コントロールプレーンとユーザープレーンの機能は、インターフェイスとともに、TR-459規格で提案されているように、細分化されたBNGアーキテクチャを構成します。詳細については、「 TR-459 CUPSを使用したマルチサービス非集約BNG」を参照してください。Broadband Forumのリファレンスアーキテクチャ、導入モデル、インターフェイス、プロトコル仕様 ドキュメント。

ジュニパーBNG CUPSコントローラ

BNG CUPSコントローラは、Kubernetes環境で実行されるコンテナ化されたアプリケーションです。Kubernetesは、アプリケーションとハードウェアの耐障害性、自動化、アプリケーションの監視、アプリケーションのアップグレードとロールバック、サービス検出をサポートするインフラストラクチャを提供するコンテナオーケストレーション環境です。

BNG CUPSコントローラは、以下のマイクロサービスで構成されています。

  • コントロールプレーンインスタンス—加入者管理コントロールプレーンのインスタンス。コントロールプレーンインスタンスは、さまざまなアクセスモデル(DHCP、PPPoE、L2TPなど)のセッション状態を管理します。また、AAAサービス、IPアドレス割り当てサービスを提供し、BNGユーザープレーンへのSCiおよびCPRiインターフェイスを維持します。コントロールプレーンインスタンスは、動的プールプレフィックスソース(アドレスプールマネージャー(リモート)またはローカルリザーブ)と対話して、アドレス割り当て用のアドレスソースを維持することもできます。コントロールプレーンインスタンスは、セッション状態を状態キャッシュポッドに記録します。コントロールプレーンインスタンスポッドが再起動すると、状態キャッシュからその状態を回復します。
  • 状態キャッシュ—コントロールプレーンインスタンスによって生成された加入者セッションやその他の状態情報を保存する永続的なインメモリキャッシュ。ステートキャッシュポッドは、コントロールプレーンインスタンスが実行されるノード以外のクラスターノードで実行されます。状態キャッシュポッドが再起動すると、コントロールプレーンインスタンスからその状態を復元します。

BNG CUPSコントローラコンポーネントは、syslogプロトコルを介してログメッセージを生成します。ブロードバンド エッジ イベント収集および視覚化(BBE ECAV)アプリケーションを使用して、ログ メッセージを収集および記録できます。

サポートされているスタックモデル

  • ジュニパーBNG CUPSは、以下のスタッキングモデルをサポートしています。

    • DHCP サーバー シングルスタック

    • DHCPv6サーバーシングルスタック

    • DHCP サーバー シングルセッションデュアルスタック

    • DHCP リレー シングルスタック

    • DHCPv6リレーシングルスタック

    • DHCPリレーシングルセッションデュアルスタック

    • PPPoEシングルスタック(IPまたはIPv6)

    • PPPoEデュアルスタック

    • L2TP LAC

    • 動的VLAN(DHCPおよびPPPoE用)

サポートされている拡張性とトポロジーの要件

単一のBNG CUPSコントローラは、以下の数の加入者とBNGユーザープレーンをサポートします。

  • 1つのBNG CUPSコントローラで最大512Kの加入者をサポートできます。

  • 1台のBNG CUPSコントローラで、最大32のBNGユーザープレーンをサポートできます。

BNG CUPSコントローラはKubernetes環境で稼働します。

Kubernetes環境には、以下のデバイスが必要です。

BNG CUPSコントローラの設定

BNG CUPSコントローラの設定は、以下の設定グループで構成されています。

  • bbe-bng-director—BNGユーザープレーン定義、コントロールプレーンインスタンス定義、BNGユーザープレーンの割り当て、加入者およびロードバランシンググループの定義など、コントローラ全体の設定項目が含まれます。
  • bbe-cpi-0—以下を含む加入者管理設定の大部分が含まれます。
    • 動的プロファイル

    • サービスクラスの分類子

    • ルールの書き換え

    • トラフィック制御プロファイル

    • スケジューラとスケジューラマップ

    • ファイアウォールフィルターとポリサー

    • アクセスおよびアクセスプロファイルレベルでの認証、許可、アカウンティング(AAA)サービス

図2 は、設定グループの階層を示しています。

図2:構成グループの階層 Configuration Group Hierarchy

bbe-bng-directorグループを設定します

bbe-bng-director設定グループには、bng-controllerスタンザが含まれています。bng-controllerスタンザでは、bng-controller-nameuser-planes、およびcontrol-plane-instancesの設定を最小限設定する必要があります。

以下の bbe-bng-director グループの設定例をご覧ください。

上記の例では、2つのBNGユーザープレーン(billericaとcanton)が定義されています。BNGユーザープレーン設定の一環として、BNGユーザープレーンの連絡先IPアドレスが transport スタンザで設定されます。動的アドレスプールパーティションは、 dynamic-address-pools スタンザの下に設定されます。また、BNGユーザープレーンのインターフェイスと機能を定義する user-plane-profileが定義され、各BNGユーザープレーンに割り当てられます。

user-plane-profileは、共通の設定グループ(例:bbe-cpi-0)で設定されます。そのため、BNGユーザープレーンをコントロールプレーンインスタンスに設定または割り当てる場合、そのユーザープレーンプロファイルは、コントロールプレーンインスタンスのcontrol-plane-config-groupによって割り当てられた共通設定グループで定義する必要があります。

bng-controller-nameは、コントローラの名前(コントロールプレーンインスタンスと関連するマイクロサービスの集合)を提供します。

コントロールプレーンインスタンス設定の一環として、以下を設定します。

  • コントロールプレーンインスタンス名—コントロールプレーンインスタンス名は、BNG CUPSコントローラの初期設定での cpi add 設定中に作成されたコントロールプレーンインスタンスポッドに割り当てたコントロールプレーンインスタンス名と一致する必要があります( ジュニパー BNG CUPSインストールを参照)。

  • 加入者管理設定に使用する設定グループの名前(例:bbe-cpi-0)。

  • コントロールプレーンインスタンスに割り当てられたBNGユーザープレーンのリスト。

bbe-cpi-0グループを設定します

加入者管理の共通設定は、共通の設定グループで設定されます。最大5つの共通設定グループを定義できます。共通の設定グループの名前は固定されています。名前は、 bbe-cpi-0bbe-cpi-1bbe-cpi-2bbe-cpi-3、または bbe-cpi-4のいずれかである必要があります。

以下の bbe-cpi-0 グループの設定例を参照してください(わかりやすくするために、この例は部分的に詳しく説明しています)。

この共通グループ設定では、 dhcp-local-server group はタグ付き名前でインターフェイスを参照します。インターフェイスタグは、 user-plane-profile 設定で定義されます。これにより、同じインターフェイスタグに割り当てられたすべてのBNGユーザープレーン論理ポートに同じDHCPサーバーグループ設定を使用できます。

ユーザープレーンプロファイルは、BNGユーザープレーンのインターフェイス設定や、合法的な傍受、キャプティブポータルコンテンツ配信、リソースモニターなどのその他の設定に使用されるテンプレートです。ほとんどのBNGユーザープレーンは、同様の設定になることを想定しています。ユーザープレーンプロファイルにより、BNGユーザープレーン設定を繰り返す必要がなくなります。DHCP ローカルサーバーは、BNGユーザープレーンのインターフェイスを( up:billerica:xe-1/1/0ではなく)タグ名で汎用的に表現できます。タグ名とBNGユーザープレーンコンテキスト(BNG CUPSインフラストラクチャから提供)の組み合わせは、DHCPローカルサーバーコンポーネントへのインターフェイスを識別するのに十分です。また、これにより、DHCPローカルサーバーグループに割り当てられる各BNGユーザープレーンの各論理ポートのインターフェイスの指定を回避できます。同じインターフェイスタグを各論理インターフェイスに割り当て、DHCPローカルサーバーグループで一度参照できます。

共通グループ構成には、アドレス プール マネージャー (APM) の構成も含まれます。この場合、リモートAPMインスタンスはIPv4パーティションに使用され、ローカルリザーブは、IPv6非一時アドレスおよび委任プレフィックスのソースに使用されるローカルIPv6パーティションに対して定義されます。

bbe-cpi-0グループ設定を適用します

bbe-cpi-0グループの設定を完了したら、有効にするためには設定を適用する必要があります。

以下の bbe-cpi-0 グループ設定の適用例をご覧ください。

BNG CUPSインターフェイスのセキュリティ保護

BNG CUPSコントローラーのAPM(アドレスプールマネージャー)、BNGユーザープレーン、オブザーバーへのインターフェイス(複数の地理的な展開のみ、 複数の地理的冗長性を備えたジュニパーBNG CUPSの使用を参照)は、TLS(TCPベースのインターフェイス)またはDTLS(UDPベースのインターフェイス)を介して保護されています。

キーと証明書

トランスポートレベルセキュリティ(TLS)またはデータグラムトランスポートレベルセキュリティ(DTLS)でインターフェイスを保護するには、以下を提供する必要があります。

  • プライベートキー—キーは、セッションキーの交換を容易にし、セッションデータを暗号化するために使用されます。
  • 認証機関(CA)証明書—ルート証明書(ルートCA)は、証明書または公開キーに署名するために使用されます。ルート証明書は、ピアの証明書の認証にも使用されます。
  • 証明書—証明書所有者と証明書自体に関するメタデータを含む署名済みの公開キー。

キーと証明書は、利用可能なさまざまなツール( 例えば、openssl)を使用して生成されます。証明書は、自己署名することも、外部認証局によって署名することもできます。BNG CUPSコントローラとその外部ピア(APM、BNGユーザープレーンなど)との間で使用される証明書は、提供されたルート証明書(ルートCA)を使用して認証できることが重要です。

BNG CUPSコントローラへのキーと証明書の指定

BNG CUPSコントローラでキーと証明書を設定するには、BNG CUPSコントローラのマイクロサービスでキーと証明書を利用できるようにする必要があります。キーと証明書は、BNG CUPSコントローラインストール の設定ステップ中に ファイル参照で渡されます。

セットアップ手順中に、次の鍵と証明書の参照を求められます。

注:

jnpr-bng-controller名前空間にKubernetesシークレットが存在する場合、対応するファイル参照の入力を求められることはありません。

3つのインターフェイス(APM、BNGユーザープレーン、オブザーバー)すべてに同じキーと証明書のセットを使用できます。

BNG CUPSコントローラでのキーと証明書の設定

BNG CUPSコントローラのインストールプロセスの 設定 ステップでキーと証明書を指定すると、BNG CUPSコントローラの /config ディレクトリパスの設定に使用できるようになります。

APMi キーと証明書

APMiキーと証明書は、ca.crt(BNGControllerRootCertificateFile)、tls.crt(BNGControllerCertificateFile)、およびtls.key(BNGControllerKeyFile)ファイルとして/config/apmiにマウントされます。BNGコントローラーのAPMへのインターフェイスをTLSで保護するには、完全修飾パス名を使用して以下の設定を作成します。

SCi および CPRi の鍵と証明書

SCi および CPRi 鍵と証明書は、ca.crt(BNGControllerRootCertificateFile)、dtls.crt(BNGControllerCertificateFile)、および dtls.key(BNGControllerKeyFile)ファイルとして /config/dtls の場所にマウントされます。BNGユーザープレーン(SCiおよびCPRi)へのインターフェイスをDTLSで保護するには、/configを基準にしたファイルパス名を使用して、以下の設定を実行します。

BNGユーザープレーンでのキーと証明書の設定

キーと証明書ファイルは、BNGユーザープレーンの ファイルシステムの/config ディレクトリにコピーする必要があります。鍵と証明書ファイルがBNGユーザープレーンのファイルシステム内の不揮発性ディレクトリに転送されたら、SCiおよびCPRiインターフェイス用のDTLS鍵と証明書を設定します。 /configを基準としたファイルパス名を使用して、以下の設定を実行します。

注:

ファイルパス名の例として、DTLSキーが /config/up/mx2009-a.keyに保存されている場合、キーは次のように設定されます。 key-file-name up/mx2009-a.key

BNGユーザープレーンを設定する

BNGユーザープレーンは、BNG CUPSコントローラーによって発信された加入者セッション状態を適用し、加入者トラフィックの転送プレーンとして機能します。また、制御プロトコルパケットをBNG CUPSコントローラにリダイレクトし、加入者セッションのネゴシエートと設定も担当します。

加入者管理用のBNGユーザープレーンの設定は、加入者管理用のほとんどの設定がBNG CUPSコントローラ上で行われるため、よりシンプルな加入者管理用の設定です。

次のBNGユーザープレーンの設定例をご覧ください。

注:

また、BNGユーザープレーン カントンに対しても同様の設定を実行する必要があります。

user-planeモード設定は、subscriber-managementスタンザの下で実行されます。BNGユーザープレーンがBNG CUPSコントローラとの通信に使用するIPアドレスは、transportスタンザで定義されます。BNGユーザープレーンが割り当てられ、関連付けを受け入れるBNG CUPSコントローラ名は、control-planeスタンザで定義されます。

BNGユーザープレーンの残りの設定は、他のシステム設定(例えば、インターフェイス、テレメトリ、ルーティング、DDoS保護、リソース監視など)に焦点を当てる必要があります。

BNG CUPSコントローラ導入の完了

BNG CUPSコントローラのインストールプロセスを完了すると( 『ジュニパー BNG CUPSインストールガイド』を参照)、現在は状態キャッシュサービスのみが実行されています。 dbng status コマンドを実行して確認できます。

BNG CUPSコントローラの導入を完了するには、コントロールプレーンインスタンスを作成する必要があります。これは、 bbe-bng-director 設定グループでコントロールプレーンインスタンスを設定する前に必要です。コントロールプレーンインスタンスは、 cpi-add コマンドを使用して作成します。

これにより、コントロールプレーンインスタンスポッドが作成されます。 dbng status コマンドを再度実行して、コントロールプレーンインスタンスが作成されたことを確認できます。この例では、 cpi-boston が作成されたことがわかります。

コントロールプレーンインスタンスに割り当てる名前は、コントロールプレーンインスタンスの bbe-bng-director グループ設定で使用する名前と一致する必要があります。コントロールプレーンインスタンスが作成されたので、CLIを入力してBNG CUPSコントローラの設定に進むことができます。

BNG CUPSコントローラとBNGユーザープレーンプロトコルの運用

BNGユーザープレーン(billericacanton)の両方が設定され、割り当てられたコントロールプレーンインスタンス(cpi-boston)により、BNG CUPSコントローラとBNGユーザープレーンは、状態制御インターフェイスを介してシグナリングすることで、細分化されたBNGシステムを形成します。シグナリングは、BNG CUPSコントローラとそれに割り当てられた各BNGユーザープレーンとの関連付けを確立するためのPFCPメッセージ交換で構成されています。シグナリングには、加入者セッションのネゴシエーションとシグナリングが進む前に、追加のPFCPメッセージ交換も含まれます。

次の図は、BNG CUPSコントローラと割り当てられた各BNGユーザープレーン間の初期PFCPメッセージ交換を示しています。

図3:PFCPメッセージ交換 PFCP Message Exchanges

最初のPFCP交換は、BNGユーザープレーンが以下のステップ4でBNG CUPSコントローラへの制御プロトコルパケット(PPPoE、PADI、DHCP DISCOVER、DHCPv6、SOLICITなど)の転送を開始する前に、3つの基本的なステップで行われます。

BNG CUPSコントローラに割り当てられた各BNGユーザープレーンは、以下の手順を実行します。

    • BNG CUPSコントローラは、BNGユーザープレーンへのハートビート要求を開始します。BNGユーザープレーンはハートビート要求に応答し、BNG CUPSコントローラに対して独自のハートビート要求を開始します。

    • BNG CUPSコントローラは、アソシエーション設定リクエストでBNGユーザープレーンへのアソシエーションを開始します。BNGユーザープレーンはPFCPの関連付けを開始せず、BNG CUPSコントローラからの連絡を待ちます。要求が設定された bng-controller-nameからのものである場合、BNGユーザープレーンはPFCPアソシエーション設定応答で応答します。次に、BNG CUPSコントローラのアソシエーションがBNGユーザープレーンと形成されます。

    • ハートビートメッセージは、設定された間隔に基づいて、BNG CUPSコントローラとBNGユーザープレーンの間で定期的に双方向に送信されます。BNG CUPSコントローラとBNGユーザープレーンは、同じ間隔を使用して設定を再試行することをお勧めします。

    BNG CUPSコントローラから show health user-plane コマンドを実行して、割り当てられた各BNGユーザープレーンとの関連付けが正常に完了したことを確認できます。

  1. BNG CUPSコントローラは、以下のCPRiトンネルを設定するためのセッション確立リクエスト交換を開始します。

    • BNGユーザープレーンからBNG CUPSコントローラに制御パケットを転送して、加入者セッションのネゴシエーションを開始できるようにするデフォルトのCPRi。
    • BNG CUPSコントローラ設定でBNGユーザープレーンに割り当てられたユーザープレーンプロファイルで、自動認識VLANに設定されたインターフェイスが指定されている場合、自動認識VLANに設定されたインターフェイスごとに論理ポートCPRiが作成されます。セッション確立要求は各インターフェイスに対して開始され、論理ポート名とインターフェイスの auto-configure スタンザからのVLAN範囲の両方が含まれます。論理ポートCPRiは、遅延セッション作成をサポートし、BNGユーザープレーンとBNG CUPSコントローラの間で制御プロトコルパケットの交換をサポートし、加入者セッションをネゴシエートするために使用されます。
  2. このステップは、3つのサブステップで構成されています。サブステップは任意の順序で実行できますが、加入者セッションネゴシエーションが実行される前に発生することが想定されています。

    1. BNGユーザープレーンは、1つ以上のノードレベルのネットワークインスタンスレポートを開始します。レポートには、設定された各ネットワークインスタンスとその初期接続ステータス(接続または分離)が表示されます。このアクションは、TR-459に従って実行されます。

    2. BNGユーザープレーンは、1つ以上のノードレベルの論理ポートレポートを開始します。レポートには、アクセスに面する各論理ポートとその初期フォワーディング容量が表示されます。このアクションは、TR-459に従って実行されます。

    3. BNG CUPSコントローラは、1つ以上のアソシエーション更新リクエスト交換を開始して、1つ以上のプロビジョニングされた加入者グループを作成します。BNGユーザープレーンから割り当てられた論理ポートは、加入者グループ作成メッセージに含まれます。

  3. BNG CUPSコントローラは、デフォルトまたは論理ポートCPRiを介してBNGユーザープレーンから制御プロトコルパケットを受信します。加入者セッションのネゴシエーションは、BNGユーザープレーンとBNG CUPSコントローラ間の制御パケット交換に基づいて開始され、その結果、BNG CUPSコントローラは、加入者セッションCPRiを作成するためのセッション確立要求を開始します。

    以下の点に注意してください。

    • BNGユーザープレーンは、BNG CUPSコントローラから論理ポートのノードレベルの加入者グループ作成リクエストを受信するまで、アクセス側の論理ポートから受信した制御プロトコルパケットをBNG CUPSコントローラに転送しません。

    • BNG CUPSコントローラは、BNGユーザープレーンから論理ポートに対応する加入者グループを作成または変更するためのアソシエーション更新応答を受信するまで、CPRiに到着した受信した制御パケットを破棄します。