ネットワークエンジニアのアレ

技術情報メインの備忘系ブログです

ネットワーク負荷テストツール「Ostinato」を調べてみた

ネットワークの負荷テストといえば「Perf」が有名で、ネットワークエンジニアの皆さんも馴染みがあると思います。
自分もネットワークエンジニア時代にお世話になりました。

iperf.fr

 

最近、有償負荷テストツールの「Ostinato」を見つけたので、概要を中心にご紹介したいと思います。
有償なので実際には試せてません^^;

Ostinatoとは?

前述の通り負荷テストツールです。

ostinato.org

2010年にリリースされているので、10年の歴史はあるみたいです。
自分が現役の時にもリリースされてましたが知らなかった。

アーキテクチャ

ControllerAgentで構成されます。
実際にパケットを生成・送受信するのがAgentで、操作をするのがControllerです。

引用:https://userguide.ostinato.org/Architecture.html

引用元:https://userguide.ostinato.org/Architecture.html

デフォルトでは、ControllerとAgentは同じ端末で動作します。
※プログラム(バイナリ)はControllerとAgentで別々

引用元:https://userguide.ostinato.org/Architecture.html

引用元: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アドレスが存在するイメージ。

引用元:https://srivatsp.com/ostinato/ostinato-device-emulation/

機能

利用できるプロトコルは豊富。

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)

引用元:https://ostinato.org/features

userguide.ostinato.org

以下の画像をみるとわかりますが、かなり詳細に設定できます。
公式サイト掲載のスクリーンショットを引用

 

ostinato_setting
ostinato_setting
ostinato_setting
ostinato_setting

引用元:https://ostinato.org/

パフォーマンス

負荷テストツールなので、パフォーマンスがどらくらい出るかは気になるところ。
公式の値はこちらです。

f:id:naitwo2:20210918135223p:plain

引用元:https://ostinato.org/docs/faq#q-what-is-the-maximum-transmit-rate-that-ostinato-supports

Ostinato列が標準的なパフォーマンスで、Turbo10G・25G・40G 列はアドオン購入時のパフォーマンスです。
標準パフォーマンスで8.9Gbpsでるのか、すごい。(1518バイトのパケットサイズ)
もちろん、メモリやCPUのスペックに依存するみたいです。

Turboの動作要件はこちらに掲載されています。

userguide.ostinato.org

 

プラットフォーム

対応しているプラットフォームも豊富。これだけ対応していれば困らない。

Windows
MacOS
Linux (many distros )
Raspberry Pi
✔︎ Live ISO
✔ Virtual Appliance (VNF)

ネットワークエミュレータEVE-NGGNS3にも対応しているのがユニーク。

価格

いろいろなプランがあるようです。
どのプラットフォームでも使えるSuper Bundle、PC系のみのDesktop Bundle、単一のプラットフォームを選択するSingleの計3種類。

Super BundleとDesktop Bundleは年間ライセンスで、Singleは買い切りのように見えます。

Ostinato-price

 

機能を追加するAdd-onは2種類あります。
Python APIはネットワーク全体の自動化をしている会社には欲しい機能ですね。
APIガイドはこちらで公開されていますが、細かなことまでできそうです。

Ostinato-add-on-price

ostinato.org

おわりに

実際に利用できていないのでドキュメント読んだ感じにはなりますが、良さそうです。

ドキュメントも整備されていて(英語)、調べれば操作に困らないと思います。

パケットの内容を変更するなど細かな設定ができるので、どんな案件でも対応できそう。
設定が多いと利用するハードルは上がると思うので、シンプルに負荷をかけたい人はiPerfでも良いかもしれません。

 

<---PR--->

最後に少しだけPR。

ネットワークやファイアウォールテストを自動化する「NEEDLEWORK」を開発・販売しています。
負荷テストもGUIからシンプル操作で行えます。
DSCP、ToSのマーキングも可能なので、優先制御(QoS)のテストにもご利用いただけます。
ネットワーク機器と直接接続されていないIPアドレスも生成可能です。

 

www.ap-com.co.jp

 

www.youtube.com