JP2005218038A - ネットワーク検証方法および装置 - Google Patents

ネットワーク検証方法および装置 Download PDF

Info

Publication number
JP2005218038A
JP2005218038A JP2004025602A JP2004025602A JP2005218038A JP 2005218038 A JP2005218038 A JP 2005218038A JP 2004025602 A JP2004025602 A JP 2004025602A JP 2004025602 A JP2004025602 A JP 2004025602A JP 2005218038 A JP2005218038 A JP 2005218038A
Authority
JP
Japan
Prior art keywords
network
communication device
identifier
port
state transition
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
JP2004025602A
Other languages
English (en)
Other versions
JP4237649B2 (ja
Inventor
Hideki Sakurada
英樹 櫻田
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
Original Assignee
Nippon Telegraph and Telephone 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 filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2004025602A priority Critical patent/JP4237649B2/ja
Publication of JP2005218038A publication Critical patent/JP2005218038A/ja
Application granted granted Critical
Publication of JP4237649B2 publication Critical patent/JP4237649B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ネットワーク上でのパケットの転送やネットワーク構成を当該ネットワークを実際に稼働させることなく検証できるネットワーク検証方法及び装置を提供する。
【解決手段】第1の通信機器の識別子と第1の通信機器から送信されたパケットを受信する第2の通信機器の識別子との対応関係、及び第2の通信機器の識別子と第2の通信機器から送信されたパケットを受信する第3の通信機器の識別子との対応関係、第2の通信機器で受信されたパケットに付加されている第1のタグと第2の通信機器から第3の通信機器に転送されるパケットに付加される第2のタグとの対応関係をそれぞれ表すデータから、各タグと各通信機器の識別子と各通信機器が送信及び転送のいずれのモードであるかを示す動作モード情報で特定されるネットワークの状態遷移を示す状態遷移データを含むネットワークモデルを生成し、ネットワークモデルが要求仕様を満たすか否かを検証する。
【選択図】 図1

Description

本発明はネットワークを検証するための方法および装置に関する。
パケットを転送するネットワークには、パケットにタグと呼ばれる識別子が付加されているものがある。このようなネットワークにおいては、ネットワークを構成するパケット中継装置(スイッチ)は、受信したパケットに付加されているタグとスイッチに保存された転送ルールとを照合し、パケットを転送するポートを決定する。また、このようなスイッチにはパケットを送信する際に、タグを改変する機能を持つものがある。
このようなネットワークの例として、IEEE(米国電気電子技術者協会)で標準化されている802.1Q VLAN(例えば非特許文献2参照)や、IETF(Internet Engineering Task Force)で標準化されているMPLS(Multiprotocol Label Switching)(例えば非特許文献3参照)などがある。
このようなネットワークにおいては、スイッチの転送ルールの誤りやスイッチの故障、その他の原因によって、パケットがネットワークの要求仕様どおりに転送されない、あるいは要求仕様とは異なるように転送されるという障害が起きることがある。このような障害を発見する既存の方法として、実際にパケットを送出し、その転送のされ方を観察する方法がある。その一例として、ループ検出パケットを送出することによりパケットのループを検出する方法がある(例えば特許文献1、2、3参照)。
一方、状態遷移モデルの性質を柔軟に記述可能な方法として、様相論理を用いる方法がある。状態遷移モデルが、様相論理で記述された性質を満たすか否かを効率的に判定する判定方法として、モデル検査の方法が知られている。また、様相論理の1つであるCTL(computation tree logic)およびLTL(linear time temporary logic)によって記述された性質についてモデル検査を行うソフトウェアとしてSMV(symbolic model verifier)が知られている(様相論理、モデル検査、およびSMVについては、例えば非特許文献1参照)。
特開平5−134993号公報
特開平11−243416号公報
特開2000−49854
クラルケ(E.M.Clarke)他著,「モデル・チェッキング(Model Checking)」(ISBN:0262032708)
IEEE規格Std 802.1q−2003
ローゼン(E.Rosen)他著「マルチプロトコル・ラベル・スイッチング・アーキテクチャ(Multiprotocol Label Switching Architecture)」,IETF RFC3031
ネットワーク上の障害をネットワークの稼働前に発見するためと、障害が発生したときにそれが転送ルールの誤りによるものか否かを判断するためには、ネットワーク上のスイッチが転送ルールどおりにパケットを転送したときに、パケットが要求仕様通りに転送されるか否かを実際に稼働しているネットワークを利用せずにネットワーク構成と転送ルールを用いて判定する必要がある。
前述の、実際にパケットを転送しその転送のされ方を観察する障害検知方法は、ネットワークの稼働前に実際にパケットを送出することができないためネットワークの稼働前に障害を発見するためには用いることができない。さらに、実際に送出されたパケットの転送のされ方は、転送ルールのみならずスイッチの故障の影響も受けるため、障害が発生したときにそれが転送ルールの誤りによるものか否かを判断するためには用いることができない。
このように、従来は、ネットワーク上でのパケットの転送のされ方やネットワーク構成を、当該ネットワークを実際に稼働させることなく検証することができないという問題点があった。
そこで、本発明は、上記問題点に鑑み、ネットワーク上でのパケットの転送やネットワーク構成を、当該ネットワークを実際に稼働させることなく容易にしかも効率よく検証することができるネットワーク検証方法および装置を提供することを目的とする。
本発明は、複数の通信機器を接続してなるネットワークを検証するものであって、(a)第1の通信機器(例えば図2の端末TE1)の識別子と当該第1の通信機器から送信されたパケットを受信する第2の通信機器(例えば図2のスイッチSW1)の識別子との対応関係、及び第2の通信機器の識別子と第2の通信機器から送信されたパケットを受信する第3の通信機器(例えば図2のスイッチSW2)の識別子との対応関係を表すネットワーク構成データを入力し、(b)前記第2の通信機器で受信されたパケットに付加されている第1のタグと第2の通信機器から第3の通信機器に転送されるパケットに付加される第2のタグとの対応関係を表す転送ルールデータを入力し、(c)前記ネットワーク構成データと前記転送ルールデータを受けて前記第1のタグ及び第2のタグ、前記第1乃至第3の通信機器の識別子、及び前記第1乃至第2の通信機器が送信及び転送のいずれのモードであるかを示す動作モード情報で特定される前記ネットワークの状態遷移を示す状態遷移データを含むネットワークモデルを生成し、(d)前記ネットワークに対する要求仕様を入力し、(e)前記ネットワークモデルが前記要求仕様を満たすか否かを検証し、(f)検証結果を出力する。
また、本発明は、少なくとも1つのポートをそれぞれ有する複数の通信機器を、それぞれのポートを介して接続してなるネットワークを検証するものであって、(a)第1の通信機器(例えば図2の端末TE1)の識別子と第1の通信機器の第1のポートの識別子と第1のポートから送信されたパケットを受信する第2の通信機器(例えば図2のスイッチSW1)の識別子と第2の通信機器の第2のポートの識別子との対応関係、及び第2の通信機器の識別子と第2の通信機器の第3のポートの識別子と第3のポートから送信されたパケットを受信する第3の通信機器(例えば図2のスイッチSW2)の識別子と第3の通信機器の第4のポートの識別子との対応関係を表すネットワーク構成データを入力し、(b)前記第2の通信機器の前記第2のポートの識別子と第2のポートで受信されたパケットに付加される第1のタグと第2の通信機器の前記第3のポートの識別子と第2の通信機器から第3の通信機器に転送されるパケットに付加される第2のタグとの対応関係を表す転送ルールデータを入力し、(c)前記ネットワーク構成データと前記転送ルールデータを受けて前記第1のタグ及び第2のタグ、及び前記第1乃至第3の通信機器の識別子、及び前記第1乃至第3の通信機器のポートの識別子、及び前記第1乃至第2の通信機器が送信及び転送のいずれのモードであるかを示す動作モード情報で特定される前記ネットワークの状態遷移を示す状態遷移データを含むネットワークモデルを生成し、(d)前記ネットワークに対する要求仕様を入力し、(e)前記ネットワークモデルが前記要求仕様を満たすか否かを検証し、(f)検証結果を出力する。
タグを付加されたパケットを転送するネットワーク上でのパケットの転送やネットワーク構成を、当該ネットワークを実際に稼働させることなく容易にしかも効率よく検証することができる。
図1は、本発明の実施形態に係るネットワーク検証装置の構成例を示したもので、タグ仕様入力部1、ネットワーク構成入力部2、転送ルール入力部3、ネットワーク要求仕様入力部4、モデル生成部5、モデル検査部6、検査結果出力部7とからなる。
タグ仕様入力部1は、ネットワークで使用されるタグの集合Tsetを入力するためのものである。
ネットワーク構成入力部2は、ネットワークを構成するスイッチの一意な識別子の集合Nsetと、関数Ntableを入力するためのものである。Ntableは、パケットの送信側のスイッチの識別子sとポートの番号nとを1組とする複数のデータ(s、n)と、当該パケットを受信側のスイッチの識別子s´とポートの番号n´とを1組とする複数のデータ(s´、n´)と、これらを対応付ける規則とを表すデータであり、Ntableを用いれば、パケットの送信側のスイッチsおよびポートnから、当該パケットを受信する受信側のスイッチs´およびポートn´を特定することができる。
転送ルール入力部3は、関数Rtableを入力するためのものである。関数Rtableは、スイッチsのポートnで受信したパケットのタグがtであるとき、当該スイッチsで当該パケットを転送する際に用いるポートn´とタグt´を定めるデータであって、スイッチの識別子sとポート番号nとタグtとを1組とする複数のデータ(s、n、t)と、ポート番号nとタグtとを1組とする複数のデータ(n´、t´)と、これらを対応付ける規則とを表すデータである。Rtableを用いれば、タグtと当該タグtをもつパケットを受信したスイッチsとそのポート番号nとから、当該パケットを当該スイッチsから転送する際に用いるポートn´とタグt´とを特定することができる。
モデル生成部5は、タグ仕様入力部1から入力されたTset、ネットワーク構成入力部2から入力されたNsetおよびNtable、転送ルール入力部3から入力されたRtableから、状態遷移モデルMを生成する。状態遷移モデルMは集合Msetと、Msetの部分集合間を対応付ける関数Mtransからなる。
Msetは、タグt、スイッチの識別子s、ポート番号n、フェーズpという4つの要素からなる集合であり、これら4つの要素のそれぞれがとり得る値を定めるデータである。
フェーズは「switched」、「transmitted」、「discarded」という3つの値のうちのいずれかの値をとる。
Mtransは、Msetの部分集合とこれらの間を対応付ける規則とを表すデータであって、転送ルールとネットワーク構成を表している。
フェーズpがswitchedの場合 Rtable(s,n,l)が空集合であるとき、4つ組(t,s,n,discarded)のみを要素とする集合をMtrans(t,s,n,p)とする。Rtable(s,n,l)が空集合でないとき、4つ組(t´,s,n´,transmitted)で(n´,t´)がRtable(s,n,t)の要素であるものの集合をMtrans(t,s,n,p)とする。
フェーズpがtransmittedの場合 Ntable(s,n)が空集合であるとき、4つ組(t,s,n,discarded)のみからなる集合をMtrans(t,s,n,p)とする。Ntable(s,n)が空集合でないとき、4つ組(t,s´,n´,switched)で(s´,n´)がNtable(s,n)の要素であるものの集合をMtrans(t,s,n,p)とする。
フェーズpがdiscardedの場合 4つ組(t,s,n,discarded)のみを要素とする集合をMtrans(t,s,n,p)とする。
ネットワーク要求仕様入力部4は、様相論理(CTLおよびLTL)で記述されたネットワーク要求仕様を入力するためのものである。様相論理の原子論理式は、それぞれ真および偽を表わすTRUEおよびFALSE、項の等式である。項の種類はタグ、整数、スイッチ識別子、フェーズ(switched、transmitted、discarded)、および変数である。
モデル検査部6では、モデル生成部5で生成された状態遷移モデルが、ネットワーク要求仕様入力部4から入力されたネットワーク要求仕様を満たすか否かをモデル検査の方法を用いて判定し、その結果を検査結果出力部7に出力する。さらに、満たさない場合には、その実例であるMsetの要素を検査結果出力部7に出力する。
検査結果出力部7は、検査結果および実例を所定のディスプレイ装置に表示する。
以下、様相論理の1つであるCTLで記述された性質をモデル検査によって検証するソフトウェアであるSMVをモデル検査部6で用いて、モデル生成部5で生成された状態遷移モデルが、ネットワーク要求仕様入力部4から入力されたネットワーク要求仕様を満たすか否かを検証する場合について説明する。
また、タグの集合Tset、ネットワークを構成するスイッチの識別子の集合Nset、ネットワーク構成を表す関数Ntable、転送ルールを表す関数Rtabel、およびネットワーク要求仕様の具体例について以下に説明する。
タグの集合Tsetは、図3に示すように、{tagA、tagB、null}である。
検証対象のネットワーク構成を図2に示す。図2に示すネットワークは2台のスイッSW1(識別子「Switch1」)、スイッチSW2(識別子「Switch2」))と4台の端末TE1〜TE4(識別子はそれぞれ「Term1」〜「Term4」)によって構成されている。なお、ここで言う端末もスイッチの一形態である。したがって、図2のネットワークはそれぞれ識別子「Switch1」、「Switch2」、「Term1」、「Term2」、「Term3」、「Term4」をもつ6つのスイッチによって構成されている。
スイッチの識別子の集合Nsetは、図4に示すように、{Switch1、Switch2、Term1、Term2、Term3、Term4}である。
端末TE1〜TE4が持つ唯一のポートの番号は、それぞれ「1」である。また、スイッチSW1〜SW2は、3つのポートをそれぞれ持ち、3つのポートのそれぞれの番号は「1」〜「3」である。
図2に示すネットワークは、スイッチSW1のポート「1」にスイッチSW2のポート「1」が接続され、スイッチSW1のポート「2」に端末TE1が接続され、スイッチSW1のポート「3」に端末TE2が接続され、スイッチSW2のポート「2」に端末TE3が接続され、スイッチSW1のポート「3」に端末TE4が接続されて構成されている。
従って、このネットワーク構成では、(a1)「Switch1」のポート「1」から送信されたパケットは「Switch2」のポート「1」で受信される。(a2)「Switch1」のポート「2」から送信されたパケットは「Term1」のポート「1」で受信される。(a3)「Switch1」のポート「3」から送信されたパケットは「Term1」のポート「2」で受信される。(a4)「Switch2」のポート「1」から送信されたパケットは「Switch1」のポート「1」で受信される。(a5)「Switch2」のポート「2」から送信されたパケットは「Term3」のポート「1」で受信される。(a6)「Switch2」のポート「3」から送信されたパケットは「Term4」のポート「2」で受信される。(a7)「Term1」のポート「1」から送信されたパケットは「Switch1」のポート「2」で受信される。(a8)「Term2」のポート「1」から送信されたパケットは「Switch1」のポート「3」で受信される。(a9)「Term3」のポート「1」から送信されたパケットは「Switch2」のポート「2」で受信される。(a10)「Term4」のポート「1」から送信されたパケットは「Switch2」のポート「3」で受信される。
上記(a1)〜(a10)に示したネットワーク構成を表す関数Ntableの一例を図5に示す。なお、図5のa1〜a10は、上記(a1)〜(a10)をそれぞれ表したものである。
スイッチSW1では、(b1)ポート「1」で受信したタグ「tagA」を持つパケットはタグを「null」に書換えてポート「2」から送信する。(b2)ポート「1」で受信したタグ「tagB」を持つパケットはタグを「null」に書換えてポート「3」から送信する。(b3)ポート「2」で受信したタグ「null」を持つパケットはタグを「tagA」に書換えてポート「1」から送信する。(b4)ポート「3」で受信したタグ「null」を持つパケットはタグを「tagB」に書換えてポート「1」から送信する。
スイッチSW2では、(b5)ポート「1」で受信したタグ「tagA」を持つパケットはタグを「null」に書換えてポート「2」から送信する。(b6)ポート「1」で受信したタグ「tagB」を持つパケットはタグを「null」に書換えてポート「3」から送信する。(b7)ポート「2」で受信したタグ「null」を持つパケットはタグを「tagA」に書換えてポート「1」から送信する。(b8)ポート「3」で受信したタグ「null」を持つパケットはタグを「tagB」に書換えてポート「1」から送信する。
上記(b1)〜(b8)がスイッチSW1、SW2の転送ルールである。上記(b1)〜(b8)に示したスイッチSW1、SW2の転送ルールを表す関数Rtableを図6に示す。なお、図6のb1〜b8は、上記(b1)〜(b8)をそれぞれ表したものである。
端末TE1〜TE4での転送ルールは、(b9)受信したパケットを全て破棄する、である。
図3に示したタグの集合Tset、上記(a1)〜(a10)のネットワーク構成、上記(b1)〜(b9)の転送ルールの使用の目的は、(c1)端末「Term1」と「Term3」がタグ「null」を持つパケットを用いて通信し、(c2)端末「Term2」と「Term4」がタグ「null」を持つパケットを用いて通信するものであるとする。また、セキュリティ保障などの理由により、以下の(c3)〜(c4)が期待されている。(c3)端末「Term1」および「Term3」から送出されたパケットは端末「Term2」および「Term4」には到達せず、(c4)端末「Term2」および「Term4」から送出されたパケットは端末「Term1」および「Term3」には到達しない。さらに、ネットワークの負荷軽減などの理由により、(c5)ネットワーク上の任意のパケットは将来破棄され、ネットワーク上を移動しつづけることはないことが期待されているものとする。
従って、このネットワークに要求される要求仕様は、以下の(d1)〜(d7)に示す通りとなる。(d1)端末「Term1」のポート「1」から送信されたタグ「null」を持つパケットは将来端末「Term3」に到達するような経路がある。(d2)端末「Term2」のポート「1」から送信されたタグ「null」を持つパケットは将来端末「Term4」に到達するような経路がある。(d3)端末「Term3」のポート「1」から送信されたタグ「null」を持つパケットは将来端末「Term1」に到達するような経路がある。(d4)端末「Term4」のポート「1」から送信されたタグ「null」を持つパケットは将来端末「Term2」に到達するような経路がある。(d5)端末「Term1」および「Term3」から送出されたパケットが将来端末「Term2」あるいは「Term4」に到達するような経路がない。(d6)端末「Term2」および「Term4」から送出されたパケットが将来端末「Term1」あるいは「Term3」に到達するような経路がない。(d7)パケットはいずれの経路を通った場合にも将来破棄される。すなわち、パケットの転送が無限ループに陥ることはない。
図14は、図1のネットワーク検証装置の処理動作を説明するためのフローチャートである。以下、図14のフローチャートに沿って説明する。
タグ仕様入力部1では、図3に示したタグの集合Tsetが入力される(ステップS101)。
ネットワーク構成入力部2では、図4に示したネットワークを構成するスイッチの識別子の集合Nsetと、図5に示した、ネットワーク構成を表す関数Ntableが入力される(ステップS101)。
転送ルール入力部3では、図6に示したような転送ルールを表す関数Rtableが入力される(ステップS101)。なお、図6では、パケットの破棄を表わす空集合への対応の記述が省略されている。
モデル生成部5は、タグ仕様入力部1から入力されたTset、ネットワーク構成入力部2から入力されたNsetおよびNtable、転送ルール入力部3から入力されたRtableから、ネットワークモデルMを生成する(ステップS102)。ここでは、ネットワークモデルMとして、例えばモデル検査ソフトウェアSMVが解釈可能なプログラムを生成する。
モデル生成部5は、まず、Msetを定義するテキストを生成する。このテキストは、それぞれタグt、スイッチs、ポートn、フェーズpを表す変数tag、switch、port、phaseと、それらが取り得る値の集合の宣言からなる。Msetはこれらの変数の取り得る値の集合の直積集合となる。Msetの一例を図7に示す。
変数switchおよび変数tagの取り得る値の集合は、それぞれNsetおよびTsetである。また、変数portの取り得る値の集合はNtableおよびRtableに出現するポート番号の集合である。このポートの番号の集合をPsetと呼ぶ。変数phaseの取り得る値の集合は入力によらず{switched,transmitted,discarded}である。この集合をHsetと呼ぶ。
モデル生成部5は、次に、関数Mtransを生成する。本実施形態では、関数Mtrasを、8つのデータを1組とする(t,s,n,p,t´,s´,n´,p´)を真(TRUE)または偽(FALSE)のいずれかの値に対応させる関数TRANSを用いて定義する。Mtrans(t,s,n,p)の値は,TRANS(t,s,n,p,t´,s´,n´,p´)の値がTRUEとなる4つ組(t´,s´,n´,p´)の全体の集合として定義される。TRANSの具体例を図8に示す。
なお、図8において、「CURRENT(t,s,n)」という表現は、「tag=t&switch=s&port=n」の略記法であり、「NEXT(t,s,n,p)」という表現は、「next(tag)=t&next(switch)=s&next(port)=n&next(phase)=p」の略記法である。また、tag、switch、port、phase、next(tag)、next(switch)、next(port)、next(phase)は、それぞれ引数t、s、n、p、t´、s´、n´、p´を表わす。
tが「tag」のときには、変数tagのとり得る値の全て、すなわち、「null」「tagA」「tagB」のうちのいずれであってもよいという意味を表す。
また、図8において、「phase=switched:case … esac;」の部分が転送ルールに対応し、「phase=transmitted:case … esac;」の部分がネットワーク構成に対応する。
例えば、図8の転送ルールに記載されている「CURRENT(tagA,Switch1,1)」や「NEXT(null,Switch1,2,Transmitted)」のような「exp.1&exp.2」という表現の値は、「exp.1」および「exp.2」の値がともにTRUEであるときTRUEとし、そうでないときはFALSEであるとする。
例えば、図8の転送ルールに記載されている「phase=switched」のような等式「x=y」という表現は、「x」と「y」の値が等しいときTRUE、そうでないときFALSEであるとする。
例えば、図8の転送ルールに記載されている「case CURRENT(tagA,Switch1,1):NEXT(null,Switch1,2,Transmitted)…」のような「case cond_1:exp_; cond_2:exp_2; …cond_n:exp_n; esac」という表現の値は、「cond_1」、「cond_2」、…の値を順に調べ、最初にその値がTRUEになった「cond_i」に対応する「exp_i」の値であるとする。また、「cond_1」、「cond_2」、…の値が全てFALSEであるときは、値はFALSEであるとする。
モデル生成部5は、以上のMsetおよびMtransを定義する関数TRANSのテキスト表現をまとめて、図9に示すような状態遷移モデルMを生成する。
このように、モデル生成部5では、タグの集合Tsetと各スイッチ(スイッチSW1〜SW2、TE1〜TE4)の識別子の集合Nsetとネットワーク構成を表す関数Ntableと転送ルールを表す関数Rtableとから、タグの集合の1つの要素と、複数のスイッチのうちの1つの識別子と、当該スイッチのポートの識別子と、当該通信機器の動作のモードに対応するフェーズ(例えば、当該通信機器からパケットを送信するフェーズ(送信モード)である「trasnmitted」と当該通信機器の当該ポートに入力したパケットを他のポートから出力するフェーズ(転送モード)である「switched」と当該通信機器に入力したパケットを破棄するフェーズ(パケット破棄モード)である「discarded」のうちのいずれか1つ)で特定される図2のネットワークの複数の状態(t,s,n,p)のうちの1つから他の1つの状態(t´,s´,n´,p´)への当該ネットワークで起こり得る複数の状態遷移をそれぞれ表す複数の状態遷移データを含むネットワークモデルMを生成する。なお、本実施形態の関数TRANSは、上記複数の状態遷移データに対応する。
ネットワーク要求仕様入力部4では、様相論理の1つであるCTLによって表現された例えば、図10に示したようなネットワーク要求仕様が入力される(図14のステップS103)。図10の7つの各「SPEC」内の記述は、それぞれ上記(d1)〜(d2)に示したネットワーク要求仕様d1〜d7を表している。
ネットワーク要求仕様は、例えば「=」「!(でない)」「|(または)」「&(かつ)」「−>」などの種々の演算子や「EF」「AF」「−>」などの記号と、変数t(タグ)、変数(スイッチの識別子)、変数n(ポート番号)、変数p(フェーズ)を用いて所望の状態や所望の状態遷移、これらに対する条件などを記述した論理式などである。
なお、図10において、例えばネットワーク要求仕様d5の「(switch=Term1|switch=Term3)」のような「(exp_1|exp_2)」という表現は、「exp_1またはexp_2」を意味し、exp1およびexp2のうちの少なくとも一方がTRUEの値をとるとき、そのときのみTRUEの値をとる。
また、例えば、ネットワーク要求仕様d1の「tag=null&switch=Term1&port=1&phase=transmitted−>EF(switch=Term3)」のような「exp_1−>exp_2」という表現は、「exp_1ならばexp_2」を意味し、「!exp_2」という表現は、「exp_2でない」を意味し、その値は、exp_2の値がTRUEのときはFALSE、exp_2の値がFALSEのときTRUEとなる。
さらに、「EF(switch=Term3)」のような「EF exp」という表現は「ある遷移について、いつかexpが成り立つ状態になる」という意味であり、「AF(phase=discarded)」のような「AF exp」という表現は「全ての遷移について、いつかexpが成り立つ状態になる」という意味である。これらを言い換えれば、パケットがネットワーク上を転送されていく経路について、「EF exp」は「ある経路を通るパケットはexpを満たす状態になる」を意味し、「AF exp」は、「すべての経路についてパケットはexpを満たす状態になる」を意味する。
モデル検査部6には、モデル生成部5で生成された図9に示すような状態遷移モデルM(テキスト)と、ネットワーク要求仕様入力部4で入力された、例えば、図10のd1〜d7に示すようなネットワーク要求仕様を表すテキストをSMVソフトウェアに入力する。その出力として得られるものでは、入力されたネットワーク要求仕様が保証されるかそうでないかに応じて、当該ネットワーク要求仕様に、“is true”あるいは“is false”を付加したテキストである。当該出力のテキストは検査結果出力部7に送られる(図14のステップS104)。
検査結果出力部7は、モデル検査部6から送られた検査結果のテキストをユーザに表示する(図14のステップS105)。
例えば、図9に示した状態遷移モデルMが生成され、図10のネットワーク要求仕様d1〜d7のそれぞれが入力されたときに、モデル検査部6から出力される検査結果を図11に示す。図11の7つの各「specification」内の記述は、図10のネットワーク要求仕様d1〜d2のそれぞれに対応する検査結果e1〜e7を表している。なお、図9のモデルMは、図10のネットワーク要求仕様d1〜d7を全て満たすネットワーク構成と、転送ルールを表しているので、図10のネットワーク要求仕様d1〜d7のそれぞれに対応する検査結果e1〜e7は、全て「is true」が付加されている。
ところで、「「Term1」のポート「1」から送出されたタグ「null」を持つパケットは、将来端末「Term2」に到達する。」という意味をもつ、図12に示すようなネットワーク要求仕様d8が(ネットワーク要求仕様入力部4からモデル検索部6へ)入力されたとする。このネットワーク要求仕様d8は、図9のモデルMでは成立しないので、図13に示すように、ネットワーク要求仕様d8に「is false」の付加されたテキストが検査結果e8として出力される。さらに、入力されたネットワーク要求仕様が不成立である場合には、図13に示すように、検査結果e8に反例を表すテキストf8が追加されて、モデル検査部6から出力される。
次に、図14のステップS104のモデル検査部6の処理動作について説明する。モデル検査部6では、モデルMがもつ状態(t,s,n,p)の全部またはそのなかから得られた所定の条件を満たす状態について、ネットワーク要求仕様で指定された状態の真偽を判定し、全て真の場合には「true」を出力し、そうでない場合には「false」とともに偽となる状態の1つを出力する。
モデルMがもつ状態(t,s,n,p)と、ネットワーク要求仕様で指定される状態との間の具体的な判定方法は以下のように再帰的に行う。
(1)ネットワーク要求仕様が「tag=c」の場合、「c」が「t」と等しければ真となり、そうでない場合は偽となる。
(2)ネットワーク要求仕様が「switch=c」の場合、「c」が「s」と等しければ真となり、そうでなければ偽となる。
(3)ネットワーク要求仕様が「port=c」の場合、「c」が「n」と等しければ真となり、そうでなければ偽となる。
(4)ネットワーク要求仕様が「phase=c」の場合、「c」が「p」と等しければ真となり、そうでなければ偽となる。
(5)ネットワーク要求仕様が「!exp」の場合、「exp」が真ならば偽となり、「exp」が偽なら真となる。
(6)ネットワーク要求仕様が「exp1&exp2」の場合、「exp1」および「exp2」がともに真ならば真となり、そうでない場合には偽となる。
(7)ネットワーク要求仕様が「exp1|exp2」の場合、「exp1」と「exp2」のうち少なくとも一方が真ならば真となる。それ以外の場合には偽となる。
(8)ネットワーク要求仕様が「exp1−>exp2」の場合、「exp1」が偽であるか、「exp1」と「exp2」がともに真である場合に真となる。それ以外の場合は偽となる。
(9)ネットワーク要求仕様が「EF exp」の場合、図15に示すフローチャートに従って集合Rを求める。そして、ステップS9で得られた集合Rが、状態(t,s,n,p)を要素としてもつならば真となり、そうでない場合には偽となる。
例えば、図10のネットワーク要求仕様d1「tag=null&switch=Term1&port=1&phase=transmitted−>EF(switch=Term3)」がネットワーク要求仕様入力部4から入力されて、モデル検査部6で、当該ネットワーク要求仕様d1により図9のモデルMを検証する場合について説明する。
このネットワーク要求仕様では、(null,Term1,1,transmitted)以外の状態では、「tag=null」、「switch=Term1」、「port=1」、「phase=transmitted」のうちの少なくとも1つが偽になる。状態(null,Term1,1,transmitted)では、「tag=null」、「switch=Term1」、「port=1」、「phase=transmitted」が全て真になる。このとき、EF(switch=Term3)が真ならば当該ネットワーク要求仕様d1は真となる。そこで、まず、EF(switch=Term3)を満たす状態を図15に示すフローチャートに従って求める。
モデルMの状態(t,s,n,p)のうち、t=Term3を満たす状態の集合Tを求める(ステップS1)。この集合を図16に示す。また、RをTに等しい集合とする(ステップS2)。Tは空集合でないので、ステップS4へ進む。次に、Tの最後の要素(tagB、Term3,3,discarded)をとり(ステップS4)、Tからこの要素を削除する(ステップS5)。次に、TRANS(t´,s´,n´,p´,tagB,Term3,3,discarded)の値が「TRUE」になるような状態(t´,s´,n´,p´)があるか否かを判定する(ステップS6)。この場合、(tagB、Term3,3,discarded)のみがあるのでステップS7へ進む。ステップS7では、(tagB、Term3,3,discarded)がRに含まれるか判定する。この場合、含まれるので、ステップS3へ戻る。ステップS4で、集合Tからフェーズがdiscardedである要素を選んだ場合には、上記同様にして、Tから当該要素が削除され、ステップS3〜ステップS7までを9回繰返す。その結果、集合Tは図17に示すようになる。このとき、集合Rは、図16と同様である。
ここで、ステップS3へ戻り、集合Tは空集合でないので、さらに、ステップS4へ進む。ステップS4で(tagB,Term3,3,transmitted)が選ばれた場合は、ステップS5で集合Tから(tagB,Term3,3,transmitted)を除き、ステップS6で、TRANS(t´,s´,n´,p´,tagB,Term3,3,transmitted)の値が「TRUE」になるような状態(t´,s´,n´,p´)があるか否かを判定する。この場合には存在しないので、ステップS3へ戻る。ステップS4で、集合Tからフェーズがtransmittedである要素を選んだ場合には、上記同様にして、Tから当該要素が削除され、ステップS3〜ステップS6までを9回繰返す。その結果、集合Tは図18に示すようになる。このとき、集合Rは、図16と同様である。
ここで、ステップS3へ戻り、集合Tは空集合でないので、さらに、ステップS4へ進む。ステップS4で(tagB,Term3,3,switched)が選ばれた場合は、ステップS5で集合Tから(tagB,Term3,3,switched)を除き、ステップS6で、TRANS(t´,s´,n´,p´,tagB,Term3,3,switched)の値が「TRUE」になるような状態(t´,s´,n´,p´)があるか否かを判定する。このような状態は無いので、ステップS3へ戻る。ステップS4で、ポートが「2」、「3」の状態が選ばれた場合には、上記同様にして、ステップS3〜ステップS6を繰返す。ステップS4で、ポートが「2」や「3」であるような状態が選ぶこの繰返しを6回行うと、集合Tは図19に示すようになる。このとき、集合Rは、図16と同様である。
ここで、ステップS3へ戻り、集合Tは空集合でないので、さらに、ステップS4へ進む。ステップS4で(tagB,Term3,1,switched)が選ばれた場合は、ステップS5で集合Tから(tagB,Term3,1,switched)を除き、ステップS6で、TRANS(t´,s´,n´,p´,tagB,Term3,1,switched)の値が「TRUE」になるような状態(t´,s´,n´,p´)があるか否かを判定する。ここでは、状態(tagB,Switch2,2,transmitted)のみがあるのでステップS7へ進む。ステップS7では、この状態が集合Rに含まれるか否か判定する。この場合、Rに含まれていないので、ステップS8へ進み、R、Tにこの状態を加えて、ステップS3へ戻る。ステップS4で、(tagA,Term3,1,switched)、(null,Term3,1,switched)が選ばれた場合も上記同様であり、ステップS4からステップS8を3回繰り返した後では、TおよびRはそれぞれ図20、図21に示すようになる。
ここで、ステップS3へ戻り、集合Tは空集合でないので、さらに、ステップS4へ進む。ステップS4で(tagB,Switch2,2,transmitted)が選ばれた場合は、ステップS5で集合Tから(tagB,Switch2,2,transmitted)を除き、ステップS6で、TRANS(t´,s´,n´,p´,tagB,Switch2,2,transmitted)の値が「TRUE」になるような状態(t´,s´,n´,p´)があるか否かを判定する。このような状態はないので、ステップS3へ戻る。ここで、ステップS4で、(tagA,Switch2,2,transmitted)が選ばれた場合も同様なので、ステップS3〜ステップS6を2回繰返した後には、Tは図22に示すようになる。Rは図21と同様である。
ここで、ステップS3へ戻り、集合Tは空集合でないので、さらに、ステップS4へ進む。ステップS4でTの唯一の要素(null,Switch2,2,transmitted)を選ぶ。ステップS5で集合Tから(null,Switch2,2,transmitted)を除き、ステップS6で、TRANS(t´,s´,n´,p´,null,Switch2,2,transmitted)の値が「TRUE」になるような状態(t´,s´,n´,p´)があるか否かを判定する。ここでは、状態(tagA,Switch2,1,switched)のみがあるのでステップS7へ進む。ステップS7では、この状態が集合Rに含まれるか否か判定する。この場合、Rに含まれていないので、ステップS8へ進み、R、Tにこの状態を加えて、このステップS3からステップS8を4回繰り返す過程で、Tの要素は、図23、図24、図25、図26に示すように変化する。Rの要素にはステップS4で選ばれた要素が次々に加えられ、図27に示すようになる。
ここで、ステップS3へ戻り、集合Tは空集合でないので、さらに、ステップS4へ進む。ステップS4でTの唯一の要素(null,Term1,1,transmitted)を選ぶ。ステップS5で集合Tから(null,Term1,1,transmitted)を除き、ステップS6で、TRANS(t´,s´,n´,p´,null,Term1,1,transmitted)の値が「TRUE」になるような状態(t´,s´,n´,p´)があるか否かを判定する。このような状態はないので、ステップS3へ進む。ステップS3では、Tが空集合なので、ステップS9へ進み、図27に示す集合Rを出力して終了する。
この最終的に得られた集合Rの要素には、(null,Term1,1,transmitted)が存在するので、ネットワーク要求仕様d1は真(true)となる。
次に、図12に示したネットワーク要求仕様d8が入力された場合について説明する。この場合も、ネットワーク要求仕様d1の場合と同様にして、まず、図15のフローチャートに従って、EF(switch=Term2)を満たす集合Rを求める。この場合、ステップS9で得られる集合Rは、(null,Switch1,3,transmitted)、(tagB,Switch1,1,switched)、(tagB,Switch2,1,transmitted)、(null,Switch2,3,switched)、(null,Term4,1,transmitted)からなる集合と、モデルMの状態(t´,s´,n´,p´)のうち、s´がTerm2である状態の集合との和集合となる。
この集合Rには、ネットワーク要求仕様d8の前提部として指定されている状態(null,Term1,1,transmitted)が含まれていない。従って、当該ネットワーク要求仕様d8は偽(false)であると判定される。この場合には、当該要求仕様を満たさない状態(null,Term1,1,transmitted)も検査結果出力部7から出力される。
以上説明したように、上記実施形態によれば、少なくとも1つのポートをそれぞれ有する複数の通信機器を、それぞれのポートを介して接続してなる検証対象のネットワーク上で転送されるパケットに用いられるタグの集合と、各通信機器の識別子の集合と、パケットを送信する各通信機器の識別子およびそのポートの識別子とパケットを受信する各通信機器の識別子およびそのポートの識別子との対応関係を表すネットワーク構成データと、受信したパケットを転送する各通信機器の識別子およびそのポートの識別子および当該ポートに入力されたパケットのタグと、当該パケットを当該通信機器から出力する際に用いるポートの識別子とタグとの対応関係を表す上記検証対象のネットワーク上でのパケットの転送ルールデータを基に、タグの集合と、各通信機器の識別子と、各通信機器のポートの識別子と、各通信機器の動作モード(送信フェーズ、転送フェーズ、パケットを破棄するフェーズ)とで特定される上記検証対象のネットワークの状態遷移を示す状態遷移データを含むネットワークモデルを生成する。
各通信機器の識別子と、各通信機器のポートの識別子と、各通信機器の動作モード(送信フェーズ、転送フェーズ、パケットを破棄するフェーズ)と特定される検証対象のネットワークの複数の状態のうち、所望の状態と当該所望の状態に対する条件と当該所望の状態間の状態遷移と当該所望の状態遷移に対する条件のうちの少なくとも1つを表す当該検証対象のネットワークに対する要求仕様を入力して、上記ネットワークモデルが上記要求仕様を満たすか否かを検証して、検証結果を出力する。
このような構成により、上記実施形態によれば、タグを付加されたパケットを転送するネットワーク上でのパケットの転送のされ方やネットワーク構成などを、当該ネットワークの状態やその遷移から容易に検証することができるモデルを、ネットワーク構成を表すデータと当該ネットワークを構成する各スイッチの転送ルールを表すデータから容易に生成することができる。
また、タグを付加されたパケットを転送するネットワーク上でのパケットの転送のされ方やネットワーク構成を、当該ネットワークを実際に稼働させることなく容易にしかも効率よく検証することができる。
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の実施形態に係るネットワーク検証装置の構成例を示した図。 検証対象のネットワークの構成例を示した図。 タグの集合Tsetの一具体例を示した図。 スイッチの識別子の集合Nsetの一具体例を示した図。 ネットワーク構成を表す関数Ntableの一具体例を示した図。 転送ルールを表す関数Rtableの一具体例を示した図。 モデル生成部で生成されるMsetの一具体例を示した図。 モデル生成部で生成される関数TRANSの一具体例を示した図。 モデル生成部で生成される状態遷移モデルの一具体例を示した図。 ネトワーク要求仕様の具体例を示した図。 モデル検査部から出力あれる検査結果の具体例を示した図。 ネットワーク要求仕様の他の例を示した図。 図12のネットワーク要求仕様に対応するモデル検索部での検査結果を示した図。 図1のネットワーク検証装置の全体的な処理動作を説明するための図。 モデル検査部の処理動作の一例であって、ネトワーク要求仕様に記述され得る、条件「EF exp」を満たす状態の集合を求める処理動作を説明するためのフローチャート。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。 図10のネットワーク要求仕様d1に含まれる条件「EF(switch=Term3)」を満たす状態の集合を求める処理動作を説明するための図。
符号の説明
1…タグ仕様入力部、2…ネットワーク構成入力部、3…転送ルール入力部、4…ネットワーク要求仕様入力部、5…モデル生成部、6…モデル検査部、7…検査結果出力部、SW1、SW2…スイッチ、TE1〜TE4…端末。

