JP2015012317A - 経路特定装置、経路特定方法、及びプログラム - Google Patents

経路特定装置、経路特定方法、及びプログラム Download PDF

Info

Publication number
JP2015012317A
JP2015012317A JP2013133870A JP2013133870A JP2015012317A JP 2015012317 A JP2015012317 A JP 2015012317A JP 2013133870 A JP2013133870 A JP 2013133870A JP 2013133870 A JP2013133870 A JP 2013133870A JP 2015012317 A JP2015012317 A JP 2015012317A
Authority
JP
Japan
Prior art keywords
route
virtual
physical
path
communication device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013133870A
Other languages
English (en)
Inventor
貴裕 下反
Takahiro Shimosori
貴裕 下反
裕子 猪川
Hiroko Inokawa
裕子 猪川
石田 淳
Atsushi Ishida
淳 石田
健吾 河嶋
Kengo Kawashima
健吾 河嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013133870A priority Critical patent/JP2015012317A/ja
Publication of JP2015012317A publication Critical patent/JP2015012317A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】仮想通信装置と物理通信装置とを有するネットワークにおいても、経路の特定を行うことができる
【解決手段】仮想経路特定部104が、フローテーブルに基づいて経路の探索対象となる2つの機器を接続する仮想経路を特定し、L3経路特定部106が、仮想経路において隣接する2つのL3装置の間の経路を探索するtracerouteコマンドを発行することで、2つの仮想通信装置を接続する物理経路を特定する。
【選択図】図2

Description

