SDN(Software-Defined Networking)をはじめとするオープンなネットワーク技術をテーマにしたイベント「Okinawa Open Days 2016」が、2016年12月5日から8日にかけて沖縄県那覇市で開催され、多くのネットワーク技術者が集結した。前半の2日間でハンズオンやプログラムコンテストなど、後半の2日間で講演が行われた。
3日目には多数の講演に先立ち、このイベントを主催する沖縄オープンラボラトリの代表理事である伊藤 幸夫氏が挨拶。SDNをはじめとするSDx技術の検証、実用化、普及に貢献していくという方向性を示した。2日目に行われたプログラムコンテストの表彰式も開催され、7チームに賞が授与された。グランプリを受賞した沖縄工業高等専門学校のチームは、独自に開発したネットワーク検疫システムをプレゼンした。
シナリオに沿って自動テスト
このイベントで筆者が注目したのが、SDNの中心的な技術であるOpenFlowを利用してネットワークのテストを自動化する「NetTester」というツール(図1)。SDNを利用することで具体的なメリットを得られる好例だからだ。同ツールの開発に参加しているTISの村木 暢哉氏と新日鉄住金ソリューションズの萩原 学氏が、沖縄オープンラボラトリの取り組みの一環として発表した。
従来は、ネットワークをテストするには現地で手作業で動作を確認する必要があった。実施には複数の人員が必要で、数日から1週間程度かかることもあった。
NetTesterの目的は、こうしたテストを自動化することだ。テスト対象のネットワークにOpenFlowスイッチを設置し、NetTesterをインストールしたLinuxサーバーから制御する。Rubyによる開発でよく使われるテストツール「Cucumber」と組み合わせることで、シナリオベースのテストを実施できる。
NetTesterの機能は主に二つ。テスト用の仮想ホストの生成と、仮想ホストを接続した仮想ポートとOpenFlowスイッチの実ポートのつなぎ込みだ。これにより、OpenFlowスイッチに接続した経路を遮断して擬似的な障害を起こし、ネットワークの振る舞いを確認するといったことが可能になる。