cJunosEvolvedアーキテクチャ
このトピックでは、cJunosEvolved-BTおよびcJunosEvolved-BTのアーキテクチャについて詳しく説明します。
cJunosEvolvedは、KVMベースのDockerコンテナです。コンテナ内に組み込まれたEVO VMは、Junos OS Evolvedコントロールプレーンとマネジメントプレーンの機能を提供します。EVO VM には、ルーティングエンジンとパケット転送エンジンが含まれています。BTおよびBXデータプレーンASICシミュレータは、コンテナのLinux側に存在します。
図1 は、cJunosEvolvedの概要と、それがUbuntuホストサーバーにどのように存在するかを示しています。cJunosEvolvedは、ベアメタルのUbuntu Linuxサーバー上とUbuntu VM内から導入できます。ベア・メタル・サーバーは、cJunosEvolvedコンテナー内にEVO VMが組み込まれているため、推奨される導入モデルです。そのため、別のVM内でホストするとネストされた仮想化が使用され、必然的にcJunosEvolvedの応答が遅くなります。
cJunosEvolved-BTアーキテクチャ
このセクションでは、cJunosEvolved-BTアーキテクチャの詳細について説明します。
コンテナのLinux側には、COSIMパケット処理(cosim-pp)の単一インスタンスとBT ASICシミュレータプロセスが含まれています。
COSIMは、外部仮想イーサ(veth)データポート、BT、EVO VMの間に配置されています。これにより、それらの間のパケット処理が容易になります。
cJunosEvolved-BXアーキテクチャ
このセクションでは、cJunosEvolved-BXアーキテクチャについて詳しく説明します。
コンテナのLinux側には、COSIMパケット処理(cosim-pp)の2つのインスタンスとBX ASICシミュレータプロセスが含まれています。
各COSIMは、外部仮想イーサ(veth)データポートの間に配置されており、対応するBXとEVO VMです。これにより、それらの間のパケット処理が容易になります。
BX ASICはソフトウェアでシミュレーションされます。EVO VMのパケット転送エンジンは、設定、制御、データパケット処理のためにコンテナ内のデータプレーンと通信します。
EVO VM には、ルーティングエンジン アプリケーションのほか、ルーター設定用の MGD やコントロールおよび管理プレーンなどの他のプロセスも含まれています。EVO VM は、QEMU-KVM による cJunosEvolved の初期化時に起動されます。