本発明は、サーバ仮想化技術と、L3、L2レイヤネットワークを含む仮想ネットワーク技術が導入された環境において、複数レイヤを跨いだノード間通信経路取得手法に関する。
ネットワークにおいて、2つの機器を接続する経路を特定する技術は、ネットワークの正常性確認や故障発生個所の特定のために必要とされている(例えば、特許文献1、特許文献2、特許文献3を参照)。
特許文献1には、L2レイヤのパス経路を特定する技術が開示されている。また、特許文献2には、監視対象のネットワークを流れるパケットに含まれる情報に基づいて、パケットが疎通する経路を推定し、ネットワークの各経路についてパケットの疎通の有無を判断する技術が開示されている。また、特許文献3には、監視対象のネットワークにおける経路の情報と、ネットワークの構成要素に生じるイベントの通知との関連性を分析する技術が開示されている。
システムを構成するコンピュータのリソースを有効に活用するため、サーバ仮想化技術やネットワーク仮想化技術が導入されている。
特開2010−171756号公報 特開2011−019001号公報 特開2007−235897号公報
しかしながら、ネットワーク仮想化技術が導入された仮想ネットワークを構成する仮想通信装置は、物理ネットワークにおいて経路探索に用いていたtracerouteやlinktraceなどの経路調査コマンドを用いた経路構成装置の情報を取得することができないため、特許文献1〜3に示すような経路の特定をすることができないという問題がある。
本発明の目的は、上述した課題を解決する経路特定装置、経路特定方法、及びプログラムを提供することにある。
本発明の第1の態様は、パケットの条件と当該条件を満たすパケットの処理内容とを関連付けたテーブルに従ってパケットを処理する仮想通信装置と、2つの機器の間の経路を調査する経路調査コマンドを受け付ける物理通信装置とを有するネットワークにおいて経路の特定を行う経路特定装置であって、前記テーブルに基づいて経路の探索対象となる2つの機器を接続する仮想通信装置からなる経路である仮想経路を特定する仮想経路特定部と、前記仮想経路特定部が特定した仮想経路において隣接する2つの前記仮想通信装置の第1の仮想通信装置から第2の仮想通信装置へ経路調査コマンドを発行することで、前記第1の仮想通信装置と前記第2の仮想通信装置を接続する物理通信装置からなる経路である物理経路を特定する物理経路特定部とを備えることを特徴とする経路特定装置である。
また、本発明の第2の態様によれば、本発明の第1の態様において、前記物理経路特定部は、前記物理経路において隣接する2つの物理通信装置の第1の物理通信装置から第2の物理通信装置へ経路調査コマンドを発行することで、前記第1の物理通信装置と前記第2の物理通信装置の間の物理経路を特定することを特徴としても良い。
また、本発明の第3の態様によれば、本発明の第1または第2の態様において、前記仮想経路特定部は、前記2つの機器のうち第1の機器から第2の機器へ向かう仮想経路と、前記第2の機器から前記第1の機器へ向かう仮想経路を特定することを特徴としても良い。
また、本発明の第4の態様によれば、本発明の第1から第3の何れかの態様において、前記仮想通信装置の識別情報を前記仮想経路をパケットが通過する順に格納する仮想経路リストを生成する仮想経路リスト生成部と、前記物理通信装置の識別情報を前記物理経路をパケットが通過する順に格納する物理経路リストを生成する物理経路リスト生成部と、前記仮想経路リストに格納された仮想通信装置の識別情報を前記仮想経路をパケットが通過する順に読み出し、読み出した仮想通信装置が前記物理経路リストに始点として格納されていない場合は、当該仮想通信装置の識別情報を出力し、読み出した仮想通信装置が前記物理経路リストに始点として格納されている場合は、当該仮想通信装置を始点とする物理経路リストに格納された物理通信装置の識別情報を前記物理経路をパケットが通過する順に出力する経路出力部とを備えることを特徴としても良い。
また、本発明の第5の態様によれば、本発明の第1から第4の何れかの態様において、前記物理経路特定部は、前記第1の仮想通信装置から前記第2の仮想通信装置へ経路調査コマンドを発行したときに、当該物理経路の一部を特定できない場合、前記第2の仮想通信装置から前記第1の仮想通信装置へ経路調査コマンドを発行して、残りの前記物理経路を特定することを特徴としても良い。
また、本発明の第6の態様によれば、本発明の第4の態様において、前記物理経路特定部は、前記第1の仮想通信装置から前記第2の仮想通信装置へ向かう物理経路を調査する第1の経路調査コマンドを発行したときに、当該物理経路の一部を特定できない場合、前記第2の仮想通信装置から前記第1の仮想通信装置へ向かう物理経路を調査する第2の経路調査コマンドを発行して残りの前記物理経路を特定し、前記物理経路リスト生成部は、前記第1の経路調査コマンドにより特定した物理経路を、当該第1の経路調査コマンドによって発行されるパケットが通過した順に前記物理経路リストに格納し、前記第2の経路調査コマンドにより特定した物理経路を、当該第2の経路調査コマンドによって発行されるパケットが通過した順の逆順に前記物理経路リストに格納することを特徴としても良い。
また、本発明の第7の態様によれば、本発明の第6の態様において、前記物理経路リスト生成部は、前記物理経路リストの、前記第1の経路調査コマンドにより特定した物理経路と前記第2の経路調査コマンドにより特定した物理経路との間に、障害を示す情報を格納することを特徴としても良い。
また、本発明の第8の態様は、パケットの条件と当該条件を満たすパケットの処理内容とを関連付けたテーブルに従ってパケットを処理する仮想通信装置と、2つの機器の間の経路を調査する経路調査コマンドを受け付ける物理通信装置とを有するネットワークにおける経路特定方法であって、前記テーブルに基づいて経路の探索対象となる2つの機器を接続する仮想通信装置からなる経路である仮想経路を特定するステップと、前記仮想経路において隣接する2つの前記仮想通信装置の第1の仮想通信装置から第2の仮想通信装置へ経路調査コマンドを発行することで、前記第1の仮想通信装置と前記第2の仮想通信装置を接続する物理通信装置からなる経路である物理経路を特定するステップとを有することを特徴とする経路特定方法である。
また、本発明の第9の態様は、パケットの条件と当該条件を満たすパケットの処理内容とを関連付けたテーブルに従ってパケットを処理する仮想通信装置と、2つの機器の間の経路を調査する経路調査コマンドを受け付ける物理通信装置とを有するネットワークに接続されるコンピュータを、前記テーブルに基づいて経路の探索対象となる2つの機器を接続する仮想通信装置からなる経路である仮想経路を特定する仮想経路特定部、前記仮想経路特定部が特定した仮想経路において隣接する2つの前記仮想通信装置の第1の仮想通信装置から第2の仮想通信装置へ経路調査コマンドを発行することで、前記第1の仮想通信装置と前記第2の仮想通信装置を接続する物理通信装置からなる経路である物理経路を特定する物理経路特定部として機能させるためのプログラムである。
本発明によれば、仮想通信装置と物理通信装置とを有するネットワークにおいて経路の特定を行うことができる。
経路特定対象となるネットワークを含む通信システムの構成の一例を示す概略図である。 一実施形態に係る経路特定装置の構成を示す概略ブロック図である。 マスタ記憶部が記憶する情報の例を示す図である。 ノード間接続リストの例を示す図である。 仮想経路リストの例を示す図である。 L3経路リストの例を示す図である。 L2経路リストの例を示す図である。 一実施形態に係る経路特定装置の概略動作を示すフローチャートである。 仮想マシン特定処理における経路特定装置の動作を示すフローチャートである。 仮想経路特定処理における経路特定装置の動作を示すフローチャートである。 L3経路特定処理における経路特定装置の動作を示すフローチャートである。 L2経路特定処理における経路特定装置の動作を示すフローチャートである。 経路情報生成処理における経路特定装置の動作を示すフローチャートである。 保守端末が表示する経路情報の例を示す図である。
以下、図面を参照しながら本発明に関連する実施形態について詳しく説明する。
図1は、経路特定対象となるネットワークを含む通信システム1の構成の一例を示す概略図である。
通信システム1は、L2装置2−1〜2−LやL3装置3−2〜3−Mなどの複数の物理通信装置、複数の仮想化装置4−1〜4−N、仮想ネットワークコントローラ5、経路特定装置6、保守端末7を備える。なお、以降L2装置2−1〜2−Lを総称してL2装置2といい、L3装置3−2〜3−Mを総称してL3装置3といい、仮想化装置4−1〜4−Nを総称して仮想化装置4という。
ここで、L3とは、OSI参照モデルの第3層(Layer 3)であるネットワーク層を示し、L3装置3の例としては、L3スイッチやルータなどが挙げられる。また、L2とは、OSI参照モデルの第2層(Layer 2)であるデータリンク層を示し、L2装置2の例としては、L2スイッチやブリッジなどが挙げられる。L2装置2は、例えば、イーサネット(登録商標)などのL2プロトコルを用いて通信の制御を行う。また、L3装置3は、L2プロトコルに加え、IP(Internet Protocol)などのL3プロトコルを用いて通信の制御を行う。
仮想化装置4は、所定のプログラムを実行することにより、仮想スイッチVSW(VSW:Virtual Switch)を備える。また、仮想化装置4は、仮想スイッチVSWに加えて仮想マシンVM(VM:Virtual Machine)を備えていても良い。なお、L2装置2、L3装置3及び仮想スイッチVSWは、それぞれ経路特定装置6による経路特定対象となるネットワークであるサービス網を構築する。また、仮想スイッチVSW間は、GRE(Generic Routing Encapsulation)トンネルにより接続されており、その設定情報は仮想化装置4に保持されている。
仮想ネットワークコントローラ5は、仮想スイッチVSWのルーティング設定を格納するフローテーブルを記憶する。なお、仮想化装置4が備える仮想スイッチVSWは、仮想ネットワークコントローラ5からフローテーブルを取得し、当該フローテーブルに従ってパケットの中継処理を行う。つまり、仮想化装置4は、仮想通信装置の一例であって良い。なお、仮想化装置4は、L2プロトコル、L3プロトコルに加え、仮想ネットワークに係るプロトコルを用いて通信の制御を行う。また、仮想マシンVM及び仮想スイッチVSWは、仮想ネットワークに係るプロトコルに基づいて通信を行う。仮想ネットワークに係るプロトコルの例としては、オープンフロープロトコルなどが挙げられる。
経路特定装置6は、任意の2つの仮想マシンVMの間を接続するサービス網上の経路を特定する。
保守端末7は、経路特定装置6のユーザインタフェースを備える。具体的には、保守端末7は、経路特定対象となる2つの仮想マシンVMの情報の入力を受け付け、経路特定装置6に出力する。また、経路特定装置6から特定した経路を示す経路情報の入力を受け付け、ディスプレイに表示することで保守者に提示する。
なお、仮想ネットワークコントローラ5、経路特定装置6及び保守端末7は、サービス網とは別に設けられた保守網を介して、L2装置2、L3装置3及び仮想化装置4と接続される。
図2は、一実施形態に係る経路特定装置6の構成を示す概略ブロック図である。
経路特定装置6は、マスタ記憶部101、通信部102、仮想マシン情報特定部103、仮想経路特定部104、仮想経路リスト生成部105、L3経路特定部106、L3経路リスト生成部107、L2経路特定部108、L2経路リスト生成部109、経路リスト記憶部110、経路出力部111を備える。なお、L3経路特定部106及びL2経路特定部108は、物理経路特定部の一例であって良い。また、L3経路リスト生成部107及びL2経路リスト生成部109は、物理経路リスト生成部の一例であって良い。
図3は、マスタ記憶部101が記憶する情報の例を示す図である。
マスタ記憶部101は、仮想マシン情報テーブル、仮想化装置情報テーブル、仮想スイッチ情報テーブル、L3装置情報テーブル、L2装置情報テーブル、IF(Interface)情報テーブル、IF−装置関連情報テーブル、を記憶する。
仮想マシン情報テーブルは、仮想マシンVMのホスト名、保守網のIPアドレス、SSH(Secure Shell)キー、名称を関連付けて格納する。
仮想化装置情報テーブルは、仮想化装置4のホスト名と保守網のIPアドレスを関連付けて格納する。
仮想スイッチ情報テーブルは、仮想スイッチVSWのホスト名と保守網のIPアドレスを関連付けて格納する。
L3装置情報テーブルは、L3装置3のホスト名と保守網のIPアドレスを関連付けて格納する。
L2装置情報テーブルは、L2装置2のホスト名と保守網のIPアドレスを関連付けて格納する。
IF情報テーブルは、仮想NIC(Network Interface Card)や物理NICなどのネットワークインタフェースのID(Identification)、サービス網のIPアドレス、MAC(Media Access Control)アドレス、VLAN(Virtual Local Area Network)ID、トンネルIDを関連付けて格納する。
IF−装置関連情報テーブルは、各種装置のホスト名と当該装置に所属するネットワークインタフェースのIDとを関連付けて格納する。なお、各種装置とネットワークインタフェースは一対一に対応して設けられる。
通信部102は、サービス網または保守網を介して他の装置と通信を行う。
仮想マシン情報特定部103は、通信部102を介して保守端末7から経路特定対象となる2つの仮想マシンVMのサービス網のIPアドレスの入力を受け付け、当該2つの仮想マシンVMの一方を送信元とし、他方を送信先とする情報を格納するノード間接続リストを生成する。このとき、仮想マシン情報特定部103は、2つの仮想マシンVMのうち第1の仮想マシンVMから第2の仮想マシンVMへ向かう経路(以下、往路という)と、第2の仮想マシンVMから第1の仮想マシンVMへ向かう経路(以下、復路という)のそれぞれについて、ノード間接続リストを生成する。なお、当該2つの仮想マシンVMは、2つの機器の一例であって良い。なお、本実施形態では、仮想マシン情報特定部103が2つの仮想マシンVMのIPアドレスの入力を受け付ける場合について説明するが、仮想マシンVMを特定する情報であれば、IPアドレス以外の情報の入力を受け付けても良い。例えば、仮想マシン情報特定部103は、MACアドレスやホスト名の入力を受け付けても良い。
図4は、ノード間接続リストの例を示す図である。
ノード間接続リストは、往路と復路とのそれぞれの経路について、当該経路の識別番号である経路番号、当該経路の始点、当該経路の終点、及び当該経路が導通するか否かを示すステータスを関連付けたリストである。
仮想経路特定部104は、通信部102を介して仮想ネットワークコントローラ5からフローテーブルを取得し、当該フローテーブルに基づいて、仮想マシン情報特定部103が入力を受け付けた情報が示す仮想マシンVMを接続する、仮想マシンVMと仮想スイッチVSW、または隣接する2つの仮想スイッチVSWからなる経路である仮想経路を往路及び復路について特定する。
仮想経路リスト生成部105は、仮想経路特定部104が特定した仮想経路を、パケットが通過する順に格納する仮想経路リストを生成する。
図5は、仮想経路リストの例を示す図である。
仮想経路リストは、仮想経路ごとに、当該仮想経路の識別番号である仮想経路番号、当該仮想経路が属する経路を示す経路番号、当該仮想経路の始点、当該仮想経路の終点、及び当該仮想経路が導通するか否かを示すステータスを関連付けたリストである。
L3経路特定部106は、tracerouteコマンドを用いて、仮想経路特定部104が特定した仮想経路において隣接する2つの仮想スイッチVSWについて、当該仮想スイッチVSWを備える仮想化装置4間をL3プロトコルで接続する、仮想化装置4とL3装置3、または隣接する2つのL3装置3からなる経路であるL3経路を特定する。なお、tracerouteコマンドは、経路調査コマンドの一例であって良い。また、L3経路は、物理経路の一例であって良い。
L3経路リスト生成部107は、L3経路特定部106が特定したL3経路を、パケットが通過する順に格納するL3経路リストを生成する。なお、L3経路リストは、物理経路リストの一例であって良い。
図6は、L3経路リストの例を示す図である。
L3経路リストは、L3経路ごとに、当該L3経路の識別番号であるL3経路番号、当該L3経路が属する仮想経路を示す仮想経路番号、当該L3経路の始点、当該L3経路の終点、及び当該L3経路が導通するか否かを示すステータスを関連付けたリストである。
L2経路特定部108は、linktraceコマンドを用いて、L3経路特定部106が特定したL3経路において隣接する2つの装置の間をL2プロトコルで接続する、隣接する2つの装置からなる経路であるL2経路を特定する。なお、linktraceコマンドは、経路調査コマンドの一例であって良い。また、L2経路は、物理経路の一例であって良い。
L2経路リスト生成部109は、L2経路特定部108が特定したL2経路を、パケットが通過する順に格納するL2経路リストを生成する。なお、L2経路リストは、物理経路リストの一例であって良い。
図7は、L2経路リストの例を示す図である。
L2経路リストは、L2経路ごとに、当該L2経路の識別番号であるL2経路番号、当該L2経路が属するL3経路を示すL3経路番号、当該L2経路の始点、当該L2経路の終点、及び当該L2経路が導通するか否かを示すステータスを関連付けたリストである。
経路リスト記憶部110は、ノード間接続リスト、仮想経路リスト、L3経路リスト、及びL2経路リストを記憶する。
経路出力部111は、経路リスト記憶部110が記憶するリストに基づいて、2つの仮想マシンVMの間を接続する往路及び復路についての経路を示す経路情報を、通信部102を介して保守端末7に出力する。
次に、本実施形態に係る経路特定装置6を用いた経路特定方法について説明する。
図8は、一実施形態に係る経路特定装置6の概略動作を示すフローチャートである。
まず、経路特定装置6は、保守端末7から経路探索対象となる2つの仮想マシンVMの情報の入力を受け付け、往路及び復路のノード間接続リストを生成する仮想マシン特定処理を実行する(ステップS1)。次に、経路特定装置6は、2つの仮想マシンVMの間を接続する仮想経路を特定し、仮想経路リストを生成する仮想経路特定処理を実行する(ステップS2)。次に、経路特定装置6は、特定した仮想経路において隣接する2つの仮想スイッチVSWの間を接続するL3経路を特定し、L3経路リストを生成するL3経路特定処理を実行する(ステップS3)。次に、経路特定装置6は、特定したL3経路において隣接する2つのL3装置3の間を接続するL2経路を特定し、L2経路リストを生成するL2経路特定処理を実行する(ステップS4)。そして、経路特定装置6は、生成したリストに基づいて、2つの仮想マシンVMを接続する経路を示す経路情報を生成し、保守端末7に出力する経路情報生成処理を実行する(ステップS5)。
次に、上述したステップS1の仮想マシン特定処理について説明する。
図9は、仮想マシン特定処理における経路特定装置6の動作を示すフローチャートである。
まず、仮想マシン情報特定部103は、保守端末7から保守者が入力した経路特定対象となる第1の仮想マシンVM及び第2の仮想マシンVMのサービス網のIPアドレスの入力を受け付ける(ステップS101)。次に、仮想マシン情報特定部103は、マスタ記憶部101のIF情報テーブルから入力を受け付けたサービス網のIPアドレスに関連付けられたインターフェースIDを特定し、IF−装置関連情報テーブルから当該インターフェースIDに関連付けられたホスト名を特定する(ステップS102)。そして、仮想マシン情報特定部103は、特定したホスト名を用いて、始点を第1の仮想マシンVMとして終点を第2の仮想マシンVMとする往路のノード間接続リストと、始点を第2の仮想マシンVMとして終点を第1の仮想マシンVMとする復路のノード間接続リストとを生成する(ステップS103)。そして、仮想マシン情報特定部103は、生成したノード間接続リストを経路リスト記憶部110に記録し(ステップS104)、仮想マシン特定処理を終了する。
例えば、第1の仮想マシンVMのホスト名が「VM_1」であり、第1の仮想マシンVMのホスト名が「VM_2」である場合、仮想マシン情報特定部103は、図4に示すように、経路番号が「1」、始点が「VM_1」、終点が「VM_2」を示す往路を示すノード間接続リストと、経路番号が「2」、始点が「VM_2」、終点が「VM_1」を示す復路を示すノード間接続リストとを生成する。
次に、上述したステップS2の仮想経路特定処理について説明する。
図10は、仮想経路特定処理における経路特定装置6の動作を示すフローチャートである。
まず、仮想経路特定部104は、通信部102を介して仮想ネットワークコントローラ5からフローテーブルを取得する(ステップS201)。フローテーブルは、フローごとに、当該フローに該当するパケットの条件を示すヘッダフィールド、当該フローに該当するパケットの処理内容及び出力先のポート番号の指定を示すアクション、当該フローに該当するパケットの統計情報の取得設定を示す統計情報を、格納する。
次に、仮想経路特定部104は、経路リスト記憶部110が記憶するノード間接続リストから経路番号の順にノード間接続情報を1つずつ選択し、選択したノード間接続情報について、以下に示すステップS203〜211の処理を実行する(ステップS202)。
まず、仮想経路特定部104は、選択したノード間接続情報の始点の仮想マシンVMから終点の仮想マシンVMへ送信するパケットが該当するフローを、フローテーブルに基づいて特定する(ステップS203)。具体的には、フローテーブルに基づいて、始点の仮想マシンVMのIPアドレスを送信元(src)とし、終点の仮想マシンVMのIPアドレスを送信先(dst)とするフローを抽出する。これにより、始点の仮想マシンVMに隣接する仮想スイッチVSWのフローを特定することができる。なお、始点の仮想マシンVMと当該仮想マシンVMに隣接する仮想スイッチVSWは、同一の仮想化装置4に備えられる。
次に、仮想経路特定部104は、特定したフローのアクションが示す出力先のポート番号を特定する。次に、仮想経路特定部104は、通信部102を介して、ステップS203で特定したフローの仮想スイッチVSWが動作する仮想化装置4からGREトンネルの設定情報を取得し、当該設定情報から特定したポート番号に関連付けられたGREトンネルを特定する。そして、仮想経路特定部104は、特定したGREトンネルからローカルIPアドレス及びリモートIPアドレスを取得する(ステップS204)。なお、GREトンネルが示すローカルIPアドレス及びリモートIPアドレスは、仮想化装置4の物理IPアドレスを示す。
このとき、仮想経路リスト生成部105は、当該GREトンネルが示す仮想経路を示すエントリを、仮想経路リストに追加する。具体的には、仮想経路リスト生成部105は、新たなエントリの経路番号をステップS202で特定したノード間接続リストの経路番号とする。また、仮想経路リスト生成部105は、新たなエントリの仮想経路番号を「1」とする。仮想経路リスト生成部105は、新たなエントリの始点を、ステップS202で特定したノード間接続リストの始点の仮想マシンVMのホスト名とする。また、仮想経路リスト生成部105は、新たなエントリの終点を、ステップS204で特定したローカルIPアドレスが示す仮想化装置4が備える仮想スイッチVSWのホスト名とする。
次に、仮想経路特定部104は、終点の仮想マシンVMについて、上述したステップS203、S204の処理を実行し、終点の仮想マシンVMに隣接する仮想スイッチVSWのフローが示すGREトンネルが示すローカルIPアドレスを特定することで、終点の仮想マシンVMを備える仮想化装置4のIPアドレスを特定する(ステップS205)。
次に、仮想経路特定部104は、ステップS204で特定したリモートIPアドレスとステップS205で特定した終点の仮想マシンVMを備える仮想化装置4のIPアドレスとが一致するか否かを判定する(ステップS206)。
仮想経路特定部104は、始点のGREトンネルのリモートIPアドレスと終点の仮想マシンVMを備える仮想化装置4のIPアドレスとが一致しないと判定した場合(ステップS206:NO)、ステップS204で特定したローカルIPアドレスを送信元とし、第2の仮想マシンVMのIPアドレスを送信先とするフローを、フローテーブルに基づいて特定する(ステップS207)。なお、ステップS204で特定したローカルIPアドレスは、始点の仮想マシンVMを備える仮想化装置4のIPアドレスを示す。
次に、仮想経路特定部104は、特定したフローのアクションが示す出力先のポート番号を特定する。次に、仮想経路特定部104は、通信部102を介して、ステップS207で特定したフローの仮想スイッチVSWが動作する仮想化装置4からGREトンネルの設定情報を取得し、当該設定情報から特定したポート番号に関連付けられたGREトンネルを特定する。そして、仮想経路特定部104は、特定したGREトンネルからローカルIPアドレス及びリモートIPアドレスを取得する(ステップS208)。
このとき、仮想経路リスト生成部105は、当該GREトンネルが示す仮想経路を示すエントリを、仮想経路リストに追加する。具体的には、仮想経路リスト生成部105は、新たなエントリの経路番号をステップS202で特定したノード間接続リストの経路番号とする。また、仮想経路リスト生成部105は、新たなエントリの仮想経路番号を、仮想経路リストの最後のエントリの仮想経路番号に1を加算した値とする。また、仮想経路リスト生成部105は、新たなエントリの始点を、ステップS208で特定したローカルIPアドレスが示す仮想化装置4が備える仮想スイッチVSWのホスト名とする。また、仮想経路リスト生成部105は、新たなエントリの終点をステップS208で特定したリモートIPアドレスが示す仮想化装置4が備える仮想スイッチVSWのホスト名とする。
次に、仮想経路特定部104は、ステップS208で特定したリモートIPアドレスとステップS205で特定した終点の仮想マシンVMを備える仮想化装置4のIPアドレスとが一致するか否かを判定する(ステップS209)。
仮想経路特定部104は、GREトンネルのリモートIPアドレスと終点の仮想マシンVMを備える仮想化装置4のIPアドレスとが一致しないと判定した場合(ステップS209:NO)、ステップS207に戻り、さらに隣接する仮想化装置4を特定する。
他方、ステップS206またはステップS209において、リモートIPアドレスと終点の仮想マシンVMを備える仮想化装置4のIPアドレスとが一致すると判定した場合(ステップS206:YES/ステップS209:YES)、仮想経路リスト生成部105は、当該GREトンネルが示す仮想経路を示すエントリを、仮想経路リストに追加し、生成した仮想経路リストを経路リスト記憶部110に記録する(ステップS210)。具体的には、仮想経路リスト生成部105は、新たなエントリの経路番号をステップS202で特定したノード間接続リストの経路番号とする。また、仮想経路リスト生成部105は、新たなエントリの仮想経路番号を、仮想経路リストの最後のエントリの仮想経路番号に1を加算した値とする。また、仮想経路リスト生成部105は、新たなエントリの始点を、GREトンネルのローカルIPアドレスが示す仮想化装置4が備える仮想スイッチVSWのホスト名とする。また、仮想経路リスト生成部105は、新たなエントリの終点をステップS202で特定したノード間接続リストの終点の仮想マシンVMのホスト名とする。
上述したステップS203〜ステップS210の処理を、ノード間接続情報の往路と復路のそれぞれについて実行すると、仮想経路特定部104は、仮想経路特定処理を終了する。これにより、経路リスト記憶部110には、仮想マシンVMの間を接続する仮想化装置4からなる仮想経路の情報を示す仮想経路リストが記録される。仮想化装置4は、L3プロトコル及びL2プロトコルを用いて通信を制御するため、経路調査コマンドを用いた物理経路の特定を行うことができる。
次に、上述したステップS3のL3経路特定処理について説明する。
図11は、L3経路特定処理における経路特定装置6の動作を示すフローチャートである。
まず、L3経路特定部106は、経路リスト記憶部110が記憶する仮想経路リストから仮想経路番号の順に仮想経路を1つずつ選択し、選択した仮想経路情報について、以下に示すステップS302〜S310の処理を実行する(ステップS301)。
まず、L3経路特定部106は、選択した仮想経路情報の始点の装置及び終点の装置が仮想化装置4であるか否かを判定する(ステップS302)。L3経路特定部106は、選択した仮想経路情報の始点の装置または終点の装置の少なくとも一方が仮想マシンVMであると判定した場合(ステップS302:NO)、ステップS301に戻り、次の仮想経路を選択する。
他方、L3経路特定部106は、選択した仮想経路情報の始点の装置及び終点の装置がいずれも仮想化装置4であると判定した場合(ステップS302:YES)、始点の仮想化装置4から終点の仮想化装置4へtracerouteコマンドを発行する(ステップS303)。具体的には、L3経路特定部106は、始点の仮想化装置4の保守網側のIPアドレスから、通信部102を介してSSHによりリモート接続を行い、SSHを介してtracerouteコマンドを実行させる。これにより、L3経路特定部106は、始点の仮想化装置4と終点の仮想化装置4との間のL3経路を構成するL3装置3のIPアドレスを取得することができる。
次に、L3経路リスト生成部107は、ステップS303のtracerouteコマンドの結果として得られたL3装置3のIPアドレスに基づいて、L3経路リストを生成する(ステップS304)。具体的には、以下の手順で生成する。
まず、L3経路リスト生成部107は、L3経路リストに、次に示す情報を格納した新たなエントリを生成する。当該エントリの仮想経路番号は、ステップS301で選択した仮想経路情報の仮想経路番号とする。また、当該エントリのL3経路番号は、「1」とする。また、当該エントリの始点は、ステップS301で選択した仮想経路情報の始点の仮想化装置4のホスト名とする。また、当該エントリの終点は、tracerouteコマンドの結果として得られたホップ数が「1」のIPアドレスが示すL3装置3のホスト名とする。また、当該エントリのステータスは、「OK」とする。
次に、L3経路リスト生成部107は、ホップ数が「2」以降のIPアドレスを順次読み出し、読み出したIPアドレスごとに、次に示す情報を格納した新たなエントリを生成する。当該エントリの仮想経路番号は、ステップS301で選択した仮想経路情報の仮想経路番号とする。当該エントリのL3経路番号は、L3経路リストの最後のエントリのL3経路番号に1を加算した値とする。当該エントリの始点は、L3経路リストの最後のエントリの終点のL3装置3のホスト名とする。当該エントリの終点は、読み出したIPアドレスが示す装置のホスト名とする。当該エントリのステータスは「OK」とする。
つまり、ステップS304では、パケットが通過する順にL3経路番号が増加するように、エントリを生成する。
L3経路リスト生成部107がL3経路リストを生成すると、L3経路特定部106は、L3経路リストの最後のエントリの終点が示す装置のホスト名が、ステップS301で選択した仮想経路情報の終点の仮想化装置4のホスト名と同じであるか否かを判定する(ステップS305)。
L3経路特定部106が、L3経路リストの最後のエントリの終点のホスト名が、仮想経路リストの終点の仮想化装置4のホスト名と同じであると判定した場合(ステップS305:YES)、L3経路リスト生成部107は、生成したL3経路リストを経路リスト記憶部110に記録する(ステップS306)。
他方、L3経路リストの最後のエントリの終点のホスト名が、仮想経路リストの終点の仮想化装置4のホスト名と異なる場合(ステップS305:NO)、障害などの原因により、L3経路の一部を特定できないことを示している。そこで、L3経路リスト生成部107は、L3経路リストに障害発生を示すエントリを追加する(ステップS307)。具体的には、L3経路リスト生成部107は、新たなエントリの仮想経路番号をステップS301で選択した仮想経路情報の仮想経路番号とする。また、L3経路リスト生成部107は、新たなエントリのL3経路番号を、L3経路リストの最後のエントリのL3経路番号に1を加算した値とする。また、L3経路リスト生成部107は、新たなエントリの始点を、L3経路リストの最後のエントリの終点のL3装置3のホスト名とする。また、L3経路リスト生成部107は、新たなエントリの終点を空欄とする。また、L3経路リスト生成部107は、新たなエントリのステータスを「NG」とする。
次に、L3経路特定部106は、ステップS301で選択した仮想経路情報の終点の仮想化装置4から始点の仮想化装置4へtracerouteコマンドを発行する(ステップS308)。具体的には、L3経路特定部106は、終点の仮想化装置4の保守網側のIPアドレスから、通信部102を介してSSHによりリモート接続を行い、SSHを介してtracerouteコマンドを実行させる。これにより、L3経路特定部106は、残りのL3経路を特定することができる。
次に、L3経路リスト生成部107は、ステップS303のtracerouteコマンドの結果として得られたL3装置3のIPアドレスに基づいて、L3経路リストのエントリを追加する(ステップS309)。具体的には、以下の手順で追加のエントリを生成する。
まず、L3経路リスト生成部107は、L3経路リストの新たなエントリとして、次に示す情報を格納するエントリを生成する。当該エントリの仮想経路番号は、ステップS301で選択した仮想経路情報の仮想経路番号とする。当該エントリのL3経路番号は、「9999」とする。当該エントリの始点は、tracerouteコマンドの結果として得られたホップ数が「1」のIPアドレスが示すL3装置3のホスト名とする。当該エントリの終点は、ステップS301で選択した仮想経路情報の終点の仮想化装置4のホスト名とする。当該エントリのステータスは、「OK」とする。
次に、L3経路リスト生成部107は、ホップ数が「2」以降のIPアドレスを順次読み出し、読み出したIPアドレスごとに、次に示す情報を格納するエントリを生成する。当該エントリの仮想経路番号は、ステップS301で選択した仮想経路情報の仮想経路番号とする。当該エントリのL3経路番号は、ステータスをNGとするエントリの次のエントリのL3経路番号から1を減算した値とする。当該エントリの始点は、読み出したIPアドレスが示す装置のホスト名とする。当該エントリの終点は、ステータスをNGとするエントリの次のエントリの始点のL3装置3のホスト名とする。当該エントリのステータスは「OK」とする。
つまり、ステップS309では、パケットが通過する順の逆順にL3経路番号が増加するように、エントリを生成する。また、これにより、ステップS303のtracerouteにより特定したL3経路とステップS308のtracerouteにより特定したL3経路との間に、ステータス「NG」を示すエントリが格納されることとなる。なお、ステップS303のtracerouteは、第1の経路調査コマンドの一例であって良いし、ステップS308のtracerouteは、第2の経路調査コマンドの一例であって良い。また、ステータス「NG」を示すエントリは、障害を示す情報の一例であって良い。
これにより、L3リスト生成部は、L3経路に障害が発生していたとしても、L3経路番号の昇順にエントリをたどることで、経路を把握することができるL3経路テーブルを生成することができる。
そして、L3リスト生成部は、生成したL3経路リストを経路リスト記憶部110に記録する(ステップS310)。
上述したステップS302〜ステップS310の処理を、仮想経路情報のそれぞれについて実行すると、L3経路特定部106は、L3経路特定処理を終了する。これにより、経路リスト記憶部110には、仮想化装置4の間を接続するL3経路の情報を示すL3経路リストが記録される。
次に、上述したステップS4のL2経路特定処理について説明する。
図12は、L2経路特定処理における経路特定装置6の動作を示すフローチャートである。
まず、L2経路特定部108は、経路リスト記憶部110が記憶するL3経路リストからL3経路番号の順にL3経路情報を1つずつ選択し、選択したL3経路情報について、以下に示すステップS402〜S409の処理を実行する(ステップS401)。
まず、L2経路特定部108は、始点の装置から終点の装置へlinktraceコマンドを発行する(ステップS402)。具体的には、L3経路特定部106は、始点の装置の保守網側のIPアドレスから、通信部102を介してSSHによりリモート接続を行い、SSHを介してlinktraceコマンドを実行させる。これにより、L3経路特定部106は、始点の装置と終点の装置との間のL2経路を構成するL2装置2のMACアドレスを取得することができる。なお、始点及び終点の装置は、仮想化装置4またはL3装置3の何れかである。
次に、L2経路リスト生成部109は、ステップS402のlinktraceコマンドの結果として得られたL2装置2のMACアドレスに基づいて、L2経路リストを生成する(ステップS403)。具体的には、以下の手順で生成する。
まず、L2経路リスト生成部109は、L2経路リストの新たなエントリとして、次に示す情報を格納するエントリを生成する。当該エントリのL3経路番号は、ステップS401で選択したL3経路情報のL3経路番号とする。当該エントリのL2経路番号は、「1」とする。当該エントリの始点は、ステップS401で選択したL3経路情報の始点の装置のホスト名とする。当該エントリの終点は、linktraceコマンドの結果として得られたホップ数が「1」のMACアドレスが示すL2装置2のホスト名とする。当該エントリのステータスは「OK」とする。
次に、L2経路リスト生成部109は、ホップ数が「2」以降のMACアドレスを順次読み出し、読み出したMACアドレスごとに、次に示す情報を格納するエントリを生成する。当該エントリのL3経路番号は、ステップS401で選択したL3経路情報のL3経路番号とする。当該エントリのL2経路番号は、L2経路リストの最後のエントリのL2経路番号に1を加算した値とする。当該エントリの始点は、L2経路リストの最後のエントリの終点のL2装置2のホスト名とする。当該エントリの終点は、読み出したMACアドレスが示す装置のホスト名とする。当該エントリのステータスは、「OK」とする。
つまり、ステップS403では、パケットが通過する順にL2経路番号が増加するように、エントリを生成する。
L2経路リスト生成部109がL2経路リストを生成すると、L2経路特定部108は、L2経路リストの最後のエントリの終点が示す装置のホスト名が、ステップS401で選択したL3経路情報の終点の装置のホスト名と同じであるか否かを判定する(ステップS404)。
L2経路特定部108が、L2経路リストの最後のエントリの終点のホスト名が、L3経路リストの終点の装置のホスト名と同じであると判定した場合(ステップS404:YES)、L2経路リスト生成部109は、生成したL2経路リストを経路リスト記憶部110に記録する(ステップS405)。
他方、L2経路リストの最後のエントリの終点のホスト名が、L3経路リストの終点の装置のホスト名と異なる場合(ステップS404:NO)、障害などの原因により、L2経路の一部を特定できないことを示している。そこで、L2経路リスト生成部109は、L2経路リストに障害発生を示すエントリを追加する(ステップS406)。具体的には、L2経路リスト生成部109は、当該エントリのL3経路番号をステップS401で選択したL3経路情報のL3経路番号とする。また、L2経路リスト生成部109は、当該エントリのL2経路番号を、L2経路リストの最後のエントリのL2経路番号に1を加算した値とする。また、L2経路リスト生成部109は、当該エントリの始点を、L2経路リストの最後のエントリの終点のL2装置2のホスト名とする。また、L2経路リスト生成部109は、当該エントリの終点を空欄とする。また、L2経路リスト生成部109は、当該エントリのステータスをNGとする。
次に、L2経路特定部108は、ステップS401で選択したL3経路情報の終点の装置から始点の装置へlinktraceコマンドを発行する(ステップS407)。具体的には、L2経路特定部108は、終点の装置の保守網側のIPアドレスから、通信部102を介してSSHによりリモート接続を行い、SSHを介してlinktraceコマンドを実行させる。これにより、L2経路特定部108は、残りのL2経路を特定することができる。
次に、L2経路リスト生成部109は、ステップS402のlinktraceコマンドの結果として得られたL2装置2のMACアドレスに基づいて、L2経路リストのエントリを追加する(ステップS408)。具体的には、以下の手順で追加のエントリを生成する。
まず、L2経路リスト生成部109は、L2経路リストの新たなエントリとして、次に示す情報を格納するエントリを生成する。当該エントリのL3経路番号は、ステップS401で選択したL3経路情報のL3経路番号とする。当該エントリのL2経路番号は「9999」とする。当該エントリの始点は、linktraceコマンドの結果として得られたホップ数が「1」のMACアドレスが示すL2装置2のホスト名とする。当該エントリの終点は、ステップS401で選択したL3経路情報の終点の装置のホスト名とする。当該エントリのステータスは「OK」とする。
次に、L2経路リスト生成部109は、ホップ数が「2」以降のMACアドレスを順次読み出し、読み出したMACアドレスごとに、次に示す情報を格納するエントリを生成する。当該エントリのL3経路番号は、ステップS401で選択したL3経路情報のL3経路番号とする。当該エントリのL2経路番号は、ステータスをNGとするエントリの次のエントリのL2経路番号から1を減算した値とする。当該エントリの始点は、読み出したMACアドレスが示す装置のホスト名とする。当該エントリの終点は、ステータスをNGとするエントリの次のエントリの始点のL2装置2のホスト名とする。当該エントリのステータスは「OK」とする。
つまり、ステップS408では、パケットが通過する順の逆順にL2経路番号が増加するように、エントリを生成する。また、これにより、ステップS402のlinktraceにより特定したL2経路とステップS407のlinktraceにより特定したL2経路との間に、ステータス「NG」を示すエントリが格納されることとなる。なお、ステップS402のlinktraceは、第1の経路調査コマンドの一例であって良いし、ステップS407のlinktraceは、第2の経路調査コマンドの一例であって良い。また、ステータス「NG」を示すエントリは、障害を示す情報の一例であって良い。
これにより、L2リスト生成部は、L2経路に障害が発生していたとしても、L2経路番号の昇順にエントリをたどることで、経路を把握することができるL2経路テーブルを生成することができる。
そして、L2リスト生成部は、生成したL2経路リストを経路リスト記憶部110に記録する(ステップS409)。
上述したステップS402〜ステップS409の処理を、L3経路情報のそれぞれについて実行すると、L2経路特定部108は、L2経路特定処理を終了する。これにより、経路リスト記憶部110には、L3経路上の装置の間を接続するL2経路の情報を示すL2経路リストが記録される。
次に、上述したステップS5の経路情報生成処理について説明する。
図13は、経路情報生成処理における経路特定装置6の動作を示すフローチャートである。
まず、経路出力部111は、経路情報記憶部が記憶するノード間接続情報から、経路番号の順にノード間接続情報を1つずつ選択し、選択したノード間接続情報について、以下に示すステップS502〜S520の処理を実行する(ステップS501)。なお、往路の経路番号は、復路の経路番号より小さいので、経路出力部111は、まず往路のノード間接続情報を選択する。
経路出力部111は、選択したノード間接続情報の始点ノードを、経路情報に追加する(ステップS502)。ここで、経路情報とは、ノードが所属するレイヤ(SDN(Software Defined Network)、L3、L2)と、当該ノードのホスト名とを、パケットが通過する順に格納する二次元配列である。つまり、ステップS502では、経路出力部111は、レイヤ名「SDN」と当該ノードのホスト名とを、経路情報の先頭に格納する。
次に、経路出力部111は、経路情報記憶部が記憶する仮想経路リストから、ステップS501で選択したノード間接続情報の経路番号に関連付けられた仮想経路情報を抽出する(ステップS503)。
次に、経路出力部111は、ステップS503で抽出した仮想経路情報から、仮想経路番号の順に仮想経路情報を1つずつ選択し、選択した仮想経路情報について、以下に示すステップS505〜S519の処理を実行する(ステップS504)。
経路出力部111は、選択した仮想経路情報の始点ノードを、経路情報に追加する(ステップS505)。ただし、当該始点ノードの情報が経路情報に既に格納されている場合は、追加をせずに、次のステップに進む。なお、ステップS505では、経路出力部111は、レイヤ名「SDN」と当該ノードのホスト名とを、経路情報に追加する。
次に、経路出力部111は、経路情報記憶部が記憶するL3経路リストから、ステップS504で選択した仮想経路情報の仮想経路番号に関連付けられたL3経路情報を抽出する(ステップS506)。次に、経路出力部111は、ステップS506によって抽出したL3経路情報の数が0であるか否かを判定する(ステップS507)。
経路出力部111は、抽出したL3経路情報の数が0であると判定した場合(ステップS507:YES)、ステップS504で選択した仮想経路情報のステータスがNGを示すか否かを判定する(ステップS508)。経路出力部111は、仮想経路情報のステータスがNGを示すと判定した場合(ステップS508:YES)、経路情報にNGデータを追加する(ステップS509)。具体的には、経路出力部111は、レイヤ名・ホスト名ともに「※」などNGデータを示す記号を経路情報に追加する。NGデータを追加した場合、またはステータスがOKを示す場合(ステップS508:NO)、ステップS504に戻り、次の仮想経路情報を選択する。
他方、経路出力部111は、抽出したL3経路情報の数が1以上であると判定した場合(ステップS507:NO)、ステップS506で抽出したL3経路情報から、L3経路番号の順にL3経路情報を1つずつ選択し、選択したL3経路情報について、以下に示すステップS511〜S519の処理を実行する(ステップS510)。
経路出力部111は、選択したL3経路情報の始点ノードを、経路情報に追加する(ステップS511)。ただし、当該始点ノードの情報が経路情報に既に格納されている場合は、追加をせずに、次のステップに進む。なお、ステップS511では、経路出力部111は、レイヤ名「L3」と当該ノードのホスト名とを、経路情報に追加する。
次に、経路出力部111は、経路情報記憶部が記憶するL2経路リストから、ステップS510で選択したL3経路情報のL3経路番号に関連付けられたL2経路情報を抽出する(ステップS512)。次に、経路出力部111は、ステップS512によって抽出したL2経路情報の数が0であるか否かを判定する(ステップS513)。
経路出力部111は、抽出したL2経路情報の数が0であると判定した場合(ステップS513:YES)、ステップS510で選択したL3経路情報のステータスがNGを示すか否かを判定する(ステップS514)。経路出力部111は、L3経路情報のステータスがNGを示すと判定した場合(ステップS514:YES)、経路情報にNGデータを追加する(ステップS515)。NGデータを追加した場合、またはステータスがOKを示す場合(ステップS514:NO)、ステップS510に戻り、次の仮想経路情報を選択する。
他方、経路出力部111は、抽出したL2経路情報の数が1以上であると判定した場合(ステップS513:NO)、ステップS512で抽出したL2経路情報から、L2経路番号の順にL2経路情報を1つずつ選択し、選択したL2経路情報について、以下に示すステップS517〜S519の処理を実行する(ステップS516)。
経路出力部111は、選択したL2経路情報の始点ノードを、経路情報に追加する(ステップS517)。ただし、当該始点ノードの情報が経路情報に既に格納されている場合は、追加をせずに、次のステップに進む。なお、ステップS517では、経路出力部111は、レイヤ名「L2」と当該ノードのホスト名とを、経路情報に追加する。
次に、経路出力部111は、ステップS516で選択したL2経路情報のステータスがNGを示すか否かを判定する(ステップS518)。経路出力部111は、L2経路情報のステータスがNGを示すと判定した場合(ステップS518:YES)、経路情報にNGデータを追加する(ステップS519)。NGデータを追加した場合、またはステータスがOKを示す場合(ステップS518:NO)、ステップS516に戻り、次の仮想経路情報を選択する。
経路出力部111は、上述したステップS517〜S519の処理を、ステップS512で抽出したすべてのL2経路情報について実行すると、ステップS510に戻り、次のL3経路情報を選択する。
また、経路出力部111は、上述したステップS511〜S519の処理を、ステップS506で抽出したすべてのL3経路情報について実行すると、ステップS504に戻り、次の仮想経路情報を選択する。
また、経路出力部111は、往路のノード間接続情報について、上述したステップS505〜S519の処理を、ステップS503で抽出したすべての仮想経路情報について実行すると、ステップS501で選択したノード間接続情報の終点ノードを経路情報に追加する(ステップS520)。そして、ステップS501に戻り、復路のノード間接続情報を選択する。
また、経路出力部111は、復路のノード間接続情報について、上述したステップS502〜ステップS520の処理を実行すると、生成した経路情報を、通信部102を介して保守端末7に出力し(ステップS521)、経路情報生成処理を終了する。そして、保守端末7は、経路特定装置6から経路情報をディスプレイに表示する。
図14は、保守端末7が表示する経路情報の例を示す図である。
経路情報は、図14に示すように、往路と復路のそれぞれについて、パケットが始点の仮想マシンVMから終点の仮想マシンVMに到達するまでに経由する装置を、パケットが通過する順に表示する。このように、各レイヤのパスを自動的に統合することにより、利用者は、ノード間の経路情報を容易に理解することができる。これにより、利用者は、故障発生時に各レイヤの情報を組み合わせる作業を行うことなく、被疑箇所の絞り込みを行うことができる。
上述したように、本実施形態によれば、仮想経路特定部104が、フローテーブルに基づいて経路の探索対象となる2つの機器を接続する仮想経路を特定し、L3経路特定部106が、仮想経路において隣接する2つのL3装置3の間の経路を探索するtracerouteコマンドを発行することで、2つの仮想通信装置を接続する物理経路を特定する。これにより、経路特定装置6は、仮想通信装置と物理通信装置とを有するネットワークにおいても、経路の特定を行うことができる。
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、マスタ記憶部101が、IF情報テーブルと、IF−装置関連情報テーブルと、各種装置情報テーブルとを別個に備え、それぞれの関係に基づいて情報を特定する場合について説明したが、これに限られない。例えば、各種装置情報テーブルがIF情報テーブルの各要素を含んで構成され、各種装置情報テーブルを参照することで、各種装置のサービス網のIPアドレスやMACアドレスを特定できるような構成であっても良い。また、マスタ記憶部101は、経路特定装置6の外部に設けられていても良い。
また、本実施形態では、経路特定装置6と保守端末7とを別個に備える場合について説明したが、これに限られず、経路特定装置6がユーザインタフェースを備える場合、保守端末7を備えない構成であっても良い。また、本実施形態では、仮想ネットワークコントローラ5と経路特定装置6とを別個に備える場合について説明したが、これに限られず、仮想ネットワークコントローラ5が経路特定装置6の機能を含む構成であっても良い。
上述の経路特定装置6は、内部にコンピュータを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1…通信システム 2…L2装置 3…L3装置 4…仮想化装置 5…仮想ネットワークコントローラ 6…経路特定装置 7…保守端末 101…マスタ記憶部 102…通信部 103…仮想マシン情報特定部 104…仮想経路特定部 105…仮想経路リスト生成部 106…L3経路特定部 107…L3経路リスト生成部 108…L2経路特定部 109…L2経路リスト生成部 110…経路リスト記憶部 111…経路出力部

