ネットワーク負荷テストツール「Ostinato」を調べてみた
ネットワークの負荷テストといえば「Perf」が有名で、ネットワークエンジニアの皆さんも馴染みがあると思います。
自分もネットワークエンジニア時代にお世話になりました。
最近、有償負荷テストツールの「Ostinato」を見つけたので、概要を中心にご紹介したいと思います。
有償なので実際には試せてません^^;
Ostinatoとは?
前述の通り負荷テストツールです。
2010年にリリースされているので、10年の歴史はあるみたいです。
自分が現役の時にもリリースされてましたが知らなかった。
アーキテクチャ
ControllerとAgentで構成されます。
実際にパケットを生成・送受信するのがAgentで、操作をするのがControllerです。
引用元:https://userguide.ostinato.org/Architecture.html
デフォルトでは、ControllerとAgentは同じ端末で動作します。
※プログラム(バイナリ)はControllerとAgentで別々
引用元:https://userguide.ostinato.org/Architecture.html
利用イメージ
Ostinatoを利用する流れとしては以下。
1.利用するポート(インターフェース)を選択
2.送信するストリームを設定
・利用するプロトコル
・送信元MACアドレス、宛先MACアドレス
・送信元IPアドレス、宛先IPアドレス
3.テスト実行
以下の構成図の下側のオブジェクトがOstinatoです。
Ostinato内部に100.1.1.11 - 20、200.1.1.11 - 20のIPアドレスが存在するイメージ。
機能
利用できるプロトコルは豊富。
・Ethernet/802.3/LLC SNAP
・Unicast, multicast, broadcast traffic
・VLAN (with QinQ)
・ARP, IPv4, IPv6, IP-in-IP a.k.a IP Tunnelling (6over4, 4over6, 4over4, 6over6)
・TCP (stateless), UDP, ICMPv4, ICMPv6, IGMP, MLD
・Any text based protocol - HTTP, SIP, RTSP, NNTP etc. (underlying transport will be stateless however)
以下の画像をみるとわかりますが、かなり詳細に設定できます。
※公式サイト掲載のスクリーンショットを引用
パフォーマンス
負荷テストツールなので、パフォーマンスがどらくらい出るかは気になるところ。
公式の値はこちらです。
Ostinato列が標準的なパフォーマンスで、Turbo10G・25G・40G 列はアドオン購入時のパフォーマンスです。
標準パフォーマンスで8.9Gbpsでるのか、すごい。(1518バイトのパケットサイズ)
もちろん、メモリやCPUのスペックに依存するみたいです。
Turboの動作要件はこちらに掲載されています。
プラットフォーム
対応しているプラットフォームも豊富。これだけ対応していれば困らない。
✔ Windows
✔ MacOS
✔ Linux (many distros )
✔ Raspberry Pi
✔︎ Live ISO
✔ Virtual Appliance (VNF)
ネットワークエミュレータのEVE-NGとGNS3にも対応しているのがユニーク。
価格
いろいろなプランがあるようです。
どのプラットフォームでも使えるSuper Bundle、PC系のみのDesktop Bundle、単一のプラットフォームを選択するSingleの計3種類。
Super BundleとDesktop Bundleは年間ライセンスで、Singleは買い切りのように見えます。
機能を追加するAdd-onは2種類あります。
Python APIはネットワーク全体の自動化をしている会社には欲しい機能ですね。
APIガイドはこちらで公開されていますが、細かなことまでできそうです。
おわりに
実際に利用できていないのでドキュメント読んだ感じにはなりますが、良さそうです。
ドキュメントも整備されていて(英語)、調べれば操作に困らないと思います。
パケットの内容を変更するなど細かな設定ができるので、どんな案件でも対応できそう。
設定が多いと利用するハードルは上がると思うので、シンプルに負荷をかけたい人はiPerfでも良いかもしれません。
<---PR--->
最後に少しだけPR。
ネットワークやファイアウォールのテストを自動化する「NEEDLEWORK」を開発・販売しています。
負荷テストもGUIからシンプル操作で行えます。
DSCP、ToSのマーキングも可能なので、優先制御(QoS)のテストにもご利用いただけます。
ネットワーク機器と直接接続されていないIPアドレスも生成可能です。