Claims (10)

  1. 複数の通信機器を接続してなるネットワークを検証するネットワーク検証方法であって、
    第1の通信機器の識別子と当該第1の通信機器から送信されたパケットを受信する第2の通信機器の識別子との対応関係、及び第2の通信機器の識別子と第2の通信機器から送信されたパケットを受信する第3の通信機器の識別子との対応関係を表すネットワーク構成データを入力する第1の入力ステップと、
    前記第2の通信機器で受信されたパケットに付加されている第1のタグと第2の通信機器から第3の通信機器に転送されるパケットに付加される第2のタグとの対応関係を表す転送ルールデータを入力する第2の入力ステップと、
    前記ネットワーク構成データと前記転送ルールデータを受けて前記第1のタグ及び第2のタグ、前記第1乃至第3の通信機器の識別子、及び前記第1乃至第2の通信機器が送信及び転送のいずれのモードであるかを示す動作モード情報で特定される前記ネットワークの状態遷移を示す状態遷移データを含むネットワークモデルを生成する生成ステップと、
    前記ネットワークに対する要求仕様を入力する第3の入力ステップと、
    前記ネットワークモデルが前記要求仕様を満たすか否かを検証する検証ステップと、
    前記検証ステップでの検証結果を出力する出力ステップと、
    を有することを特徴とするネットワーク検証方法。
  2. 少なくとも1つのポートをそれぞれ有する複数の通信機器を、それぞれのポートを介して接続してなるネットワークを検証するネットワーク検証方法であって、
    第1の通信機器の識別子と第1の通信機器の第1のポートの識別子と第1のポートから送信されたパケットを受信する第2の通信機器の識別子と第2の通信機器の第2のポートの識別子との対応関係、及び第2の通信機器の識別子と第2の通信機器の第3のポートの識別子と第3のポートから送信されたパケットを受信する第3の通信機器の識別子と第3の通信機器の第4のポートの識別子との対応関係を表すネットワーク構成データを入力する第1の入力ステップと、
    前記第2の通信機器の前記第2のポートの識別子と第2のポートで受信されたパケットに付加される第1のタグと第2の通信機器の前記第3のポートの識別子と第2の通信機器から第3の通信機器に転送されるパケットに付加される第2のタグとの対応関係を表す転送ルールデータを入力する第2の入力ステップと、
    前記ネットワーク構成データと前記転送ルールデータを受けて前記第1のタグ及び第2のタグ、及び前記第1乃至第3の通信機器の識別子、及び前記第1乃至第3の通信機器のポートの識別子、及び前記第1乃至第2の通信機器が送信及び転送のいずれのモードであるかを示す動作モード情報で特定される前記ネットワークの状態遷移を示す状態遷移データを含むネットワークモデルを生成する生成ステップと、
    前記ネットワークに対する要求仕様を入力する第3の入力ステップと、
    前記ネットワークモデルが前記要求仕様を満たすか否かを検証する検証ステップと、
    前記検証ステップでの検証結果を出力する出力ステップと、
    を有することを特徴とするネットワーク検証方法。
  3. 前記第3の入力ステップは、前記第1のタグ及び第2のタグのうちの1つと、前記第1乃至第3の通信機器の識別子のうちの1つと、送信及び転送モードのうちの1つとで特定される前記ネットワークの複数の状態のうちの所望の状態と、当該所望の状態に対する条件と、当該所望の状態間の状態遷移と、当該所望の状態遷移に対する条件のうちの少なくとも1つを表す前記要求仕様を入力し、
    前記検証ステップは、前記ネットワークモデルに前記第2の入力ステップで入力された要求仕様に表されている前記所望の状態と前記所望の状態遷移が含まれているか否か、前記所望の状態が前記要求仕様に表されている条件を満たすか否か、前記所望の状態遷移が前記要求仕様に表されている条件を満たすか否かを検証することを特徴とする請求項1記載のネットワーク検証方法。
  4. 前記第3の入力ステップは、前記第1のタグ及び第2のタグのうち1つと、前記第1乃至第3の通信機器の識別子のうちの1つと、前記第1乃至第3の通信機器のポートの識別子のうちの1つと、送信及び転送モードのうちの1つとで特定される前記ネットワークの複数の状態のうちの所望の状態と、当該所望の状態に対する条件と、当該所望の状態間の状態遷移と、当該所望の状態遷移に対する条件のうちの少なくとも1つを表す前記要求仕様を入力し、
    前記検証ステップは、前記ネットワークモデルに前記第2の入力ステップで入力された要求仕様に表されている前記所望の状態と前記所望の状態遷移が含まれているか否か、前記所望の状態が前記要求仕様に表されている条件を満たすか否か、前記所望の状態遷移が前記要求仕様に表されている条件を満たすか否かを検証することを特徴とする請求項2記載のネットワーク検証方法。
  5. 前記要求仕様は、前記所望の状態に対する条件と前記所望の状態遷移に対する条件が、様相論理を用いて記述されていることを特徴とする請求項3または4記載のネットワーク検証方法。
  6. 複数の通信機器を接続してなるネットワークを検証するネットワーク検証装置であって、
    第1の通信機器の識別子と当該第1の通信機器から送信されたパケットを受信する第2の通信機器の識別子との対応関係、及び第2の通信機器の識別子と第2の通信機器から送信されたパケットを受信する第3の通信機器の識別子との対応関係を表すネットワーク構成データを入力する第1の入力手段と、
    前記第2の通信機器で受信されたパケットに付加されている第1のタグと第2の通信機器から第3の通信機器に転送されるパケットに付加される第2のタグとの対応関係を表す転送ルールデータを入力する第2の入力手段と、
    前記ネットワーク構成データと前記転送ルールデータを受けて前記第1のタグ及び第2のタグ、前記第1乃至第3の通信機器の識別子、及び前記第1乃至第2の通信機器が送信及び転送のいずれのモードであるかを示す動作モード情報で特定される前記ネットワークの状態遷移を示す状態遷移データを含むネットワークモデルを生成する生成手段と、
    前記ネットワークに対する要求仕様を入力する第3の入力手段と、
    前記ネットワークモデルが前記要求仕様を満たすか否かを検証する検証手段と、
    前記検証手段での検証結果を出力する出力手段と、
    を具備したことを特徴とするネットワーク検証装置。
  7. 少なくとも1つのポートをそれぞれ有する複数の通信機器を、それぞれのポートを介して接続してなるネットワークを検証するネットワーク検証装置であって、
    第1の通信機器の識別子と第1の通信機器の第1のポートの識別子と第1のポートから送信されたパケットを受信する第2の通信機器の識別子と第2の通信機器の第2のポートの識別子との対応関係、及び第2の通信機器の識別子と第2の通信機器の第3のポートの識別子と第3のポートから送信されたパケットを受信する第3の通信機器の識別子と第3の通信機器の第4のポートの識別子との対応関係を表すネットワーク構成データを入力する第1の入力手段と、
    前記第2の通信機器の前記第2のポートの識別子と第2のポートで受信されたパケットに付加される第1のタグと第2の通信機器の前記第3のポートの識別子と第2の通信機器から第3の通信機器に転送されるパケットに付加される第2のタグとの対応関係を表す転送ルールデータを入力する第2の入力手段と、
    前記ネットワーク構成データと前記転送ルールデータを受けて前記第1のタグ及び第2のタグ、及び前記第1乃至第3の通信機器の識別子、及び前記第1乃至第3の通信機器のポートの識別子、及び前記第1乃至第2の通信機器が送信及び転送のいずれのモードであるかを示す動作モード情報で特定される前記ネットワークの状態遷移を示す状態遷移データを含むネットワークモデルを生成する生成手段と、
    前記ネットワークに対する要求仕様を入力する第3の入力手段と、
    前記ネットワークモデルが前記要求仕様を満たすか否かを検証する検証手段と、
    前記検証手段での検証結果を出力する出力手段と、
    を具備したことを特徴とするネットワーク検証装置。
  8. 前記第3の入力手段で入力される前記要求仕様は、前記第1のタグ及び第2のタグのうちの1つと、前記第1乃至第3の通信機器の識別子のうちの1つと、送信及び転送モードのうちの1つとで特定される前記ネットワークの複数の状態のうちの所望の状態と、当該所望の状態に対する条件と、当該所望の状態間の状態遷移と、当該所望の状態遷移に対する条件のうちの少なくとも1つを表し、
    前記検証手段は、前記ネットワークモデルに前記第2の入力ステップで入力された要求仕様に表されている前記所望の状態と前記所望の状態遷移が含まれているか否か、前記所望の状態が前記要求仕様に表されている条件を満たすか否か、前記所望の状態遷移が前記要求仕様に表されている条件を満たすか否かを検証することを特徴とする請求項6記載のネットワーク検証装置。
  9. 前記第3の入力手段で入力される前記要求仕様は、前記第1のタグ及び第2のタグのうちの1つと、前記第1乃至第3の通信機器の識別子のうちの1つと、前記第1乃至第3の通信機器のポートの識別子のうちの1つと、送信及び転送モードのうちの1つとで特定される前記ネットワークの複数の状態のうちの所望の状態と、当該所望の状態に対する条件と、当該所望の状態間の状態遷移と、当該所望の状態遷移に対する条件のうちの少なくとも1つを表し、
    前記検証手段は、前記ネットワークモデルに前記第2の入力ステップで入力された要求仕様に表されている前記所望の状態と前記所望の状態遷移が含まれているか否か、前記所望の状態が前記要求仕様に表されている条件を満たすか否か、前記所望の状態遷移が前記要求仕様に表されている条件を満たすか否かを検証することを特徴とする請求項7記載のネットワーク検証装置。
  10. 前記要求仕様は、前記所望の状態に対する条件と前記所望の状態遷移に対する条件が、様相論理を用いて記述されていることを特徴とする請求項8または9記載のネットワーク検証装置。
