• vEOSルータのアーキテクチャ

 
 
Print Friendly, PDF & Email

1. vEOSルータのアーキテクチャについて

vEOS ルーターの利点の1つは、通常のEOSと同じコードを実行できることで、
ハードウェアスイッチではなく仮想マシン上で動作します。EOSは、モジュールアーキテクチャですので、仮想マシンインスタンスをサポートすることは、仮想ネットワークドライバに対応するために、システムへ異なるエージェントを追加するのと同じくらい簡単です。

この記事では、サーバーとクラウドの両方で、様々な仮想ネットワーキングオプションが、vEOSルータと、どのように連携するかを説明し、次にvEOSルーターとvEOS-lab、ハードウェアスイッチ上で動作するEOSとの違いを説明します。

一般的なEOSのアーキテクチャの詳細については、EOSホワイトペーパーを参照してください

https://www.arista.com/assets/data/pdf/EOSWhitepaper_jp.pdf

 

2. ハイパーバイザ上でのvEOSルータ

中核となるvEOSルーターは、他の全てのEOSバージョンと同じ、
ステートベースのデータベース、Linux OS、およびプログラマビリティを備えています。
しかしながら、VPNゲートウェイルーターの機能をサポートしたり、
ハードウェアスイッチングプラットフォームではなく
ハイパーバイザー上での転送パフォーマンスを最適化するために必要な変更をいくつか行っています。

 

3. バーチャルマシンのネットワークアダプタの種類

3-1. virtio/vmxnet3

サーバネットワークインタフェースが抽象化され、仮想インタフェースがVMに示されます。
これはVMレベルでは、ハードウェアへの依存性がなく、最高の柔軟性がありますが
パケット転送は仮想化のレイヤーを通過する必要があるため、パケット転送パフォーマンスがあまり良くありません。

vmxnet3

3-2. PCI Passthrough

PCIパススルーではvirtioのボトルネックが解消され、仮想マシンは基盤となるNICを直接使用できます。
これにより、ネットワークパフォーマンスは、virtioに比べて大幅に向上しますが、
単一のVMで物理NICカードを占有することになります。
そのため、ネットワークインタフェースは、単一のVM専用となり
ハイパーバイザ上の、他のVMではNICを使用できず、VM毎に物理NICを用意する必要がでてきます。
Intel VT-dまたはAMD-V IOMMUをサーバーで有効にする必要がありますが、
特別なネットワークインターフェイスカードを必要とせずに実行することができます。

pci

3-3. SR-IOV

SR-IOVには、物理機能(PF)と仮想機能(VF)の2つの異なるPCI機能をサポートする
特殊なネットワークインターフェイスカードが必要です。
PFはNIC上のSR-IOV機能を管理し、ハイパーバイザーによって制御されます。
VFはネットワークアダプタの複数の仮想インスタンスを提示し、
複数の仮想マシンがネットワークアダプタリソースを共有しながらも、高いパケット転送性能を維持します。
SR-IOVで考慮すべき点の1つは、NIC内の総帯域幅が、同じサーバー内の
VMからVMへのトラフィックを含む、NICインターフェイスの速度に制限されていることです。

sriov

4. パブリッククラウド上での、vEOSルータの利用

上記の概念の多くは、パブリッククラウド内のvEOSルータにも適用されますが、
パブリッククラウドプロバイダのインフラストラクチャによって若干の違いがあります。

4-1. vEOS router on AWS

vEOSルータをAWSに導入すると、vEOSは拡張されたネットワーキング機能を利用して、
EC2仮想マシンのスループット向上と遅延時間の短いネットワークを実現します。
これは、最大25 Gbpsの速度を提供できるElastic Network Adapter(ENA)ドライバを使用して実行され、
vEOSルータの全ての推奨インスタンスでサポートされます。

4-2. vEOS router on Azure

現時点では、vEOSルータはHyper-Vネットワークドライバを使用しています。(上記の3-1の”virtio”のシナリオとよく似ています) AzureのLinux VMでサポートされている、Accelerated Networkingもサポートされています。

 

5. vEOS router と EOS

スイッチ上でネイティブではなく、VM内でEOSコードベースを実行するときとの
明らかな違いは、ハイパーバイザによるハードウェアの抽象化とネットワークASICの欠如です。
他のVMと同様に、メモリとCPUは仮想メモリとvCPUになります。
しかし、パケットを転送する場合、vEOSルーターは、「virtio / vmxnet3」「PCIパススルー」または「SR-IOV」を使用して、ハイパーバイザーにパケットを渡すことができます。 後者の2つのオプションを使用すると、
vEOSルータを通過するトラフィックのスループットとパケット転送効率を高めることができます。

6. vEOS router と vEOS lab

vEOS labでは、EOSの機能を可能な限り(ハードウェアに依存する機能を除いた)シミュレートすることが重要ですが、転送のパフォーマンスは、ほとんど考慮されていません。
これには、純粋なレイヤ3ルータには関係のない、レイヤ2プロトコルなどの機能が含まれます。
vEOS labを実行するには、EOSがハードウェアスイッチに接続されているかのように
振る舞うことができる、ソフトウェアベースのスイッチエミュレータがありますが、パケット処理性能を犠牲にしています。言い換えれば、vEOS labはラボツールとして設計されていますが、実際には運用環境でトラフィックを転送するための利用はできません。

一方、vEOSルーターは、実際に高速でトラフィックを転送できるように設計されています。
仮想ルータ環境では不要な、レイヤ2プロトコルやスイッチング機能はサポートしていません。
また、ルーティングゲートウェイデバイスに必要な機能を提供するために、NAT、GRE、IPSECなどのトンネリングプロトコルもサポートしています。

7. 最後に

仮想マシンにネットワーク機能を提供する場合、多くのオプションがあります。
vEOS ルーターでは、オンプレミスのハイパーバイザーまたはクラウドの両方で、
強化された転送機能の多くを利用しています。
SR-IOVなどのテクノロジーを活用することで、Arista vEOSルータは、
高性能仮想ルータとして機能しながら、世界中の何千ものデータセンターに対応している
EOSの利点を、同じように提供することができます。

 

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: