(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6134571
(24)【登録日】2017年4月28日
(45)【発行日】2017年5月24日
(54)【発明の名称】疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラム
(51)【国際特許分類】
H04L 12/70 20130101AFI20170515BHJP
H04L 12/717 20130101ALI20170515BHJP
【FI】
H04L12/70 100A
H04L12/70 D
H04L12/717
【請求項の数】11
【全頁数】15
(21)【出願番号】特願2013-89837(P2013-89837)
(22)【出願日】2013年4月22日
(65)【公開番号】特開2014-216680(P2014-216680A)
(43)【公開日】2014年11月17日
【審査請求日】2016年2月8日
(73)【特許権者】
【識別番号】397065480
【氏名又は名称】エヌ・ティ・ティ・コムウェア株式会社
(74)【代理人】
【識別番号】100064908
【弁理士】
【氏名又は名称】志賀 正武
(74)【代理人】
【識別番号】100108578
【弁理士】
【氏名又は名称】高橋 詔男
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(72)【発明者】
【氏名】山田 啓
(72)【発明者】
【氏名】近江 貴晴
(72)【発明者】
【氏名】伊藤 奈々
(72)【発明者】
【氏名】長谷川 紗弓
【審査官】
野元 久道
(56)【参考文献】
【文献】
米国特許出願公開第2013/0010600(US,A1)
【文献】
高橋 清隆,MPLS−TPの技術動向,電子情報通信学会2012年総合大会講演論文集 通信2 PROCEEDINGS OF THE 2012 IEICE GENERAL CONFERENCE,日本,社団法人電子情報通信学会,2012年 3月23日,SS-72〜SS-73
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
H04L 12/717
(57)【特許請求の範囲】
【請求項1】
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付ける受付部と、
前記指定を受け付けた疎通確認区間における前記転送ルールに応じた確認用データを生
成する生成部と、
を備え、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定され、
前記生成部は、前記ネットワーク外の機器が前記確認用データを受信したとき、該機器において、トランスポート層よりも上位のプロトコルスタックで前記確認用データが破棄されるように、前記確認用データを生成する、
疎通確認装置。
【請求項2】
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付ける受付部と、
前記指定を受け付けた疎通確認区間における前記転送ルールに応じた確認用データを生
成する生成部と、
を備え、
前記生成部は、前記疎通確認区間が複数方向に分岐する分岐点を含む場合、該分岐点の次の転送部で前記疎通確認区間を分割した仮区間のそれぞれについて前記確認用データを生成し、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定されるとともに、
前記仮区間のそれぞれに、対応する前記確認用データが送出され、前記仮区間のそれぞれについて疎通が正常になされているか否かが判定される、
疎通確認装置。
【請求項3】
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付ける受付部と、
前記指定を受け付けた疎通確認区間における前記転送ルールに応じた確認用データを生成する生成部と、
を備え、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定され、
前記確認用データとは異なるデータを前記ネットワーク内の転送部に送信し、該データを送信した転送部からの返信を確認することによって、前記ネットワーク内の転送部との間の疎通を確認することが、定期的に行われる、
疎通確認装置。
【請求項4】
前記生成部により生成された確認用データを前記疎通確認区間の起点である前記転送部に送出し、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かを判定する判定部
を備える請求項1から請求項3のいずれか一項に記載の疎通確認装置。
【請求項5】
請求項1から3のうちいずれか一項に記載の疎通確認装置と、
前記生成部により生成された確認用データを前記疎通確認区間の起点である前記転送部に送出し、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かを判定する判定部と、
前記転送部と、
前記転送部に対して転送ルールを設定するコントローラと、
を備えるネットワークシステム。
【請求項6】
コンピュータが、
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付ける受付過程と、
前記指定を受け付けた指定確認区間における前記転送ルールに応じた確認用データを生成する生成過程と、
を有し、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定され、
前記生成過程において、前記ネットワーク外の機器が前記確認用データを受信したとき、該機器において、トランスポート層よりも上位のプロトコルスタックで前記確認用データが破棄されるように、前記確認用データを生成する、
疎通確認方法。
【請求項7】
コンピュータが、
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付ける受付過程と、
前記指定を受け付けた指定確認区間における前記転送ルールに応じた確認用データを生成する生成過程と、
を有し、
前記生成過程において、前記疎通確認区間が複数方向に分岐する分岐点を含む場合、該分岐点の次の転送部で前記疎通確認区間を分割した仮区間のそれぞれについて前記確認用データを生成し、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定されるとともに、
前記仮区間のそれぞれに、対応する前記確認用データが送出され、前記仮区間のそれぞれについて疎通が正常になされているか否かが判定される、
疎通確認方法。
【請求項8】
コンピュータが、
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付ける受付過程と、
前記指定を受け付けた指定確認区間における前記転送ルールに応じた確認用データを生成する生成過程と、
を有し、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定され、
前記確認用データとは異なるデータを前記ネットワーク内の転送部に送信し、該データを送信した転送部からの返信を確認することによって、前記ネットワーク内の転送部との間の疎通を確認することが、定期的に行われる、
疎通確認方法。
【請求項9】
コンピュータに、
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付けさせる受付手順、
前記指定を受け付けた指定確認区間における前記転送ルールに応じた確認用データを生成させる生成手順、
を実行させ、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定され、
前記生成手順において、前記ネットワーク外の機器が前記確認用データを受信したとき、該機器において、トランスポート層よりも上位のプロトコルスタックで前記確認用データが破棄されるように、前記確認用データを生成させるための疎通確認プログラム。
【請求項10】
コンピュータに、
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付けさせる受付手順、
前記指定を受け付けた指定確認区間における前記転送ルールに応じた確認用データを生成させる生成手順、
を実行させ、
前記生成手順において、前記疎通確認区間が複数方向に分岐する分岐点を含む場合、該分岐点の次の転送部で前記疎通確認区間を分割した仮区間のそれぞれについて前記確認用データを生成させ、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定されるとともに、
前記仮区間のそれぞれに、対応する前記確認用データが送出され、前記仮区間のそれぞれについて疎通が正常になされているか否かが判定されるための疎通確認プログラム。
【請求項11】
コンピュータに、
転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付けさせる受付手順、
前記指定を受け付けた指定確認区間における前記転送ルールに応じた確認用データを生成させる生成手順、
を実行させ、
前記確認用データは、前記疎通確認区間の起点である前記転送部に送出され、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かが判定され、
前記確認用データとは異なるデータが前記ネットワーク内の転送部に送信され、該データを送信した転送部からの返信が確認されることによって、前記ネットワーク内の転送部との間の疎通が確認されることが、定期的に行われるための疎通確認プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラムに関する。
【背景技術】
【0002】
従来、L2スイッチで構成されたネットワークでは、MACアドレスを利用してパケット転送がされ、ルータで構成されたネットワークでは、IPアドレスを利用してパケット転送がされている。これらのネットワーク内では、同一の転送装置内で異なる転送方法が混在することは無かった。
【0003】
また、例えばルータによって構成されるネットワーク(IPネットワーク)においては、宛先IPアドレスによってのみ転送が行われ、その上位プロトコル(ICMP(Internet Control Message Protocol;非特許文献1参照)、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)など)が異なっていたとしても、同じルールでパケット転送処理が行われる。
【0004】
従って、従来のネットワーク(例えばIPネットワーク)においては、仮にICMPパケットの到達が確認できれば、同一のIPアドレス宛のTCPパケットやUDPパケットも到達することが保証される。そのため、疎通の確認には、何れかの種類のパケットの到達を確認すれば十分であり、これによって任意のIPパケットの疎通確認が可能であった。その具体的な手法の一つとして、ICMPパケットを利用するpingなどが挙げられる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】RFC792、INTERNET CONTROL MESSAGE PROTOCOL、2013年2月12日検索、インターネット<URL:http://www.rfcsearch.org/rfcview?lookup_type=RFC&lookup_num=792>
【非特許文献2】OpenFlow Switch Specification、2013年2月13日検索、インターネット<URL:https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf>
【非特許文献3】MPLS Japan 2012 における発表資料(P.26)、2013年2月13日検索、インターネット<URL:http://www.mpls.jp/presentations/m.tsukuda_mpls_japan_2012.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、近年、SDN(Software Defined Network)の実現方式の1つとして、OpenFlow(非特許文献2参照)が提唱されており、ONF(Open Network Foundation)によって仕様策定が進められている。OpenFlowを利用したネットワークとは、OpenFlowコントローラ(以下、OFCと称する)とOpenFlowスイッチ(以下、OFSと称する)によって構成されるネットワークであり、OFCからOFSに対してパケットの転送ルールを自由に設定可能であり、その転送ルールによって仮想ネットワークを構築可能な技術である。OFSで構成されるネットワークにおいては、様々なパケット転送方法を持つ仮想ネットワークを自由に構成可能である。すなわち、OpenFlowを利用したネットワークでは、同一の転送装置内に異なる転送方法が混在することがあり得る。
【0007】
図1は、OpenFlowを利用したネットワークを概念的に示す図である。OpenFlowを利用したネットワークでは、
図1に示すように転送装置(図中、OFS(1)〜OFS(6))を備える物理NW(ネットワーク)から、仮想NW1〜3を構築することができる。例えば、仮想NW1では、送信元IPアドレスが192.168.0/24であり、送信先IPアドレスが192.168.10/24であり、且つプロトコルがTCPであるパケットが転送されるという転送ルールを適用することが可能である。また、仮想NW2では、MACアドレスに基づく転送ルールが、仮想NW3では、プロトコルがUDPであり、且つ送信先ポート番号が3000番に対する転送ルールが規定されているというように、様々な転送ルールの仮想NWが同一の物理NW上に構築される場合がある。
【0008】
従来のL2スイッチで構成されたネットワークやルータで構成されたネットワークの場合、例えば、ある種類・転送方法のパケットについて転送装置(1)→(4)の疎通が確認されれば、任意の種類・転送方法のパケットについて転送装置(1)→(4)の疎通が確認されたことになる。しかしながら、OpenFlowを利用したネットワークでは、例えば仮想NW3において転送装置(1)→(4)の疎通が確認されたとしても、仮想NW1において転送装置(1)→(4)の疎通が確認されたことにはならない。OpenFlowを利用したネットワークのように、各転送装置に任意の転送ルールを設定可能なネットワークでは、仮想NW間で、送信元と送信先が同じであっても転送経路が異なる場合があるからである。
【0009】
これに対し、CC/pingを利用した方式が提示されている(非特許文献3参照)。しかしながら、この方式は、作成される仮想ネットワークが、従来のL2/L3ネットワークのみであることを前提としているため、各転送装置に任意の転送ルールを設定可能なネットワークに適用することができない場合がある。
【0010】
本発明は、このような事情を考慮してなされたものであり、転送部毎に任意の転送ルールを設定可能なネットワークについて、任意の区間における疎通確認を行うことを目的の一つとする。
【課題を解決するための手段】
【0011】
本発明の一態様は、転送部毎に任意の転送ルールを設定可能なネットワークについて、通信の疎通を確認すべき疎通確認区間の指定を受け付ける受付部と、前記指定を受け付けた指定確認区間における前記転送ルールに応じた確認用データを生成する生成部と、前記生成部により生成された確認用データを前記ネットワークに送出し、返信された前記確認用データを参照して前記疎通確認区間において疎通が正常になされているか否かを判定する判定部と、を備える疎通確認装置である。
【発明の効果】
【0012】
本発明の一態様によれば、転送部毎に任意の転送ルールを設定可能なネットワークについて、任意の区間における疎通確認を行うことができる。
【図面の簡単な説明】
【0013】
【
図1】OpenFlowを利用したネットワークを概念的に示す図である。
【
図2】本実施形態に係る疎通確認装置1の通信環境を例示した図である。
【
図3】疎通確認装置1のハードウェア構成の一例を示す図である。
【
図4】疎通確認装置1の機能構成の一例を示す図である。
【
図5】試験管理情報40として格納されるデータの構造の一例を示す図である。
【
図6】疎通確認装置1により実行される処理の流れを示すフローチャートの一例である。
【
図7】確認用パケットのヘッダ部分のフォーマットの一例を示す図である。
【
図8】デフォルトの確認用パケットのヘッダ部分の一例を示す図である。
【
図9】疎通確認処理が適用されるネットワークシステムの一部を例示した図である。
【
図10】
図9に示す仮想NWの設定情報の一例を示す図である。
【
図11】試験管理情報40として可能されるデータの一例である。
【
図12】確認用パケット生成部32がデフォルトの確認用パケット(TCP版)に、TTLとIPアドレスを格納した確認用パケットの一例を示す図である。
【
図13】1つのSrcに対して複数のDstが存在する仮想NWの一例を示す図である。
【
図14】
図13に示す仮想NWを仮想的に分割したサブNWの一例を示す図である。
【発明を実施するための形態】
【0014】
[構成]
以下、図面を参照し、本発明の疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラムの実施形態について説明する。
図2は、本実施形態に係る疎通確認装置1の通信環境を例示した図である。疎通確認装置1は、例えば、OFC100およびトポロジ管理装置200に接続される。疎通確認の対象とされるネットワークNWは、OFS(1)〜(6)が互いに通信を行うことで機能する。各OFSは、OFC100からの指示に応じて設定される条件に従って、パケットの転送処理を行う。各OFSは、OpenFlowプロトコルに従って動作する。例えば、各OFSは、TTL(Time To Live)の値が「1」である確認用パケット(確認用データの一例である)を受信すると、OFC100に対してPacketIn処理を行う。
【0015】
OFC100は、例えば、ネットワークNW内の全てのOFSと通信可能に接続され(直接であってもよいし、OFSなどを介在させてもよい)、各OFSに対する処理を実施するためのOpenFlowプロトコルスタックが搭載されている。OFC100は、各OFSにおける転送ルールを設定する。また、OFC100は、疎通確認装置1からの指示に従い、疎通確認用パケットの送信、およびOFSからのイベントのハンドリングを行い、ハンドリングした情報を疎通確認装置1に返信する。
【0016】
トポロジ管理装置200は、ネットワークNW上に構築されている各仮想ネットワークのトポロジ情報を管理する。トポロジ管理装置200は、仮想ネットワーク毎に、利用しているOFSを一意に定める情報(以下、OFSのID)、OFSの接続関係情報、仮想ネットワーク構築ルールなどを管理しており、任意の仮想ネットワークにおける任意のOFS間のホップ数を算出することができる。また、トポロジ管理装置200は、マウス、キーボード、表示装置などのユーザインターフェースを備え、オペレータによる疎通確認区間の指定などを受け付けると共に、仮想ネットワークのトポロジ情報を表示したり、疎通確認装置1による確認結果を表示したりする。なお、これに限らず、疎通確認装置1がユーザインターフェースを備えてもよいし、OFC100と疎通確認装置1、トポロジ管理装置200と疎通確認装置1、或いはこれらの全てが一体化されてもよい。
【0017】
図3は、疎通確認装置1のハードウェア構成の一例を示す図である。疎通確認装置1は、例えば、CPU10とドライブ装置12と、記憶装置16と、メモリ装置18と、インターフェース装置20とを備える。
【0018】
CPU10は、記憶装置16やメモリ装置18に格納された各種プログラムを実行する。ドライブ装置12には、USBメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、SDカードなどの記憶媒体14が装着される。記憶装置16は、例えば、HDD(Hard Disk Drive)、フラッシュメモリ、ROM(Read Only Memory)等を含む。メモリ装置18は、例えば、RAM(Random Access Memory)やレジスタ等を含む。インターフェース装置20は、OFC100やトポロジ管理装置200に接続するための装置である。
【0019】
図4は、疎通確認装置1の機能構成の一例を示す図である。疎通確認装置1は、トポロジ管理装置200においてオペレータによって指定された仮想ネットワーク上の疎通確認区間の情報を受け取り、OFCのPacketOut/PacketIn機能を利用して疎通確認処理を実施する。
【0020】
疎通確認装置1は、例えば、疎通確認要求受信部30と、確認用パケット生成部32と、OFC連携部34と、確認結果判定部36と、確認結果送信部38とを備える。これらの機能部は、例えば、記憶装置16に格納されたプログラムをCPU10が実行することにより機能するソフトウェア機能部である。なお、これらの機能部がそれぞれ独立したプログラムによって記述されている必要は無い。また、これらの機能部の一部または全部は、LSI(Large Scale Integration)やIC(Integrated Circuit)などのハードウェア機能部であってもよい。また、疎通確認装置1は、メモリ装置18や記憶装置16に、試験管理情報40を格納する。
【0021】
疎通確認要求受信部30は、トポロジ管理装置200から、疎通確認要求を受信する。疎通確認要求には、疎通確認区間における仮想NWの転送ルール、疎通確認区間のSrc(起点)およびDst(終点)のOFSのID、およびホップ数などの情報が含まれる。転送ルールとしては、例えば、<送信先IP(送信先のIPアドレス)=192.168.0/24、プロトコル=UDP>といった内容が規定される。また、OFSのIDとしては、例えばデータパスIDなどが用いられる。疎通確認要求受信部30は、疎通確認要求を受信すると、その要求を一意に識別するための情報(以下、要求識別情報)を生成し、疎通確認区間のSrcおよびDstのOFSのIDと共に試験管理情報40としてメモリ装置18や記憶装置16に格納する。
図5は、試験管理情報40として格納されるデータの構造の一例を示す図である。
【0022】
確認用パケット生成部32は、メモリ装置18や記憶装置16に格納された情報に基づき、疎通確認に利用する確認用パケットを生成してOFC連携部34に出力する。確認用パケットの生成処理の詳細については、後述する。なお、本実施形態においては、疎通確認装置1が確認用パケットの生成を行うものとしたが、疎通確認装置1が確認用パケットの生成条件のみを決定し、その条件を例えばOFC100に送信し、OFC100が確認用パケットを生成するといった流れで処理が行われてもよい。
【0023】
OFC連携部34は、確認用パケット生成部32が生成した確認用パケットを受け取ると共にSrcのOFSのIDをメモリ装置18や記憶装置16から読み込み、パケットの送信指示(PacketOut指示)をSrcのOFCに送信する。また、OFC連携部34は、DstのOFSが送信したイベント情報(PacketIn情報)をOFC100経由で受信し、確認結果判定部36に出力する。
【0024】
確認結果判定部36は、OFC連携部34から入力されたPacketIn情報と、試験管理情報40に含まれる要求識別情報とを比較することにより、トポロジ管理装置200から入力されたSrcのOFSとDstのOFSの間の疎通が確認できたか否かを判定する。確認結果送信部38は、確認結果判定部36による判定結果をトポロジ管理装置200に送信する。
【0025】
[処理の流れ]
図6は、疎通確認装置1により実行される処理の流れを示すフローチャートの一例である。まず、疎通確認装置1は、トポロジ管理装置200から疎通確認要求を受信するまで待機する(ステップS300)。トポロジ管理装置200から疎通確認要求を受信すると、疎通確認要求受信部30は、受信した情報をメモリ装置18や記憶装置16に格納する(ステップS302)。
【0026】
次に、確認用パケット生成部32が、確認用パケットの生成処理を行う(ステップS304〜S320)。
図7は、確認用パケットのヘッダ部分のフォーマットの一例を示す図である。
図7に示すように、確認用パケットは、例えばIPv4に基づいて生成される。IPv6に基づいて確認用パケットを生成する場合、対応する箇所を適宜変換すればよい。確認用パケットは、イーサヘッダとIPヘッダが結合したものに、ICMPヘッダ、TCPヘッダ、UDPヘッダのいずれかが付加されたフォーマットで生成される。
【0027】
図6に戻り、説明を行う。まず、確認用パケット生成部32は、疎通確認区間における転送ルールにおいて、IPよりも上位のプロトコルの指定が有るか否かを判定する(ステップS304)。プロトコルの指定が無い場合、確認用パケット生成部32は、UDPパケットをデフォルトの確認用パケットとする(ステップS306)。一方、プロトコルの指定が有る場合、確認用パケット生成部32は、指定されたプロトコルでデフォルトの確認用パケットを生成する(ステップS308)。
【0028】
図8は、デフォルトの確認用パケットのヘッダ部分の一例を示す図である。
図8に示すように、デフォルトの確認用パケットにおいて、イーサヘッダの送信元MACアドレスにはOFC100のMACアドレスが、送信先MACアドレスには任意のMACアドレスが、それぞれ入力される。また、デフォルトの確認用パケットにおいて、IPヘッダの送信元IPアドレスにはOFC100のIPアドレスが、送信先IPアドレスには任意のIPアドレス(プライベート、ブロードキャスト、マルチキャスト、ネットワークを除く)が、それぞれ入力される。
【0029】
また、デフォルトの確認用パケットがICMPパケットである場合(疎通確認区間における転送ルールにおいて、プロトコルの指定がICMPである場合)、ICMPヘッダのタイプには「0」が入力される。デフォルトの確認用パケットがTCPパケットである場合(プロトコルの指定がTCPである場合)、TCPヘッダの送信元ポート番号および送信先ポート番号には「0」が入力される。デフォルトの確認用パケットがUDPパケットである場合(プロトコルの指定がTCPである場合)、TCPヘッダの送信元ポート番号および送信先ポート番号には「0」が入力される。これらの値は、通常のパケットのヘッダには入力されない値(あり得ない値)であるため、仮に確認用パケットが仮想NWの外部に流出し、疎通確認とは無関係な機器が受信したとしても、確認用パケットは、受信した機器において、トランスポート層よりも上位のプロトコルスタックにより破棄されることになる。この結果、疎通確認のためのパケット転送が、意図せぬ不都合を生じさせるのを防止することができる。
【0030】
図6に戻り、説明を行う。確認用パケット生成部32は、ステップS308の処理を行った後、疎通確認区間における転送ルールにおいて、指定されたプロトコルがTCPまたはUDPであるか、或いはICMPであるかを判定する(ステップS310)。
【0031】
指定されたプロトコルがTCPまたはUDPである場合、確認用パケット生成部32は、疎通確認区間における転送ルールにおいて、送信先ポート番号の指定が有るか否かを判定する(ステップS312)。送信先ポート番号の指定が有る場合、確認用パケット生成部32は、デフォルトの確認用パケットのチェックサム領域を不正な値に改変する(ステップS314)。
【0032】
係る処理は、後述するステップS318において転送ルールに応じた情報を格納する(上書きする)ため、上記のように、送信先ポート番号に「0」を入力した効果が無くなることを考慮したものである。チェックサム領域を改変することで、例えば確認用パケットが仮想NWの外部に流出して無関係な機器が受信した場合でも、確認用パケットは、受信した機器においてプロトコルスタックにより破棄されることになる。但し、チェックサム領域を改変する処理は、送信先ポート番号に「0」を格納する処理よりも若干、処理負荷が大きいため、送信先ポート番号に「0」を格納する処理を優先し、送信先ポート番号の指定が有るために「0」が上書きされる場合にのみ、チェックサム領域の改変を行う。これによって、疎通確認装置1は、疎通確認のためのパケット転送が、意図せぬ不都合を生じさせるのを防止すると共に、処理負荷の増大を抑制することができる。
【0033】
一方、指定されたプロトコルがICMPである場合、確認用パケット生成部32は、疎通確認区間における転送ルールにおいて、タイプの指定が有るか否かを判定する(ステップS316)。タイプの指定が有る場合、確認用パケット生成部32は、デフォルトの確認用パケットのチェックサム領域を改変する(ステップS314)。係る処理の趣旨は、ステップS312→S314の流れと同様である。
【0034】
次に、確認用パケット生成部32は、デフォルトの確認用パケットに、疎通確認区間における転送ルールに応じた情報を格納する(ステップS318)。また、確認用パケット生成部32は、IPヘッダのTTL領域にホップ数を、ペイロード等に要求識別情報を、それぞれ格納する(ステップS320)。確認用パケット生成部32は、ペイロード領域に代えて、IPヘッダの識別子領域等に要求識別情報を入力してもよい。
【0035】
図6に戻り、説明を行う。OFC連携部34は、OFC100に対して、生成した確認用パケットと、疎通確認区間におけるSrcのOFSのIDとを送信し、PacketOut機能を呼び出すことにより、疎通確認実施を依頼する(ステップS322)。OFC100は、疎通確認区間におけるSrcのOFSに対して、PacketOut処理によって確認用パケットを送信する。
【0036】
この結果、疎通確認区間にあるOFSは、TTLを1ずつ減らしながら確認用パケットを転送する。TTLが1の確認用パケットを受信したOFSは、TTLを1減らすことでTTLをゼロとし、OFC100に対してTTL InvalidによるPacktIn処理を行う。PacktInされた情報(以下、PacktIn情報)には、PacktIn処理の対象となった確認用パケットが含まれている。従って、確認用パケットはOFC100に戻ってくる仕組みとなっている。OFC100は、PacketIn情報と、それを送信したOFSを特定する情報(以下、OFS特定情報)を、疎通確認装置1のOFC連携部34に送信する。
【0037】
確認結果判定部36は、OFC連携部34がOFC100から受信したPacktIn情報とOFS特定情報に基づき、疎通確認区間において疎通が正常になされているか否かを判定する(ステップS324;疎通確認結果判定)。より具体的には、確認結果判定部36は、PacketIn情報からPacketIn発生理由および確認用パケットを取り出し、更に確認用パケットに格納されている要求識別情報を取り出す。次に、確認結果判定部36は、試験管理情報40を参照し、上記取り出した要求識別情報に対応するDstのOFSのIDを試験管理情報40から取得する。そして、確認結果判定部36は、PacketIn発生理由がTTL Invalidであり、且つOFC連携部34が受信したOFS特定情報と、試験管理情報40から取得したDstのOFSのIDが一致すれば、疎通が正常になされていると判定する。一方、確認結果判定部36は、OFC連携部34が受信したOFS特定情報と、試験管理情報40から取得したDstのOFSのIDが一致しない場合、TTL Invalid以外の理由でPacketInされてきた場合、PacketOutから一定時間経過してもPacketInされてこない場合は、該当する疎通確認区間について、疎通が正常になされていないと判定する。
【0038】
確認結果送信部38は、確認結果判定部36による疎通確認結果を、例えばトポロジ管理装置200に送信する(ステップS326)。トポロジ管理装置200は、疎通確認結果を表示装置に表示させる。これによって、オペレータが疎通確認結果を視認することができる。
【0039】
なお、OFC100とOFS(疎通確認区間におけるSrcまたはDstのOFS)の間の疎通が正常になされていない場合、PacketInが返ってこないため、疎通確認区間内での疎通は正常になされているにも関わらず、確認結果判定部36は「疎通が正常になされていない」という疎通確認結果を出力することが想定される。これを回避するために、疎通確認装置1は、OFC100に、定期的に各OFSとの間の疎通確認を行わせてよい。この疎通確認は、例えば、返信を要求するパケット(確認用パケットとは異なるパケット)を各OFSに送信し、返信を確認することで行われる。これによって、確認結果判定部36の判定精度を向上させることができる。
【0040】
[適用例]
以下、上記説明した疎通確認処理が適用される場面について、より具体的に説明する。
図9は、疎通確認処理が適用されるネットワークシステムの一部を例示した図である。
図9に示すように、IPアドレスが192.168.0.0/24に属するコンピュータXから、IPアドレスが192.168.1.0/24に属するコンピュータYへのパケット送信は、IDがAであるOFS、IDがBであるOFS、IDがCであるOFS、IDがDであるOFSの順に転送されて行われるように設定されている。
図10は、
図9に示す仮想NWの設定情報の一例を示す図である。
図10において、「Output=port#x」とは、各OFSにおける次のOFSが接続されているネットワークポートの番号を意味する。例えば、IDがBのOFSでは、IDがCのOFSが接続されるポートの番号となる。
【0041】
このような場面で、疎通確認装置1が受信する疎通確認要求は、例えば、
図10の「Matching Field」に格納されたものを転送ルールとし、疎通確認区間がSrcのOFS(ID=A)とDstのOFS(ID=D)で特定され、ホップ数が4といった情報を含む。これによって、試験管理情報40には、
図11に示すデータが格納される。
【0042】
確認用パケット生成部32が生成するデフォルトの確認用パケットは、
図8に示す通りである(プロトコル指定TCPであるため、TCPヘッダがイーサヘッダおよびIPヘッダに付加される)。これに対し、確認用パケット生成部32は、ホップ数=4をTTL領域に格納し、送信元IPアドレスおよび送信先IPアドレスを、それぞれ仮想NWの設定情報における送信元IPアドレスおよび送信先IPアドレスで上書きする。但し、IPヘッダに格納するIPアドレスは、例えばそれぞれのセグメントの先頭アドレスとする。
図12は、確認用パケット生成部32がデフォルトの確認用パケット(TCP版)に、TTLとIPアドレスを格納した確認用パケットの一例を示す図である。
【0043】
このような確認用パケットがPacketOut処理によってSrcのOFSに送信されると、OFS(ID=A、B、C、D)は、TTLを1ずつ減らしながら確認用パケットを転送する。TTLが1の確認用パケットを受信したDstのOFS(ID=D)は、TTLを1減らすことでTTLをゼロとし、OFC100に対してTTL InvalidによるPacktIn処理を行う。
【0044】
[マルチキャスト、ラウンドロビン等への適用]
OFSによって実現可能な通信方法は、1対1のユニキャスト通信だけでなく、1対多数のマルチキャスト通信や、負荷分散実現のためのラウンドロビンなどが実現可能である。OFSがこれらの通信をサポートしている場合、疎通確認要求は、全てのDstのOFS、および分岐点の次のOFSを特定する情報を含めるように規定する。
図13は、1つのSrcに対して複数のDstが存在する仮想NWの一例を示す図である。疎通確認装置1は、
図13に示すような仮想NWの全体について疎通確認を行う場合、分岐点の次のOFS(図中、ID=C、Fのもの)を一方の仮Dstとすると共に他方の仮Srcとして仮想NWを分割し、分割した各サブNWについて疎通確認を行う。
図14は、
図13に示す仮想NWを仮想的に分割したサブNWの一例を示す図である。
図14において、「Src*」、「Dst*」は、分割によって生じた仮のSrc、Dstを示している。疎通確認装置1は、
図14に示すDst(Dst*を含む)のOFSの全てについて確認用パケットを生成し(
図14における疎通確認区間(1)〜(5))、対応するSrc(Src*を含む)のOFSに送信する。なお、分割に伴いホップ数も分割され、これに応じてTTLが上書きされる。この結果、疎通が正常になされていれば、全てのDstのOFSからPacketIn情報が返ってくることになる。PacketIn情報に対する疎通確認判定については、上記説明と同じである。
【0045】
[まとめ]
以上説明した本実施形態の疎通確認装置、ネットワークシステム、疎通確認方法、および疎通確認プログラム(以下、疎通確認装置1等)によれば、疎通確認区間における転送ルールに応じた確認用パケットを生成してSrcのOFS(転送部)に送出するため、OFS毎に転送ルールを設定可能なネットワークについて、任意の区間における疎通確認を行うことができる。
【0046】
また、本実施形態の疎通確認装置1等によれば、ネットワーク外の機器が確認用パケットを受信したとき、その機器において、トランスポート層よりも上位のプロトコルスタックで確認用パケットが破棄されるため、疎通確認のためのパケット転送が、意図せぬ不都合を生じさせるのを防止することができる
【0047】
なお、本実施形態におけるOFC連携部34および確認結果判定部36が、特許請求の範囲における「判定部」の一例である。
【0048】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0049】
1‥疎通確認装置、10‥CPU、30‥疎通確認要求受信部、32‥確認用パケット生成部、34‥OFC連携部、36‥確認結果判定部、38‥確認結果送信部、40‥試験管理情報、100‥OFC、200‥トポロジ管理装置