JP2004025602A 2004-02-02 2004-02-02 ネットワーク検証方法および装置 Expired - Fee Related JP4237649B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004025602A JP4237649B2 (ja) 2004-02-02 2004-02-02 ネットワーク検証方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004025602A JP4237649B2 (ja) 2004-02-02 2004-02-02 ネットワーク検証方法および装置

Publications (2)

Publication Number Publication Date
JP2005218038A true JP2005218038A (ja) 2005-08-11
JP4237649B2 JP4237649B2 (ja) 2009-03-11

Family

ID=34907943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004025602A Expired - Fee Related JP4237649B2 (ja) 2004-02-02 2004-02-02 ネットワーク検証方法および装置

Country Status (1)

Country Link
JP (1) JP4237649B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238357B2 (en) 2007-04-23 2012-08-07 Nec Corporation VLAN communication inspection system, method and program
WO2014115759A1 (ja) * 2013-01-23 2014-07-31 日本電気株式会社 ネットワーク検証装置、ネットワーク検証方法及びプログラム
WO2014168164A1 (ja) * 2013-04-10 2014-10-16 日本電気株式会社 ネットワーク検証装置、ネットワーク検証方法及びプログラム
JP2016092432A (ja) * 2014-10-29 2016-05-23 日本電気株式会社 ネットワーク検証装置、ネットワーク検証方法、および、ネットワーク検証プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238357B2 (en) 2007-04-23 2012-08-07 Nec Corporation VLAN communication inspection system, method and program
WO2014115759A1 (ja) * 2013-01-23 2014-07-31 日本電気株式会社 ネットワーク検証装置、ネットワーク検証方法及びプログラム
JPWO2014115759A1 (ja) * 2013-01-23 2017-01-26 日本電気株式会社 ネットワーク検証装置、ネットワーク検証方法及びプログラム
WO2014168164A1 (ja) * 2013-04-10 2014-10-16 日本電気株式会社 ネットワーク検証装置、ネットワーク検証方法及びプログラム
JPWO2014168164A1 (ja) * 2013-04-10 2017-02-16 日本電気株式会社 ネットワーク検証装置、ネットワーク検証方法及びプログラム
JP2016092432A (ja) * 2014-10-29 2016-05-23 日本電気株式会社 ネットワーク検証装置、ネットワーク検証方法、および、ネットワーク検証プログラム

