Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ジュニパー® クラウドネイティブルーターとは

概要

ジュニパークラウドネイティブルーター(JCNR)は、JCNRコントローラ(cRPDベースの制御プレーン)と JCNR-vRouter(DPDK対応転送/データプレーン)を組み合わせたコンテナベースのソフトウェアソリューションです。クラウドネイティブルーターを使用すると、拡張転送機能でJunos OSベースのスイッチング制御を有効にできます。

Kubernetes(K8s)コンピューティング ホスト上で動作する JCNR コントローラは、コントロール プレーン管理機能を備え、Linux カーネルまたは DPDK 対応 JCNR-vRouter によって提供される転送機能を使用します。

DPDK ライブラリとドライバーのオープン ソース セットです。DPDK は、ネットワーク インターフェイス カード(NIC)がアプリケーションのアドレス 空間に直接メモリ アクセス(DMA)パケットを直接送信できるようにすることで、高速パケット処理を可能にします。アプリケーションは、NIC からの割り込みのオーバーヘッドを回避するために、パケットをポーリングします。DPDK と統合することで、vRouter がカーネル モジュールとして実行される場合よりも、1 秒あたりにより多くのパケットを処理できます。

この統合ソリューションでは、JCNR-Controller は gRPC ベースのサービスを使用してメッセージ交換や JCNR-vRouter との通信を行い、完全に機能するクラウドネイティブ ルーターを作成します。この緊密な通信により、以下が可能になります。

  • ファブリックとワークロードインターフェイスの詳細

  • 必要に応じて、K8s ポッド用の DPDK またはカーネルベース インターフェイスのプロビジョニング

  • ポッドのIPv4およびIPv6アドレス割り当てを設定する

利点

  • DPDK ベースの JCNR-vRouter によるパケット転送パフォーマンスの向上

  • Helmを使用した汎用コンピューティングデバイスでの導入、削除、アップグレードが容易

  • ソフトウェア内の完全なスイッチングと転送スタック

  • MAC 学習、MAC エージング、MAC 制限、L2 統計などの基本的な L2 機能

  • 管理トラフィック用の無線ユニット(RU)への L2 到達可能性

  • 5G ミリ波 DU や 4G DU などの物理分散ユニット(DU)への L2 到達可能性

  • VLAN タギング

  • ブリッジ ドメイン

  • トランク ポート、アクセス ポート、サブインターフェイス ポート

  • イーサネットNICで複数の仮想機能(VF)をサポート

  • 接着 VF インターフェイスのサポート

  • 設定可能なL2アクセスコントロールリスト(ACL)

  • ファブリックインターフェイスにおけるエグレスブロードキャストおよびマルチキャストトラフィックのレート制限

  • すぐに利用可能なソフトウェアベースのオープン無線アクセスネットワーク(O-RAN)のサポート

  • コンテナ化された導入で迅速にスピンアップ

  • 拡張性に優れたソリューション

図 1:ジュニパークラウドネイティブルーター Components of Juniper Cloud-Native Routerのコンポーネント
Kubernetes

Kubernetes(K8s)は、クラスター化されたコンピューティング環境でコンテナ化されたアプリケーションを実行するためのオーケストレーションプラットフォームです。コンテナ化されたアプリケーションの自動導入、拡張、ネットワーク、管理を提供します。

K8sポッドは、1つ以上のコンテナで構成され、各ポッドはアプリケーションのインスタンスを表します。ポッドは、K8sが管理できる最小ユニットです。ポッド内のすべてのコンテナは、同じネットワーク名スペースを共有します。

クラウドネイティブルーターの運用に必要なインフラストラクチャをオーケストレーションするには、K8sを利用しています。ただし、このマニュアルでは K8s のインストールや管理手順は提供していません。Kubernetesのドキュメントについては、 https://kubernetes.io を参照してください。現在、ジュニパークラウドネイティブルーターでは、K8sクラスターはスタンドアロンクラスターである必要があります。つまり、K8sマスター機能とワーカー機能の両方が単一のノードで実行されます。

