(57)【要約】  スイッチが保持する転送エントリにおける異常の有無を容易に確認できるようにするため、本発明のサーバは、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する記憶手段と、トポロジ情報に基づいてネットワーク上の通信経路を示すネットワーク経路情報を生成する経路生成手段と、ネットワークに含まれるスイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいてスイッチが学習した転送エントリをスイッチから取得する通信手段と、転送エントリ及びネットワーク経路情報をトポロジ情報にマッピングするマッピング手段とを備えている。
2018003597.tif 000002
【特許請求の範囲】
【請求項１】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する記憶手段と、
前記トポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成する経路生成手段と、
前記ネットワークに含まれる前記スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて前記スイッチが学習した転送エントリを前記スイッチから取得する通信手段と、
前記転送エントリ及び前記ネットワーク経路情報を前記トポロジ情報にマッピングするマッピング手段と、
を備えるサーバ。
【請求項２】
前記経路生成手段は、前記トポロジ情報及び前記スイッチ経路情報に基づいて、前記ネットワーク経路情報を生成する、
請求項１に記載のサーバ。
【請求項３】
前記転送エントリは、宛先アドレスと出力先のポートとの対応づけを、前記スイッチが前記スイッチ経路情報に基づいて学習したものである、
請求項１又は２に記載のサーバ。
【請求項４】
前記マッピング手段は、収集した前記転送エントリと前記ネットワーク経路情報との間に整合性がない場合、前記ネットワークに異常が生じたものと判定する、
請求項１ないし３のいずれか１項に記載のサーバ。
【請求項５】
前記通信手段は、前記マッピング手段が前記ネットワークに異常が生じたものと判定した場合、前記転送エントリを削除するように前記スイッチに指示する、
請求項４に記載のサーバ。
【請求項６】
前記通信手段は、前記転送エントリとともに前記スイッチ経路情報を前記スイッチから取得する、
請求項１ないし５のいずれか１項に記載のサーバ。
【請求項７】
前記ネットワークは、ユーザプレーンとコントロールプレーンとが分離されたＵ／Ｃ分離ネットワークであり、
前記通信手段は、前記スイッチ経路情報を前記スイッチに設定する、
請求項１ないし５のいずれか１項に記載のサーバ。
【請求項８】
ネットワークを構成するスイッチであって、
前記ネットワークのトポロジを表すトポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信する通信手段と、
ポートが属するブロードキャストドメインを表すスイッチ経路情報、及び、前記スイッチ経路情報に基づいて学習した転送エントリを保持する記憶手段と、を備え、
前記通信手段は、前記転送エントリを前記サーバに送信する、
スイッチ。
【請求項９】
前記記憶手段は、前記スイッチ経路情報に基づいて学習した宛先アドレスと出力先のポートとの対応づけを、前記転送エントリとして保持する、
請求項８に記載のスイッチ。
【請求項１０】
前記通信手段は、前記転送エントリとともに前記スイッチ経路情報を前記サーバに送信する、
請求項８又は９に記載のスイッチ。
【請求項１１】
前記ネットワークは、ユーザプレーンとコントロールプレーンとが分離されたＵ／Ｃ分離ネットワークであり、
前記通信手段は、前記スイッチ経路情報を前記サーバから取得する、
請求項８又は９に記載のスイッチ。
【請求項１２】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持し、前記トポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと、
前記ネットワークに含まれる前記スイッチであって、前記スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて転送エントリを学習する前記スイッチと、を備え、
前記サーバは、前記転送エントリを前記スイッチから取得し、取得した前記転送エントリ及び前記ネットワーク経路情報を前記トポロジ情報にマッピングする、
通信システム。
【請求項１３】
サーバが、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持し、
前記トポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成し、
前記ネットワークに含まれる前記スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて前記スイッチが学習した転送エントリを前記スイッチから取得し、
前記転送エントリ及び前記ネットワーク経路情報を前記トポロジ情報にマッピングする
通信方法。
【請求項１４】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信するスイッチが、
ポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて、転送エントリを学習し、
前記転送エントリを前記サーバに送信する
通信方法。
【請求項１５】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する処理と、
前記トポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成する処理と、
前記ネットワークに含まれる前記スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて前記スイッチが学習した転送エントリを前記スイッチから取得する処理と、
前記転送エントリ及び前記ネットワーク経路情報を前記トポロジ情報にマッピングする処理と、
をコンピュータに実行させるプログラムを非一時的にコンピュータ読み取り可能に記録する記録媒体。
【請求項１６】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信するスイッチに設けられたコンピュータに対して、
ポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて、転送エントリを学習する処理と、
前記転送エントリを前記サーバに送信する処理と、を実行させるプログラムを非一時的にコンピュータ可読に記録する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ、スイッチ、通信システム、通信方法、及び記録媒体に関し、特にＵ／Ｃ（Control/User）分離ネットワークにおけるサーバ、スイッチ、通信システム、通信方法、及び記録媒体に関する。
【背景技術】
【０００２】
移動通信のトラフィック量の増大に伴い、大量のトラフィックにこたえるためにネットワークシステムの大容量化が求められている。特に、多数の通信機器（スイッチ等）を含む大規模なネットワークの制御及び管理を容易にするための技術として、ネットワークをソフトウェアに基づいて動的に制御するＳＤＮ（Software Defined Network）が注目されている。【０００３】
ＳＤＮを実現するプロトコルとして、非特許文献１には、ユーザプレーン（データプレーン）とコントロールプレーンとを分離したＵ／Ｃ分離ネットワークに基づくオープンフロー（OpenFlow）が記載されている。【０００４】
また、特許文献１には、利用者がネットワークの構成及び動作を俯瞰するためのネットワーク可視化装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２３００４１号公報
【非特許文献】
【０００６】
【非特許文献１】ONF (Open Networking Foundation), "OpenFlow Switch Specification, Version 1.3.0 (Wire Protocol 0x04)," June 25, 2012, [online], ［2016年6月20日検索］、インターネット<URL:https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.0.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献及び非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者らがなしえたものである。【０００８】
ネットワークに何らかの異常が生じた場合、ネットワークに含まれる各スイッチについて、パケットの転送に使われるエントリ情報（転送エントリ）を確認し、データ転送の流れを追跡する作業が行われる。ここでの異常とは、例えば、スイッチ等の通信機器の故障、又はスイッチ間を接続するケーブルの断線等である。しかしながら、かかる方法を用いると、スイッチの台数が増大すると、個々のスイッチを調べる作業が非常に煩雑となる。【０００９】
なお、特許文献１に記載された技術は、ネットワーク上で提供される情報サービス間の連携を表す画像と、情報サービス間の連携を実現する物理ネットワーク（ノード及びスイッチ間の接続）を表す画像を描画するものにすぎない。特許文献１に記載された技術は、スイッチが保持する転送エントリの妥当性を判別することに寄与するものではない。【００１０】
そこで、スイッチが保持する転送エントリにおける異常の有無を容易に確認できるようにすることが課題となる。本発明の目的は、かかる課題解決に寄与するサーバ、スイッチ、通信システム、通信方法、及び記録媒体を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の態様に係るサーバは、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する記憶手段と、トポロジ情報に基づいてネットワーク上の通信経路を示すネットワーク経路情報を生成する経路生成手段と、ネットワークに含まれるスイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいてスイッチが学習した転送エントリをスイッチから取得する通信手段と、転送エントリ及びネットワーク経路情報をトポロジ情報にマッピングするマッピング手段とを備えている。【００１２】
本発明の第２の態様に係るスイッチは、ネットワークを構成するスイッチであって、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいてネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信する通信手段と、ポートが属するブロードキャストドメインを表すスイッチ経路情報、及び、スイッチ経路情報に基づいて学習した転送エントリを保持する記憶手段と、を備える。【００１３】
本発明の第３の態様に係る通信システムは、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持し、トポロジ情報に基づいてネットワーク上の通信経路を示すネットワーク経路情報を生成するサーバと、ネットワークに含まれるスイッチであって、スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて転送エントリを学習するスイッチとを備え、サーバは、転送エントリをスイッチから取得し、取得した転送エントリ及びネットワーク経路情報をトポロジ情報にマッピングする。【００１４】
本発明の第４の態様に係る通信方法は、サーバが、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持し、トポロジ情報に基づいてネットワーク上の通信経路を示すネットワーク経路情報を生成し、ネットワークに含まれるスイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいてスイッチが学習した転送エントリをスイッチから取得し、転送エントリ及びネットワーク経路情報をトポロジ情報にマッピングする。【００１５】
本発明の第５の態様に係る通信方法は、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいてネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信するスイッチが、ポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて、転送エントリを学習し、記転送エントリをサーバに送信する。【００１６】
本発明の第６の態様に係る記録媒体は、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する処理と、トポロジ情報に基づいてネットワーク上の通信経路を示すネットワーク経路情報を生成する処理と、ネットワークに含まれるスイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいてスイッチが学習した転送エントリをスイッチから取得する処理と、転送エントリ及びネットワーク経路情報をトポロジ情報にマッピングする処理とをコンピュータに実行させるプログラムを、非一時的にコンピュータ可読（non-transitory computer-readable）に記録する。【００１７】
本発明の第７の態様に係る記録媒体は、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいてネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信するスイッチに設けられたコンピュータに対して、ポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて、転送エントリを学習する処理と、転送エントリをサーバに送信する処理と、を実行させるプログラムを、非一時的にコンピュータ可読に記録する。
【発明の効果】
【００１８】
本発明に係るサーバ、スイッチ、通信システム、通信方法、及び記録媒体に基づくと、スイッチが保持する転送エントリにおける異常の有無を容易に確認することができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態に係る通信システムの構成を例示する図である。
【図２】第１の実施形態に係る通信システムにおけるサーバ及びスイッチの構成を例示するブロック図である。
【図３】第１の実施形態に係る通信システムにおいて、サーバ及びスイッチが保持する情報を例示する図である。
【図４】第１の実施形態に係る通信システムにおいて、スイッチが有するポートを例示する図である。
【図５】第１の実施形態に係る通信システムにおいて、スイッチ２Ａが保持する情報を例示する図である。
【図６】第１の実施形態に係る通信システムにおいて、スイッチ２Ｂが保持する情報を例示する図である。
【図７】第１の実施形態に係る通信システムにおいて、スイッチ２Ｃが保持する情報を例示する図である。
【図８】第１の実施形態に係る通信システムにおいて、スイッチ２Ｄが保持する情報を例示する図である。
【図９】第１の実施形態に係る通信システムにおいて、スイッチ２Ａが保持する情報を例示する図である。
【図１０】第１の実施形態に係る通信システムの動作を説明するための図である。
【図１１】第２の実施形態に係る通信システムの構成を例示する図である。
【図１２】第２の実施形態に係る通信システムにおけるＯＦＣ（OpenFlow Controller）及びＯＦＳ（OpenFlow Switch）の構成を例示するブロック図である。
【図１３】第２の実施形態に係る通信システムにおいてＯＦＣ及びＯＦＳが保持する情報を例示する図である。
【図１４】サーバの概要構成を示すブロック図である。
【図１５】スイッチの概要構成を示すブロック図である。
【図１６】ハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２０】
はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００２１】
図１は、一実施形態に係る通信システムの構成を例示する図である。また、図２は、通信システムにおけるサーバ１とスイッチ２との構成を例示するブロック図である。
【００２２】
図１及び図２を参照すると、サーバ１は、記憶部１１と、経路生成部１２と、通信部１３と、マッピング部１４とを備えている。記憶部１１は、複数のスイッチ２Ａ〜２Ｄから成るネットワークのトポロジを表すトポロジ情報を保持する。経路生成部１２は、トポロジ情報に基づいてネットワーク上の通信経路（例えば図１０の端末３Ａから端末３Ｂへの通信経路、端末３Ａから端末３Ｃへの通信経路）を示すネットワーク経路情報を生成する。通信部１３は、ネットワークに含まれるスイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいてスイッチ２Ａ〜２Ｄが学習した転送エントリをスイッチ２Ａ〜２Ｄから取得する。スイッチ経路情報は、例えば図５〜図８に示すようなポートの識別子とＶＬＡＮの識別子とを対応づける情報、及びブロッキングポートを示す情報である。転送エントリは、例えば、図５〜図８に示すような宛先ＭＡＣアドレスと出力ポートとを対応づける情報である。マッピング部１４は、取得した転送エントリ及びネットワーク経路情報をトポロジ情報にマッピング（又は対応づけ）する。
【００２３】
ここで、経路生成部１２は、トポロジ情報及びスイッチ経路情報（例えば、図５〜図８のスイッチ経路情報Ａ〜Ｄ）に基づいて、ネットワーク上の通信経路を示すネットワーク経路情報を生成してもよい。また、転送エントリは、スイッチ２Ａ〜２Ｄが、宛先アドレス（例えばＭＡＣ（Media Access Control）アドレス）と出力先のポートとの対応づけを、スイッチ経路情報に基づいて学習したものであってもよい。上記の転送エントリは、例えば、図５〜図８の転送エントリＡ〜Ｄである。上記のスイッチ経路情報は、例えば、図５〜図８のスイッチ経路情報Ａ〜Ｄである。上記の学習は、例えば、スイッチ経路情報に応じたフラッディングツリー（flooding tree）上での学習である。
【００２４】
フラッディングツリーとは、制御メッセージを送信するためのフラッディングに用いるネットワークにおけるツリー構造である。
【００２５】
また、マッピング部１４は、収集した転送エントリとネットワーク経路情報との間に整合性がない（例えば、ネットワーク経路情報が示す通信経路に相当する転送エントリをスイッチが保持していない）場合、ネットワークに異常が生じたものと判定してもよい。さらに、マッピング部１４は、ネットワーク経路情報が示す通信経路を、トポロジ情報が表すネットワークのトポロジとともに（例えば、重ね合わせて）表示してもよい（図１０参照）。通信経路は、例えば、図１０の端末３Ａから端末３Ｂへの通信経路、及び端末３Ａから端末３Ｃへの通信経路である。
【００２６】
一実施形態では、サーバは、トポロジ情報に基づいてネットワーク上の通信経路を示すネットワーク経路情報を生成し、スイッチから取得した転送エントリとネットワーク経路情報とを対応づける。サーバは、例えば、ネットワーク経路情報が示す通信経路に該当する転送エントリをスイッチが保持しているかどうかを確認する。これに基づいて、サーバは、スイッチが保持する転送エントリの妥当性を判断する。したがって、一実施形態に係る通信システムに基づくと、スイッチが保持する転送エントリにおける異常の有無を容易に確認することができる。また、かかる通信システムに基づくと、ネットワークがＵ／Ｃ分離ネットワークである場合には、次の可視化を実現できる。すなわち、かかる通信システムに基づくと、経路制御を基に得られたコントロールプレーン（Ｃプレーン）の経路情報とユーザプレーン（Ｕプレーン）の実際の転送に使われる転送エントリとのギャップ（差分）をネットワークレベルで可視化することができる。
【００２７】
＜実施形態１＞
次に、第１の実施形態に係る通信システムについて図面を参照して説明する。
【００２８】
［構成］
図１は、本実施形態に係る通信システムの構成を例示する図である。図１を参照すると、通信システムは、サーバ１と、スイッチ２Ａ〜２Ｄとを備えている。スイッチ２Ａ〜２Ｄは、リング状に接続されている。また、図１は、それぞれスイッチ２Ａ〜２Ｄに接続された端末３Ａ〜３Ｄを併せて示す。なお、図１に示すサーバ、スイッチ、及び端末の台数及び物理的な接続構成（ネットワークトポロジ、又は、単にトポロジともいう）は、例示にすぎない。本発明は、図示の態様に限定されない。
【００２９】
図２は、本実施形態におけるサーバ１とスイッチ２の構成を例示するブロック図である。以下では、スイッチ２Ａ〜２Ｄを区別する必要がない場合には、これらのスイッチをスイッチ２と総称する。図２を参照すると、サーバ１は、記憶部１１、経路生成部１２、通信部１３、及びマッピング部１４を備えている。一方、スイッチ２は、サーバ１と通信する通信部２１及び記憶部２２を備えている。
【００３０】
図３は、サーバ１の記憶部１１及びスイッチ２の記憶部２２がそれぞれ保持する情報を例示する。サーバ１の記憶部１１は、複数のスイッチ２Ａ〜２Ｄから成るネットワークのトポロジ（例えば、スイッチ２Ａ〜２Ｄ間のリング状の物理的接続構成）を表すトポロジ情報を保持する。さらに、記憶部１１は、ネットワーク経路情報、スイッチ経路情報、及び、転送エントリを記憶する。一方、スイッチ２の記憶部２２は、スイッチ経路情報及び転送エントリを記憶する。ネットワーク経路情報、スイッチ経路情報、及び転送エントリの詳細については後述する。
【００３１】
サーバ１がスイッチ２Ａ〜２Ｄのトポロジ情報（すなわち物理的な接続を示す情報）を収集する方法として、サーバ１は、様々な方法を用いることができる。例えば、ネットワークのオペレータが、トポロジ情報をサーバ１に登録してもよい。また、ルーティングプロトコルとしてＯＳＰＦ（Open Shortest Path First）を用いるネットワークの場合、サーバ１が、ネイバー情報等の論理ネットワーク情報を計算してもよい。さらに、スイッチ２Ａ〜２Ｄが、自身のトポロジ情報をサーバ１に転送してもよい。
【００３２】
ネイバーとは、ＯＳＰＦにおいて、Ｈｅｌｌｏパケットを交換し合ったルータ（近接ルータ、又は、自装置と同じサブネット上のルータ）である。ネイバー情報とは、そのようなルータに関する情報である。
【００３３】
図４は、スイッチ２Ａ〜２Ｄが有するポート、並びに、スイッチ間及びスイッチと端末との接続構成を例示する。図４を参照すると、スイッチ２Ａ〜２Ｄは、それぞれ、ポートａ３〜ｄ３を介して端末３Ａ〜３Ｄと接続されている。一方、スイッチ２Ａとスイッチ２Ｂは、ポートａ１とポートｂ２を介して接続されている。同様に、スイッチ２Ｂとスイッチ２Ｃは、ポートｂ１とポートｃ２を介して接続されている。また、スイッチ２Ｃとスイッチ２Ｄは、ポートｃ１とポートｄ２を介して接続されている。さらに、スイッチ２Ｄとスイッチ２Ａは、ポートｄ１とポートａ２を介して接続されている。
【００３４】
スイッチ２の記憶部２２は、スイッチ経路情報及び転送エントリを保持する。スイッチ経路情報は、ポートが属するブロードキャストドメインを表す。スイッチ２は、ブロードキャストドメインを表すスイッチ経路情報に基づいて転送エントリを学習する。例えば、スイッチ２は、スイッチ経路情報に応じたフラッディングツリー上で、パケットの宛先アドレス（例えばＭＡＣアドレス）と出力先のポートとの対応づけを学習し、学習した対応づけを転送エントリとして保持する。
【００３５】
図５〜図８は、スイッチ２Ａ〜２Ｄの記憶部２２Ａ〜２２Ｄが保持するスイッチ経路情報Ａ〜Ｄ及び転送エントリＡ〜Ｄを例示する。図５を参照すると、スイッチ２Ａは、スイッチ経路情報Ａとして「ポートａ１〜ａ３はＶＬＡＮ  Ｘに属し、ポートａ２はブロッキングポート（blocking port）である」との情報を保持する。また、スイッチ２Ａは、転送エントリＡとして「宛先ＭＡＣアドレスが端末３Ａ、３Ｂ、及び３ＣのＭＡＣアドレスに相当するパケットの出力ポートは、それぞれポートａ３、ａ１、及びａ１である」との情報を保持する。
【００３６】
図６を参照すると、スイッチ２Ｂは、スイッチ経路情報Ｂとして「ポートｂ１〜ｂ３はＶＬＡＮ  Ｘに属し、ポートａ２はブロッキングポートである」との情報を保持する。また、スイッチ２Ｂは、転送エントリＢとして「宛先ＭＡＣアドレスが端末３Ａ、３Ｂ、及び３ＣのＭＡＣアドレスに相当するパケットの出力ポートは、それぞれポートｂ２、ｂ３、及びｂ１である」との情報を保持する。
【００３７】
図７を参照すると、スイッチ２Ｃは、スイッチ経路情報Ｃとして「ポートｃ１〜ｃ３はＶＬＡＮ  Ｘに属し、ポートａ２はブロッキングポートである」との情報を保持する。また、スイッチ２Ｃは、転送エントリＣとして「宛先ＭＡＣアドレスが端末３Ａ、３Ｂ、及び３ＣのＭＡＣアドレスに相当するパケットの出力ポートはそれぞれポートｃ２、ｃ２、及びｃ３である」との情報を保持する。
【００３８】
図８を参照すると、スイッチ２Ｄは、スイッチ経路情報Ｄとして「ポートｄ１〜ｄ３はＶＬＡＮ  Ｘに属し、ポートａ２はブロッキングポートである」との情報を保持している。また、スイッチ２Ｄにおける転送エントリＤは、空である。
【００３９】
スイッチ２Ａ〜２Ｄの通信部２１は、スイッチ２Ａ〜２Ｄの記憶部２２Ａ〜２２Ｄがそれぞれ保持するスイッチ経路情報Ａ〜Ｄ、及び、転送エントリＡ〜Ｄをサーバ１に送信する。
【００４０】
一方、サーバ１の通信部１３は、スイッチ２Ａ〜２Ｄから取得した、スイッチ経路情報Ａ〜Ｄ及び転送エントリＡ〜Ｄ（図５〜図８）を記憶部１１に保持する（図３）。ここで、サーバ１がスイッチ２Ａ〜２Ｄからスイッチ経路情報Ａ〜Ｄと転送エントリＡ〜Ｄを取得する方法として、サーバ１は、次の方法を用いることができる。例えば、サーバ１は、ＳＮＭＰ（Simple Network Management Protocol）を用いて、スイッチ２Ａ〜２Ｄからこれらの情報を取得してもよい。また、サーバ１は、スイッチ２Ａ〜２Ｄにリモートログインし、運用コマンドを用いてこれらの情報を収集してもよい。
【００４１】
サーバ１において、経路生成部１２は、少なくとも記憶部１１が保持するトポロジ情報を用いて、ネットワーク上の通信経路を示すネットワーク経路情報を生成する。なお、経路生成部１２は、トポロジ情報と、スイッチ２Ａ〜２Ｄから取得したスイッチ経路情報Ａ〜Ｄとに基づいて、ネットワーク経路情報を生成してもよい。
【００４２】
マッピング部１４は、転送エントリＡ〜Ｄ及びネットワーク経路情報をトポロジ情報にマッピング（対応づけ）する。例えば、マッピング部１４は、ネットワーク経路情報が示す通信経路に該当する転送エントリが、スイッチ２Ａ〜２Ｄから取得した転送エントリＡ〜Ｄに含まれているかどうかを確認する。すなわち、マッピング部１４は、転送エントリが、スイッチ２Ａ〜２Ｄがスイッチ経路情報Ａ〜Ｄを反映した転送エントリＡ〜Ｄを保持しているかどうかを確認する。また、マッピング部１４は、ネットワーク経路情報が示す通信経路を表す図を、トポロジ情報が示すネットワークの接続構成を表す図に重ね合わせて表示してもよい（図１０参照）。なお、通信経路は、例えば、図１０の端末３Ａから端末３Ｂへの通信経路、又は、端末３Ａから端末３Ｃへの通信経路である。
【００４３】
マッピング部１４は、スイッチ２Ａ〜２Ｄから収集した転送エントリＡ〜Ｄとネットワーク経路情報が示す通信経路との間に整合性がない場合、ネットワークに異常が生じたものと判定してもよい。なお、整合性がない場合とは、スイッチ２Ａ〜２Ｄが、スイッチ経路情報Ａ〜Ｄから想定される転送エントリを保持していない場合である。また、通信部１３は、マッピング部１４がネットワークに異常が生じたものと判定した場合、転送エントリＡ〜Ｄを削除するようにスイッチ２Ａ〜２Ｄに指示してもよい。転送エントリＡ〜Ｄを削除することで、スイッチ２Ａ〜２Ｄは、例えば、ＳＴＰ（Spanning Tree Protocol）で得られる正しい論理的なフラッディングツリーを反映した転送エントリ（ＦＤＢ：Forwarding Database）を再学習する。
【００４４】
［動作］
次に、図１及び図４に示すスイッチ２Ａ〜２Ｄの接続構成（ネットワークトポロジ）と、図５〜図８に示すスイッチ経路情報Ａ〜Ｄが与えられた場合における本実施形態の通信システムの動作について説明する。
【００４５】
まず、サーバ１の通信部１３は、スイッチ２Ａ〜２Ｄからスイッチ経路情報Ａ〜Ｄ及び転送エントリＡ〜Ｄ（図５〜図８）を取得する。
【００４６】
次に、サーバ１の経路生成部１２は、記憶部１１が保持するトポロジ情報とスイッチから取得したスイッチ経路情報Ａ〜Ｄとを参照することで、ネットワーク上の通信経路を示すネットワーク経路情報を生成する。なお、トポロジ情報は、スイッチ２Ａ〜２Ｄのポートが図４に示すようにリング状に接続されていることを示す情報である。具体的には、経路生成部１２は、例えば、端末３ＡがＶＬＡＮ  Ｘの通信を行う場合、ＶＬＡＮ  Ｘの通信がスイッチ２Ａ、スイッチ２Ｂ、スイッチ２Ｃ、及びスイッチ２Ｄをこの順に結ぶ通信経路（フラッディングツリー）上を流れることを把握する。
【００４７】
次に、サーバ１のマッピング部１４は、転送エントリＡ〜Ｄ及びネットワーク経路情報をトポロジ情報に対してマッピング（対応づけ）する。すなわち、サーバ１のマッピング部１４は、ＶＬＡＮ  Ｘのフラッディングツリー上の流れを追跡することを基に、次のことを確認する。すなわち、サーバ１のマッピング部１４は、端末３Ａと端末３Ｂを結ぶ通信経路、及び、端末３Ａと端末３Ｃを結ぶ通信経路に相当する転送エントリが、スイッチ２Ａ〜２Ｄから取得した転送エントリＡ〜Ｄの中に含まれているかどうかを確認する。
【００４８】
図５に示すように、スイッチ２Ａの転送エントリＡには、端末３Ｂ宛の通信はポートａ１へ転送し、端末３Ｃ宛の通信はポートａ１へ転送するというエントリが含まれる。また、図６に示すように、スイッチ２Ｂの転送エントリＢには、端末３Ｂ宛の通信はポートｂ３へ転送し、端末３Ｃ宛の通信はポートｂ１へ転送するというエントリが存在する。さらに、図７に示すように、スイッチ２Ｃの転送エントリＣには、端末３Ｃ宛の通信はポートｃ３へ転送するというエントリが存在する。
【００４９】
したがって、マッピング部１４は、スイッチ２Ａ〜２Ｃが、それぞれ、端末３Ａと端末３Ｂの間の通信経路、及び、端末３Ａと端末３Ｃの間の通信経路に相当する転送エントリを保持していることを確認する。すなわち、マッピング部１４は、スイッチ２Ａ〜２Ｃがスイッチ経路情報Ａ〜Ｄを反映した転送エントリを学習していることを確認する。
【００５０】
また、図１０に示すように、マッピング部１４は、求めた通信経路（すなわち、端末３Ａから端末３Ｂへの通信経路、及び端末３Ａから端末３Ｃへの通信経路）を表す図を、トポロジ情報が示すネットワークの接続構成を表す図とともに表示する。これに基づいて、スイッチに設定されたスイッチ経路情報Ａ〜Ｄとスイッチが学習した転送エントリＡ〜Ｄに相当する通信が、ネットワーク全体のトポロジに対応づけて可視化される。したがって、ユーザは、ネットワーク上に実現された通信を一望でき、所望の通信が実現されていることを視覚的に容易に把握することができる。
【００５１】
次に、ネットワークにおいて何らかの障害が発生し、スイッチ２Ａ〜２Ｄが保持するスイッチ経路情報Ａ〜Ｄと転送エントリＡ〜Ｄとが対応しないケースについて説明する。ここでは、一例として、スイッチ２Ａは、図９に示すスイッチ経路情報Ａを保持し、一方、スイッチ２Ｄには転送エントリＤが存在しないものとする。
【００５２】
このとき、サーバ１の経路生成部１２は、記憶部１１が保持するトポロジ情報とスイッチ２Ａから取得したスイッチ経路情報Ａとを参照することで、例えば次のように判断する。すなわち、サーバ１の経路生成部１２は、端末３ＡがＶＬＡＮ  Ｘの通信を行う場合、ＶＬＡＮ  Ｘの通信はスイッチ２Ａ、及びスイッチ２Ｄの順に結ぶ通信経路（フラッディングツリー）上を流れるものと判断する。しかしながら、スイッチ２Ｄには転送エントリＤが存しないため、マッピング部１４は、ネットワーク上で何らかのトラブルが発生しているものと判定する。
【００５３】
このように、スイッチ経路情報と転送エントリとが矛盾するものとマッピング部１４が判定した場合、通信部１３は、スイッチ２Ａ〜２Ｄに対して転送エントリＡ〜Ｄをクリア（削除）するように指示してもよい。これに基づいて、スイッチ２Ａ〜２Ｄは、転送エントリＡ〜Ｄを再学習して登録することで、スイッチ経路情報Ａ〜Ｄに対応した転送エントリＡ〜Ｄを回復し、ネットワークトラブルを解決することができる。例えば、ＳＴＰ（Spanning Tree Protocol）の通りに転送エントリ（ＦＤＢ：Forwarding Database）においてＭＡＣ学習がされてない場合、転送エントリ（ＦＤＢ）を一度フラッシュすることで、ＳＴＰで期待される通りにＦＤＢの学習が行われることになる。
【００５４】
［効果］
関連技術に基づくと、ネットワークに含まれる各スイッチから転送エントリの情報を取得し、取得した個々の転送エントリを確認する煩雑な作業が要求される。一方、本実施形態では、サーバは、トポロジ情報に基づいてネットワーク上の通信経路を示すネットワーク経路情報を生成し、スイッチから取得した転送エントリとネットワーク経路情報とをトポロジ情報にマッピングする（対応づける）。すなわち、サーバは、ネットワーク経路情報が示す通信経路に該当する転送エントリをスイッチが保持しているかどうかを確認する。これに基づいて、サーバは、スイッチが保持する転送エントリの妥当性を判断することができる。したがって、本実施形態に係る通信システムに基づくと、スイッチが保持する転送エントリにおける異常の有無を容易に確認することができる。また、本実施形態に基づくと、ネットワークのトポロジ情報を有するサーバが転送エントリとネットワーク経路情報とをトポロジ情報にマッピングして表示することで、個々のスイッチにログインすることなくネットワークの状態を視覚的に把握することもできる。
【００５５】
＜実施形態２＞
次に、第２の実施形態に係る通信システムについて図面を参照して説明する。本実施形態では、ネットワークがユーザプレーン（Ｕプレーン）とコントロールプレーン（Ｃプレーン）に分離されたＵ／Ｃ分離ネットワークである場合について説明する。また、Ｕ／Ｃ分離ネットワークを実現するプロトコルとして、一例として、OpenFlow（非特許文献１）を用いた場合について説明する。ただし、本発明において、Ｕ／Ｃ分離ネットワークを実現するプロトコルは、OpenFlowに限定されない。以下、本実施形態と第１の実施形態との差分を中心に説明する。
【００５６】
［構成］
図１１は、本実施形態の通信システムの構成を例示する図である。図１１を参照すると、本実施形態の通信システムは、ＯＦＣ（OpenFlow Controller、オープンフローコントローラ）１０とＯＦＳ（OpenFlow Switch、オープンフロースイッチ）２０Ａ〜２０Ｄとを備えている。ＯＦＳ２０Ａ〜２０Ｄは、リング状に接続されている。また、図１１は、それぞれＯＦＳ２０Ａ〜２０Ｄに接続された端末３Ａ〜３Ｄを併せて示す。なお、図１１に示すＯＦＣ、ＯＦＳ、及び端末の台数及び物理的な接続構成は、例示にすぎない。本発明は、図示の態様に限定されない。
【００５７】
図１２は、本実施形態におけるＯＦＣ１０とＯＦＳ２０との構成を例示するブロック図である。以下では、ＯＦＳ２０Ａ〜２０Ｄを区別する必要がない場合、ＯＦＳ２０Ａ〜２０ＤをＯＦＳ２０と総称する。図１２を参照すると、ＯＦＣ１０は記憶部１１０、経路生成部１２０、通信部１３０、及びマッピング部１４０を備えている。一方、ＯＦＳ２０は、セキュアチャネル（OpenFlowチャネル）を介してＯＦＣ１０と通信する通信部２１０及び記憶部２２０を備えている。
【００５８】
図１３は、ＯＦＣ１０の記憶部１１０及びＯＦＳ２０の記憶部２２０が、それぞれ保持する情報を例示する。ＯＦＣ１０の記憶部１１０は、複数のＯＦＳ２０Ａ〜２０Ｄから成るネットワークのトポロジ（例えば、ＯＦＳ２０Ａ〜２０Ｄ間のリング状の物理的な接続構成）を表すトポロジ情報を保持する。
【００５９】
本実施形態のＯＦＣ１０及びＯＦＳ２０の構成は、それぞれ、第１の実施形態におけるサーバ１及びスイッチ２の構成（図２参照）と同様である。具体的には、本実施形態のＯＦＣ１０の記憶部１１０、経路生成部１２０、通信部１３０及びマッピング部１４０は、それぞれ、第１の実施形態のサーバ１の記憶部１１、経路生成部１２、通信部１３及びマッピング部１４に相当する。同様に、本実施形態のＯＦＳ２０の通信部２１０及び記憶部２２０は、それぞれ、第１の実施形態のスイッチ２の通信部２１及び記憶部２２に相当する。また、ＯＦＳ２０Ａ〜２０Ｄの記憶部２２０は、それぞれ、図５〜図８に示すスイッチ経路情報及び転送エントリを保持する。
【００６０】
本実施形態では、ＯＦＣ１０の通信部１３０は、スイッチ経路情報（図５〜図８参照）をＯＦＳ２０に設定する。また、ＯＦＳ２０の通信部２１０は、スイッチ経路情報（図５〜図８参照）をＯＦＣ１０から取得し、取得したスイッチ経路情報を記憶部２２０に保持する。ＯＦＣ１０とＯＦＳ２０との間におけるスイッチ経路情報及び転送エントリの送受信の際には、本実施形態は、例えば、OpenFlowメッセージを用いることができる。
【００６１】
また、本実施形態は、ＯＦＣ１０がトポロジ情報を収集する方法として、一例として、ＬＬＤＰ（Link Layer Discovery Protocol）を用いて、ＯＦＣ１０とＯＦＳ２０の間でPacket-InメッセージとPacket-Outメッセージをやりとりする方法を採用してもよい。
【００６２】
［動作］
本実施形態の通信システムの動作は、ＯＦＣ１０がＯＦＳ２０にスイッチ経路情報Ａ〜Ｄ（図５〜図８参照）を設定する点を除いて、第１の実施形態と同様である。
【００６３】
［効果］
本実施形態の通信システムに基づくと、第１の実施形態の通信システムと同様の効果がもたらされる。また、本実施形態に基づくと、ネットワークがＵ／Ｃ分離ネットワークである場合、次のことを把握することもできる。すなわち、本実施形態に基づくと、経路制御に基づいて得られたコントロールプレーン（Ｃプレーン）の経路情報とユーザプレーン（Ｕプレーン）において実際の転送に使われる転送エントリとのギャップ（差分）を、ＯＦＣがネットワークレベルで把握できる。さらに、本実施形態に基づくと、Ｕ／Ｃ分離されたネットワークとしてOpenFlowを使用した場合、出力（Egress）側のフローを確認することで、次のことを判別することもできる。すなわち、本実施形態に基づくと、上記の確認を基に、アクセスしたユーザが、どのＯＦＳ配下に存在するのかを把握し、経路情報からＭＡＣアドレスを逆方向に追跡して、アクセス者を判別することもできる。
【００６４】
［概要構成］
サーバ１及びスイッチ２の概要構成について説明する。
図１４は、サーバ１の概要構成を示すブロック図である。
サーバ１は、記憶部１１と、経路生成部１２と、通信部１３と、マッピング部１４とを備える。記憶部１１は、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する。経路生成部１２は、トポロジ情報に基づいてネットワークの上の通信経路を示すネットワーク経路情報を生成する。通信部１３は、ネットワークに含まれるスイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいてスイッチが学習した転送エントリをスイッチから取得する。マッピング部１４は、転送エントリ及びネットワーク経路情報をトポロジ情報にマッピングする。
図１５は、スイッチ２の概要構成を示すブロック図である。
スイッチ２は、通信部２１と、記憶部２２とを備える。通信部２１は、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいてネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信する。記憶部２２は、ポートが属するブロードキャストドメインを表すスイッチ経路情報、及び、スイッチ経路情報に基づいて学習した転送エントリを保持する。
このように構成されたサーバ１及びスイッチ２は、所定の通信システムを構成し、これまで説明したサーバ１及びスイッチ２と同様の効果を奏することができる。その理由は、上記のとおり、サーバ１及びスイッチ２の各構成が、これまでの説明した構成と同様に動作するためである。
なお、図１４に示されているサーバ１、及び、図１５に示されているスイッチ２は、本発明の実施形態における最小構成である。
【００６５】
［ハードウェア構成］
図面を参照し、以上の説明したサーバ１及びスイッチ２のハードウェア構成について説明する。サーバ１及びスイッチ２は、次のように構成される。
例えば、サーバ１及びスイッチ２の各構成部は、ハードウェア回路で構成されてもよい。あるいは、サーバ１及びスイッチ２において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。あるいは、サーバ１及びスイッチ２において、複数の構成部は、１つのハードウェアで構成されてもよい。あるいは、サーバ１及びスイッチ２は、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）とを含むコンピュータ装置として実現されてもよい。サーバ１及びスイッチ２は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Input / Output Circuit）を含むコンピュータ装置として実現されてもよい。あるいは、サーバ１及びスイッチ２は、上記構成に加え、さらに、ネットワークインターフェース回路（ＮＩＣ：Network Interface Circuit）を含むコンピュータ装置として実現されてもよい。
図１６は、サーバ１及び／又はスイッチ２のハードウェア構成の一例である情報処理装置６００の構成を示すブロック図である。
情報処理装置６００は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを含み、コンピュータ装置を構成している。
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図１に示されている、サーバ１又はスイッチ２としての各機能を実現する。具体的には、ＣＰＵ６１０を含むコンピュータは、記憶部１１と、経路生成部１２と、通信部１３と、マッピング部１４としての各機能を実現する。あるいは、ＣＰＵ６１０を含むコンピュータは、通信部２１と、記憶部２２としての各機能を実現する。
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶媒体として使用してもよい。
あるいは、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０に保存して、保存したプログラムを基に動作してもよい。
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Programmable-ROM）又はフラッシュＲＯＭである。
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Dynamic-RAM）である。
内部記憶装置６４０は、情報処理装置６００が長期的に保存するデータ及びプログラムを記憶する。内部記憶装置６４０は、記憶部１１として動作する。あるいは、内部記憶装置６４０は、記憶部２２として動作する。内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作してもよい。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Solid State Drive）又はディスクアレイ装置である。
ここで、ＲＯＭ６２０と内部記憶装置６４０は、不揮発性（non-transitory）の記憶媒体である。一方、ＲＡＭ６３０は、揮発性（transitory）の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Universal Serial Bus）カードである。さらに、ＩＯＣ６５０は、ＵＳＢのような有線に限らず、無線を用いてもよい。
入力機器６６０は、情報処理装置６００の操作者からの入力指示を受け取る機器である。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
表示機器６７０は、情報処理装置６００の操作者に情報を表示する機器である。表示機器６７０は、例えば、液晶ディスプレイである。
ＮＩＣ６８０は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。ＮＩＣ６８０は、通信部１３として動作する。あるいは、ＮＩＣ６８０は、通信部２１として動作する。ＮＩＣ６８０は、例えば、ＬＡＮ（Local Area Network）カードである。さらに、ＮＩＣ６８０は、有線に限らず、無線を用いてもよい。
このように構成された情報処理装置６００は、サーバ１又はスイッチ２と同様の効果を得ることができる。
その理由は、情報処理装置６００のＣＰＵ６１０が、プログラムに基づいてサーバ１又はスイッチ２と同様の機能を実現できるためである。
【００６６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
なお、本発明において、下記の形態が可能である。
（付記１）
［形態１］
上記第１の態様に係るサーバのとおりである。
（付記２）
［形態２］
経路生成手段は、トポロジ情報及びスイッチ経路情報に基づいて、ネットワーク経路情報を生成する、
形態１に記載のサーバ。
（付記３）
［形態３］
転送エントリは、宛先アドレスと出力先のポートとの対応づけを、スイッチがスイッチ経路情報に基づいて学習したものである、
形態１又は２に記載のサーバ。
（付記４）
［形態４］
マッピング手段は、収集した転送エントリとネットワーク経路情報との間に整合性がない場合、ネットワークに異常が生じたものと判定する、
形態１ないし３のいずれか一に記載のサーバ。
（付記５）
［形態５］
通信手段は、マッピング手段がネットワークに異常が生じたものと判定した場合、転送エントリを削除するようにスイッチに指示する、
形態４に記載のサーバ。
（付記６）
［形態６］
通信手段は、転送エントリとともにスイッチ経路情報をスイッチから取得する、
形態１ないし５のいずれか一に記載のサーバ。
（付記７）
［形態７］
ネットワークは、ユーザプレーンとコントロールプレーンとが分離されたＵ／Ｃ分離ネットワークであり、
通信手段は、スイッチ経路情報をスイッチに設定する、
形態１ないし５のいずれか一に記載のサーバ。
（付記８）
［形態８］
上記第２の態様に係るスイッチのとおりである。
（付記９）
［形態９］
記憶手段は、スイッチ経路情報に基づいてスイッチが学習した宛先アドレスと出力先のポートとの対応づけを、転送エントリとして保持する、
形態８に記載のスイッチ。
（付記１０）
［形態１０］
通信手段は、転送エントリとともにスイッチ経路情報をサーバに送信する、
形態８又は９に記載のスイッチ。
（付記１１）
［形態１１］
ネットワークは、ユーザプレーンとコントロールプレーンとが分離されたＵ／Ｃ分離ネットワークであり、
通信手段は、スイッチ経路情報をサーバから取得する、
形態８又は９に記載のスイッチ。
（付記１２）
［形態１２］
上記第３の態様に係る通信システムのとおりである。
（付記１３）
［形態１３］
上記第４の態様に係る通信方法のとおりである。
（付記１４）
［形態１４］
上記第５の態様に係る通信方法のとおりである。
（付記１５）
［形態１５］
上記第６の態様に係るプログラムを記録する記録媒体のとおりである。
（付記１６）
［形態１６］
上記第７の態様に係るプログラムを記録する記録媒体のとおりである。
【００６７】
なお、上記特許文献及び非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組合せ、又は、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値又は小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【００６８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００６９】
この出願は、２０１６年  ６月２９日に出願された日本出願特願２０１６−１２８３５４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００７０】
１    サーバ
２、２Ａ〜２Ｄ    スイッチ
３Ａ〜３Ｄ    端末
ａ１〜ａ３、ｂ１〜ｂ３、ｃ１〜ｃ３、ｄ１〜ｄ４    ポート
１０    ＯＦＣ
１１、１１０    記憶部
１２、１２０    経路生成部
１３、１３０    通信部
１４、１４０    マッピング部
２０、２０Ａ〜２０Ｄ    ＯＦＳ
２１、２１０    通信部
２２、２２Ａ〜２２Ｄ、２２０    記憶部
６００    情報処理装置
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
７００    記憶媒体
【図１】
2018003597.tif 000003
【図２】
2018003597.tif 000004
【図３】
2018003597.tif 000005
【図４】
2018003597.tif 000006
【図５】
2018003597.tif 000007
【図６】
2018003597.tif 000008
【図７】
2018003597.tif 000009
【図８】
2018003597.tif 000010
【図９】
2018003597.tif 000011
【図１０】
2018003597.tif 000012
【図１１】
2018003597.tif 000013
【図１２】
2018003597.tif 000014
【図１３】
2018003597.tif 000015
【図１４】
2018003597.tif 000016
【図１５】
2018003597.tif 000017
【図１６】
2018003597.tif 000018
【手続補正書】
【提出日】平成30年9月13日(2018.9.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する記憶手段と、
前記トポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成する経路生成手段と、
前記ネットワークに含まれる前記スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて前記スイッチが学習した転送エントリを前記スイッチから取得する通信手段と、
前記転送エントリ及び前記ネットワーク経路情報を前記トポロジ情報にマッピングするマッピング手段と、
を備えるサーバ。
【請求項２】
前記経路生成手段は、前記トポロジ情報及び前記スイッチ経路情報に基づいて、前記ネットワーク経路情報を生成する、
請求項１に記載のサーバ。
【請求項３】
前記転送エントリは、宛先アドレスと出力先のポートとの対応づけを、前記スイッチが前記スイッチ経路情報に基づいて学習したものである、
請求項１又は２に記載のサーバ。
【請求項４】
前記マッピング手段は、収集した前記転送エントリと前記ネットワーク経路情報との間に整合性がない場合、前記ネットワークに異常が生じたものと判定する、
請求項１ないし３のいずれか１項に記載のサーバ。
【請求項５】
ネットワークを構成するスイッチであって、
前記ネットワークのトポロジを表すトポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信する通信手段と、
ポートが属するブロードキャストドメインを表すスイッチ経路情報、及び、前記スイッチ経路情報に基づいて学習した転送エントリを保持する記憶手段と、を備え、
前記通信手段は、前記転送エントリを前記サーバに送信する、
スイッチ。
【請求項６】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持し、前記トポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと、
前記ネットワークに含まれる前記スイッチであって、前記スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて転送エントリを学習する前記スイッチと、を備え、
前記サーバは、前記転送エントリを前記スイッチから取得し、取得した前記転送エントリ及び前記ネットワーク経路情報を前記トポロジ情報にマッピングする、
通信システム。
【請求項７】
サーバが、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持し、
前記トポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成し、
前記ネットワークに含まれる前記スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて前記スイッチが学習した転送エントリを前記スイッチから取得し、
前記転送エントリ及び前記ネットワーク経路情報を前記トポロジ情報にマッピングする
通信方法。
【請求項８】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信するスイッチが、
ポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて、転送エントリを学習し、
前記転送エントリを前記サーバに送信する
通信方法。
【請求項９】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する処理と、
前記トポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成する処理と、
前記ネットワークに含まれる前記スイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて前記スイッチが学習した転送エントリを前記スイッチから取得する処理と、
前記転送エントリ及び前記ネットワーク経路情報を前記トポロジ情報にマッピングする処理と、
をコンピュータに実行させるプログラム。
【請求項１０】
複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいて前記ネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信するスイッチに設けられたコンピュータに対して、
ポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて、転送エントリを学習する処理と、
前記転送エントリを前記サーバに送信する処理と、を実行させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、サーバ、スイッチ、通信システム、通信方法、及びプログラムに関し、特にＵ／Ｃ（Control/User）分離ネットワークにおけるサーバ、スイッチ、通信システム、通信方法、及びプログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
そこで、スイッチが保持する転送エントリにおける異常の有無を容易に確認できるようにすることが課題となる。本発明の目的は、かかる課題解決に寄与するサーバ、スイッチ、通信システム、通信方法、及びプログラムを提供することにある。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
本発明の第６の態様に係るプログラムは、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報を保持する処理と、トポロジ情報に基づいてネットワーク上の通信経路を示すネットワーク経路情報を生成する処理と、ネットワークに含まれるスイッチのポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいてスイッチが学習した転送エントリをスイッチから取得する処理と、転送エントリ及びネットワーク経路情報をトポロジ情報にマッピングする処理とをコンピュータに実行させる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
本発明の第７の態様に係るプログラムは、複数のスイッチから成るネットワークのトポロジを表すトポロジ情報に基づいてネットワークの上の通信経路を示すネットワーク経路情報を生成するサーバと通信するスイッチに設けられたコンピュータに対して、ポートが属するブロードキャストドメインを表すスイッチ経路情報に基づいて、転送エントリを学習する処理と、転送エントリをサーバに送信する処理と、を実行させる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明に係るサーバ、スイッチ、通信システム、通信方法、及びプログラムに基づくと、スイッチが保持する転送エントリにおける異常の有無を容易に確認することができる。
【国際調査報告】
2018003597.tif 000019
2018003597.tif 000020
2018003597.tif 000021
2018003597.tif 000022