Claims (9)

  1. パケットの条件と当該条件を満たすパケットの処理内容とを関連付けたテーブルに従ってパケットを処理する仮想通信装置と、2つの機器の間の経路を調査する経路調査コマンドを受け付ける物理通信装置とを有するネットワークにおいて経路の特定を行う経路特定装置であって、
    前記テーブルに基づいて経路の探索対象となる2つの機器を接続する仮想通信装置からなる経路である仮想経路を特定する仮想経路特定部と、
    前記仮想経路特定部が特定した仮想経路において隣接する2つの前記仮想通信装置の第1の仮想通信装置から第2の仮想通信装置へ経路調査コマンドを発行することで、前記第1の仮想通信装置と前記第2の仮想通信装置を接続する物理通信装置からなる経路である物理経路を特定する物理経路特定部と
    を備えることを特徴とする経路特定装置。
  2. 前記物理経路特定部は、前記物理経路において隣接する2つの物理通信装置の第1の物理通信装置から第2の物理通信装置へ経路調査コマンドを発行することで、前記第1の物理通信装置と前記第2の物理通信装置の間の物理経路を特定する
    ことを特徴とする請求項1に記載の経路特定装置。
  3. 前記仮想経路特定部は、前記2つの機器のうち第1の機器から第2の機器へ向かう仮想経路と、前記第2の機器から前記第1の機器へ向かう仮想経路を特定する
    ことを特徴とする請求項1または請求項2に記載の経路特定装置。
  4. 前記仮想通信装置の識別情報を前記仮想経路をパケットが通過する順に格納する仮想経路リストを生成する仮想経路リスト生成部と、
    前記物理通信装置の識別情報を前記物理経路をパケットが通過する順に格納する物理経路リストを生成する物理経路リスト生成部と、
    前記仮想経路リストに格納された仮想通信装置の識別情報を前記仮想経路をパケットが通過する順に読み出し、読み出した仮想通信装置が前記物理経路リストに始点として格納されていない場合は、当該仮想通信装置の識別情報を出力し、読み出した仮想通信装置が前記物理経路リストに始点として格納されている場合は、当該仮想通信装置を始点とする物理経路リストに格納された物理通信装置の識別情報を前記物理経路をパケットが通過する順に出力する経路出力部と
    を備えることを特徴とする請求項1から請求項3のいずれか1項に記載の経路特定装置。
  5. 前記物理経路特定部は、前記第1の仮想通信装置から前記第2の仮想通信装置へ経路調査コマンドを発行したときに、当該物理経路の一部を特定できない場合、前記第2の仮想通信装置から前記第1の仮想通信装置へ経路調査コマンドを発行して、残りの前記物理経路を特定する
    ことを特徴とする請求項1から請求項4のいずれか1項に記載の経路特定装置。
  6. 前記物理経路特定部は、前記第1の仮想通信装置から前記第2の仮想通信装置へ向かう物理経路を調査する第1の経路調査コマンドを発行したときに、当該物理経路の一部を特定できない場合、前記第2の仮想通信装置から前記第1の仮想通信装置へ向かう物理経路を調査する第2の経路調査コマンドを発行して残りの前記物理経路を特定し、
    前記物理経路リスト生成部は、前記第1の経路調査コマンドにより特定した物理経路を、当該第1の経路調査コマンドによって発行されるパケットが通過した順に前記物理経路リストに格納し、前記第2の経路調査コマンドにより特定した物理経路を、当該第2の経路調査コマンドによって発行されるパケットが通過した順の逆順に前記物理経路リストに格納する
    ことを特徴とする請求項4に記載の経路特定装置。
  7. 前記物理経路リスト生成部は、前記物理経路リストの、前記第1の経路調査コマンドにより特定した物理経路と前記第2の経路調査コマンドにより特定した物理経路との間に、障害を示す情報を格納する
    ことを特徴とする請求項6に記載の経路特定装置。
  8. パケットの条件と当該条件を満たすパケットの処理内容とを関連付けたテーブルに従ってパケットを処理する仮想通信装置と、2つの機器の間の経路を調査する経路調査コマンドを受け付ける物理通信装置とを有するネットワークにおける経路特定方法であって、
    前記テーブルに基づいて経路の探索対象となる2つの機器を接続する仮想通信装置からなる経路である仮想経路を特定するステップと、
    前記仮想経路において隣接する2つの前記仮想通信装置の第1の仮想通信装置から第2の仮想通信装置へ経路調査コマンドを発行することで、前記第1の仮想通信装置と前記第2の仮想通信装置を接続する物理通信装置からなる経路である物理経路を特定するステップと
    を有することを特徴とする経路特定方法。
  9. パケットの条件と当該条件を満たすパケットの処理内容とを関連付けたテーブルに従ってパケットを処理する仮想通信装置と、2つの機器の間の経路を調査する経路調査コマンドを受け付ける物理通信装置とを有するネットワークに接続されるコンピュータを、
    前記テーブルに基づいて経路の探索対象となる2つの機器を接続する仮想通信装置からなる経路である仮想経路を特定する仮想経路特定部、
    前記仮想経路特定部が特定した仮想経路において隣接する2つの前記仮想通信装置の第1の仮想通信装置から第2の仮想通信装置へ経路調査コマンドを発行することで、前記第1の仮想通信装置と前記第2の仮想通信装置を接続する物理通信装置からなる経路である物理経路を特定する物理経路特定部
    として機能させるためのプログラム。
JP2013133870A 2013-06-26 2013-06-26 経路特定装置、経路特定方法、及びプログラム Pending JP2015012317A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013133870A JP2015012317A (ja) 2013-06-26 2013-06-26 経路特定装置、経路特定方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013133870A JP2015012317A (ja) 2013-06-26 2013-06-26 経路特定装置、経路特定方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2015012317A true JP2015012317A (ja) 2015-01-19

Family

ID=52305163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013133870A Pending JP2015012317A (ja) 2013-06-26 2013-06-26 経路特定装置、経路特定方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2015012317A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017038089A1 (ja) * 2015-09-01 2017-03-09 日本電気株式会社 仮想ネットワーク監視システム、仮想ネットワーク監視方法、及び、記録媒体
JP2018170639A (ja) * 2017-03-30 2018-11-01 日本電気株式会社 通信解析装置、通信解析方法およびプログラム
CN109547349A (zh) * 2018-12-06 2019-03-29 郑州云海信息技术有限公司 基于虚拟路由的流量管理方法、装置、终端及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006229430A (ja) * 2005-02-16 2006-08-31 Kddi Corp 仮想ネットワークに対する実ネットワークのトラヒック管理方法、プログラム及び装置
JP2012156674A (ja) * 2011-01-25 2012-08-16 Tokyo Electric Power Co Inc:The ネットワークの経路検索システムとその方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006229430A (ja) * 2005-02-16 2006-08-31 Kddi Corp 仮想ネットワークに対する実ネットワークのトラヒック管理方法、プログラム及び装置
JP2012156674A (ja) * 2011-01-25 2012-08-16 Tokyo Electric Power Co Inc:The ネットワークの経路検索システムとその方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017038089A1 (ja) * 2015-09-01 2017-03-09 日本電気株式会社 仮想ネットワーク監視システム、仮想ネットワーク監視方法、及び、記録媒体
JP2018170639A (ja) * 2017-03-30 2018-11-01 日本電気株式会社 通信解析装置、通信解析方法およびプログラム
CN109547349A (zh) * 2018-12-06 2019-03-29 郑州云海信息技术有限公司 基于虚拟路由的流量管理方法、装置、终端及存储介质
CN109547349B (zh) * 2018-12-06 2021-07-06 郑州云海信息技术有限公司 基于虚拟路由的流量管理方法、装置、终端及存储介质