ジュニパークラウドネイティブルーターコンポーネント

ジュニパークラウドネイティブルーターコントローラ

JCNR-Controller(cRPD)は、ジュニパークラウドネイティブルーターソリューションのコントロールプレーン部分です。コントローラは、クラウドネイティブルーターの他の要素と通信するために使用します。コントローラに導入時に設定した設定、ポリシー、およびルールは、他のコンポーネント(主に実装用の JCNR-vRouter エージェントおよび JCNR-vRouter)に伝達されます。

例えば、アクセス・コントロール・リスト(ACL)は、JCNR-Controllerでサポートされており、拒否ルールを持つL2アクセス・リストを設定します。JCNR-controller は、設定情報を JCNR-vRouter エージェントを介して JCNR-vRouter に送信します。

ジュニパークラウドネイティブルーターコントローラの機能:

  • NETCONF プロトコルを使用して外部の自動化およびオーケストレーション システムからアクセスできる Junos OS 互換 CLI 設定および操作コマンドを公開します。

  • 高速転送プレーンとして JCNR-vRouter をサポートします。これにより、DPDK フレームワークを使用して構築されたアプリケーションは、カーネルを通過せずに、アプリケーションと JCNR-vRouter に直接パケットを送受信できます。

  • 物理機能(PF)、仮想機能(VF)、virtio、アクセス、トランク インターフェイス上の VLAN タグ付きサブインターフェイスの設定を DPDK 対応 JCNR-vRouter が管理するサポート。

  • ブリッジ ドメインの設定をサポート

ジュニパークラウドネイティブルーター-vRouter

JCNR-vRouter は、Linux カーネル内の Linux ブリッジまたは OVS(Open vSwitch)モジュールの代替手段です。JCNR-vRouterコンテナを収容するポッドには、JCNR-vRouterエージェントコンテナも格納されています。JCNR-vRouter の機能は次のとおりです。

  • L2 転送の実行

  • L2 レート制限の実行

  • DPDK ベースの転送を使用できる

  • L2 ACL(アクセスコントロールリスト)の適用

JCNR-Container Network Interface(JCNR-CNI)

JCNR-CNIは、ジュニパーが開発した新しいCNIで、JCNR-vRouterエージェント、JCNR-vRouterエージェントDPDKなどのジュニパー開発ポッド、DPDKアプリケーションポッド、クラウドネイティブルーターコントローラを扱います。JCNR-CNIは、アプリケーションポッド向けのネットワークインターフェイスをプロビジョニングするために、各ノードにインストールされたkubernetes CNIプラグインです。ポッド作成時に、K8s はポッド インターフェイスの作成と設定を JCNR-CNI に委任します。JCNR-CNIは、JCNRコントロールプレーンおよびJCNR-vrouterと対話して、DPDKインターフェイスを設定します。ポッドが削除されると、JCNR-CNIが呼び出され、K8sおよびクラウドネイティブルーターコンポーネントにおけるポッドインターフェイス、設定、および関連する状態のプロビジョニングを解除します。JCNR-CNIは、Multus CNIと連携して、ポッドインターフェイスを追加および設定します。

JCNR-CNI は、以下の機能を提供します。

  • IPアドレスの割り当て、MACアドレスの割り当て、K8sクラスター内のポッドとホスト間のインターフェイスの設定など、K8sポッドのネットワークタスクを管理します。

  • L2 ACL を適用します。データ プレーンに適用するために、ポリシーが JCNR-vRouter に送信されます。

  • 追加や削除などのポッドイベントに対する行為

  • cRPD 設定を生成します。

Syslog-NG

ジュニパークラウドネイティブルーターは、syslog-ngポッドを使用して、cRPDとvRouterからイベントログを収集し、ログをJSONベースの通知に変換します。通知はファイルに記録され、そのファイルからアクセスできます。