Also Published As

Publication number Publication date
JP4237649B2 (ja) 2009-03-11

Similar Documents

Publication Publication Date Title
US10652024B2 (en) Digital signature systems and methods for network path trace
JP2985922B2 (ja) 論理関数データ処理装置
Chambart et al. Mixing lossy and perfect fifo channels
Lamali et al. Algorithmic and complexity aspects of path computation in multi-layer networks
JP4237649B2 (ja) ネットワーク検証方法および装置
Mohrle et al. Automated compositional safety analysis using component fault trees
Lai et al. Observer construction for polynomially ambiguous max-plus automata
Kalyon et al. Synthesis of communicating controllers for distributed systems
CN105847056B (zh) 双向转发检测控制报文的传输方法及系统
Bou et al. On some properties of quasi-MV algebras and quasi-MV algebras. Part II
Baier et al. Design and verification of systems with exogenous coordination using Vereofy
JP2016174281A (ja) ネットワーク評価装置、ネットワーク評価方法及びネットワーク評価プログラム
Lamali et al. Path computation in multi-layer multi-domain networks: A language theoretic approach
van Duijn et al. Automata-theoretic approach to verification of MPLS networks under link failures
CN103516631A (zh) 通信装置
Su et al. Synthesizing fault-tolerant schedule for time-triggered network without hot backup
Lee et al. Verification and conformance test generation of communication protocol for railway signaling systems
JP2012015837A (ja) 経路計算装置、データ転送装置、経路計算方法、データ転送方法およびプログラム
JP5102804B2 (ja) 輻輳影響度評価装置、リンクトラヒック計算方法およびそのプログラム
US20210112062A1 (en) Whitelist generator, whitelist evaluator, whitelist generator/evaluator, whitelist generation method, whitelist evaluation method, and whitelist generation/evaluation method
CN107800578B (zh) 一种网络化故障发生过程的分析方法
Geng et al. Failure diagnosis for distributed stochastic discrete event systems
JP2809166B2 (ja) 高速遅延検証装置
Guo et al. Improving test quality using robust unique input/output circuit sequences (UIOCs)
JP2001525569A (ja) システムの動作を検証する方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081126

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: 20081216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees