ページの先頭です

ページ内を移動するためのリンク
本文へ (c)

ここから本文です。

ネットワーク検証をバーチャルに① ~Cisco Modeling Labsのすすめ~

ライター:菊池 裕次
2013年にネットワンシステムズ中途入社

大手通信キャリア案件のフロントSEを経て、
現在はデータセンタネットワーク関連の製品担当として製品評価、検証、案件支援等を行っている。

目次

ネットワーク検証は準備が大変

ネットワークの検証を行う際モノの確保、場所の確保、電源の確保、設置、接続といった事前準備にかなりの時間を要します。解体にもそれなりに時間がかかりますし、再検証が必要になった場合は、また事前準備からやり直さなければなりません。

これはネットワーク機器がモノ(ハードウェア)であるから発生する作業ですが、ネットワーク機器が完全にソフトウェアの存在であれば、あらゆる準備がキーボード操作で瞬時に完了でき、本来の目的である検証に多くの時間を注ぐことができるはずです。

仮想アプライアンスでトポロジを組むには

ここ数年の間にNFVNetwork Functions Virtualization)としてネットワーク機器の仮想アプライアンスが出そろってきており、これらをうまく活用すればネットワーク検証もソフトウェア上で行うことができます。

通常、仮想アプライアンスはハイパバイザー上にデプロイするVM形式で提供されていますが、ハイパバイザー上の仮想スイッチを介して仮想アプライアンス同士を相互接続し、トポロジを組もうとすると結構厄介です。

例えば、下図のように接続イメージとしては単純に幾つかの機器を接続する構成あっても、実際の接続ではリンク毎にハイパバイザー側のネットワーク設定が必要となり、構成が複雑になるためトラブル時の切り分けが困難になります。

この様な問題を回避する方法として、GUI上で簡単に仮想アプライアンスを相互接続し、トポロジを組むことができるネットワークシミュレータを用いるという手があります。

ネットワークシミュレータの特徴

ネットワークシミュレータの一般的な特徴としては以下が挙げられます。

  • GUI上のドラッグ&ドロップ操作で仮想アプライアンスの相互接続が可能
  • 各仮想アプライアンスへのコンソールアクセスが可能
  • リンクのパケットキャプチャが可能
  • 環境の保存、インポート、エクスポートが可能

また、利用の際の注意点としては以下があげられます。

  • 上に乗せる仮想アプライアンスについては基本的には利用者自身で用意する必要がある
  • 複数台の仮想アプライアンスを同時起動させるとマシンリソースをかなり消費する
  • 不具合個所の原因切り分けが難しい
  • 性能試験には不向き

Cisco Modeling Labsのすすめ

世の中には、オープンソースや有償ソフトウェアとして提供されるマルチベンダ対応のネットワークシミュレータが複数存在します。弊社ではその中でも2020年5月にCiscoからリリースされたCisco Modeling Labs(以下「CML」)を使用しており、社内で手軽に使える環境を整えることでデモ、簡易検証、QA対応、自己学習などに役立てています。

今回紹介するCMLのおすすめポイントは次の5点です。

  • Ciscoノードが最初から使える
  • Ciscoノード以外もちゃんと使える
  • サーバノードが最初から使える
  • トラフィックジェネレータが最初から使える
  • インタフェースがとっつきやすい

詳細は以下になります。

理由1Ciscoノードが最初から使える

他のシミュレータでCiscoノードを使う場合は、利用者自身でCiscoイメージファイルを入手し、シミュレータに登録する必要がありますが、CMLであればプリインストールされているため、その手間が発生しません。

CMLにプリインストールされているciscoノードは、下表のとおりです。その中でも、dCloudといったCisco社のデモ環境などで利用可能なIOSv/IOSvL2は、フットプリントが軽量で検証に便利です。しかし、通常のアプライアンス製品としては提供されていません。CMLでは、これらのCiscoノードも自由にデプロイすることができます。

CMLにプリインストールされているCiscoノード

Ref. Platform/Image

Description

ASAv

Cisco ASA firewall image

CSR 1000v

IOS-XE Cloud Services Router

IOS XRv

IOS XR classic image (32-bit, deprecated)

IOS XRv 9000

IOS XR 64-bit image

Nexus 7000v

NX-OS layer 3 image (deprecated)

Nexus 9000v

NX-OS layer 2/3 image

IOSv

IOS classic layer 3 image

IOSv L2

IOS classic layer 2/3 switch image

理由2:Cisco以外のノードもちゃんと使える

CMLCisco製品なので、Cisco系のノードが使えるのは当たり前かと思いますが、ハイパバイザーとしてKVMが使われているため、qemu形式の仮想マシンファイルを読み込むことができます。その仕組みにより、Cisco以外の仮想アプライアンスも問題なく動かすこともできます。

なお、当社の社内で社員向けにサービスとして提供しているCMLでは、Juniper/Arsita/Extremeといった主要ネットワークベンダの仮想アプライアンスをテンプレートとして予め取り込んでおり、利用者が最初からマルチベンダのトポロジを組めるようにしています。

理由3:サーバノードが最初から使える

ネットワーク機器でトポロジを組んだ後は、実際にサーバノードを接続してEnd-to-Endのトラフィックを確認するという流れになりますが、サーバノードを1からインストールするのは面倒です。CMLではUbuntuAlipine linuxといったサーバノードもプリインストールされているため、ネットワークノードと同様にドラッグ&ドロップ操作で任意の場所にデプロイすることができます。つまり、やろうと思えばCML上に疑似的なデータセンタやクライアントサーバシステムを作り上げることもできてしまいます。

CMLにプリインストールされているサーバノード

Linux

Description

Alpine Linux

Console-based Alpine Linux

Desktop

Desktop Alpine Linux image that provides a graphical, Xfce interface

Tiny Core Linux

Tiny Core Linux server image

Ubuntu 18.04

Full-featured Ubuntu server image using cloud-init YAML configuration

CoreOS

Linux container-focused OS using cloud-init YAML configuration

理由4:トラフィックジェネレータが最初から使える

正常性確認や冗長試験を行うために、単純なpingだけでは心許ないので、あらゆるパターンの試験パケットを流す必要があります。CMLではTREXというソフトウェアトラフィックジェネレータがプリインストールされているため、外部のトラフィックジェネレータを用いることなく、CML上で検証を完結させることが可能です。

CMLにプリインストールされているNWツール

NW Tools

Description

TRex

Linux-based image with Cisco's packet generator

WAN Emulator

Linux-based image that provides WAN-like delay, jitter, and loss effects to links

理由5:インタフェースがとっつきやすい

CMLではHTML5によるブラウザからのGUI操作となっているため、クライアントアプリは不要です。

シンプルなアイコン、シックな色合いで、無駄を省いた洗練されたデザインとなっています。

CMLVIRLの後継に位置付けられますが、VIRLと比べると格段にインタフェースが分かりやすくなっており、直感的に操作ができるようになりました。

以上、5つのおすすめ理由について紹介しましたが、他にも色々な機能がありますので詳しくは公式サイトをご確認ください。

まとめ

ネットワークシュミレータは、手軽にアクセスできる自分だけの仮想ラボを作ることができるため大変おすすめです。特に、Cisco Modeling Labsはデフォルトで使える仮想アプライアンスが充実しており、操作も分かりやすいため、ネットワークシミュレータに触れたことがない方でも簡単に操作できるかと思います。

次回、ネットワーク検証をバーチャルに② ~仮想版データセンタースイッチの使いどころ~ では仮想アプライアンスとしての仮想スイッチについて考察してみたいと思います。

※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。

RECOMMEND