北信越地区

教育システム情報学会 2014年度学生研究発表会

SDN 学習支援システムの開発
Development of a SDN Learning Support System
川西	  朝子*1，	  遠西	  学*2，	  中村	  直人*1
Asako KAWANISHI*1，	  Manabu TONISHI*2，	  Naoto NAKAMURA*1*1 千葉工業大学大学院情報科学研究科*1Graduate School of Information and Computer Science, Chiba Institute of Technology*2 目白大学社会学部メディア表現学科*2Department of Media Presentation, Faculty of Studies on Contemporary Society, Mejiro University
Email: kawanishi12@nao.net.it-chiba.ac.jp
あらまし：次世代のネットワーク制御には SDN(Software Defined Networking)を用いることが期待されている．SDN では，これまでのネットワークとは異なり，柔軟なネットワーク制御をプログラムで行うことが必要となる．そこで，本論文では，仮想化したネットワーク環境上でトラフィックの監視など
SDN プログラムの動作検証を行う環境について提案する．	 
キーワード：SDN，学習支援システム，ネットワーク管理者教育，仮想技術	 

1.

れらの利点を生かして学習用ネットワークの構築にSDN を用いている．

はじめにネットワーク制御を行なう新しい技術として
SDN(Software Defined Networking)がある．SDN は，ソフトウェアでネットワークの制御を行なう技術である．2008 年に Open Networking Foundation(1)により，SDN のオープンな標準仕様となる OpenFlow が開発された．OpenFlow を用いた様々な開発フレームワー
クされることにより，SDN は普及しつつある．SDN
ネットワーク管理には，プログラミングや従来のネットワークとは大きく異なった制御方法を用いている．したがって，今後のネットワーク管理には，従来のネットワークに関する知識だけでなく SDN について理解する必要がある．また，著者らは SDN を用いたレガシーネットワークの管理学習を支援するシステムを開発した(2)．この研究で構築した基盤と実装機能を基に，本研究では SDN の学習支援システ
ムの開発を行なった．本論文では，システム開発とその動作検証の結果を報告する．

2.

3.

システム開発本システムの構成を図 1 に示す．本システムは，VMware ESXi を用いた仮想化環境上の学習者用仮想マシンと学習用ネットワークを構成する仮想マシン群によって構成されている．学習者用仮想マシンには OpenFlow の開発フレームワークである POX がインストールされている．学習用ネットワークを構成する仮想マシン群を OpenFlow スイッチとして動作させるために，仮想ソフトフェアスイッチの OpenvSwitch を用いている．

SDN の概要

SDN とは，ネットワークをソフトウェアで制御する技術である． SDN のオープンな標準仕様である
OpenFlow では，パケットの経路制御と転送機能をOpenFlow コントローラと OpenFlow スイッチで分離して行う．一般的に，経路制御を行うためのソフトウェアは OpenFlow の開発フレームワークを用いて作成し，実行する．そして，ソフトウェアの定義通りに OpenFlow スイッチがパケットの処理を行なう．
このように，OpenFlow コントローラは OpenFlow ス
イッチを一元管理することが可能である．
このように OpenFlow の主な特長はプログラマブ
ル・柔軟性の 2 点である．SDN の利点を生かすことでネットワークの構成を大きく変化させることや，レガシーネットワークで用いる機器の動作を再現することなどが実現可能である．本システムでは，こ	  	 図 1 システム構成図
SDN の学習には，OpenFlow の開発フレームワー
クを用いてプログラミングを行う環境と，作成したプログラムの動作検証を行うネットワーク環境が必要である．そこで本システムでは，学習者用仮想マ
シンに学習者が動作検証等を行なう仮想ネットワー
クを構築するための GUI とネットワークテンプレートを実装した．
学習者用 GUI の画面を図 2 に示す．学習者は，ネットワークテンプレート選択画面で動作検証を行うネットワークを選択する．ネットワークテンプレー

31

教育システム情報学会 2014年度学生研究発表会

北信越地区

ト詳細画面では，各 OpenFlow スイッチの設定を行う．OpenFlow スイッチが再現するネットワーク機器の種類やオプションで実行する機能を選択する．学習者が作成したプログラムの動作検証を行う場合は，各 OpenFlow スイッチの設定画面でファイルをアップロードすることで実行可能である．

習用ネットワークの OpenFlow スイッチやホスト同士の通信確認による詳細な動作検証を行なう．
表 1 本システムで行う学習内容
種類
SDN の特長を理解する学習
SDN によるネットワーク全体の管理学習

演習内容
ネットワーク機能を再現するプログラムの作成
プログラムの動作検証
ネットワークテンプレートの動作検証
QoS
トラブルシューティング

図 2 学習者用 GUI
本システムにおけるネットワークテンプレートとは，学習者が SDN プログラムの動作検証を行うために用いる仮想ネットワークのひな形である．ネットワークテンプレートは，学習用ネットワークの物理構成定義ファイルと OpenFlow スイッチの動作プログラムによって構成されている．
学習用ネットワークの物理構成定義ファイルでは，仮想マシンの数・種類・配線を定義する．OpenFlow
スイッチの動作プログラムでは，学習用ネットワー
クを構成する OpenFlow スイッチに再現させるネッ
トワーク機器の種類やその機器の MAC アドレス・IP アドレス等を指定する．
本システムの学習用ネットワークは全て仮想マシンで構成されているため，ネットワーク構成を変更する場合は各機器に対して設定作業が必要になる．
そこで，ネットワークテンプレートを実装することによりネットワーク構成の変更に伴う学習者の負担を軽減している．ネットワークテンプレートの設定内容は，動作検証の環境に合わせて学習者が GUI 上で変更することが可能である．

4.

学習フロー

本システムで行う学習を表 1 に示す．学習者は，OpenFlow の動作や開発フレームワークを用いたプログラムミング関する知識を習得する．また，SDNによるネットワーク全体の管理について演習を行なう．本論文では，学習者による SDN プログラムの作成と動作検証に重点をおいた．
本システムの学習フローを図 3 に示す．学習者は学習者用仮想マシンにアクセスして演習を行なう．
学習者が SDN プログラムの動作検証等をする場合，学習者用仮想マシンに実装された GUI を用いてネットワークテンプレートを実行する．プログラムの実行結果を GUI で確認し，改善を行なう．また，学図 3 学習フロー

5.

動作検証

学習者用 GUI からネットワークテンプレートを実行することにより，次の 2 点について動作検証を行なった．第一に，ネットワークトポロジの構築である．第二に，OpenFlow スイッチによるネットワーク機能の再現である．また，ネットワークテンプレートに変更を加えたうえで動作検証を行なった．これらの結果から，本システムで学習者が SDN プログラムの開発と動作検証が可能であることを示した．

6.

おわりに

本研究では，SDN の学習支援システムの開発を行なった．本システムでは，学習用ネットワークの構築に SDN を用いることで，学習者が様々なネットワーク構成で演習することを可能にした．そして動作検証を行なった結果，SDN プログラミングとその動作検証が可能であることを示した．したがって，本システムが SDN の学習支援システムとしての機能を備えていることが示された．
今度の展望は，開発環境としての機能を実装することで SDN の統合開発環境として更に有用なシステムにすることである．
参考文献(1) Open Networking Foundation，
https://www.opennetworking.org/ja/．

(2) 川西朝子，遠西学，中村直人：“SDN を用いたネットワーク管理学習システムの開発”，電子情報通信学会
技術研究報告，Vol.113，No.113，pp.65-70 (2013)32