(57)【要約】【課題】パケットが複数のスイッチを想定された順序で経由しているかを判定する。【解決手段】制御装置は、パケットを入出力するポートを有する複数のパケット転送装置を制御し、設定部、通信部、判定部を備える。設定部は、転送状況の判定対象とする領域の始点ポートから領域の終点ポートに向けて、領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定する。さらに、設定部は、終点ポートに到達したテストパケットを制御装置に転送させる設定を行う。通信部は、始点ポートにテストパケットを送信する。判定部は、テストパケットの送信後に通信部がテストパケットを受信すると、領域での転送処理が正常に行われていると判定する。【選択図】図２
2018006792.tif 000002
【特許請求の範囲】
【請求項１】
パケットを入出力するポートを有する複数のパケット転送装置を制御する制御装置であって、
転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定するとともに、前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行う設定部と、
前記始点ポートに前記テストパケットを送信する通信部と、
前記テストパケットの送信後に前記通信部が前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する判定部
を備えることを特徴とする制御装置。
【請求項２】
転送処理が正常に行われているかを判定する対象経路のうち、前記転送経路を前記フィルタの設定によって１通りに限定可能な区間を第１の領域として設定するとともに、前記第１の領域に対する前記フィルタの設定を前記設定部に要求するテスト制御部をさらに備え、
前記判定部が前記第１の領域での転送処理が正常に行われていると判定すると、前記テスト制御部は、前記第１の領域と、前記対象経路のうちで前記第１の領域から出力されたテストパケットが転送される経路を１通りに限定可能な区間とを含む第２の領域を、前記テストパケットを用いた新たなテストの対象に設定する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記判定部が前記第２の領域での転送処理が正常に行われていないと判定すると、前記第２の領域から前記第１の領域を除いたときに得られる区間を、障害が発生している可能性のある区間として特定する特定部をさらに備える
ことを特徴とする請求項２に記載の制御装置。
【請求項４】
パケットを入出力するポートを有する複数のパケット転送装置を制御する制御装置が、
転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定し、
前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行い、
前記始点ポートに前記テストパケットを送信し、
前記テストパケットの送信後に前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する
処理を行うことを特徴とするテスト方法。
【請求項５】
パケットを入出力するポートを有する複数のパケット転送装置を制御する制御装置に、
転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定し、
前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行い、
前記始点ポートに前記テストパケットを送信し、
前記テストパケットの送信後に前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する
処理を行わせることを特徴とするテストプログラム。
【請求項６】
パケットを入出力するポートを有する複数のパケット転送装置と、
前記複数のパケット転送装置を制御する制御装置
を備え、
前記制御装置が、
転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定し、
前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行い、
前記始点ポートに前記テストパケットを送信し、
前記テストパケットの送信後に前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する
ことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置を用いて行われる通信システムのテスト方法に関する。
【背景技術】
【０００２】
ネットワークが正常に動作しているかを判定するために、ネットワーク中の装置間でテストパケットを送受信させることにより、判定の対象となる領域での疎通確認が行われることがある。
【０００３】
図１は、疎通確認の例を説明する図である。図１のケースＣ１に示すネットワークは、複数のスイッチ（ＳＷ０〜ＳＷ６）、通信装置１０ａ、通信装置１０ｂ、処理装置５ａ、処理装置５ｂを含む。通信装置１０は、パケットを送受信する装置であり、処理装置５は受信したパケットを処理する装置であるとする。ケースＣ１では、スイッチＳＷ０にスイッチＳＷ１〜ＳＷ６が接続されている。通信装置１０ａはスイッチＳＷ１に接続されており、通信装置１０ｂはスイッチＳＷ６に接続されている。さらに、処理装置５ａはスイッチＳＷ２とスイッチＳＷ３に接続されており、処理装置５ｂはスイッチＳＷ４とスイッチＳＷ５に接続されている。また、あるスイッチが他のスイッチや装置との接続に使用するポートの番号は、図１のひし形の中に示す通りであるとする。さらに、スイッチＳＷ０では、矢印で示す転送処理が行われることが想定されているとする。例えば、スイッチＳＷ０では、ポート３から入力されたパケットをポート４に出力することが想定されている。同様に、スイッチＳＷ０では、ポート９から入力されたパケットをポート１０に出力し、ポート１５から入力されたパケットをポート１６に出力することが想定されている。
【０００４】
スイッチＳＷ１からスイッチＳＷ２までの経路の疎通を確認する際に、テスト制御装置２は、スイッチＳＷ２にテスト用の仮想ポート（ｐｏｒｔ  ｔｅｓｔ、ＰＴ）を設定する。その後、テスト制御装置２は、スイッチＳＷ１のポート１にテストパケットＰ１を出力し、テストポートからテストパケットＰ１を受信できるかを判定する。ここで、テスト制御装置２がテストパケットＰ１をテストポート経由で受信できたとしても、スイッチＳＷ１からスイッチＳＷ２への疎通は確認できるが、テストパケットの転送経路は１通りには特定されない。すなわち、テストパケットは、ケースＣ１の矢印Ａに示す経路で転送されている可能性もあるが、他の経路で転送されている可能性もある。例えば、スイッチＳＷ１のポート１とスイッチＳＷ６のポート１８とに、テストパケットの出力を禁止するためのフィルタ（テストパケットフィルタ）が設定されているとする。この場合には、ケースＣ２の矢印Ｂに示す経路でテストパケットＰ１が転送されている可能性もある。すなわち、スイッチＳＷ１のポート１に入力されたテストパケットが、スイッチＳＷ０のポート３からポート１０に出力され、スイッチＳＷ４、処理装置５ｂ、スイッチＳＷ５、スイッチＳＷ０を介して、スイッチＳＷ２に出力される可能性がある。このため、パケットが複数のスイッチを想定された順序で経由しているかを確認することが要求される場合には、図１を参照しながら説明したように、疎通確認だけでは不十分である。例えば、ＳＤＮ（Software-Defined Networking）が適用されるネットワークの管理では、パケットの転送経路などを動的に制御するため、パケットが想定された順序で仮想スイッチ等を通過しているかを確認することが要求される場合もある。
【０００５】
関連する技術として、ネットワーク中に分散配置された試験装置を制御して、ユーザにより指定された処理を行う処理装置を経由するフローの疎通試験を行う試験制御装置が知られている。試験制御装置は、処理装置の上流側でフローが通過する第１通信装置に接続された第１試験装置から試験パケットを送信させる。さらに、試験制御装置は、処理装置の下流側でフローが通過する第２通信装置での試験パケットの受信状態を示す情報を取得する（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１５４２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
背景技術でも説明したように、パケットが複数のスイッチを想定された順序で経由しているかを確認することは困難である。テストパケットが想定された経路で転送されているかを確かめるために、テストパケットを用いた疎通確認と合わせて、ネットワーク中の各スイッチでトレースログを収集し、トレースログを解析することも考えられる。しかし、トレースログを用いたとしても、テストパケットがスイッチを通過した順序を特定可能な程度には、タイムスタンプの精度は高くない。このような問題は、パケットの送受信に使用されるスイッチが物理スイッチの場合だけでなく、仮想スイッチである場合も同様に発生する。
【０００８】
本発明は、パケットが複数のスイッチを想定された順序で経由しているかを判定する方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
ある１つの態様にかかる制御装置は、パケットを入出力するポートを有する複数のパケット転送装置を制御し、設定部、通信部、判定部を備える。設定部は、転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定する。さらに、設定部は、前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行う。通信部は、前記始点ポートに前記テストパケットを送信する。判定部は、前記テストパケットの送信後に前記通信部が前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する。
【発明の効果】
【００１０】
パケットが複数のスイッチを想定された順序で経由しているかを判定できる。
【図面の簡単な説明】
【００１１】
【図１】疎通確認の例を説明する図である。
【図２】実施形態にかかる通信方法の例を説明する図である。
【図３】制御装置の構成の例を説明する図である。
【図４】制御装置のハードウェア構成の例を説明する図である。
【図５】物理ネットワークの例を説明する図である。
【図６】論理ネットワークと転送経路の例を説明する図である。
【図７】制御装置が保持する情報の例を説明する図である。
【図８】スイッチＳＷ１からスイッチＳＷ２への転送経路の確認処理の例を説明する図である。
【図９】テストパケットの例を説明する図である。
【図１０】スイッチＳＷ１からスイッチＳＷ４への転送経路の確認処理の例を説明する図である。
【図１１】スイッチＳＷ１からスイッチＳＷ６への転送経路の確認処理の例を説明する図である。
【図１２】ネットワークの設定処理の例を説明するフローチャートである。
【図１３】疎通確認テストの例を説明するフローチャートである。
【図１４】テスト結果の例を説明する図である。
【図１５】テスト用の設定を削除する処理の例を説明するフローチャートである。
【図１６】スイッチＳＷ６からスイッチＳＷ５への転送経路の確認処理の例を説明する図である。
【図１７】スイッチＳＷ６からスイッチＳＷ３への転送経路の確認処理の例を説明する図である。
【図１８】スイッチＳＷ６からスイッチＳＷ１への転送経路の確認処理の例を説明する図である。
【図１９】異常が発生しているネットワークの例を説明する図である。
【図２０】異常が発生している個所の特定処理の例を説明する図である。
【図２１】スイッチＳＷ１からスイッチＳＷ３への転送経路の確認処理の例を説明する図である。
【図２２】異常が発生している個所の特定処理の例を説明する図である。
【図２３】隣接するスイッチごとに疎通確認を行う場合の処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
図２は、実施形態にかかる通信方法の例を説明する図である。実施形態にかかる制御装置２０は、疎通を確認する領域の始点ポートから疎通を確認する領域の終点ポートに向けて、予測されている転送経路に沿ってテストパケットが転送されている場合に行われない入出力を禁止するフィルタを、各スイッチに設定する。ここで、「領域」は、パケットの転送経路として予想されている転送経路のうち、パケットが想定された経路で転送されているかを判定するテストの対象となっている区間である。
【００１３】
ケースＣ１１に示すネットワークでは、スイッチＳＷ０〜ＳＷ６、通信装置１０ａ、通信装置１０ｂ、処理装置５ａ、処理装置５ｂが図１のケースＣ１を参照しながら説明したネットワークと同様に接続されている。以下の説明では、処理装置５ａ、５ｂは、例えば、ファイアウォール、ＩＰＳ／ＩＤＳ（Intrusion Prevention System/Intrusion Detection System）、ＵＴＭ（Unified Threat Management）などである。
【００１４】
例えば、ケースＣ１１のネットワークにおいて、スイッチＳＷ１からスイッチＳＷ２までの領域で、テストパケットの転送経路を確認するとする。また、予測される転送経路では、スイッチＳＷ１のポート１から入力されたパケットは、スイッチＳＷ０のポート３に出力され、スイッチＳＷ０のポート４からスイッチＳＷ２に出力されるとする。この場合、テストパケットが想定されている転送経路に沿って転送されれば、スイッチＳＷ０が備えるポートのうち、ポート９、ポート１０、ポート１５、ポート１６のいずれでも、テストパケットは入力も出力も行われないことになる。すなわち、これらのポートは、想定される転送経路に含まれない。
【００１５】
そこで、制御装置２０は、スイッチＳＷ０のポート９、ポート１０、ポート１５、ポート１６の各々に対して、ケースＣ１２に示すように、テストパケットの入出力を禁止するフィルタを設定する。さらに、テストパケットが想定されている転送経路に沿って転送されれば、スイッチＳＷ０において、テストパケットはポート３から出力されることはなく、ポート４に入力されることもない。そこで、制御装置２０は、スイッチＳＷ０のポート３に対して、テストパケットの出力を禁止するフィルタを設定するとともに、ポート４に対して、テストパケットの入力を禁止するフィルタを設定する。さらに、ケースＣ１２に示すように、スイッチＳＷ１のポート１からのテストパケットの出力と、スイッチＳＷ６のポート１８からのテストパケットの出力を禁止するフィルタも設定されても良い。
【００１６】
このように設定処理を行った後で、制御装置２０は、スイッチＳＷ１のポート１にテストパケットを出力する（矢印Ａ１）。図２の例では、テストパケットは、スイッチＳＷ１のポート１から入力されると、スイッチＳＷ１のポート２から出力されることにより、スイッチＳＷ０のポート３に入力されたとする。スイッチＳＷ０は、ポート３へのテストパケットの入力はフィルタリングしないので、テストパケットを受信し、ポート４から出力する。なお、ポート４でもテストパケットの出力がフィルタリングされていないので、テストパケットは、スイッチＳＷ２のポート５に到達する（矢印Ａ２）。テストパケットは、ポート５からテストポート（ＴＰ）を介して、制御装置２０に向けて出力される（矢印Ａ３）。
【００１７】
一方、フィルタリングの対象となる方向に入出力されたテストパケットは、そのポートで破棄される。例えば、スイッチＳＷ０がテストパケットをポート３から出力しようとすると、テストパケット用のフィルタによって、テストパケットが廃棄される。同様のフィルタリングがフィルタ設定の行われている他のポートでも行われるので、転送経路に含まれていない装置からの回り込みによるテストパケットの疎通が防止される。
【００１８】
このため、制御装置２０は、矢印Ａ３に示すように、テストパケットを受信すると、スイッチＳＷ１からスイッチＳＷ２の間の経路が予測された転送経路（矢印Ａ２）に沿って転送されていると判定できる。
【００１９】
このように、実施形態にかかる方法では、疎通を確認する領域の始点ポートから終点ポートに向けて、予測されている転送経路に沿ってテストパケットが転送されている場合に行われない入出力が禁止される。このため、疎通確認とともに、テストパケットが予測された転送経路を介して転送されているかも判定することができる。なお、図２の例では、スイッチが物理スイッチであるか仮想スイッチであるかを区別していないが、実施形態にかかる方法は、経路中に含まれるスイッチが物理スイッチと仮想スイッチのいずれであっても良い。同様に、フィルタの設定対象となる各スイッチのポートは、物理ポートであっても仮想ポートであっても良い。
【００２０】
＜装置構成＞
図３は、制御装置２０の構成の例を説明する図である。制御装置２０は、ＳＤＮコントローラとして実現され得る。制御装置２０は、通信部２１、制御部３０、記憶部４０を備える。通信部２１は、送信部２２と受信部２３を有する。制御部３０は、テスト制御部３１、判定部３２、設定部３３、経路制御部３４を有し、オプションとして、故障個所特定部３５を有する。記憶部４０は、スイッチ設定テーブル４１、ポート設定テーブル４２、経路情報４３、フィルタテーブル４４、テスト結果４５、トポロジ情報４６を格納する。
【００２１】
スイッチ設定テーブル４１は、各スイッチでパケットが転送される場合のパケットの入力ポートと出力ポートを対応付けている。ポート設定テーブル４２は、異なる装置間でのパケットの１ホップでの転送先を特定している。すなわち、スイッチ設定テーブル４１とポート設定テーブル４２を合わせると、テストパケットの転送先として想定されている経路の情報が特定できる。なお、想定される経路は経路情報４３と一致する。スイッチ設定テーブル４１とポート設定テーブル４２の具体例は後述する。トポロジ情報４６は、ネットワーク中の装置間の接続の情報である。
【００２２】
送信部２２は、スイッチ等の他の装置にパケットを送信する。受信部２３は、スイッチ等の他の装置からパケットを送信する。テスト制御部３１は、複数の領域に分けて行われるテストを用いて、判定対象の経路の全領域にわたって判定が行われるように、判定部３２や設定部３３での処理を制御する。設定部３３は、適宜、スイッチ設定テーブル４１とポート設定テーブル４２を用いて、テストパケットに対するフィルタの設定を行う。設定部３３は、フィルタの設定内容を、フィルタテーブル４４として記憶部４０に格納する。経路制御部３４は、トポロジ情報４６を用いて、パケットの転送経路を求めることにより、経路情報４３を生成する。判定部３２は、テスト対象の領域での転送処理が正常に行われているかを判定し、得られた判定結果を、テスト結果４５として格納する。
【００２３】
故障個所特定部３５は、疎通判定の結果、ネットワーク中に障害が発生していると判定された場合に、障害が発生している個所を特定するための処理を行う。故障個所特定部３５は、障害の発生している個所を特定すると、障害の発生している個所の情報を含む解析結果を生成し、オペレータが認識可能になるように出力する。
【００２４】
図４は、制御装置２０のハードウェア構成の例を説明する図である。制御装置２０は、プロセッサ１０１、メモリ１０２、バス１０３、回線インタフェース１０４を備える。プロセッサ１０１は、任意の処理回路であり、Central Processing Unit（ＣＰＵ）であってもよい。メモリ１０２は、ＲＡＭ（Random Access Memory）とＲＯＭ（Read Only Memory）を含む。プロセッサ１０１は、メモリ１０２に記憶されたプログラムを実行することができる。バス１０３は、プロセッサ１０１、メモリ１０２、ネットワークインタフェース１０４を、相互にデータの送受信が可能になるように接続する。ネットワークインタフェース１０４は、ネットワーク中の他の装置との情報の入出力を行う。ネットワークインタフェース１０４は、例えば、ＮＩＣ（Network Interface Card）として実現される。制御装置２０において、プロセッサ１０１は、制御部３０として動作する。メモリ１０２は、記憶部４０として動作する。ネットワークインタフェース１０４は、通信部２１を実現する。
【００２５】
オプションとして、制御装置２０は、入力装置、出力装置、可搬記憶媒体駆動装置の１つ以上を有していても良い。入力装置は、キーボードなど、情報の入力に使用される任意の装置であり、出力装置は、ディスプレイなど、データの出力に使用される任意の装置である。可搬記憶媒体駆動装置は、メモリ１０２中のデータを可搬記憶媒体に出力することができ、また、可搬記憶媒体からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体は、持ち運びが可能な任意の記憶媒体である。
【００２６】
＜第１の実施形態＞
以下、第１の実施形態で行われる処理の例を、ネットワークの例と想定されている転送経路の説明、疎通確認のためのテスト、テスト結果の評価、終了処理に分けて説明する。
【００２７】
（１）ネットワークの例と想定されている転送経路の説明
図５は、第１の実施形態が適用可能な物理ネットワークの例を説明する図である。図５に示す物理ネットワークは、制御装置２０、物理スイッチ５０（５０ａ〜５０ｃ）、通信装置１０（１０ａ、１０ｂ）、処理装置５（５ａ、５ｂ）を含む。制御装置２０は、ＮＩＣを介して、物理スイッチ５０ａ〜５０ｃの各々に接続されている。このとき、物理スイッチ５０ａ〜５０ｃは、コントロールプレーン用の物理ポート（ｍｇｍｔ  Ｐｏｒｔ）を介して、制御装置２０に接続されている。物理スイッチ５０ｂは物理スイッチ５０ａと接続されており、物理スイッチ５０ｃも物理スイッチ５０ａに接続されている。物理スイッチ５０ａの物理ポート１は、物理スイッチ５０ｂの物理ポート３に接続されている。物理スイッチ５０ａの物理ポート２は、物理スイッチ５０ｃの物理ポート４に接続されている。
【００２８】
さらに、物理スイッチ５０ｂは、物理ポート５を介して通信装置１０ｂに接続されている。また、物理スイッチ５０ｂは、物理ポート６を介して処理装置５ａ、物理ポート１０を介して処理装置５ｂに接続されている。一方、物理スイッチ５０ｃは、物理ポート８を介して通信装置１０ａに接続されている。また、物理スイッチ５０ｃは、物理ポート７を介して処理装置５ａ、物理ポート９を介して処理装置５ｂに接続されている。
【００２９】
図６は、論理ネットワークと転送経路の例を説明する図である。第１の実施形態では、図５の物理ネットワークを用いて、図６に示す論理ネットワークが実現されているとする。スイッチＳＷ０〜スイッチＳＷ６は、いずれも仮想スイッチである。なお、以下の記載では、仮想スイッチを単にスイッチと記載することがある。仮想スイッチの各々は、制御装置２０の制御対象であり、制御装置２０からの設定に応じた処理を行う。
【００３０】
第１の実施形態では、スイッチＳＷ０は、物理スイッチ５０ａによって実現されているとする。以下、スイッチＳＷ１、ＳＷ３、ＳＷ５は、物理スイッチ５０ｃによって実現され、スイッチＳＷ２、ＳＷ４、ＳＷ６は、物理スイッチ５０ｂによって実現されるとする。すると、物理ポート１は、論理ポート４、論理ポート１０、論理ポート１６として動作することになる。一方、物理ポート２は、論理ポート３、論理ポート９、論理ポート１５として動作することになる。同様に、物理スイッチ５０ｂの物理ポート３は、論理ポート５、論理ポート１１、論理ポート１７として動作する。物理スイッチ５０ｃの物理ポート４は、論理ポート２、論理ポート８、論理ポート１４として動作する。さらに、物理スイッチ５０ｃの物理ポート８は論理ポート１として動作し、物理ポート７は論理ポート７として動作する。物理スイッチ５０ｃの物理ポート９は、論理ポート１３として動作する。物理スイッチ５０ｂの物理ポート５は論理ポート１８として動作し、物理ポート６は論理ポート６として動作する。物理スイッチ５０ｂの物理ポート１０は、論理ポート１２として動作する。以下の説明では、論理ポートのことを単に「ポート」と記載することがある。
【００３１】
以下、スイッチＳＷ０がフロースイッチとして動作し、スイッチＳＷ１〜ＳＷ６がファブリックスイッチとして動作する場合を例として説明する。フロースイッチは、ファブリックスイッチとして動作する仮想スイッチ間でのパケットの転送を行う。一方、ファブリックスイッチは、そのファブリックスイッチに接続されている通信装置１０や処理装置５と、フロースイッチとの間でのパケットの転送を行う。図６の例では、スイッチＳＷ０では、ポート３とポート４の間でのパケットの転送、ポート９とポート１０の間でのパケットの転送、および、ポート１５とポート１６の間でのパケットの転送が可能になるように設定されているとする。
【００３２】
さらに、図６のネットワークでは、通信装置１０ａから処理装置５ａ、処理装置５ｂを介して通信装置１０ｂに至る通信経路として、経路Ｒ１に示す経路が想定されているものとする。すなわち、制御装置２０の経路制御部３４が、トポロジ情報４６等を用いて経路計算を行った結果、通信装置１０ａから通信装置１０ｂ宛に送信されるパケットの転送経路Ｒ１が得られている。この場合、通信装置１０ａから通信装置１０ｂに至る経路については、経路Ｒ１が想定される経路になる。なお、処理装置５ａや処理装置５ｂはセキュリティ処理などのために含められている装置であるとする。処理装置５ａは、スイッチＳＷ２から受信したパケットをスイッチＳＷ３に転送することが予め決められているとする。同様に、処理装置５ｂについても、スイッチＳＷ４から受信したパケットをスイッチＳＷ５に転送することが予め決められているとする。
【００３３】
以下の説明では、経路制御部３４は、スイッチＳＷ０〜ＳＷ６の各々に対して、パケットの宛先や送信元に関わらず経路Ｒ１か経路Ｒ１の逆方向の経路のいずれかによる転送処理を、各スイッチに対して設定しているとする。例えば、制御装置２０から各スイッチに対して、Ｏｐｅｎｆｌｏｗによる設定が行われるとする。この場合、Ｍａｔｃｈ条件では、入力ポートは指定されるがアドレス情報は指定されない。すなわち、Ｍａｔｃｈ条件では、パケットの宛先ＩＰ（Internet Protocol）アドレス、送信元ＩＰアドレス、送信元ＭＡＣ（Media Access Control）アドレス、宛先ＭＡＣアドレスのいずれについてもワイルドカードが指定される。さらに、Ｍａｔｃｈ条件に対応するアクションとして、パケットの出力と出力ポートが指定される。例えば、スイッチＳＷ１に対して経路制御部３４が設定するパケットの処理ルールは、以下のようになる。
処理ルール１
Ｍａｔｃｈ条件１：入力ポート＝仮想ポート１
アクション      ：Ｍａｔｃｈ条件１に該当するパケットを仮想ポート２から出力
処理ルール２
Ｍａｔｃｈ条件２：入力ポート＝仮想ポート２
アクション      ：Ｍａｔｃｈ条件２に該当するパケットを仮想ポート１から出力
なお、経路Ｒ１の情報など、経路制御部３４で設定されている経路の情報は、適宜、経路情報４３として記憶部４０に格納される。
【００３４】
図７は、制御装置２０が保持する情報の例を説明する図である。経路制御部３４は、設定した経路に基づいて、スイッチ設定テーブル４１とポート設定テーブル４２を生成する。スイッチ設定テーブル４１は、ある転送経路が設定されているときに、各スイッチで行われることが想定されている転送処理と、そのスイッチがフロースイッチであるかを示す情報が含まれている。一方、ポート設定テーブル４２は、ある転送経路が設定されている場合にスイッチ間で想定される転送経路の設定状況を示す情報である。なお、図６を参照しながら説明したように、経路制御部３４は、パケットの宛先等を区別せずにパケットの入力ポートに基づいて出力ポートを決定する設定をしている。このため、スイッチ設定テーブル４１とポート設定テーブル４２の情報は、フィルタリングなどによる他の設定が行われない限り、パケットのアドレスがいずれであっても適用される。
【００３５】
図７中のスイッチ設定テーブル４１は、図を見やすくするため一部の情報を省略しているが、図６に示す経路が設定されている場合に得られる情報の例である。スイッチ設定テーブル４１中の各エントリには、ｓｒｃ  ｐｏｒｔ、仮想スイッチ、ｄｓｔ  ｐｏｒｔ、ｉｓＦｌｏｗＳＷフラグが含まれている。ｓｒｃ  ｐｏｒｔは、エントリ中の仮想スイッチに含まれている仮想ポートのうち、パケットが入力されるポートの情報である。ｄｓｔ  ｐｏｒｔは、エントリ中のｓｒｃ  ｐｏｒｔで特定されるポートから入力されたパケットが出力されると想定されているポートの情報である。ｉｓＦｌｏｗＳＷフラグは、エントリ中のスイッチがフロースイッチであるかを示す情報である。ｉｓＦｌｏｗＳＷフラグ＝ｆａｌｓｅの場合、エントリ中のスイッチはフロースイッチではない。一方、ｉｓＦｌｏｗＳＷフラグ＝ｔｒｕｅの場合、エントリ中のスイッチはフロースイッチである。
【００３６】
例えば、スイッチ設定テーブル４１の１番目のエントリでは、仮想スイッチＳＷ１の仮想ポート１に入力されたパケットの出力先は、仮想ポート２に設定されている。このため、設定どおりにスイッチＳＷ１が動作していれば、仮想スイッチＳＷ１の仮想ポート１に入力されたパケットは、仮想ポート２から出力される。また、仮想スイッチＳＷ１はフロースイッチとして動作しないので、ｉｓＦｌｏｗＳＷフラグ＝ｆａｌｓｅに設定されている。一方、２番目のエントリでは、仮想スイッチＳＷ０において、仮想ポート３から入力されたパケットを仮想ポート４に出力することが記録されている。このため、設定どおりにスイッチＳＷ２が動作していれば、仮想スイッチＳＷ２の仮想ポート３に入力されたパケットは、仮想ポート４から出力される。仮想スイッチＳＷ０はフロースイッチとして動作するので、２番目のエントリでは、ｉｓＦｌｏｗＳＷフラグ＝ｔｒｕｅに設定されている。
【００３７】
図７中のポート設定テーブル４２は、図を見やすくするため一部の情報を省略しているが、図６に示す経路が設定されている場合に得られるポート設定テーブル４２の例である。ポート設定テーブル４２中の各エントリには、ｓｒｃ装置、ｓｒｃ  ｐｏｒｔ、ｄｓｔ装置、ｄｓｔ  ｐｏｒｔが含まれている。ｓｒｃ装置は、転送経路でのパケットの転送元となる装置であり、ｓｒｃ  ｐｏｒｔは、転送元の装置がパケットの出力に使用するポートの識別情報である。ｄｓｔ装置は、転送経路でのパケットの転送先となる装置であり、ｄｓｔ  ｐｏｒｔは、転送先の装置がパケットの受信に使用するポートの識別情報である。従って、ｓｒｃ装置に指定されたスイッチ中のｓｒｃ  ｐｏｒｔから、ｄｓｔ装置に指定されたスイッチ中のｄｓｔ  ｐｏｒｔにパケットが入力される。
【００３８】
例えば、ポート設定テーブル４２の１番目のエントリには、通信装置１０ａのポートＸから、仮想スイッチＳＷ１の仮想ポート１にパケットが転送されることが記録されている。このため、設定どおりに転送処理が行われていれば、通信装置１０ａのポートＸから出力されたパケットは、仮想スイッチＳＷ１の仮想ポート１に到達する。同様に、２番目のエントリには、仮想スイッチＳＷ１の仮想ポート２から、仮想スイッチＳＷ０の仮想ポート３にパケットが転送されることが記録されている。このため、設定どおりに転送処理が行われていれば、仮想スイッチＳＷ１の仮想ポート２から出力されたパケットは、仮想スイッチＳＷ０の仮想ポート３に到達する。
【００３９】
（２）疎通確認のためのテスト
次に、図７中のスイッチ設定テーブル４１とポート設定テーブル４２に沿った設定が行われている状態で、疎通テストが行なわれる場合の処理の例を説明する。制御装置２０の受信部２３は、オペレータが操作する端末（図示せず）から、経路Ｒ１の疎通確認テストの要求を受信したとする。受信部２３は、疎通確認テストの要求をテスト制御部３１に出力する。
【００４０】
テスト制御部３１は、疎通確認テストが要求されている経路を特定すると、経路をフロースイッチへのフィルタリングによって、１通りに限定可能な領域を決定する。このとき、テスト制御部３１は、経路の始点となる通信装置１０からパケットを受信する受信ポートをテスト対象の領域の始点ポートとする。終点ポートは、設定どおりの処理が行われているかが未判定の転送処理がフロースイッチにおいて行われる回数が１回以下になるように設定される。このように終点ポートを設定することにより、フロースイッチにおいて想定されている転送処理が行われているかを判定しつつ、フロースイッチでのパケットの回りこみを防ぐことができる。
【００４１】
例えば、図６に示す経路Ｒ１がテスト対象の場合、テスト制御部３１は、テストの始点ポートをスイッチＳＷ１のポート１に設定する。フロースイッチとして動作しているスイッチＳＷ０での転送状況が設定どおりであるかはいずれも未確認であるので、テスト制御部３１は、スイッチＳＷ０のポート３からポート４への転送処理が設定どおりであるかを判定対象に含めることを決定する。このため、テスト制御部３１は、テスト領域の終点ポートをスイッチＳＷ２中のポート５に設定したとする。テスト制御部３１は、テスト対象の領域が、スイッチＳＷ１のポート０からスイッチＳＷ２のポート５であることを、設定部３３と判定部３２に通知する。
【００４２】
設定部３３は、パケットの疎通テストが行われる領域の情報を取得すると、スイッチ設定テーブル４１とポート設定テーブル４２を用いて、疎通テストの際に使用するフィルタを設定するポートと、各ポートでのフィルタリングの方向を決定する。このとき、設定部３３は、テスト対象の領域の始点ポートからテスト対象の領域の終点ポートに向けて、疎通確認の対象となっている転送経路に沿ってテストパケットが転送されている場合に行われない入出力を全て禁止することを決定する。設定部３３は、決定したフィルタリングの情報を、フィルタテーブル４４に記録する。フィルタテーブル４４には、テストパケット用のフィルタが設定される仮想ポートと、フィルタリングの行われる方向が記載されている。
【００４３】
図７のフィルタテーブル４４は、テスト対象の領域が、スイッチＳＷ１のポート０からスイッチＳＷ２のポート５である場合に設定されるフィルタの一部を示している。図８を参照しながら、フィルタテーブル４４を用いた設定処理について説明する。
【００４４】
図８は、スイッチＳＷ１からスイッチＳＷ２への転送経路の確認処理の例を説明する図である。図８の破線の矢印Ａ１１は、経路Ｒ１中のテスト対象の領域である。図８では、図７で生成されたフィルタテーブル４４に従ってフィルタが設定されているポートの左側に、テストパケットフィルタを表わす記号と、フィルタリングの対象となるテストパケットの転送方向の矢印を示している。例えば、スイッチＳＷ０では、ポート３からポート４へのテストパケットの転送以外は、テストパケットに関する全ての転送経路がフィルタリングによって無効化される。このため、スイッチＳＷ０では、ポート３からのテストパケットの出力に対するフィルタリングと、ポート４へのテストパケットの入力に対するフィルタリングが行われる。スイッチＳＷ０では、さらに、ポート９、ポート１０、ポート１５、ポート１６でのテストパケットの入出力もフィルタリングされる。また、通信装置１０ａ、通信装置１０ｂへのテストパケットの出力を防止するために、スイッチＳＷ１のポート１へのテストパケットの出力を禁止するフィルタと、スイッチＳＷ６のポート１８からのテストパケットの出力を禁止するフィルタも設定される。
【００４５】
さらに、設定部３３は、テストパケットが終点ポートに到達したときに、終点ポートからテストパケットを制御装置２０に転送させるためのテストポートも設定する。テストポートは、終点ポートと同じスイッチに設定される。図８の場合、終点ポートがポート５であるので、設定部３３は、ポート５を有するスイッチＳＷ２にテストポート（ＴＰ）を設置する。設定部３３は、終点ポートに対して、テストパケットをテストポートに転送することを設定する。終点ポートであるポート５からテストポートにテストパケットが転送される経路を矢印Ａ１２で示す。
【００４６】
ここで、設定部３３は、図８を参照しながら説明したテストパケットに対するフィルタリングやテストパケットの転送の設定は、テストパケット以外のパケットに対しては行われないように設定する。このため、各ポートでの入出力のフィルタリング等の設定の際にテストパケットのアドレス情報が使用される。
【００４７】
図９は、テストパケットの例を説明する図である。図９に示すテストパケットは、ＴＣＰ（Transmission Control Protocol）とＩＰｖ４（IP version 4）が用いられる場合の例である。テストパケットは、Ｅｔｈｅｒｎｅｔヘッダ、ＩＰヘッダ、ＴＣＰヘッダを含む。Ｅｔｈｅｒｎｅｔヘッダは、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、Ｅｔｈｅｒタイプを含む。Ｅｔｈｅｒタイプは、上位プロトコルの種類を示す値であり、図９の例では、ＩＰｖ４を指定する値（０ｘ０８００）が設定される。送信元ＭＡＣアドレスは、テストパケットの送信元の制御装置２０に割り当てられたＭＡＣアドレスである。宛先ＭＡＣアドレスとして、テストパケット用の固定値が設定される。ここで、テストパケット用のＭＡＣアドレスは、テストパケットの宛先となるテストポートに割り当てられたＭＡＣアドレスとして使用される。ここで、テストパケット用のＭＡＣアドレスは、テストポートに設定される仮想ＭＡＣアドレスであっても良い。各スイッチや制御装置２０は、宛先ＭＡＣアドレスを用いてテストパケットを識別するものとする。
【００４８】
ＩＰヘッダには、送信元ＩＰアドレスと宛先ＩＰアドレスが設定される。宛先ＩＰアドレスはテストポートに割り当てられたＩＰアドレスである。送信元ＩＰアドレスは、テストパケットの送信用に制御装置２０が使用しているＩＰアドレスである。ＴＣＰヘッダは、送信元ポート番号、宛先ポート番号、ＴＣＰペイロードを含む。送信元ポート番号と宛先ポート番号は、各々に対して、予め設定された任意の固定値が用いられる。ＴＣＰペイロードは、４バイト以上の長さのデータが含められるが、実装に応じて、パディングが使用されても良い。
【００４９】
各スイッチや制御装置２０は、宛先ＭＡＣアドレスを用いてテストパケットを識別することができるため、設定部３３は、宛先ＭＡＣアドレスの情報を用いて、テストパケットのフィルタリングの設定を行う。例えば、テストパケット用のＭＡＣアドレスをＭＡＣｔｅｓｔとすると、設定部３３は、スイッチＳＷ０に対して、以下のような情報を設定できる。
処理ルール１
条件１    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポート＝仮想ポート３
アクション：条件１に該当するパケットを仮想ポート４から出力
処理ルール２
条件２    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポートが仮想ポート４、９、１０、１５、１６
アクション：条件２に該当するパケットを受信せずに廃棄
処理ルール３
条件３    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
出力ポートが仮想ポート３、９、１０、１５、１６
アクション：条件３に該当するパケットを送信せずに廃棄
【００５０】
テストポートに対する転送処理についても、同様に、テストパケットの宛先ＭＡＣアドレスの値を用いて設定される。例えば、設定部３３は、スイッチＳＷ２に対して、以下の設定を行うとする。
条件：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、入力ポート＝仮想ポート５
アクション：条件に該当するパケットをテストポートＴＰから出力
なお、テストポートＴＰは、制御装置２０に接続されているとする。ここで、処理ルールの具体例として、設定部３３からスイッチＳＷ０に設定される情報のうち、テストパケットに関する情報を記載しているが、テストパケット以外のパケットは、処理ルール１〜３の適用対象とならない。このため、疎通テスト中であっても、テストパケット以外のパケットは、図７のスイッチ設定テーブル４１やポート設定テーブル４２に設定された経路に従って転送される。
【００５１】
設定部３３は、以上の設定が終わるとテストパケット用のフィルタとテストポートの設定の終了を判定部３２に通知する。すると、判定部３２は、テストパケットを生成し、送信部２２を介して、始点ポートに転送する。図８の例では、テストパケットは、スイッチＳＷ１のポート１に入力される。なお、判定部３２は、テストパケットの送信時刻を記憶する。
【００５２】
スイッチＳＷ１での処理が設定どおりである場合、スイッチＳＷ１のポート１から入力されたパケットは、ポート２から出力される。スイッチＳＷ１のポート２から出力されたパケットは、スイッチＳＷ０のポート３に到達する。スイッチＳＷ０は、テストパケットのポート３からの入力をフィルタリングしていないので、テストパケットを受信して、ポート４に出力する。ポート４では、テストパケットの出力はフィルタリングされていない。このため、テストパケットは、ポート４から出力されて、スイッチＳＷ２のポート５に到達する。スイッチＳＷ２は、ポート５から入力されたテストパケットを、テストポートＴＰに出力する。このため、スイッチＳＷ１、スイッチＳＷ２での処理と、スイッチＳＷ０でのポート３とポート４の転送処理が設定どおりに行われていれば、テストパケットは、図８の矢印Ａ１１と矢印Ａ１２に示す転送経路により、テストポートＴＰに到達する。テストポートＴＰから出力されたパケットは、制御装置２０に転送される。従って、スイッチＳＷ１、スイッチＳＷ２での処理と、スイッチＳＷ０でのポート３とポート４の転送処理が設定どおりに行われていれば、制御装置２０は、テストパケットの送信後、テストパケットを受信できる。
【００５３】
制御装置２０の受信部２３は、テストパケットを受信すると、判定部３２に出力する。判定部３２は、テストパケットの送信から、所定の時間以内にテストパケットを受信できた場合、テスト対象となっている領域でのスイッチの処理は想定された経路どおりであると判定する。例えば、図８の例において、テストパケットの送信から所定の時間内にテストパケットを受信した場合、判定部３２は、スイッチＳＷ１、スイッチＳＷ２での処理と、スイッチＳＷ０でのポート３とポート４の転送処理が設定通りであると判定する。一方、図８の例において、テストパケットの送信から所定の時間内にテストパケットを受信しない場合、判定部３２は、スイッチＳＷ１、スイッチＳＷ２、スイッチＳＷ０でのポート３とポート４のいずれかでの処理が設定とは異なると判定する。判定部３２は、得られた判定結果をテスト結果４５として記録すると共に、判定結果をテスト制御部３１に通知する。
【００５４】
テスト制御部３１は、設定どおりに転送処理が行われていないことが通知されると、テストを終了し、送信部２２を介して、テスト結果をオペレータが操作する端末に送信する。テストの終了等の処理については後述する。
【００５５】
一方、設定どおりに転送処理が行われていることがテスト制御部３１に通知されると、テスト制御部３１は、次のテスト領域を設定する。このとき、テスト制御部３１は、設定どおりに転送が行われていると判定された領域を含み、設定どおりの処理が行われているかが未判定の転送処理がフロースイッチにおいて行われる回数が１回以下になるように、次のテスト領域を設定する。例えば、図８のテストで設定どおりの転送が行われていると判定された場合、フロースイッチとして動作しているスイッチＳＷ０でのポート９、１０、１５、１６での転送状況が設定どおりであるかは未判定である。そこで、テスト制御部３１は、スイッチＳＷ０のポート９からポート１０への転送処理が設定どおりであるかを判定対象に含めることを決定する。例えば、テスト制御部３１は、テスト領域の終点ポートをスイッチＳＷ４中のポート１１に設定したとする。テスト制御部３１は、テスト対象の領域が、スイッチＳＷ１のポート０からスイッチＳＷ４のポート１１であることを、設定部３３と判定部３２に通知する。
【００５６】
図１０は、スイッチＳＷ１からスイッチＳＷ４への転送経路の確認処理の例を説明する図である。設定部３３は、テスト制御部３１からパケットの疎通テストが行われる領域の情報を取得すると、スイッチＳＷ０のポート１からスイッチＳＷ２のポート５までのテストに使用したテストポートを削除し、テストポートをスイッチＳＷ４に設定する。このとき、設定部３３は、テストポートへの転送処理の設定（図８の矢印Ａ１２の設定）も削除することをスイッチＳＷ２に要求する。さらに、スイッチ設定テーブル４１、ポート設定テーブル４２、フィルタテーブル４４を用いて、スイッチＳＷ０のポート９からのテストパケットの入力とポート１０からのテストパケットの出力に対するフィルタを解除することを決定する。このため、各ポートでのフィルタリングの設定状況とテストポートの設定状況は、図１０に示す通りになる。従って、図１０に示す状態では、スイッチＳＷ０には以下の設定が行われている。
処理ルール１
条件１    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポート＝仮想ポート３
アクション：条件１に該当するパケットを仮想ポート４から出力
処理ルール２
条件２    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポート＝仮想ポート９
アクション：条件２に該当するパケットを仮想ポート１０から出力
処理ルール３
条件３    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポートが仮想ポート４、１０、１５、１６
アクション：条件３に該当するパケットを受信せずに廃棄
処理ルール４
条件４    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
出力ポートが仮想ポート３、９、１５、１６
アクション：条件４に該当するパケットを送信せずに廃棄
なお、スイッチＳＷ０に対するフィルタの変更に応じて、設定部３３は、フィルタテーブル４４を更新する。この場合も、テストパケット以外のパケットは、図７のスイッチ設定テーブル４１やポート設定テーブル４２に設定された経路に従って転送される。
【００５７】
図１０の破線の矢印Ａ２１は、経路Ｒ１中のテスト対象の領域である。設定部３３は、スイッチＳＷ４にテストポート（ＴＰ）を設置すると、終点ポートであるポート１１に対して、テストパケットをテストポートに転送することを設定する。例えば、設定部３３は、スイッチＳＷ４に対して、以下の設定を行うとする。
条件：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、入力ポート＝仮想ポート１１
アクション：条件に該当するパケットをテストポートＴＰから出力
ポート１１からテストポートにテストパケットが転送される経路を矢印Ａ２２で示す。
【００５８】
設定部３３は、以上の設定が終わるとテストパケット用のフィルタとテストポートの設定の終了を判定部３２に通知する。すると、判定部３２は、テストパケットを生成し、送信部２２を介して、テストパケットをスイッチＳＷ１のポート１に送信し、テストパケットの送信時刻を記憶する。
【００５９】
図１０でのテストの段階では、スイッチＳＷ１とスイッチＳＷ２での転送と、スイッチＳＷ０でのポート３とポート４の転送処理が想定される経路どおりであることが、図８でのテスト結果から得られている。このため、テストパケットは、スイッチＳＷ２のポート５までは到達する。
【００６０】
その後の経路でも設定どおりの処理が行われる場合、スイッチＳＷ２のポート５から入力されたパケットは、ポート６から出力される。スイッチＳＷ２のポート６から出力されたパケットは、処理装置５ａを介して、スイッチＳＷ３のポート７に到達する。スイッチＳＷ３のポート７から入力されたパケットは、ポート８から出力される。スイッチＳＷ３のポート８から出力されたパケットは、スイッチＳＷ０のポート９に到達する。スイッチＳＷ０は、テストパケットのポート９からの入力をフィルタリングしていないので、テストパケットを受信して、ポート１０に出力する。ポート１０では、テストパケットの出力はフィルタリングされていない。このため、テストパケットは、ポート１０から出力されて、スイッチＳＷ４のポート１１に到達する。
【００６１】
スイッチＳＷ４は、ポート１１から入力されたテストパケットを、テストポートＴＰに出力する。このため、スイッチＳＷ１〜ＳＷ４での処理と、スイッチＳＷ０でのポート３、ポート４、ポート９、ポート１０での処理が設定どおりである場合、テストパケットは、図１０の矢印Ａ２１と矢印Ａ２２に示す転送経路により、テストポートＴＰに到達する。テストポートＴＰから出力されたパケットは、制御装置２０に転送される。従って、スイッチＳＷ１〜ＳＷ４での処理と、スイッチＳＷ０でのポート３、ポート４、ポート９、ポート１０での処理が設定どおりに行われていれば、制御装置２０は、テストパケットの送信後、テストパケットを受信できる。
【００６２】
制御装置２０の受信部２３は、テストパケットを受信すると、判定部３２に出力する。判定部３２は、テストパケットの送信から、所定の時間以内にテストパケットを受信できた場合、スイッチＳＷ１〜ＳＷ４での処理と、スイッチＳＷ０でのポート３、ポート４、ポート９、ポート１０での処理が設定通りであると判定する。判定部３２は、得られた判定結果をテスト結果４５として記録すると共に、判定結果をテスト制御部３１に通知する。
【００６３】
テスト制御部３１は、設定どおりに転送処理が行われていることが通知されると、テスト済みの領域を含み、設定どおりの処理が行われているかが未判定の転送処理がフロースイッチにおいて行われる回数が１回以下になるように、次のテスト領域を設定する。例えば、図１０のテストで設定どおりの転送が行われていると判定された場合、フロースイッチとして動作しているスイッチＳＷ０でのポート１５、１６での転送状況が設定どおりであるかは未判定である。そこで、テスト制御部３１は、スイッチＳＷ０のポート１５からポート１６への転送処理が設定どおりであるかを判定対象に含めることを決定し、テスト領域の終点ポートをスイッチＳＷ６中のポート１７に設定したとする。テスト制御部３１は、新たなテスト対象の領域を、設定部３３と判定部３２に通知する。
【００６４】
図１１は、スイッチＳＷ１からスイッチＳＷ６への転送経路の確認処理の例を説明する図である。設定部３３は、テスト制御部３１からパケットの疎通テストが行われる領域の情報を取得すると、スイッチＳＷ０のポート１からスイッチＳＷ４のポート１１までのテストに使用したテストポートを削除し、テストポートをスイッチＳＷ６に設定する。このとき、設定部３３は、テストポートへの転送処理の設定（図１０の矢印Ａ２２の設定）も削除することをスイッチＳＷ４に要求する。さらに、スイッチ設定テーブル４１、ポート設定テーブル４２、フィルタテーブル４４を用いて、スイッチＳＷ０のポート１５からのテストパケットの入力とポート１６からのテストパケットの出力に対するフィルタを解除することを決定する。このため、各ポートでのフィルタリングの設定状況とテストポートの設定状況は、図１１に示す通りになる。図１１に示す状態では、スイッチＳＷ０には以下の設定が行われている。
処理ルール１
条件１    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポート＝仮想ポート３
アクション：条件１に該当するパケットを仮想ポート４から出力
処理ルール２
条件２    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポート＝仮想ポート９
アクション：条件２に該当するパケットを仮想ポート１０から出力
処理ルール３
条件３    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポート＝仮想ポート１５
アクション：条件３に該当するパケットを仮想ポート１６から出力
処理ルール４
条件４    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポートが仮想ポート４、１０、１６
アクション：条件４に該当するパケットを受信せずに廃棄
処理ルール５
条件５    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
出力ポートが仮想ポート３、９、１５
アクション：条件５に該当するパケットを送信せずに廃棄
なお、スイッチＳＷ０に対するフィルタの変更に応じて、設定部３３は、フィルタテーブル４４を更新する。
【００６５】
図１１の破線の矢印Ａ３１は、経路Ｒ１中のテスト対象の領域である。設定部３３は、スイッチＳＷ６にテストポート（ＴＰ）を設置すると、終点ポートであるポート１７に対して、テストパケットをテストポートに転送することを設定する。例えば、設定部３３は、スイッチＳＷ６に対して、以下の設定を行うとする。
条件：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、入力ポート＝仮想ポート１７
アクション：条件に該当するパケットをテストポートＴＰから出力
ポート１７からテストポートにテストパケットが転送される経路を矢印Ａ３２で示す。
【００６６】
図１１でのテストの段階では、スイッチＳＷ１〜ＳＷ４での転送と、スイッチＳＷ０でのポート３、ポート４、ポート９、ポート１０の転送処理が想定される経路どおりであることが、図８、図１０でのテスト結果から得られている。このため、テストパケットは、スイッチＳＷ４のポート１１までは到達する。
【００６７】
その後の経路でも設定どおりの処理が行われる場合、スイッチＳＷ４のポート１１から入力されたパケットは、ポート１２から出力される。スイッチＳＷ４のポート１２から出力されたパケットは、処理装置５ｂを介して、スイッチＳＷ５のポート１３に到達する。スイッチＳＷ５のポート１３から入力されたパケットは、ポート１４から出力される。スイッチＳＷ５のポート１４から出力されたパケットは、スイッチＳＷ０のポート１５に到達する。スイッチＳＷ０は、テストパケットのポート１５からの入力をフィルタリングしていないので、テストパケットを受信して、ポート１６に出力する。ポート１６では、テストパケットの出力はフィルタリングされていない。このため、テストパケットは、ポート１６から出力されて、スイッチＳＷ６のポート１７に到達する。
【００６８】
スイッチＳＷ６は、ポート１７から入力されたテストパケットを、テストポートＴＰに出力する。このため、スイッチＳＷ１〜ＳＷ６での処理と、スイッチＳＷ０での各ポートでの処理が設定どおりである場合、テストパケットは、図１１の矢印Ａ３１と矢印Ａ３２に示す転送経路により、テストポートＴＰに到達する。テストポートＴＰから出力されたパケットは、制御装置２０に転送される。従って、スイッチＳＷ０〜ＳＷ６での転送処理が設定どおりに行われていれば、制御装置２０は、テストパケットの送信後、テストパケットを受信できる。
【００６９】
制御装置２０の受信部２３は、テストパケットを受信すると、判定部３２に出力する。判定部３２は、テストパケットの送信から、所定の時間以内にテストパケットを受信できた場合、スイッチＳＷ０〜ＳＷ６での処理が設定通りであると判定する。判定部３２は、得られた判定結果をテスト結果４５として記録すると共に、判定結果をテスト制御部３１に通知する。
【００７０】
テスト制御部３１は、設定どおりの処理が行われているかが未判定のポートがフロースイッチにあるかを判定する。図１１の処理が終わると、フロースイッチには、処理が設定どおりであるかが判定されていないポートは無い。そこで、テスト制御部３１は、テストが終了したと判定する。終了処理については後述する。
【００７１】
図１２は、ネットワークの設定処理の例を説明するフローチャートである。図１２では、テスト対象の経路に対するテストの回数を計数するために変数ｉを使用する。なお、図１２は処理の一例であり、実装に応じて処理手順は変更され得る。例えば、ステップＳ３とステップＳ４の順序は互いに変更され得る。
【００７２】
テスト制御部３１からテスト対象の領域が通知されると、設定部３３は、テスト対象の経路に対するテストの回数ｉが１であるかを判定する（ステップＳ１）。変数ｉ＝１である場合、初めてのテストであるので、設定部３３は、フロースイッチの全てのポートに対してテストパケットの入出力を禁止するフィルタを設定する（ステップＳ１でＹｅｓ、ステップＳ２）。一方、変数ｉ＝１ではない場合、２回目以降のテストであるので、設定部３３は、既に設定されているテストポートへの転送設定を削除するとともに、テストポートも削除する（ステップＳ１でＮｏ、ステップＳ３、Ｓ４）。なお、ステップＳ３、Ｓ４の処理は、設定部３３が、テストポートが設定されているスイッチに制御メッセージを送信し、スイッチでの設定が変更されることにより実現される。ステップＳ２かステップＳ４の処理が終わると、設定部３３は、調査対象の領域の終点ポートが含まれているスイッチにテストポートを設定する（ステップＳ５）。設定部３３は、始点ポートから終点ポートへのテストパケットの転送に使用する入出力を禁止するフィルタを解除する（ステップＳ６）。さらに、設定部３３は、終点ポートからテストポートへの転送の設定を行う（ステップＳ７）。
【００７３】
図１２では、最初にフロースイッチの全てのポートにおいてテストパケットの入出力を禁止するフィルタを設定してから、調査対象の領域での転送経路についてはフィルタを解除する場合の手順を記載しているがこれは一例である。例えば、設定部３３は、テストパケットの入出力が行われるポートと入出力の方向を特定した後に、転送処理に使用されないポートでの入出力を禁止するフィルタを設定しても良い。図１３で説明するフローチャートについても同様の変形が可能である。
【００７４】
図１３は、疎通確認テストの例を説明するフローチャートである。図１３では、テスト対象の領域を特定するために、変数ｉが使用されている。図１３において、定数Ｎは、ネットワーク中のファブリックスイッチの数である。
【００７５】
テストの開始の際に、設定部３３は、ネットワークの初期設定として、フロースイッチの全てのポートにおいて入出力を禁止するフィルタを設定する（ステップＳ１１）。その後、テスト制御部３１は、変数ｉを１に設定する（ステップＳ１２）。設定部３３は、始点ポートを有するスイッチから、ｉ＋１番目のファブリックスイッチまでの疎通判定のためのフィルタを設定する（ステップＳ１３）。すなわち、ステップＳ１３で、設定部３３は、ステップＳ１１で設定したフィルタのうち、始点ポートを含むスイッチからｉ＋１番目のファブリックスイッチまでの転送経路となるポートについて、テストパケットが転送される方向のフィルタを解除する。
【００７６】
その後、判定部３２は、テストパケットを始点ポートに送信し、テストポートからテストパケットが入力されると、テストパケットを受信する（ステップＳ１４）。なお、テストポートから所定の時間内にテストパケットが得られない場合、判定部３２は、タイムアウトするまでテストパケットを待ち合わせる。判定部３２は、テストパケットの受信の可否に基づいて、テスト対象の領域でパケットが疎通したかを判定し、得られた判定結果をテスト結果４５に記録する（ステップＳ１５）。テスト制御部３１は、ステップＳ１４において、判定部３２がテストパケットの受信に成功しているかを判定する（ステップＳ１６）。判定部３２がテストパケットの受信に成功している場合、テスト対象の領域において、テストパケットが疎通していると判定されている（ステップＳ１６でＯＫ）。そこで、テスト制御部３１は、変数ｉを２つインクリメントした上で、変数ｉが定数Ｎ以上であるかを判定する（ステップＳ１７、Ｓ１８）。変数ｉが定数Ｎ以上ではない場合、ステップＳ１３以降の処理が繰り返される（ステップＳ１８でＮｏ）。一方、変数ｉが定数Ｎ以上である場合、テスト制御部３１は、判定対象の経路の全区域での疎通が確認されたと判定して、テスト結果をオペレータの端末に送信する（ステップＳ１８でＹｅｓ、ステップＳ１９）。設定部３３は、テスト用のネットワーク設定を削除して処理を終了する（ステップＳ２０）。
【００７７】
一方、判定部３２がテストパケットの受信に成功していない場合、テスト対象の領域において、テストパケットが疎通していない（ステップＳ１６でＮＧ）。そこで、テスト制御部３１は、テストを中断して、テスト結果４５をオペレータの端末に送信する（ステップＳ１９）。このとき、故障個所特定部３５は、テスト対象となっている領域のうち、これまでのテストで疎通していることが特定されていない領域を、故障の可能性のある箇所として特定し、特定した情報をテスト結果４５と共に、オペレータの端末に送信する。その後、設定部３３がテスト用のネットワーク設定を削除した上で処理を終了する（ステップＳ２０）。
【００７８】
（３）テスト結果の評価
図１４は、テスト結果４５の例を説明する図である。テスト結果４５ａは、図８〜図１１を参照しながら説明した場合で得られるテスト結果４５の例である。テスト結果４５ａの１行目の情報は、スイッチＳＷ１からスイッチＳＷ２までのテストパケットの疎通が確認されたことを表わしている。この情報は、図８を参照しながら説明したテストにおいて、パケットが疎通したと判定した際に判定部３２がテスト結果４５として書き込んだ情報である。テスト結果４５ａの２行目の情報は、スイッチＳＷ１からスイッチＳＷ４までのテストパケットの疎通が確認されたことを表わしている。この情報は、図１０を参照しながら説明したテストの結果として判定部３２が書き込んだ情報である。テスト結果４５ａの３行目の情報は、スイッチＳＷ１からスイッチＳＷ６までのテストパケットの疎通が確認されたことを表わしている。この情報は、図１１を参照しながら説明したテストの結果として判定部３２が書き込んだ情報である。全ての領域での疎通テストに成功した場合、テスト制御部３１は、テストが成功したことを表わす情報をテスト結果４５に追加する。テスト結果４５ａの例では、テストが成功していることと、疎通確認が行われた経路中のファブリックスイッチの経由順序が含まれている。
【００７９】
一方、テスト結果４５ｂは、図８のテストで成功したものの、図１０のテストで制御装置２０がテストパケットの送信から所定時間内にテストパケットを受信していない場合に得られるテスト結果４５の例である。テスト結果４５ｂの２行目の情報は、スイッチＳＷ１からスイッチＳＷ４までのテストパケットの疎通に失敗したことを表わしている。この処理結果は、判定部３２がテストパケットの送信から所定の期間内にテストパケットを受信していないと判定したときに、テスト結果４５ｂに書き込んでいる。判定部３２でパケットの疎通に失敗したと判定すると、テスト制御部３１は、テストを中断する。さらに、故障個所特定部３５は、疎通に失敗した経路のうち、これまでのテストでパケットの疎通に成功している領域を除いた領域を、障害が発生している可能性のある箇所として特定する。テスト制御部３１は、テストに失敗したことと、故障個所特定部３５で特定された領域の情報を、テスト結果４５ｂに記録する。テスト結果４５ｂの例では、図１０に示す矢印Ａ２１のうち、図８のテストでパケットの相通が確認された領域（矢印Ａ１１）を除いた領域が、障害の発生している可能性のある箇所として特定される。従って、ポート６から、処理装置５ａ、ポート７、ポート８、ポート９、ポート１０を経てポート１１に至る区間のどこかに故障が発生していることが特定される。
【００８０】
テスト制御部３１は、得られたテスト結果４５を、オペレータの使用する端末に向けて、送信部２２経由で送信する。このため、オペレータは、端末に送られてきたテスト結果４５を用いて、パケットが想定されている経路に沿って転送されているかを判定することができる。さらに、テスト結果４５ｂのように、パケットが想定されている経路に沿って転送されていないことが通知されると、オペレータは、テスト結果４５ｂ中に特定されている区間を、故障が発生している可能性のある区間として設定等の確認を行うことができる。
【００８１】
（４）終了処理
図１５は、テスト用の設定を削除する処理の例を説明するフローチャートである。なお、図１５は処理の一例であり、ステップＳ３１〜Ｓ３４の処理の順序は、任意に変更され得る。設定部３３は、フロースイッチの全ポートから、テスト用のフィルタを削除する（ステップＳ３１）。設定部３３は、テストポートへの転送設定を削除する（ステップＳ３２）。設定部３３は、テストポートを削除する（ステップＳ３３）。設定部３３は、通信装置１０に接続されたポートから、テスト用のフィルタを削除する（ステップＳ３４）。
【００８２】
以上説明したように、第１の実施形態にかかる方法では、疎通を確認する領域の始点ポートから終点ポートに向けて、予測されている転送経路に沿ってテストパケットが転送されている場合に行われない入出力が禁止された状態で疎通確認が行われる。このため、テストパケットが予測された転送経路を介して転送されているかを判定することができる。このように、フロースイッチにテストパケット用のフィルタを設定し、ファブリックスイッチにテストポートを設定するだけで、スイッチの通過順序を含めた疎通の確認が行われるため、第１の実施形態によるテストは簡便である。さらに、第１の実施形態にかかる方法では、疎通確認などのために、テスト用のハードウェアが使用されないので、テストの際のコストがかからないという利点もある。
【００８３】
さらに、第1の実施形態では、テストパケットが予測された転送経路を介して転送されていないと判定された場合に、予測された経路に沿って転送されていない原因となった箇所がテスト結果４５としてオペレータの使用する端末に送信される。このため、オペレータは、パケットが想定されている経路に沿って転送されていないことが通知されると、テスト結果４５で通知された区間を、故障が発生している可能性のある区間として設定等の確認を行うことができる。従って、ネットワークの保守点検が簡便になる。
【００８４】
＜変形例＞
第１の実施形態の変形例として、通信装置１０ａがフローの始点側、通信装置１０ｂがフローの終点側に設定されているネットワークにおいて、経路Ｒ１（図６）の逆向きの経路についての疎通が確認される場合について説明する。この場合、始点ポートは、スイッチＳＷ６のポートのうち、通信装置１０ｂに接続されているポートに設定される他は、第１の実施形態と同様に処理される。このため、経路Ｒ１の逆向きの経路が判定対象となる場合、テスト制御部３１は、スイッチＳＷ６からスイッチＳＷ５への転送経路を最初のテスト対象とする。
【００８５】
図１６は、スイッチＳＷ６からスイッチＳＷ５への転送経路の確認処理の例を説明する図である。スイッチＳＷ６からスイッチＳＷ５への転送経路に対する疎通が確認される場合、スイッチＳＷ０では、ポート１６からポート１５へのテストパケットの転送以外は、テストパケットに関する全ての転送経路がフィルタリングによって無効化される。従って、スイッチＳＷ０のポート３、ポート４、ポート９、ポート１０の各々において、テストパケットの入出力がフィルタリングされる。ポート１６からのテストパケットの出力とポート１５へのテストパケットの入力も、フィルタによって禁止される。さらに、スイッチＳＷ５において、テストポートの設定と、ポート１４に入力されたパケットをテストポートに転送する設定（矢印Ａ４２）も行われる。フィルタリングの設定やテストポートへの転送設定のために行われる処理は、第１の実施形態と同様である。このようなフィルタリングの設定と、テストポートへの転送設定により、設定部３３は、矢印Ａ４１に示す経路での転送が行われているかを判定するための経路を設定している。
【００８６】
設定部３３での設定処理が終わると、判定部３２は、始点ポートであるポート１８からテストパケットを送信し、テストポートからテストパケットを受信できたかを判定する。図１６の例では、判定部３２は、テストパケットの受信に成功したとする。すると、テスト制御部３１は、２回目のテストの対象とする領域を、スイッチＳＷ６からスイッチＳＷ３への転送経路に設定する。
【００８７】
図１７は、スイッチＳＷ６からスイッチＳＷ３への転送経路の確認処理の例を説明する図である。スイッチＳＷ６からスイッチＳＷ３への転送経路に対する疎通が確認される場合、スイッチＳＷ０のポート３とポート４では、テストパケットの入出力がフィルタリングされる。ポート１６およびポート１０からのテストパケットの出力と、ポート１５およびポート９へのテストパケットの入力も、フィルタによって禁止される。さらに、設定部３３は、スイッチＳＷ５でのテストポートの設定とテストポートへの転送設定を解除し、スイッチＳＷ３に新たなテストポートを設定する。また、設定部３３は、スイッチＳＷ３において、ポート８に入力されたパケットをテストポートに転送する設定（矢印Ａ５１）も行う。このようなフィルタリングの設定と、テストポートへの転送設定により、設定部３３は、矢印Ａ５２に示す経路での転送が行われているかを判定するための経路を設定している。
【００８８】
設定部３３での設定処理が終わると、判定部３２は、始点ポートであるポート１８からテストパケットを送信し、テストポートからテストパケットを受信できたかを判定する。図１７に示す判定においても、判定部３２は、テストパケットの受信に成功したとする。すると、テスト制御部３１は、３回目のテストの対象とする領域を、スイッチＳＷ６からスイッチＳＷ１への転送経路に設定する。
【００８９】
図１８は、スイッチＳＷ６からスイッチＳＷ１への転送経路の確認処理の例を説明する図である。スイッチＳＷ６からスイッチＳＷ１への転送経路に対する疎通が確認される場合、スイッチＳＷ０のポート１６、ポート１０、ポート４の各々では、テストパケットの出力がフィルタによって禁止される。一方、スイッチＳＷ０のポート１５、ポート９、ポート３では、テストパケットの入力がフィルタによって禁止される。さらに、設定部３３は、スイッチＳＷ３でのテストポートの設定とテストポートへの転送設定を解除し、スイッチＳＷ１に新たなテストポートを設定する。また、設定部３３は、スイッチＳＷ１において、ポート２に入力されたパケットをテストポートに転送する設定（矢印Ａ６１）も行う。このようなフィルタリングの設定と、テストポートへの転送設定により、設定部３３は、矢印Ａ６２に示す経路での転送が行われているかを判定するための経路を設定している。
【００９０】
設定部３３での設定処理が終わると、判定部３２は、始点ポートであるポート１８からテストパケットを送信し、テストポートからテストパケットを受信できたかを判定する。図１８に示す判定においても、判定部３２は、テストパケットの受信に成功したとする。すると、テスト制御部３１は、経路Ｒ１の逆向きの経路についても、設定どおりにパケットが転送されていると判定することができる。
【００９１】
＜第２の実施形態＞
異常が発生している可能性が高いネットワークの処理の際などに、第１の実施形態よりもより狭い範囲で問題のある箇所を限定する場合の処理の例を説明する。
【００９２】
図１９は、異常が発生しているネットワークの例を説明する図である。第２の実施形態では、仮想スイッチＳＷ０がフロースイッチとして動作し、仮想スイッチＳＷ１〜ＳＷ４がファブリックスイッチとして動作する場合を例として説明する。仮想スイッチＳＷ０では、ポート３とポート４の間でのパケットの転送と、ポート９とポート１０の間でのパケットの転送が可能になるように設定されているとする。スイッチＳＷ１のポート１は、通信装置１０ａに接続されているとする。スイッチＳＷ２のポート６とスイッチＳＷ３のポート７は、いずれも処理装置５に接続されている。スイッチＳＷ４のポート１２は、通信装置１０ｂに接続されている。スイッチＳＷ１のポート２はスイッチＳＷ０のポート３に接続され、スイッチＳＷ２のポート５はスイッチＳＷ０のポート４に接続されている。さらに、スイッチＳＷ３のポート８はスイッチＳＷ０のポート９に接続され、スイッチＳＷ４のポート１１はスイッチＳＷ０のポート１０に接続されている。なお、図１９に図示したネットワークの接続はスイッチ設定テーブル４１、ポート設定テーブル４２、トポロジ情報４６から特定される情報であるとする。
【００９３】
図１９において、処理装置５とスイッチＳＷ３のポート７の間で障害が発生したとする。この場合、通信装置１０ａから処理装置５を介して通信装置１０ｂに至る経路が設定されていても、矢印Ａ７１に示すようにパケットは、スイッチＳＷ３のポート７に入力されない。このため、通信装置１０ａから通信装置１０ｂ宛に送信したパケットは、通信装置１０ｂに到達しない。
【００９４】
そこで、異常が発生している箇所を特定するために、テスト処理が要求されたとする。テストの要求の受信等は第１の実施形態と同様である。第２の実施形態でも、テスト制御部３１は、疎通確認テストが要求されている経路を特定すると、フロースイッチへのフィルタリングによって経路を１通りに限定可能な領域を決定する。このとき、テスト制御部３１は、隣り合ったファブリックスイッチごとに、検査範囲を広げる。以下、図２０〜図２２を参照しながら処理の例を説明する。
【００９５】
図２０は、異常が発生している個所の特定処理の例を説明する図である。テスト制御部３１は、最初に行うテストでは、始点ポートから、始点ポートを含むファブリックスイッチの次にパケットが入力されることが想定されているファブリックスイッチに至る経路について疎通確認を行うことを決定する。すなわち、テスト制御部３１は、スイッチＳＷ１のポート１からスイッチＳＷ２のポート５までの疎通確認を行うことを決定する。テスト制御部３１は、設定部３３と判定部３２に、疎通確認処理を行う領域を通知するので、設定部３３は、第１の実施形態と同様の処理により、フィルタの設定を行う。このため、スイッチＳＷ０には、以下のような処理ルールがフィルタとして設定される。なお、第２の実施形態でも、テストパケットでは、宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔに設定されており、宛先ＭＡＣアドレスを用いてテストパケットの識別が行われるとする。
処理ルール１
条件１    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポート＝仮想ポート３
アクション：条件１に該当するパケットを仮想ポート４から出力
処理ルール２
条件２    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
入力ポートが仮想ポート４、９、１０
アクション：条件２に該当するパケットを受信せずに廃棄
処理ルール３
条件３    ：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、
出力ポートが仮想ポート３、９、１０
アクション：条件３に該当するパケットを送信せずに廃棄
【００９６】
さらに、設定部３３は、スイッチＳＷ２にテストポートＴＰを設定した上で、以下のように転送条件を設定する。
条件：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、入力ポート＝仮想ポート５
アクション：条件に該当するパケットをテストポートＴＰから出力
【００９７】
設定部３３は、以上の設定が終わるとテストパケット用のフィルタとテストポートの設定の終了を判定部３２に通知する。判定部３２は、テストパケットを生成し、送信部２２を介して、テストパケットを始点ポートであるスイッチＳＷ１のポート１に入力する。その後、判定部３２は、テストパケットの送信から所定の時間内に、受信部２３を介して。テストポートからテストパケットを受信できたとする。判定部３２は、得られた判定結果をテスト結果４５として記録すると共に、判定結果をテスト制御部３１に通知する。
【００９８】
すると、テスト制御部３１は、設定どおりに転送が行われていると判定された領域と、判定済みの領域の終点ポートを含むファブリックスイッチから転送されたパケットが次に入力されるファブリックスイッチまでの区間を次のテスト領域に設定する。そこで、テスト制御部３１は、スイッチＳＷ１のポート１からスイッチＳＷ３のポート７までの区間において障害が発生しているかを判定することを決定する。
【００９９】
図２１は、スイッチＳＷ１からスイッチＳＷ３への転送経路の確認処理の例を説明する図である。テスト制御部３１は、設定部３３と判定部３２に、スイッチＳＷ１のポート１からスイッチＳＷ３のポート７までの区間を、テスト対象の領域として通知する。設定部３３は、新たに決定された領域のテストでは、前回のテストの際とフロースイッチの設定が同じであることを、スイッチ設定テーブル４１、ポート設定テーブル４２、トポロジ情報４６を用いて特定する。そこで、設定部３３は、スイッチＳＷ０での処理ルールを変更しない。
【０１００】
一方、テスト対象の領域の変更に伴い、テストポートがスイッチＳＷ２からスイッチＳＷ３に移動するので、設定部３３は、スイッチＳＷ２に設定されているテストポートを削除すると共に、テストポートへの転送の設定をスイッチＳＷ２から削除する。さらに、設定部３３は、スイッチＳＷ３にテストポートを設定する。また、テストポートへの転送処理のために、以下の処理ルールをスイッチＳＷ３に設定する。
条件：宛先ＭＡＣアドレス＝ＭＡＣｔｅｓｔ、かつ、入力ポート＝仮想ポート７
アクション：条件に該当するパケットをテストポートＴＰから出力
【０１０１】
設定部３３は、以上の設定が終わるとテストパケット用のフィルタとテストポートの設定の終了を判定部３２に通知する。判定部３２は、テストパケットを生成し、送信部２２を介して、テストパケットを始点ポートであるスイッチＳＷ１のポート１に入力する。図２１でのテストの段階では、スイッチＳＷ１とスイッチＳＷ２での転送と、スイッチＳＷ０でのポート３とポート４の転送処理が想定される経路どおりであることが、図２０でのテスト結果から得られている。このため、テストパケットは、スイッチＳＷ２のポート５までは到達する。しかし、その後、テストパケットは、ポート６から処理装置５に入力され、処理装置５から出力された後、処理装置５とポート７の間のリンクの障害などにより、廃棄されたとする。すると、制御装置２０は、テストパケットの送信から所定の時間内に、テストパケットを受信しない。
【０１０２】
図２２は、異常が発生している個所の特定処理の例を説明する図である。図２１で説明したように、判定部３２は、テストパケットの送信から所定の時間以内にテストパケットを取得しない場合、スイッチＳＷ１からスイッチＳＷ３までのパケットの疎通に失敗したことを、テスト結果４５ｃに記録する。なお、テスト結果４５ｃの１行目の結果は、図２０を参照しながら説明した処理においてスイッチＳＷ１からスイッチＳＷ２までのパケットの疎通に成功したときに記録されている。
【０１０３】
パケットの疎通に失敗したと判定すると、テスト制御部３１は、テストを中断する。さらに、故障個所特定部３５は、テスト結果４５ｃでの結果の記録から、テストパケットの疎通に失敗した区間のうち、テストパケットの疎通に成功した区間を除いた区間を、障害が発生している可能性のある箇所として特定する。すなわち、故障個所特定部３５は、図２２の破線で示した四角形Ｙのエリア内を、障害が発生している可能性のある箇所として特定する。テスト制御部３１は、テストに失敗したことと、故障個所特定部３５で特定された領域の情報を、テスト結果４５ｃに記録する。従って、ポート６から、処理装置５、ポート７に至る区間のどこかに故障が発生していることが特定される。従って、第２の実施形態では、第１の実施形態に比べて、故障が発生している可能性のある区間を絞り込むことができる。
【０１０４】
図２３は、隣接するスイッチごとに疎通確認を行う場合の処理の例を説明するフローチャートである。ステップＳ４１〜Ｓ４４の処理は、図１２を参照しながら説明したステップＳ１〜Ｓ４と同様である。設定部３３は、変数ｉ＋１番目のファブリックスイッチに対して、テストポートを設定する（ステップＳ４５）。設定部３３は、変数ｉが奇数であるかを判定する（ステップＳ４６）。変数ｉが奇数である場合、設定部３３は、フロースイッチに設定されたフィルタのうち、ｉ番目のファブリックスイッチに接続するポートの入力を禁止するフィルタを削除する。さらに、設定部３３は、フロースイッチに設定されたフィルタのうち、ｉ＋１番目のファブリックスイッチに接続するポートの出力を禁止するフィルタも削除する（ステップＳ４６でＹｅｓ、ステップＳ４７）。設定部３３は、ｉ＋１番目のファブリックスイッチのポートのうち、フロースイッチに接続しているポートに対して、テストパケットをテストポートに転送する設定を行う（ステップＳ４８）。
【０１０５】
一方、変数ｉが奇数でない場合、設定部３３は、ｉ＋１番目のファブリックスイッチのポートのうち、処理装置５に接続しているポートに対して、テストパケットをテストポートに転送する設定を行う（ステップＳ４６でＮｏ、ステップＳ４９）。
【０１０６】
第２の実施形態に示すように、故障が発生している可能性のある箇所が絞り込まれている場合、オペレータは、設定等を確認する領域を第１の実施形態よりも狭くできるので、ネットワークの管理が簡便になる。さらに、第２の実施形態においても、想定された経路以外の経路での転送処理を防止するためのフィルタリングが行われるので、パケットの疎通確認と共に、パケットがスイッチやポートを想定された順序で通過しているかを判定できる。
【０１０７】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１０８】
第１および第２の実施形態では、いずれも故障個所特定部３５が制御装置２０に備え得られている場合について説明したが、制御装置２０は、故障個所特定部３５を備えていなくてもよい。制御装置２０が故障個所特定部３５を備えていない場合、テスト結果４５には、テストパケットの疎通テストの結果が記録されるが、故障が発生している可能性のある領域は特定されない。この場合、オペレータは、テストパケットの受信に失敗した経路と成功した経路を比較することによって、障害が発生している可能性のある個所を特定する。
【０１０９】
制御装置２０が入力装置や出力装置を備える場合、オペレータは、制御装置２０の入力装置を用いて試験の開始を要求することができる。この場合、制御装置２０は、得られたテスト結果４５を、出力装置のディスプレイに表示することにより、オペレータにテスト結果４５を提供する。
【０１１０】
以上の説明で述べたパケットのフォーマットやテーブルは一例である。従って、パケットやテーブルに含まれる情報要素は、実装に応じて任意に変更され得る。
【０１１１】
さらに、実装に応じて、第1の実施形態と第２の実施形態が組み合わせて用いられても良い。例えば、第1の実施形態に従って、特定の経路の疎通確認を行った結果として、疎通確認に失敗したとする。この場合、テスト制御部３１は、疎通テストに成功している領域と、疎通テストに成功している領域の終点ポートを有するファブリックスイッチに新設するスイッチまでを新たなテスト対象の領域とする。
【０１１２】
上述の第１、第２の実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
パケットを入出力するポートを有する複数のパケット転送装置を制御する制御装置であって、
転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定するとともに、前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行う設定部と、
前記始点ポートに前記テストパケットを送信する通信部と、
前記テストパケットの送信後に前記通信部が前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する判定部
を備えることを特徴とする制御装置。
（付記２）
転送処理が正常に行われているかを判定する対象経路のうち、前記転送経路を前記フィルタの設定によって１通りに限定可能な区間を第１の領域として設定するとともに、前記第１の領域に対する前記フィルタの設定を前記設定部に要求するテスト制御部をさらに備え、
前記判定部が前記第１の領域での転送処理が正常に行われていると判定すると、前記テスト制御部は、前記第１の領域と、前記対象経路のうちで前記第１の領域から出力されたテストパケットが転送される経路を１通りに限定可能な区間とを含む第２の領域を、前記テストパケットを用いた新たなテストの対象に設定する
ことを特徴とする付記１に記載の制御装置。
（付記３）
前記判定部が前記第２の領域での転送処理が正常に行われていないと判定すると、前記第２の領域から前記第１の領域を除いたときに得られる区間を、障害が発生している可能性のある区間として特定する特定部をさらに備える
ことを特徴とする付記２に記載の制御装置。
（付記４）
前記設定部は、前記複数のパケット転送装置のうち、他のパケット転送装置間でのパケットの送受信を中継するフロースイッチを前記フィルタの設定対象とする
ことを特徴とする付記１〜３のいずれか１項に記載の制御装置。
（付記５）
パケットを入出力するポートを有する複数のパケット転送装置を制御する制御装置が、
転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定し、
前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行い、
前記始点ポートに前記テストパケットを送信し、
前記テストパケットの送信後に前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する
処理を行うことを特徴とするテスト方法。
（付記６）
転送処理が正常に行われているかを判定する対象経路のうち、前記転送経路を前記フィルタの設定によって１通りに限定可能な区間を第１の領域として設定し、
前記第１の領域に対する前記フィルタを設定し、
前記第１の領域での転送処理が正常に行われていると判定すると、前記第１の領域と、前記対象経路のうちで前記第１の領域から出力されたテストパケットが転送される経路を１通りに限定可能な区間とを含む第２の領域を、前記テストパケットを用いた新たなテストの対象に設定する
処理を前記制御装置が行うことを特徴とする付記５に記載のテスト方法。
（付記７）
前記第２の領域での転送処理が正常に行われていないと判定した場合、前記第２の領域から前記第１の領域を除いたときに得られる区間を、障害が発生している可能性のある区間として特定する
処理を前記制御装置が行うことを特徴とする付記６に記載のテスト方法。
（付記８）
前記制御装置は、前記複数のパケット転送装置のうち、他のパケット転送装置間でのパケットの送受信を中継するフロースイッチを前記フィルタの設定対象とする
ことを特徴とする付記５〜７のいずれか１項に記載のテスト方法。
（付記９）
パケットを入出力するポートを有する複数のパケット転送装置を制御する制御装置に、
転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定し、
前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行い、
前記始点ポートに前記テストパケットを送信し、
前記テストパケットの送信後に前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する
処理を行わせることを特徴とするテストプログラム。
（付記１０）
転送処理が正常に行われているかを判定する対象経路のうち、前記転送経路を前記フィルタの設定によって１通りに限定可能な区間を第１の領域として設定し、
前記第１の領域に対する前記フィルタを設定し、
前記第１の領域での転送処理が正常に行われていると判定すると、前記第１の領域と、前記対象経路のうちで前記第１の領域から出力されたテストパケットが転送される経路を１通りに限定可能な区間とを含む第２の領域を、前記テストパケットを用いた新たなテストの対象に設定する
処理を前記制御装置に行わせることを特徴とする付記９に記載のテストプログラム。
（付記１１）
前記第２の領域での転送処理が正常に行われていないと判定した場合、前記第２の領域から前記第１の領域を除いたときに得られる区間を、障害が発生している可能性のある区間として特定する
処理を前記制御装置に行わせることを特徴とする付記１０に記載のテストプログラム。
（付記１２）
パケットを入出力するポートを有する複数のパケット転送装置と、
前記複数のパケット転送装置を制御する制御装置
を備え、
前記制御装置が、
転送状況の判定対象とする領域の始点ポートから前記領域の終点ポートに向けて、前記領域で想定されるパケットの転送経路に含まれないパケット転送装置のポートに、テストパケットの入出力を禁止するフィルタを設定し、
前記終点ポートに到達した前記テストパケットを前記制御装置に転送させる設定を行い、
前記始点ポートに前記テストパケットを送信し、
前記テストパケットの送信後に前記テストパケットを受信すると、前記領域での転送処理が正常に行われていると判定する
ことを特徴とする通信システム。
（付記１３）
前記制御装置が、
転送処理が正常に行われているかを判定する対象経路のうち、前記転送経路を前記フィルタの設定によって１通りに限定可能な区間を第１の領域として設定し、
前記第１の領域に対する前記フィルタを設定し、
前記第１の領域での転送処理が正常に行われていると判定すると、前記第１の領域と、前記対象経路のうちで前記第１の領域から出力されたテストパケットが転送される経路を１通りに限定可能な区間とを含む第２の領域を、前記テストパケットを用いた新たなテストの対象に設定する
ことを特徴とする付記１２に記載の通信システム。
（付記１４）
前記制御装置は、前記第２の領域での転送処理が正常に行われていないと判定した場合、前記第２の領域から前記第１の領域を除いたときに得られる区間を、障害が発生している可能性のある区間として特定する
ことを特徴とする付記１３に記載の通信システム。
【符号の説明】
【０１１３】
２  テスト制御装置
５  処理装置
１０  通信装置
２０  制御装置
２１  通信部
２２  送信部
２３  受信部
３０  制御部
３１  テスト制御部
３２  判定部
３３  設定部
３４  経路制御部
３５  故障個所特定部
４０  記憶部
４１  スイッチ設定テーブル
４２  ポート設定テーブル
４３  経路情報
４４  フィルタテーブル
４５  テスト結果
４６  トポロジ情報
５０  物理スイッチ
１０１  プロセッサ
１０２  メモリ
１０３  バス
１０４  回線インタフェース
【図１】
2018006792.tif 000003
【図２】
2018006792.tif 000004
【図３】
2018006792.tif 000005
【図４】
2018006792.tif 000006
【図５】
2018006792.tif 000007
【図６】
2018006792.tif 000008
【図７】
2018006792.tif 000009
【図８】
2018006792.tif 000010
【図９】
2018006792.tif 000011
【図１０】
2018006792.tif 000012
【図１１】
2018006792.tif 000013
【図１２】
2018006792.tif 000014
【図１３】
2018006792.tif 000015
【図１４】
2018006792.tif 000016
【図１５】
2018006792.tif 000017
【図１６】
2018006792.tif 000018
【図１７】
2018006792.tif 000019
【図１８】
2018006792.tif 000020
【図１９】
2018006792.tif 000021
【図２０】
2018006792.tif 000022
【図２１】
2018006792.tif 000023
【図２２】
2018006792.tif 000024
【図２３】
2018006792.tif 000025