JP2019033306A - 経路検査装置、経路検査方法および経路検査プログラム - Google Patents

経路検査装置、経路検査方法および経路検査プログラム Download PDF

Info

Publication number
JP2019033306A
JP2019033306A JP2017151369A JP2017151369A JP2019033306A JP 2019033306 A JP2019033306 A JP 2019033306A JP 2017151369 A JP2017151369 A JP 2017151369A JP 2017151369 A JP2017151369 A JP 2017151369A JP 2019033306 A JP2019033306 A JP 2019033306A
Authority
JP
Japan
Prior art keywords
tree
probe packet
inspection
route
ofs
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.)
Granted
Application number
JP2017151369A
Other languages
English (en)
Other versions
JP7002241B2 (ja
Inventor
大悟 時岡
Daigo Tokioka
大悟 時岡
勇介 井戸口
Yusuke Idoguchi
勇介 井戸口
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.)
Ikegami Tsushinki Co Ltd
Original Assignee
Ikegami Tsushinki Co Ltd
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 Ikegami Tsushinki Co Ltd filed Critical Ikegami Tsushinki Co Ltd
Priority to JP2017151369A priority Critical patent/JP7002241B2/ja
Publication of JP2019033306A publication Critical patent/JP2019033306A/ja
Application granted granted Critical
Publication of JP7002241B2 publication Critical patent/JP7002241B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】SDNにおいてネットワーク内の経路(ツリー)を簡易に検査する。【解決手段】パケットが経由する複数のOFSと経由順序とを定めた計算ツリーを記憶しておくデータ情報記憶部11と、計算ツリーに従ってパケットを転送する複数のOFSに対して、検査用のプローブパケットにOFSのIDを付与し、IDを付与したプローブパケットを返信し、当該プローブパケットを計算ツリーに従って転送する命令を定めたフローエントリを送信するスイッチ制御部12と、検査用のプローブパケットを計算ツリーのOFSへ送信するプローブパケット送信部13と、OFSから返信された返信プローブパケットに付与されているOFSのIDを用いて、検査用のプローブパケットが経由した複数のOFSと経由順序とを含む実ツリーを生成する実ツリー生成部15と、実ツリーと計算ツリーとを比較するツリー比較部16と、を備える。【選択図】図2

Description

本発明は、ネットワーク内の経路を検査する技術に関する。
従来、マルチキャスト通信に用いられる経路(ツリー)は、レイヤ2ではIGMP(Internet Group Management Protocol)、レイヤ3ではPIM(Protocol-Independent Multicast)などにより形成されている。マルチキャスト通信のツリーを制御・管理する場合、一般的には、NetFlowやSNMP(Simple Network Management Protocol)を用いてネットワーク内の通信を実際に計測することにより行われている(特許文献1)。
また、近年注目されているネットワーク技術として、SDN(Software Defined Networking)がある。SDNは、単一のソフトウェアによりネットワーク機器を集中して制御する技術であり、ネットワーク内の通信機器や通信経路をSDNコントローラで一元的に制御・管理することができる。
SDNを用いてもマルチキャスト通信のツリーを制御・管理可能である。例えば、SDNコントローラで経路検索を行うことにより、物理的なネットワーク内に論理的に形成されているマルチキャスト通信のツリーを取得することができる。また、SDNコントローラを用いて、ネットワーク内の各スイッチに所望のマルチキャスト通信のツリーを通るフローエントリを設定することができる。
特許第4627324号公報
しかし、従来のSDNでは、以前に設定していたマルチキャスト通信のツリーを現在も引き続き使用していることが保障されていない。そのため、何らかの原因でフローが想定していたツリーと異なるツリーを通過していたり、スイッチ内の制御プログラムの異常により設定していたツリーの途中でパケットが消失していたりしていることを検知できないという課題があった。また、特許文献1は、実際の通信を計測することで使用中のツリーを特定するため、サーバ側では通信の異常を検知することはできない。
本発明は、上記事情を鑑みてなされたものであり、マルチキャスト通信に限らず、SDNにおいてネットワーク内の経路(ツリー)を簡易に検査することを目的とする。
以上の課題を解決するため、請求項1に係る経路検査装置は、SDN(Software Defined Networking)を用いてネットワーク内の経路を検査する経路検査装置において、パケットが経由する複数の転送装置と経由順序とを定めた計算ツリーを記憶しておく記憶部と、前記計算ツリーに従ってパケットを転送する複数の転送装置に対して、検査用のプローブパケットに転送装置の識別情報を付与し、前記識別情報を付与したプローブパケットを返信し、当該プローブパケットを前記計算ツリーに従って転送する命令を定めた命令情報を送信する制御部と、前記検査用のプローブパケットを前記計算ツリーの転送装置へ送信する送信部と、当該計算ツリーの転送装置から返信された返信プローブパケットに付与されている転送装置の識別情報を用いて、前記検査用のプローブパケットが経由した複数の転送装置と経由順序とを含む実ツリーを生成する生成部と、前記実ツリーと前記計算ツリーとを比較する比較部と、を備えることを特徴とする。
請求項2に係る経路検査装置は、請求項1に記載の経路検査装置において、前記転送装置の識別情報を付与する命令は、前記検査用のプローブパケットにVLAN(Virtual Local Area Network)タグまたはMPLS(Multi-Protocol Label Switching)ラベルを追加し、前記VLANタグまたは前記MPLSラベルに含まれる情報を前記転送装置の識別情報に変更する命令であることを特徴とする。
請求項3に係る経路検査装置は、請求項1または2に記載の経路検査装置において、前記送信部は、前記検査用のプローブパケットに時刻情報を付与して送信し、前記生成部は、前記返信プローブパケットに付与されている時刻情報に基づき、送信した前記検査用のプローブパケットに対応する返信プローブパケットを特定することを特徴とする。
請求項4に係る経路検査装置は、請求項1乃至3のいずれかに記載の経路検査装置において、前記記憶部は、前記計算ツリーをマルチキャストグループ毎に定めることを特徴とする。
請求項5に係る経路検査方法は、SDN(Software Defined Networking)を用いてネットワーク内の経路を検査する経路検査装置で行う経路検査方法において、前記経路検査装置は、パケットが経由する複数の転送装置と経由順序とを定めた計算ツリーを記憶部に記憶しておく記憶ステップと、前記計算ツリーに従ってパケットを転送する複数の転送装置に対して、検査用のプローブパケットに転送装置の識別情報を付与し、前記識別情報を付与したプローブパケットを返信し、当該プローブパケットを前記計算ツリーに従って転送する命令を定めた命令情報を送信する制御ステップと、前記検査用のプローブパケットを前記計算ツリーの転送装置へ送信する送信ステップと、当該計算ツリーの転送装置から返信された返信プローブパケットに付与されている転送装置の識別情報を用いて、前記検査用のプローブパケットが経由した複数の転送装置と経由順序とを含む実ツリーを生成する生成ステップと、前記実ツリーと前記計算ツリーとを比較する比較ステップと、を行うことを特徴とする。
請求項6に係る経路検査方法は、請求項5に記載の経路検査方法において、前記転送装置の識別情報を付与する命令は、前記検査用のプローブパケットにVLAN(Virtual Local Area Network)タグまたはMPLS(Multi-Protocol Label Switching)ラベルを追加し、前記VLANタグまたは前記MPLSラベルに含まれる情報を前記転送装置の識別情報に変更する命令であることを特徴とする。
請求項7に係る経路検査方法は、請求項5または6に記載の経路検査方法において、前記送信ステップでは、前記検査用のプローブパケットに時刻情報を付与して送信し、前記生成ステップでは、前記返信プローブパケットに付与されている時刻情報に基づき、送信した前記検査用のプローブパケットに対応する返信プローブパケットを特定することを特徴とする。
請求項8に係る経路検査方法は、請求項5乃至7のいずれかに記載の経路検査方法において、前記記憶ステップでは、前記計算ツリーをマルチキャストグループ毎に定めることを特徴とする。
請求項9に係る経路検査プログラムは、請求項1乃至4のいずれかに記載の経路検査装置としてコンピュータを機能させることを特徴とする。
本発明によれば、SDNにおいてネットワーク内の経路(ツリー)を簡易に検査することができる。
オープンフローシステムの全体構成を示す図である。 オープンフローコントローラの機能ブロック構成を示す図である。 経路検査処理手順を示すシーケンスである。 計算ツリーの例を示す図である。 フローテーブルの例を示す図である。 ツリー管理テーブルの例を示す図である。 プローブパケットが返信される様子を示す図である。 返信プローブパケットの構造を示す図である。 実ツリーの検索結果を示す図である。 実ツリーの例を示す図である。
本発明では、対象のマルチキャストグループまたはユニキャストのグループ(複数のユニキャストの組)に対してプローブパケットを送信し、当該プローブパケットのパケットヘッダに印をつけることにより、実際に使用している経路(ツリー)を求める。これにより、一般に広帯域と想定されるマルチキャスト通信またはユニキャスト通信を開始する前に現在のツリーを確認することができる。
更に、本発明では、求めたツリーが想定しているツリーであるかを判定し、想定外のツリーを使用している場合やツリー途中でパケットが破棄されている場合、修正・迂回路検索・設定を行う。これにより、ツリー内での通信を保障することができる。
以下、本発明を実施する一実施の形態について図面を用いて説明する。
なお、本実施の形態では、マルチキャスト通信のツリーを検査する場合について説明する。また、本実施の形態では、SDNの一技術であるオープンフロー(OpenFlow)を用いて説明する。オープンフローでは、オープンフローネットワークOFNを流れるパケットのヘッダと出力ポートの組をフローと呼ぶ。オープンフローコントローラOFCは、パケットのヘッダ情報に基づき、オープンフロースイッチOFSを経由するパケットのフローを識別し、対象フローを制御することができる。オープンフローについては、例えば、“OpenFlow”(一般社団法人日本ネットワークインフォメーションセンター、平成29年8月1日検索、https://www.nic.ad.jp/ja/newsletter/No52/0800.html)に説明されている。
図1は、本実施の形態に係るオープンフローシステムの全体構成を示す図である。当該オープンフローシステムは、オープンフローコントローラOFCと、オープンフローネットワークOFNと、を備えて構成される。
オープンフローネットワークOFNは、相互通信可能な複数のオープンフロースイッチOFSで構成された物理的なネットワークである。複数のオープンフロースイッチOFSは、それぞれオープンフローコントローラOFCに接続されており、オープンフローコントローラOFCとの間でも相互通信可能である。
オープンフローネットワークOFNには、1つ以上のオープンフロースイッチOFSを用いて1つ以上のマルチキャストグループが論理的に形成されている。図1には、6つのオープンフロースイッチOFS1〜OFS6により1つのマルチキャストグループが形成されている。当該マルチキャストグループでは、サーバ側のビデオカメラから当該マルチキャストグループ宛てに配信された映像パケットを、OFS1→OFS5→OFS6→当該マルチキャストグループのメンバ端末1へ転送する経路と、OFS1→OFS2→OFS4→メンバ端末2へ転送する経路と、OFS1→OFS2→OFS3→メンバ端末3へ転送する経路と、からなるツリーを持つ。
次に、オープンフローコントローラOFCについて説明する。オープンフローコントローラOFCは、オープンフロースイッチOFSを管理・制御するコントローラであり、本実施の形態において、マルチキャスト通信の経路(ツリー)を検査する経路検査装置を備える。
図2は、本実施の形態に係るオープンフローコントローラOFCの機能ブロック構成を示す図である。オープンフローコントローラOFCは、データ情報記憶部11と、スイッチ制御部12と、プローブパケット送信部13と、プローブパケット受信部14と、実ツリー生成部15と、ツリー比較部16と、迂回路検索部17と、を備えて構成される。
データ情報記憶部11は、所定のマルチキャストグループでパケットが経由する複数のオープンフロースイッチOFSと当該複数のオープンフロースイッチOFSでのパケットの経由順序とを定めた計算ツリーをマルチキャストグループ毎に記憶しておく機能部である。
スイッチ制御部12は、上記計算ツリーに従ってパケットを転送する複数のオープンフロースイッチOFSに対して、検査用のプローブパケットにオープンフロースイッチOFSのdpid(後述する)を付与し、当該dpidを付与したプローブパケットを返信し、当該プローブパケットを上記計算ツリーに従って転送する命令を定めたフローエントリ(命令情報)を送信する機能部である。
プローブパケット送信部13は、検査用のプローブパケットをマルチキャストグループのオープンフロースイッチOFSへ送信する機能部である。
プローブパケット受信部14は、オープンフロースイッチOFSから返信された返信プローブパケットを受信する機能部である。
実ツリー生成部15は、受信した返信プローブパケットに付与されているオープンフロースイッチOFSのdpidを用いて、上記検査用のプローブパケットが経由した複数のオープンフロースイッチOFSと当該複数のオープンフロースイッチOFSでのパケットの経由順序とを含む実ツリーを生成する機能部である。
ツリー比較部16は、実ツリーと計算ツリーを比較する機能部である。
迂回路検索部17は、実ツリーと計算ツリーの比較結果に基づき迂回路を検索・設定する機能部である。
ここで、dpidについて説明する。dpidとは、オープンフローで用いられるDPID(Datapath ID)の上位16ビットの情報である。オープンフローでは、64ビットのDPIDに与えられたフィールドのうち下位48ビットにはオープンフロースイッチOFSのMACアドレスが既に割り当てられているため、本実施の形態では、オープンフローの利用者が自由に使用可能な上位16ビットを用いる。例えば、オープンフロースイッチOFSを識別するためのビット列を16ビットの範囲内で生成し、DPIDの上位16ビットに含めて利用する。
次に、上述したオープンフローシステムで行う通信の経路検査方法について説明する。ここでは、所定のマルチキャストグループにおいて、パケットが現在経由しているオープンフロースイッチOFSの経路(実ツリー)が以前に設定していた経路(計算ツリー)に合致するかを検証し、合致しない場合には再び計算ツリーを設定して、それでも合致しない場合には迂回路を設定することにより、ツリー内での通信の保障を実現する。
図3は、マルチキャスト通信の経路検査処理手順を示すシーケンスである。データ情報記憶部11には、図4に例示する計算ツリーが予め登録されているものとする。「No.1」の計算ツリーには、「239.0.0.1」のマルチキャストグループについて、OFS1→OFS2→OFS3の経路と、OFS1→OFS2→OFS4の経路と、OFS1→OFS5→OFS6の経路と、が設定されている。
ステップS1;
まず、スイッチ制御部12は、ユーザにより指定されたマルチキャストグループに対応する計算ツリーをデータ情報記憶部11から取得する。
ステップS2;
次に、スイッチ制御部12は、取得した計算ツリーに定義されている複数のオープンフロースイッチOFSに対して、当該計算ツリーに従ってパケットを転送する通信用フローエントリをそれぞれ送信する。図4に示した「No.1」の計算ツリーの場合、スイッチ制御部12は、例えばオープンフロースイッチOFS5に対して、オープンフロースイッチOFS6にパケットを転送する通信用フローエントリを送信する。
このとき、スイッチ制御部12は、当該第1のフローエントリをオープンフロースイッチOFS内の「フローテーブル1」に登録することを、フローエントリのパケット内で指示する。オープンフロースイッチOFSのフローテーブル1を図5(a)に例示する。オープンフロースイッチOFS5の場合、「GroupTable(1)」に「パケットをOFS6へ転送する」ことが設定される。これにより、オープンフロースイッチOFS5は、「239.0.0.1」宛てのパケットをOFS6へ転送することになる。
同時に、スイッチ制御部12は、ステップS1で取得した計算ツリーに定義されている複数のオープンフロースイッチOFSに対して、送信元IPアドレスがオープンフローコントローラOFCであるパケット(検査用のプローブパケット)を受信した場合、当該プローブパケットにVLAN(Virtual Local Area Network)タグを追加する命令(PushVLAN)と、当該VLANタグのデフォルト値をオープンフロースイッチOFSのdpidに変更する命令(SetField(VLAN))と、当該dpidを含むプローブパケットをオープンフローコントローラOFCへ返信する命令(Output(Controller))と、フローテーブル1を実行する命令(GoToTable1)と、を含めた検査用フローエントリをそれぞれ送信する。
また、スイッチ制御部12は、ステップS1で取得した計算ツリーに定義されている複数のオープンフロースイッチOFSに対して、テーブルミスフローエントリ(table-miss flow entry;フローテーブルの条件に一致しないパケットを処理するためのフローエントリ)として、フローテーブル1を実行する命令(GoToTable1)のみを含めたテーブルミス用フローエントリをそれぞれ送信する。
そして、スイッチ制御部12は、検査用フローエントリとテーブルミス用フローエントリをオープンフロースイッチOFS内の「フローテーブル0」に登録することを、それら2つのフローエントリのパケット内でそれぞれ指示する。ただし、プローブパケットはメンバ端末側へ転送する必要がないので、オープンフロースイッチOFS3,4,6に送信する検査用フローエントリには、「フローテーブル1を実行する命令(GoToTable1)」は含めない。
オープンフロースイッチOFSのフローテーブル0を図5(b)に例示する。各オープンフロースイッチOFSは、それぞれ、フローテーブル0に基づき、オープンフローコントローラOFCからプローブパケットを受信すると、PushVLAN Actionに基づきプローブパケットにVLANタグを追加し、SetField(VLAN) Actionに基づき当該VLANタグの値をオープンフロースイッチOFSのdpidに変更し、Output(Controller) Actionに基づき当該VLANタグをオープンフローコントローラOFCへ返信するとともに、フローテーブル1に基づき、「GroupTable(1)」に設定された処理(他のオープンフロースイッチOFSへのパケット転送処理)を行うことになる。
ステップS3;
次に、プローブパケット送信部13は、検査するマルチキャストグループの計算ツリーをデータ情報記憶部11から選択した後、オープンフローコントローラOFCのIPアドレスを送信元に設定し、選択したマルチキャストグループのIPアドレスを宛先に設定したRTPパケットを生成し、オープンフローコントローラOFC内の時刻をRTPパケット内のRTPタイムスタンプ(時刻情報)に記述して、当該RTPパケットをプローブパケットとしてサーバ側のオープンフロースイッチOFSに向けて送信する。
例えば、「No.1」の計算ツリーが選択された場合、プローブパケット送信部13は、プローブパケットをオープンフロースイッチOFS1に向けて送信する。なお、プローブパケットの送信処理は、オープンフローコントローラOFCが持つフローエントリに従うものとする。
このとき、プローブパケット送信部13は、送信したマルチキャストアドレスと、RTPタイムスタンプと、計算ツリーのNoと、実ツリーのNoとを関連付けたツリー管理テーブルを生成してデータ情報記憶部11に記憶する。例えば、図6に例示するツリー管理テーブルを生成する。
ステップS4〜S11;
次に、ツリー上の各オープンフロースイッチOFSは、オープンフローコントローラOFCからプローブパケットを受信すると、フローテーブル0,1に登録された処理を行う。具体的には、各オープンフロースイッチOFSは、それぞれ、VLANタグを付与し、当該VLANタグの値を自オープンフロースイッチOFSのdpidに変更し、当該dpidを含むプローブパケットをオープンフローコントローラOFCへ返信するとともに、転送先のオープンフロースイッチOFSへ向けて送信する。
例えば、図7(a),(b)に示すように、オープンフロースイッチOFS1は、プローブパケットにdpid1のVLANタグを追加した「プローブパケット+α」(図8(a),(b))をオープンフローコントローラOFCへ返信するとともに、オープンフロースイッチOFS2,5へも送信する。また、オープンフロースイッチOFS4は、図7(c)に示すように、オープンフロースイッチOFS2からのプローブパケットにdpid4のVLANタグを更に追加した「プローブパケット+β」(図8(c))をオープンフローコントローラOFCへ返信する。同様にオープンフロースイッチOFS6は、図7(c)に示すように、オープンフロースイッチOFS5からのプローブパケットにdpid6のVLANタグを更に追加した「プローブパケット+γ」(図8(d))をオープンフローコントローラOFCへ返信する。
ステップS12;
次に、プローブパケット受信部14は、オープンフロースイッチOFSから返信されたプローブパケットを受信し、実ツリー生成部15は、受信したプローブパケットに付与されたVLANタグ内のdpidを用いて、サーバ側のオープンフロースイッチOFSから経由した全てのオープンフロースイッチOFSによる実ツリーを生成する。
例えば、図9に示すように、オープンフロースイッチOFS1をツリーの根とし、OFS1→OFS2→OFS4の経路と、OFS1→OFS5→OFS6の経路と、からなる実ツリー(図10)が生成される。オープンフロースイッチOFS3からプローブパケットが返信されなかったため、オープンフロースイッチOFS3への経路は含まれていない。
ステップS13;
次に、ツリー比較部16は、メンバ端末側の全てのオープンフロースイッチOFSからプローブパケットが返信された後、または、規定時間が経過した後、ツリー管理テーブルを用いて比較対象のツリーを特定し、特定した実ツリーと計算ツリーとを比較する。当該比較の結果、実ツリーと計算ツリーが等しければそのまま終了する。
ステップS14;
一方、ステップS13での比較の結果、実ツリーと計算ツリーが等しくない場合、スイッチ制御部12は、等しくない箇所のオープンフロースイッチOFSに対して計算ツリーと等しくなるようなフローエントリ(計算ツリーに合致するように転送先のオープンフロースイッチOFSを設定させるフローエントリ)を送信し、ステップS3〜S13の検査を再度行う。当該検査の結果、実ツリーと計算ツリーが等しい場合は処理を終了する。
ステップS15;
一方、ステップS14での検査の結果、実ツリーと計算ツリーが等しくない場合、スイッチ制御部12は、ステップS14を規定回数繰り返し行い、できる限り元の計算ツリーに合致することを試みる。それでも実ツリーが計算ツリーと等しくならない場合、不一致箇所を故障とみなす。
ステップS16;
その後、迂回路検索部17は、故障対象のオープンフロースイッチOFSを経由しない迂回路を検索し、検索した迂回路を用いて計算ツリーを変更する。例えば、オープンフロースイッチOFS5を故障とみなした場合、オープンフロースイッチOFS1とオープンフロースイッチOFS6との間を接続している他のオープンフロースイッチOFSを検索する。また、例えば、パケットがメンバ端末側の全てのオープンフロースイッチOFSに到達していない場合、正常ツリーから当該全てのオープンフロースイッチOFS以外のメンバ端末側のオープンフロースイッチOFSにパケットが到達する迂回路を検索し、検索した迂回路上のオープンフロースイッチOFSに対してステップS1,S2を行う。この場合もプローブパケットによる検査を行う。
なお、ステップS3で複数の計算ツリーが選択され、対象となる複数のマルチキャストグループに対して短時間に複数のプローブパケットが連続して送信されると、オープンフローコントローラOFCは、オープンフロースイッチOFSから返信されたプローブパケットが、どの送信プローブパケットに対応するものであるかを特定できない可能性がある。この場合、オープンフローコントローラOFCは、返信されたプローブパケットに含まれるRTPタイムスタンプ(プローブパケット毎に付与されていた時刻)に基づき、所望のプローブパケットに対応する返信プローブパケットを特定する。
以上より、本実施の形態によれば、所定のマルチキャストグループでパケットが経由する複数のオープンフロースイッチOFSと当該複数のオープンフロースイッチOFSでのパケットの経由順序とを定めた計算ツリーを記憶しておき、計算ツリーに従ってパケットを転送する複数のオープンフロースイッチOFSに対して、検査用のプローブパケットにオープンフロースイッチOFSの識別情報を付与し、識別情報を付与したプローブパケットを返信し、当該プローブパケットを計算ツリーに従って転送する命令を定めたフローエントリを送信し、検査用のプローブパケットをマルチキャストグループのオープンフロースイッチOFSへ送信し、当該マルチキャストグループのオープンフロースイッチOFSから返信された返信プローブパケットに付与されているオープンフロースイッチOFSの識別情報を用いて、検査用のプローブパケットが経由した複数のオープンフロースイッチOFSと当該複数のオープンフロースイッチOFSでのパケットの経由順序とを含む実ツリーを生成して、実ツリーと計算ツリーとを比較するので、SDNのネットワークに対して意図した経路を使用しているかを簡易に検査することができる。また、当該検査の結果に基づき、自動で異常箇所を判別し、経路の修正を行うことができる。
なお、本実施の形態では、ステップS2で3つのフローエントリをそれぞれ送信する場合を例に説明したが、当該3つのフローエントリを1つに纏めて一度に送信してもよい。
また、本実施の形態では、VLANタグを用いる場合を例に説明したが、VLANタグに代えて、MPLS(Multi-Protocol Label Switching)ラベルを用いてもよい。具体的には、プローブパケットにMPLSラベルを追加し、当該MPLSラベルに含まれる値をオープンフロースイッチOFSのdpidに変更する。
また、本実施の形態では、dpid(DPIDの上位16ビット)を用いる場合を例に説明したが、形成するオープンフローネットワークOFNをプライベートネットワーク(例えば、社内ネットワーク)とする場合には、64ビットのDPIDを自由に決定できるので、DPIDそのものをオープンフロースイッチOFSの識別情報として用いてもよい。
また、本実施の形態では、マルチキャストグループを用いる場合を例に説明したが、ユニキャストのグループ(複数のユニキャストの組)にも適用可能である。例えば、対象とする複数のオープンフロースイッチOFSを経由するツリーを定めておき、計算ツリーのグループアドレス欄にサーバ側のオープンフロースイッチOFSのIPアドレスのみを登録しておく。これにより、同様の方法で上記ユニキャストのグループでのツリーも検査することができる。通常の経路検索(tracerouteなど)ではスイッチ毎にパケットをそれぞれ送信してツリーを検査するが、プローブパケットをサーバ側のオープンフロースイッチOFSにのみ送信すればよいので、パケット数を1つに抑えることができる。
また、本実施の形態では、マルチキャストIPアドレスを用いた場合を例に説明したが、マルチキャストIPアドレスに代えて、マルチキャストMACアドレスを用いてもよい。これにより、L2のマルチキャストツリーについても検査することができる。
また、本実施の形態では、オープンフローを用いる場合を例に説明したが、オープンフロー以外にも適用可能である。すなわち、物理ネットワーク内のネットワーク情報を一元管理し、当該ネットワーク情報を用いて物理ネットワーク全体の経路制御を一括してソフトウェアで行うSDNの技術範囲内であればよい。
また、本実施の形態では、スイッチを用いる場合を例に説明したが、ルータなどの転送装置で形成されたネットワークについても適用可能である。
最後に、本実施の形態で説明したオープンフローコントローラOFC(経路検査装置)は、CPUおよびメモリなどを備えたコンピュータで実現できる。また、オープンフローコントローラOFCとしてコンピュータを機能させるための経路検査プログラム、当該経路検査プログラムの記憶媒体を作成することも可能である。
OFC…オープンフローコントローラ
OFN…オープンフローネットワーク
OFS(OFS1〜OFS6)…オープンフロースイッチ
11…データ情報記憶部
12…スイッチ制御部
13…プローブパケット送信部
14…プローブパケット受信部
15…実ツリー生成部
16…ツリー比較部
17…迂回路検索部

Claims (9)

  1. SDN(Software Defined Networking)を用いてネットワーク内の経路を検査する経路検査装置において、
    パケットが経由する複数の転送装置と経由順序とを定めた計算ツリーを記憶しておく記憶部と、
    前記計算ツリーに従ってパケットを転送する複数の転送装置に対して、検査用のプローブパケットに転送装置の識別情報を付与し、前記識別情報を付与したプローブパケットを返信し、当該プローブパケットを前記計算ツリーに従って転送する命令を定めた命令情報を送信する制御部と、
    前記検査用のプローブパケットを前記計算ツリーの転送装置へ送信する送信部と、
    当該計算ツリーの転送装置から返信された返信プローブパケットに付与されている転送装置の識別情報を用いて、前記検査用のプローブパケットが経由した複数の転送装置と経由順序とを含む実ツリーを生成する生成部と、
    前記実ツリーと前記計算ツリーとを比較する比較部と、
    を備えることを特徴とする経路検査装置。
  2. 前記転送装置の識別情報を付与する命令は、
    前記検査用のプローブパケットにVLAN(Virtual Local Area Network)タグまたはMPLS(Multi-Protocol Label Switching)ラベルを追加し、前記VLANタグまたは前記MPLSラベルに含まれる情報を前記転送装置の識別情報に変更する命令であることを特徴とする請求項1に記載の経路検査装置。
  3. 前記送信部は、前記検査用のプローブパケットに時刻情報を付与して送信し、
    前記生成部は、
    前記返信プローブパケットに付与されている時刻情報に基づき、送信した前記検査用のプローブパケットに対応する返信プローブパケットを特定することを特徴とする請求項1または2に記載の経路検査装置。
  4. 前記記憶部は、
    前記計算ツリーをマルチキャストグループ毎に定めることを特徴とする請求項1乃至3のいずれかに記載の経路検査装置。
  5. SDN(Software Defined Networking)を用いてネットワーク内の経路を検査する経路検査装置で行う経路検査方法において、
    前記経路検査装置は、
    パケットが経由する複数の転送装置と経由順序とを定めた計算ツリーを記憶部に記憶しておく記憶ステップと、
    前記計算ツリーに従ってパケットを転送する複数の転送装置に対して、検査用のプローブパケットに転送装置の識別情報を付与し、前記識別情報を付与したプローブパケットを返信し、当該プローブパケットを前記計算ツリーに従って転送する命令を定めた命令情報を送信する制御ステップと、
    前記検査用のプローブパケットを前記計算ツリーの転送装置へ送信する送信ステップと、
    当該計算ツリーの転送装置から返信された返信プローブパケットに付与されている転送装置の識別情報を用いて、前記検査用のプローブパケットが経由した複数の転送装置と経由順序とを含む実ツリーを生成する生成ステップと、
    前記実ツリーと前記計算ツリーとを比較する比較ステップと、
    を行うことを特徴とする経路検査方法。
  6. 前記転送装置の識別情報を付与する命令は、
    前記検査用のプローブパケットにVLAN(Virtual Local Area Network)タグまたはMPLS(Multi-Protocol Label Switching)ラベルを追加し、前記VLANタグまたは前記MPLSラベルに含まれる情報を前記転送装置の識別情報に変更する命令であることを特徴とする請求項5に記載の経路検査方法。
  7. 前記送信ステップでは、前記検査用のプローブパケットに時刻情報を付与して送信し、
    前記生成ステップでは、
    前記返信プローブパケットに付与されている時刻情報に基づき、送信した前記検査用のプローブパケットに対応する返信プローブパケットを特定することを特徴とする請求項5または6に記載の経路検査方法。
  8. 前記記憶ステップでは、
    前記計算ツリーをマルチキャストグループ毎に定めることを特徴とする請求項5乃至7のいずれかに記載の経路検査方法。
  9. 請求項1乃至4のいずれかに記載の経路検査装置としてコンピュータを機能させることを特徴とする経路検査プログラム。
JP2017151369A 2017-08-04 2017-08-04 経路検査装置、経路検査方法および経路検査プログラム Active JP7002241B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017151369A JP7002241B2 (ja) 2017-08-04 2017-08-04 経路検査装置、経路検査方法および経路検査プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017151369A JP7002241B2 (ja) 2017-08-04 2017-08-04 経路検査装置、経路検査方法および経路検査プログラム

Publications (2)

Publication Number Publication Date
JP2019033306A true JP2019033306A (ja) 2019-02-28
JP7002241B2 JP7002241B2 (ja) 2022-01-20

Family

ID=65524431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017151369A Active JP7002241B2 (ja) 2017-08-04 2017-08-04 経路検査装置、経路検査方法および経路検査プログラム

Country Status (1)

Country Link
JP (1) JP7002241B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010109424A (ja) * 2008-10-28 2010-05-13 Nec Corp 品質管理装置、システム、方法、及びプログラム
JP2014236388A (ja) * 2013-06-03 2014-12-15 エヌ・ティ・ティ・コミュニケーションズ株式会社 パケット転送装置、検査制御装置、検査方法、検査制御方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010109424A (ja) * 2008-10-28 2010-05-13 Nec Corp 品質管理装置、システム、方法、及びプログラム
JP2014236388A (ja) * 2013-06-03 2014-12-15 エヌ・ティ・ティ・コミュニケーションズ株式会社 パケット転送装置、検査制御装置、検査方法、検査制御方法、及びプログラム

Also Published As

Publication number Publication date
JP7002241B2 (ja) 2022-01-20

Similar Documents

Publication Publication Date Title
US11374862B2 (en) Packet sending and processing method and apparatus, PE node, and node
US10382309B2 (en) Method and apparatus for tracing paths in service function chains
US9832031B2 (en) Bit index explicit replication forwarding using replication cache
EP2503743B1 (en) Usage Of Masked Ethernet Addresses Between Transparent Interconnect Of Lots Of Links (Trill) Routing Bridges
US8787377B2 (en) Usage of masked BMAC addresses in a provider backbone bridged (PBB) network
CN105227463B (zh) 一种分布式设备中业务板间的通信方法
US10103981B2 (en) BIER forwarding validation
US9838243B2 (en) Transformative requests
US9819643B2 (en) CCN name patterns
US8085674B2 (en) Priority trace in data networks
US8971195B2 (en) Querying health of full-meshed forwarding planes
JP6605558B2 (ja) ネットワークのプローブ・ルーティング
JP6323444B2 (ja) 通信システム、制御装置、通信方法およびプログラム
EP3076611A1 (en) Communication system, communication method, network information combination apparatus, and network information combination program
US20160301595A1 (en) Communication system, communication method, network information combination apparatus, processing rule conversion method, and processing rule conversion program
JPWO2006073066A1 (ja) 通信装置、ルーティング方法及びプログラム
JP7002241B2 (ja) 経路検査装置、経路検査方法および経路検査プログラム
Cisco Networking Protocol Configurations
WO2022132208A1 (en) Performance measurement in a segment routing network
Akter et al. Analysis and comparative study for developing computer network in terms of routing protocols having IPv6 network using cisco packet tracer
Ibanez et al. Path-moose: a scalable all-path bridging protocol
Veselý et al. Multicast, trill and lisp extensions for inet
Janovic Fabric Forwarding (and Troubleshooting)
Sandhu Egress MAC ACLs
Haque et al. Analysis of Shortest Path Packet Tracing of Routers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211227

R150 Certificate of patent or registration of utility model

Ref document number: 7002241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150