Similar Documents

Publication Publication Date Title
US10148517B2 (en) Systems and methods for topology discovery and application in a border gateway protocol based data center
US20130003745A1 (en) Information system, control device, method of managing virtual network, and program
US20190052558A1 (en) Method and system for routing connections in a software-defined wide area network
US9197518B2 (en) Quality-deteriorated part analyzing system, quality-deteriorated part analyzing device, quality-deteriorated part analyzing method, and quality-deteriorated part analyzing program
CN104852840B (zh) 一种控制虚拟机之间互访的方法及装置
CN112887229B (zh) 一种会话信息同步方法及装置
JP5720340B2 (ja) 制御サーバ、通信システム、制御方法およびプログラム
JP6101573B2 (ja) パケット転送装置、検査方法、及びプログラム
JP2015012317A (ja) 経路特定装置、経路特定方法、及びプログラム
JP5991385B2 (ja) 制御情報管理装置、制御情報提示方法及びプログラム
JP5883926B2 (ja) 管理サーバ、および、フロー処理方法
CN112532468B (zh) 网络测量系统、方法、设备及存储介质
CN106230717B (zh) 集群系统中的路由获取方法及装置
JP2010124255A (ja) 入力エッジルータ特定方法、プログラム及びコンピュータ
JP5251716B2 (ja) パケット中継装置
CN108833282A (zh) 数据转发方法、系统、装置及sdn交换机
JP2019176255A (ja) ネットワークシステム、制御装置、処理規則設定方法及びプログラム
JP2017175522A (ja) ネットワークシステム、制御装置、方法およびプログラム
JP6063826B2 (ja) 経路確認装置、経路確認システム、経路確認方法、及びプログラム
CN107409088A (zh) 一种数据包转发方法和网络设备
JP2012199928A (ja) 管理システム及び情報処理システム
JP7164140B2 (ja) 通信解析装置、通信解析方法およびプログラム
JP6352459B2 (ja) 検査制御装置、検査制御方法、及びプログラム
JP2016181802A (ja) 制御装置、制御方法及びプログラム
JP5975752B2 (ja) ノード管理装置、ノード管理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170328