JPWO2016013177A1 - 網検証装置、網検証方法、および、記憶媒体 - Google Patents

網検証装置、網検証方法、および、記憶媒体 Download PDF

Info

Publication number
JPWO2016013177A1
JPWO2016013177A1 JP2016535777A JP2016535777A JPWO2016013177A1 JP WO2016013177 A1 JPWO2016013177 A1 JP WO2016013177A1 JP 2016535777 A JP2016535777 A JP 2016535777A JP 2016535777 A JP2016535777 A JP 2016535777A JP WO2016013177 A1 JPWO2016013177 A1 JP WO2016013177A1
Authority
JP
Japan
Prior art keywords
port
packet
packet pattern
pattern
switch
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
JP2016535777A
Other languages
English (en)
Other versions
JP6520946B2 (ja
Inventor
敏夫 登内
敏夫 登内
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2016013177A1 publication Critical patent/JPWO2016013177A1/ja
Application granted granted Critical
Publication of JP6520946B2 publication Critical patent/JP6520946B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本発明は、網に対する流入パケットパターンの計算時間をより短くする技術を提供する。網検証装置1は、対象ネットワーク情報取得部11、バックトレース関数生成部12、物理リンクパス取得部13、バックトレース関数適用部14および検証結果出力部15を備える。対象ネットワーク情報取得部11は、スイッチの転送規則および物理網トポロジを取得する。バックトレース関数生成部12は、転送規則に基づき、スイッチの出力パケットパターンから入力パケットパターンを逆算するバックトレース関数を生成する。物理リンクパス取得部13は、物理網トポロジおよび転送規則に基づき物理リンクパスを取得する。バックトレース関数適用部14は、物理リンクパス上の途中ポートでのパケットパターンを記憶するキャッシュを用いて、流出ポートからバックトレース関数を適用し流入パケットパターンを算出する。検証結果出力部15は、流入パケットパターンを出力する。

Description

本発明は、ネットワークの仕様および構成を検証する技術に関する。
ネットワークの仕様および構成を検証する技術が知られている。このような技術の一例として、例えば、非特許文献1には、HSA(Header Space Analysis)と呼ばれる手法が記載されている。このHSAでは、パケットヘッダがLビットのビット列とみなされる。また、各パケットがL次元空間Πの或る点とみなされる。そして、パケットがその空間Π上の或る点から別の点に転送されるとみなされる。また、スイッチ装置ごとに、パケット転送ルールを示す転送関数φ: (Π×P) → Power(Π×E)が作成される。ここで、X×Yは、XとYの直積集合を表す。また、Power(X)は、Xの冪集合を表す。
ここで、Pは、ネットワーク内の物理スイッチポートの集合を表す。以降、物理スイッチポートを、単にポートとも記載する。なお、ネットワーク内において、ポートは一意に識別されるものとする。
また、Eは、ネットワーク内のフローエントリの集合である。フローエントリは、入力ポート、マッチングパターン、アクションおよび出力ポートを表す情報で構成される。また、フローエントリは、各スイッチ装置に保持されている。スイッチ装置は、入力ポートからのパケットのヘッダがマッチングパターンにマッチすると、アクションが定義されていればアクションに基づきヘッダの書換えを行い、出力ポートへとパケットを転送する。以降、パケットヘッダのパターンを、パケットパターンとも記載する。
転送関数φ(π,p)={(π’,e)}は、あるポートpにパケットパターンπのパケットが入力されたときに、フローエントリe にマッチし、パケットヘッダがπ’になることを示す。転送関数φの入力は、入力されたパケットのパケットパターンおよび入力ポートの組である。一つのパケットに対して、複数のパケットをコピーして転送するフローエントリがあるため、転送関数φの出力は、出力されたパケットのパケットパターンおよびマッチしたフローエントリの組の集合となる。
HSAでは、転送関数φと、物理スイッチ間のポート接続関係を表す接続関数σ: P→Pとの組を推移的に適用することで、パケットの転送経路が求められる。そして、パケットの転送経路に従って、転送関数φを推移的に適用することで、終端スイッチポートでパケットのパケットパターンが求められる。さらに、HSAは、求めた終端スイッチポートでのパケットパターンから開始端スイッチポートにかけて経路を逆順にたどり、転送関数の逆関数φe -1:Π→Πを順次適用する。これにより、HSAは、どのようなパケットパターンのヘッダを有するパケットが開始端スイッチポートから終端スイッチポートまで到達するかを求めることができる。ただし、eは、転送関数を適用したときに適用されたフローエントリである。すなわち、転送関数がφ(π,p)={(π’, e)}であった場合、φe -1(π’)=π’’は、再度逆向きにフローエントリを適用することで、入力パケットパターンをπからπ’’に絞り込むことを示す。
以下では、ネットワーク全体をみて外部ネットワークと接続されるポートを端点スイッチポートまたは端点と呼ぶ。また、端点に入力される入力パケットを流入パケットと呼び、端点から出力される出力パケットを流出パケットと呼ぶ。また、流入パケットが入力される端点を流入ポートとも呼び、流出パケットが出力される端点を流出ポートとも呼ぶ。また、流入パケットのパケットパターンを流入パケットパターンとも呼び、流出パケットのパケットパターンを流出パケットパターンとも呼ぶ。
任意の流入ポートおよび流出ポートの組において、その流入パケットパターンを計算することにより、網管理者は、可達性および隔離性を検証することができる。ここでは、可達性とは、想定したパケットパターンが流入ポートから流出ポートに到達可能であることをいう。また、隔離性とは、想定外のパケットパターンが流入ポートから流出ポートに到着できないことをいう。
Peyman Kazemian、George Varghese、Nick McKeown著、「Header Space Analysis: Static Checking For Networks」、NSDI’12 Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation、2012年、pp.9-22
しかしながら、非特許文献1に記載された関連技術では、網の規模が大きくなると、網の端点のすべての組に対して流入パケットパターンを求めるために処理時間を要するという課題がある。
その理由は、網内にある端点スイッチポートのすべての組み合わせについての経路について転送関数を推移的に適用する必要があるためである。網の規模を例えば網内のスイッチ台数とした場合、網の端点の数および網の直径は、網の規模に比例すると近似される。HSAの場合、まず、開始端点から終端点まで転送関数を適用し(順送り処理)、その後、終端点から開始端点まで経路をさかのぼるように転送逆関数を適用する(逆送り処理)。このとき、転送逆関数の適用回数は、端点の組み合わせ(すなわち網の規模の二乗)に網の直径(網の規模に比例)を掛け合わせた規模に比例するので、網の規模の三乗に比例する。
本発明は、上述の課題を解決するためになされたもので、網に対する流入パケットパターンを計算する処理時間をより短くする技術を提供することを目的とする。
上記目的を達成するために、本発明の網検証装置は、検証対象ネットワーク内の各スイッチにおけるパケットの転送規則および前記検証対象ネットワークの物理網トポロジ情報を取得する検証対象ネットワーク情報取得手段と、前記転送規則に基づいて、前記スイッチの有するポートから出力されるパケットパターンから該スイッチの対応するポートに入力されるパケットパターンを逆算するバックトレース関数を生成するバックトレース関数生成手段と、前記物理網トポロジ情報および前記転送規則に基づいて、前記検証対象ネットワークに外部からのパケットが流入するスイッチのポート(流入ポート)から外部へのパケットが流出するスイッチのポート(流出ポート)までをつなぐポートの列を表す物理リンクパスを取得する物理リンクパス取得手段と、前記物理リンクパス上の途中ポートから前記流出ポートに到達するパケットの該途中ポートにおけるパケットパターンを記憶するパケットパターンキャッシュを利用しながら、前記流出ポートから前記流入ポートに向けて前記バックトレース関数を順次適用することにより、前記流出ポートに到達するパケットの前記流入ポートでのパケットパターンを算出するバックトレース関数適用手段と、前記バックトレース関数適用手段による処理結果を出力する検証結果出力手段と、を備える。
また、本発明の網検証方法は、検証対象ネットワーク内の各スイッチにおけるパケットの転送規則および前記検証対象ネットワークの物理網トポロジ情報を取得し、前記転送規則に基づいて、前記スイッチの有するポートから出力されるパケットパターンから該スイッチの対応するポートに入力されるパケットパターンを逆算するバックトレース関数を生成し、前記物理網トポロジ情報および前記転送規則に基づいて、前記検証対象ネットワークに外部からのパケットが流入するスイッチのポート(流入ポート)から外部へのパケットが流出するスイッチのポート(流出ポート)までをつなぐポートの列を表す物理リンクパスを取得し、前記物理リンクパス上の途中ポートから前記流出ポートに到達するパケットの該途中ポートにおけるパケットパターンを記憶するパケットパターンキャッシュを利用しながら、前記流出ポートから前記流入ポートに向けて前記バックトレース関数を順次適用することにより、前記流出ポートに到達するパケットの前記流入ポートでのパケットパターンを算出し、前記流出ポートに到達するパケットの前記流入ポートでのパケットパターンを出力する。
また、本発明の記憶媒体は、検証対象ネットワーク内の各スイッチにおけるパケットの転送規則および前記検証対象ネットワークの物理網トポロジ情報を取得する検証対象ネットワーク情報取得ステップと、前記転送規則に基づいて、前記スイッチの有するポートから出力されるパケットパターンから該スイッチの対応するポートに入力されるパケットパターンを逆算するバックトレース関数を生成するバックトレース関数生成ステップと、前記物理網トポロジ情報および前記転送規則に基づいて、前記検証対象ネットワークに外部からのパケットが流入するスイッチのポート(流入ポート)から外部へのパケットが流出するスイッチのポート(流出ポート)までをつなぐポートの列を表す物理リンクパスを取得する物理リンクパス取得ステップと、前記物理リンクパス上の途中ポートから前記流出ポートに到達するパケットの該途中ポートにおけるパケットパターンを記憶するパケットパターンキャッシュを利用しながら、前記流出ポートから前記流入ポートに向けて前記バックトレース関数を順次適用することにより、前記流出ポートに到達するパケットの前記流入ポートでのパケットパターンを算出するバックトレース関数適用ステップと、前記バックトレース関数適用ステップでの処理結果を出力する検証結果出力ステップと、をコンピュータ装置に実行させる網検証プログラムを記憶している。
本発明は、網に対する流入パケットパターンを計算する処理時間をより短くする技術を提供することができる。
本発明の第1の実施の形態としての網検証装置の機能ブロック図である。 本発明の第1の実施の形態としての網検証装置のハードウェア構成図である。 本発明の第1の実施の形態としての網検証装置の動作を説明するフローチャートである。 本発明の第2の実施の形態としての網検証装置の機能ブロック図である。 本発明の第2の実施の形態としての網検証装置の動作の概略を説明するフローチャートである。 本発明の第2の実施の形態としての網検証装置が再帰的に実行するパケットパターン算出処理の詳細を説明するフローチャートである。 本発明の第2の実施の形態における検証対象ネットワークの一例を示す図である。 本発明の第2の実施の形態におけるフローエントリの一例を示す図である。 本発明の第2の実施の形態におけるパケットパターンキャッシュに格納される情報の一例を示す図である。 本発明の第2の実施の形態において物理リンクパスの流入パケットパターンを求める処理を説明する模式図である。 本発明の第2の実施の形態において他の物理リンクパスの流入パケットパターンを求める処理を説明する模式図である。 関連技術において物理リンクパスの流入パケットパターンを求める処理を説明する模式図である。 本発明の第2の実施の形態および関連技術の検証時間を比較するグラフである。 本発明の第2の実施の形態の効果を説明するための模式図である。 関連技術を説明するための模式図である。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態としての網検証装置1の機能ブロック構成を図1に示す。図1において、網検証装置1は、検証対象ネットワーク情報取得部11と、バックトレース関数生成部12と、物理リンクパス取得部13と、バックトレース関数適用部14と、検証結果出力部15とを含む。
また、網検証装置1は、検証対象ネットワーク900と通信可能に接続されている。検証対象ネットワーク900は、1つ以上のスイッチ装置を含む。以下、スイッチ装置を、単にスイッチとも記載する。各スイッチは、1つ以上の転送規則を有している。転送規則は、自装置の任意のポートに入力されたパケットに応じて該パケットに対する処理やその出力ポート等を定めた規則である。網検証装置1は、このような検証対象ネットワーク900を検証対象とする。
ここで、網検証装置1のハードウェア構成の一例を図2に示す。図2において、網検証装置1は、CPU(Central Processing Unit)1001と、RAM(Random Access Memory)1002と、ROM(Read Only Memory)1003と、ハードディスク等の記憶装置1004と、ネットワークインタフェース1005と、表示装置1006とによって構成される。この場合、検証対象ネットワーク情報取得部11は、次のように構成される。すなわち、この機能ブロックは、ネットワークインタフェース1005と、ROM1003および記憶装置1004に記憶されたコンピュータ・プログラムおよび各種データをRAM1002に読み込んで実行するCPU1001とによって構成される。また、バックトレース関数生成部12、物理リンクパス取得部13およびバックトレース関数適用部14は、次のように構成される。すなわち、これらの機能ブロックは、ROM1003および記憶装置1004に記憶されたコンピュータ・プログラムおよび各種データをRAM1002に読み込んで実行するCPU1001によって構成される。また、検証結果出力部15は、表示装置1006と、ROM1003および記憶装置1004に記憶されたコンピュータ・プログラムおよび各種データをRAM1002に読み込んで実行するCPU1001とによって構成される。なお、網検証装置1およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
検証対象ネットワーク情報取得部11は、検証対象ネットワーク900内の各スイッチにおけるパケットの転送規則および検証対象ネットワーク900の物理網トポロジ情報を取得する。例えば、検証対象ネットワーク情報取得部11は、ネットワークインタフェース1005を介して検証対象ネットワーク900にアクセスすることにより、その物理網トポロジ情報を取得可能である。また、検証対象ネットワーク情報取得部11は、ネットワークインタフェース1005を介して検証対象ネットワーク900内の各スイッチにアクセスすることにより、その転送規則を取得可能である。
バックトレース関数生成部12は、スイッチの転送規則に基づいて、バックトレース関数を生成する。バックトレース関数は、そのスイッチが有するポートから出力されるパケットパターンを基に該スイッチの対応するポートに入力されるパケットパターンを逆算する関数である。ここで、パケットパターンとは、パケットが有するヘッダのパターンをいう。また、パケットが出力されるポートを、以降、出力ポートとも記載する。また、出力ポートから出力されるパケットのパケットパターンを、単に出力ポートでのパケットパターンとも記載する。また、パケットが入力されるポートを、以降、入力ポートとも記載する。また、入力ポートに入力されるパケットのパケットパターンを、単に入力ポートでのパケットパターンとも記載する。
物理リンクパス取得部13は、物理網トポロジ情報および転送規則に基づいて、検証対象ネットワーク900の流入ポートから流出ポートまでをつなぐポートの列を表す物理リンクパスを取得する。ここで、流入ポートは、検証対象ネットワーク900に外部からのパケットが流入するスイッチのポートである。流出ポートは、検証対象ネットワーク900から外部へのパケットが流出するスイッチのポートである。物理リンクパス取得部13は、取得した物理リンクパスのリストを、RAM1002または記憶装置1004に記憶させてもよい。
バックトレース関数適用部14は、パケットパターンキャッシュを利用しながら、物理リンクパスの流出ポートから流入ポートに向けてバックトレース関数を順次適用することにより、流出ポートに到達するパケットの流入ポートでのパケットパターンを算出する。ここで、パケットパターンキャッシュは、物理リンクパス上の途中ポートから流出ポートに到達するパケットの、その途中ポートにおけるパケットパターンを記憶する格納部である。例えば、パケットパターンキャッシュは、記憶装置1004またはRAM1002により構成可能である。
このとき、バックトレース関数適用部14は、物理リンクパスの流出ポートから流出するパケットパターンとして所定の値を設定してもよい。なお、所定の値とは、想定される全てのパケットパターンを表す値であってもよい。例えば、バックトレース関数適用部14は、所定の値を設定したパケットパターンに対して、流出ポートを有するスイッチにおいて流出ポートからパケットを出力し得る転送規則に基づくバックトレース関数を適用する。これにより、バックトレース関数適用部14は、流出ポートを有するスイッチにおける入力ポートでのパケットパターンを逆算することができる。算出されたパケットパターンは、その物理リンクパスにおいてその入力ポートに接続される1つ前のスイッチの出力ポートから出力されるパケットパターンでもある。そこで、バックトレース関数適用部14は、算出したパケットパターンを、前述の1つ前のスイッチの出力ポートから流出ポートに到達するパケットの該出力ポートでのパケットパターンとして、パケットパターンキャッシュに記憶させてもよい。そして、バックトレース関数適用部14は、1つ前のスイッチの出力ポートでのパケットパターンに対して、1つ前のスイッチにおいてその出力ポートからパケットを出力し得る転送規則に基づくバックトレース関数を適用する。さらに、バックトレース関数適用部14は、バックトレース関数の適用によって算出されたパケットパターンを、パケットパターンキャッシュに記憶させることを、流出ポートから流入ポートにかけてのスイッチ毎に繰り返す。これにより、バックトレース関数適用部14は、ある物理リンクパスの流入ポートでのパケットパターンを算出可能である。
また、その算出において、物理リンクパスの途中ポートについて流出ポートに到達する算出済みのパケットパターンが、パケットパターンキャッシュに記憶されている場合、バックトレース関数適用部14は、次のように動作する。すなわち、バックトレース関数適用部14は、その算出済みのパケットパターンを、物理リンクパスの流入パケットパターンを求める際に、再利用する。この場合、バックトレース関数適用部14は、流出ポートからの逆算を省略し、途中ポートについて算出済みのパケットパターンを用いて、途中ポートから流入ポートに向けてバックトレース関数を順次適用すればよい。また、この場合も、バックトレース関数適用部14は、バックトレース関数を順次適用する処理過程で、パケットパターンキャッシュに記憶されていない途中ポートのパケットパターンキャッシュを算出した場合は、パケットパターンキャッシュに記憶させればよい。
検証結果出力部15は、バックトレース関数適用部14による処理結果を出力する。具体的には、例えば、検証結果出力部15は、流入ポートでのパケットパターンと、流出ポートとの組み合わせを表す情報を出力してもよい。なお、バックトレース関数適用部14は、表示装置1006等の出力装置に処理結果を出力してもよい。また、検証結果出力部15は、記憶装置1004に処理結果をファイル等として出力してもよい。また、検証結果出力部15は、ネットワークインタフェース1005を介して接続された他の装置(図示せず)に対して、処理結果を出力してもよい。
以上のように構成された網検証装置1の動作について、図3を参照して説明する。
図3において、まず、検証対象ネットワーク情報取得部11は、検証対象ネットワーク900の物理網トポロジ情報および各スイッチの転送規則を取得する(ステップA1)。
次に、バックトレース関数生成部12は、ステップA1で取得された各スイッチの転送規則に基づいて、バックトレース関数を生成する(ステップA2)。前述したように、バックトレース関数は、各スイッチの有するポートから出力されるパケットパターンから、該スイッチの対応するポートに入力されるパケットパターンを逆算する関数である。
次に、物理リンクパス取得部13は、ステップA1で取得された物理網トポロジ情報および転送規則に基づいて、検証対象ネットワーク900の流入ポートから流出ポートまでをつなぐポートの列を表す物理リンクパスを取得する(ステップA3)。
次に、バックトレース関数適用部14は、各物理リンクパスについて、パケットパターンキャッシュを利用しながら、流出ポートから流入ポートに向けてバックトレース関数を順次適用する。これにより、バックトレース関数適用部14は、流出ポートに到達するパケットの流入ポートでのパケットパターンを算出する。
具体的には、バックトレース関数適用部14は、物理リンクパス上の途中ポートからのパケットパターンがパケットパターンキャッシュに記憶されていない場合は(ステップA4でNo)、次のように動作する。この場合、バックトレース関数適用部14は、流出ポートから流入ポートに向けて、スイッチの出力ポートからのパケットパターンに対して、対応する転送規則に基づくバックトレース関数を適用する処理を繰り返す。すなわち、バックトレース関数適用部14は、そのスイッチの入力ポートでのパケットパターンを逆算する処理を流入ポートに向けて繰り返す。なお、このとき、バックトレース関数適用部14は、流出ポートのパケットパターンとして、前述のように所定の値を適用してもよい。また、このとき、バックトレース関数適用部14は、バックトレース関数を順次適用する過程で算出した各パケットパターンを、パケットパターンキャッシュに記憶しておく(ステップA5)。詳細には、バックトレース関数の適用過程で算出された各パケットパターンは、そのパケットパターンが出力されるポートについて流出ポートに到達するパケットパターンとして、パケットパターンキャッシュに記憶される。
また、バックトレース関数適用部14は、物理リンクパス上の途中ポートからのパケットパターンがパケットパターンキャッシュに記憶されている場合は(ステップA4でYes)、次のように動作する。この場合、バックトレース関数適用部14は、途中ポートから流入ポートに向けて、スイッチの出力ポートからのパケットパターンに対して、対応する転送規則に基づくバックトレース関数を適用する処理を繰り返す。すなわち、バックトレース関数適用部14は、そのスイッチの入力ポートでのパケットパターンを逆算する処理を流入ポートにかけて繰り返す。また、このときも、バックトレース関数適用部14は、バックトレース関数を順次適用する過程で算出した各パケットパターンを、パケットパターンキャッシュに記憶しておく(ステップA6)。この場合も、バックトレース関数の適用過程で算出された各パケットパターンは、そのパケットパターンが出力されるポートについて流出ポートに到達するパケットパターンとして、パケットパターンキャッシュに記憶される。
ステップA5またはA6の処理を各物理リンクパスについて完了すると、検証結果出力部15は、バックトレース関数適用部14による処理結果を出力する(ステップA7)。具体的には、前述のように、検証結果出力部15は、流入ポートでのパケットパターンと、流出ポートとの組み合わせを表す情報を出力してもよい。
以上で、網検証装置1は、動作を終了する。
次に、本発明の第1の実施の形態の効果について述べる。
本発明の第1の実施の形態としての網検証装置は、網に対する流入パケットパターンを計算する処理時間をより短くすることができる。
その理由について説明する。本実施の形態では、検証対象ネットワーク情報取得部が、検証対象ネットワークの物理網トポロジ情報および各スイッチの転送規則を取得する。そして、バックトレース関数生成部が、転送規則に基づいて、スイッチの有するポートから出力されるパケットパターンから該スイッチの対応するポートに入力されるパケットパターンを逆算するバックトレース関数を生成するからである。また、物理リンクパス取得部が、物理網トポロジ情報および転送規則に基づいて、検証対象ネットワークにおける流入ポートから流出ポートまでの物理リンクパスを取得する。そして、バックトレース関数適用部が、パケットパターンキャッシュを利用しながら、流出ポートから流入ポートに向けてバックトレース関数を順次適用する。このとき、バックトレース関数適用部は、バックトレース関数の適用過程で算出した各パケットパターンを、そのパケットパターンが出力される途中ポートから流出ポートに到達するパケットパターンとして、パケットパターンキャッシュに記憶する。これにより、バックトレース関数適用部が、流出ポートに到達するパケットの流入ポートでのパケットパターンを算出するからである。
このように、本実施の形態は、物理リンクパスの流入パケットパターンを算出する際に、その物理リンクパスの途中ポートからのパケットパターンがパケットパターンキャッシュに記憶されていれば、算出済みのパケットパターンを利用する。つまり、本実施の形態は、流出ポートから該途中ポートまでのバックトレース関数の適用を省略することができる。その結果、本実施の形態は、一回計算したバックトレース関数の計算結果を再利用することで、網内におけるバックトレース関数の計算を省力化することができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第2の実施の形態としての網検証装置2の構成を図4に示す。図4において、網検証装置2は、本発明の第1の実施の形態としての網検証装置1に対して、バックトレース関数生成部12に替えてバックトレース関数生成部22を備える点が異なる。また、網検証装置2は、本発明の第1の実施の形態としての網検証装置1に対して、物理リンクパス取得部13に替えて物理リンクパス取得部23を備える点も異なる。また、網検証装置2は、本発明の第1の実施の形態としての網検証装置1に対して、バックトレース関数適用部14に替えてバックトレース関数適用部24を備える点も異なる。ここで、網検証装置2およびその各機能ブロックは、図2を参照して説明した本発明の第1の実施の形態と同一のハードウェア要素によって構成可能である。ただし、網検証装置2およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
また、本実施の形態では、検証対象ネットワーク情報取得部11によって、転送規則として、入力ポート、マッチングパターン、アクションおよび出力ポートをそれぞれ表す情報を含むフローテーブルが、各スイッチから取得されるものとする。ここで、マッチングパターンは、入力ポートに入力されるパケットパターンが適合する条件を表す。また、アクションは、マッチングパターンに適合した場合の該パケットパターンの処理内容を表す。また、出力ポートは、アクションに基づく処理内容が施されたパケットの出力先のポートを表す。
バックトレース関数生成部22は、バックトレース関数を生成する。ここでは、バックトレース関数は、スイッチの出力ポートのパケットパターンを入力として、該当するフローエントリのマッチングパターンおよびアクションに基づいて入力ポートでのパケットパターンを出力する関数である。また、バックトレース関数生成部22は、後述のバックトレース関数適用部24による処理過程で動作するよう構成される。
物理リンクパス取得部23は、本発明の第1の実施の形態における物理リンクパス取得部13と同様に、物理網トポロジ情報および転送規則に基づいて、物理リンクパスを取得する。ただし、物理リンクパス取得部23は、その機能の一部が、後述のバックトレース関数適用部24による処理過程で動作するよう構成される。
バックトレース関数適用部24は、パケットパターン算出処理を再帰的に実行する。具体的には、パケットパターン算出処理において、バックトレース関数適用部24は、スイッチにおける入力ポートを表す情報を入力とする。そして、バックトレース関数適用部24は、該スイッチにおいて該入力ポートに対応する出力ポートから流出ポートに到達するパケットの該出力ポートでのパケットパターンに対して、バックトレース関数を適用する。これにより、バックトレース関数適用部24は、該入力ポートでのパケットパターンを表す情報を算出し、出力する。
また、バックトレース関数適用部24は、パケットパターン算出処理を実行する際に、入力ポートに対応する出力ポートでのパケットパターンがパケットパターンキャッシュに記憶されていれば、該パケットパターンを再利用する。すなわち、この場合、バックトレース関数適用部24は、パケットパターンキャッシュに記憶されているパケットパターンに対して、バックトレース関数を適用し、出力する。また、バックトレース関数適用部24は、入力ポートに対応する出力ポートでのパケットパターンがパケットパターンキャッシュに記憶されていなければ、次の処理を行うよう構成される。すなわち、この場合、バックトレース関数適用部24は、その出力ポートに対向する次のスイッチにおける入力ポートを表す情報を入力として、パケットパターン算出処理を再帰的に実行する。そして、バックトレース関数適用部24は、再帰的に実行したパケットパターン算出処理から得られたパケットパターンを、出力ポートでのパケットパターンとして、パケットパターンキャッシュに記憶させる。また、バックトレース関数適用部24は、再帰的に実行したパケットパターン算出処理から得られたパケットパターンに対して、バックトレース関数を適用し、出力する。
また、バックトレース関数適用部24は、流出ポートから出力されるパケットパターンとして、所定の値を設定する。所定の値とは、例えば、パケットヘッダを構成する各属性の値がその値域全体をとりうることを表すパケットパターンであってもよい。
また、バックトレース関数適用部24は、パケットパターン算出処理内で、バックトレース関数生成部22を用いてバックトレース関数を生成してもよい。
また、バックトレース関数適用部24は、パケットパターン算出処理内で、物理リンクパス取得部23を用いて物理リンクパスを探索しながら、パケットパターン算出処理を再帰的に実行してもよい。
また、バックトレース関数適用部24は、パケットパターン算出処理の出力として、入力ポートのパケットパターンと、探索した物理リンクパスの流出ポートとの組の集合を出力してもよい。また、この場合、バックトレース関数適用部24は、入力ポートのパケットパターンと流出ポートとの組を、入力ポートの1つ手前のスイッチの出力ポートに対応付けて、パケットパターンキャッシュに記憶させればよい。
以上のように構成された網検証装置2の動作について、図5〜図6を参照して詳細に説明する。
まず、網検証装置2の動作の概略を図5に示す。
図5において、まず、検証対象ネットワーク情報取得部11は、本発明の第1の実施の形態と同様にステップA1を実行し、検証対象ネットワーク900から物理網トポロジ情報および転送規則を得る。ただし、ここでは、転送規則として、上述のフローテーブルが取得される。
次に、物理リンクパス取得部23は、物理網トポロジ情報に基づいて、検証対象ネットワーク900において、物理リンクパスの先頭のポート(流入ポート)となり得るポートpの集合を取得する(ステップB2)。
次に、バックトレース関数適用部24は、流入ポートp毎に、ステップB3〜B4の処理を繰り返す。
ここでは、まず、バックトレース関数適用部24は、流入ポートpを入力としてパケットパターン算出処理を呼び出すことにより、流入ポートpにおけるパケットパターンπと、そのときの流出ポートpgとの組の集合を得る(ステップB3)。以降、流入ポートpにおけるパケットパターンπと、そのときの流出ポートpgとの組を、π@pg、または、(π, pg)とも記載する。
次に、検証結果出力部15は、検証結果として、流入ポートpにおけるパケットパターンπおよび流出ポートpgの組の集合を表す情報を出力する(ステップB4)。
ステップB3〜B4の処理を、各流入ポートについて完了すると、網検証装置2は、動作を終了する。
次に、ステップB3におけるパケットパターン算出処理の詳細を図6に示す。ここで、前述のように、パケットパターン算出処理の入力は、入力ポートpである。出力は、流出ポートpgと、ポートpから流出ポートpgに到達するパケットのポートpでのパケットパターンπとの組 (π, pg)の集合δである。
ここでは、まず、バックトレース関数適用部24は、戻り値用の作業変数δに空集合を代入する(ステップC1)。
次に、バックトレース関数適用部24は、物理リンクパス取得部23を用いて、ポートpを入力ポートとするフローエントリの集合Eを得る(ステップC2)。
次に、バックトレース関数適用部24は、Eの要素であるフローエントリ e∈Eごとに、以下のステップC3からC13までの処理を繰り返し実行する。
すなわち、ここでは、まず、バックトレース関数適用部24は、バックトレース関数生成部22を用いて、フローエントリeに基づくバックトレース関数ζeを生成する(ステップC3)。バックトレース関数ζeの詳細については後述する。
次に、バックトレース関数適用部24は、物理リンクパス取得部23を用いて、フローエントリeの出力ポートp'を得る(ステップC4)。
次に、バックトレース関数適用部24は、出力ポートp'に関して、それに対応するパケットパターンおよび流出ポートの組(π’、pg)が、パケットパターンキャッシュに存在するか否かを確認し、あれば取得する(ステップC5)。
ここで、パケットパターンキャッシュ内に該当するデータがない場合、バックトレース関数適用部24は、前述の出力ポートp'が終端スイッチポート(流出ポート)か否かを調べる(ステップC6)。
ここで、出力ポートp'が終端スイッチポートである場合、バックトレース関数適用部24は、出力ポートp'からのパケットパターンとして、全属性の値がTであるパケットパターンπTを設定する(ステップC7)。
次に、バックトレース関数適用部24は、出力ポートp'に対応付けて、パケットパターンπTおよび流出ポートp'の組を、パケットパターンキャッシュに記憶させる(ステップC8)。
次に、バックトレース関数適用部24は、出力ポートp'からのパケットパターンπTに対してバックトレース関数ζeを適用することにより、入力ポートpのパケットパターンζeT)を得る。そして、バックトレース関数適用部24は、ζeT)および流出ポートp’の組を、戻り値δに追加する(ステップC9)。
そして、バックトレース関数適用部24は、次のフローエントリeについて、ステップC3からの処理を繰り返す。
一方、ステップC6において、出力ポートp'が終端スイッチポート(流出ポート)でない場合、バックトレース関数適用部24は、物理リンクパス取得部23を用いて、出力ポートp'に対して物理リンクの対向であるポートp''を求める(ステップC10)。
次に、バックトレース関数適用部24は、ポートp''を入力としてパケットパターン算出処理を呼び出す。これにより、バックトレース関数適用部24は、ポートp''を入力ポートとした場合の、流出ポートpgおよびp''に流入するパケットパターンπ'の組 (π', pg)の集合を得る(ステップC11)。
次に、バックトレース関数適用部24は、出力ポートp'をキーとして、ステップC11で得られた(π',pg)の集合を、パケットパターンキャッシュに記憶させる(ステップC12)。
次に、バックトレース関数適用部24は、出力ポートp'からのパケットパターンπ'に対してバックトレース関数ζeを適用することにより、入力ポートpのパケットパターンζe(π')を得る。そして、バックトレース関数適用部24は、ζe(π')および流出ポートpgの組を、戻り値δに追加する(ステップC13)。
そして、バックトレース関数適用部24は、次のフローエントリeについて、ステップC3からの処理を繰り返す。
また、ステップC5において、パケットパターンキャッシュ内に該当するデータがある場合、バックトレース関数適用部24は、パケットパターンキャッシュ内の該当するデータ(π',pg)を用いて、ステップC13の処理を実行する。
そして、バックトレース関数適用部24は、次のフローエントリeについて、ステップC3からの処理を繰り返す。
ステップC2で得られたフローエントリの集合Eに属する各フローエントリeについてステップC3〜C13の処理を完了すると、バックトレース関数適用部24は、値δを返して、このパケットパターン算出処理を呼び出した処理に戻る。
以上で、パケットパターン算出処理の詳細な説明を終了する。
なお、ステップC3において生成されるバックトレース関数ζeについて説明する。バックトレース関数適用部24は、フローエントリeに基づいて、例えば、以下のように定義されるバックトレース関数ζeを生成してもよい。
前述のように、フローエントリeは、入力ポート、マッチングパターン、アクション、出力ポートをそれぞれ表す4つの情報を含んで構成されている。
ここで、マッチングパターンは、属性値Am_1, ・・・, Am_nで構成されるとする。また、アクションは、属性値Aa_1, ・・・, Aa_nで構成されるとする。なお、マッチングパターンの属性値 Am_iは、値すなわち点集合{v}、その値域の全集合T、IPサブネットなどの値域の部分集合r、空集合⊥、または、属性値A'm_iから属性値A''m_iを引いた差集合 (A'm_i − A''m_i)を取り得る。アクションの属性値Aa_iは、値v、または、その値域の全集合Tをとる。
また、パケットパターンπは、属性値Aπ_1, ・・・, Aπ_nで構成されるとする。パケットパターンの属性値Aπ_iは、値v、その値域の全集合T、IPサブネットなどの値域の部分集合r、空集合⊥、属性値A'm_iから属性値A''m_iを引いた差集合(A'm_i−A''m_i)、または、属性値A'm_iと属性値A''m_iの和集合(A'm_i∪A''m_i)をとる。
このとき、フローエントリeに基づくバックトレース関数ζeは、次式(1)のように定義される。
ζe((Aπ_1, ・・・, Aπ_n)) := (μ(Am_1, α(Aa_1, Aπ_1)), ・・・, μ(Am_n, α(Aa_n, Aπ_n)))・・・(1)
ここで、式(1)における関数α: (アクションの属性値)×(パケットヘッダの属性値のパターン)→(パケットパターン)は、以下の表1の通り定義される。
また、式(1)における関数μ:(マッチングルールの属性値)×(パケットヘッダの属性値のパターン)→(パケットパターン)は、表2の通り定義される。
Figure 2016013177
Figure 2016013177
このようなバックトレース関数の定義により、流入ポートから流出ポートへのフォワードトレース経路とは独立して、流出ポートからのバックトレース経路のみに依存して、各出力ポートでのパケットパターンが定まる。その結果、パケットパターンのキャッシュデータの再利用が可能となっている。
以上で、ステップC3で生成されるバックトレース関数の定義の一例についての説明を終了する。
次に、具体例を用いて本発明の第2の実施の形態の動作を説明する。
図7に、具体例で用いる検証対象ネットワーク901を示す。検証対象ネットワーク901は、3台のスイッチsw4、sw5、sw6で構成されている。また、sw4は、ポートp1,p2,p4を有し、sw5は、ポートp1,p2,p3を有し、sw6は、ポートp1,p2,p3を有する。以下、スイッチswiのポートpiを、swi_piとも記載する。検証対象ネットワーク901において、端点となるポートは、sw5_p2、sw5_p3、sw6_p2、sw6_p3、sw4_p4である。また、ポートsw4_p4は、検証対象ネットワーク901外のスイッチsw2に接続されている。また、ポートsw5_p2、sw5_p3、sw6_p2、sw6_p3は、それぞれ、検証対象ネットワーク901外のレイヤ2スイッチ(L2SW)に接続されている。なお、各レイヤ2スイッチは、各ポートに図示のVLAN ID(Virtual Local Area Network ID)が設定されている。また、各レイヤ2スイッチは、図示のMACアドレス(Media Access Control address)およびIPアドレス(Internet Protocol address)を有する装置に接続されている。なお、図7において、mac=miは、その装置のMACアドレスがmiであることを表し、IP=aiは、その装置に設定されたIPアドレスがaiであることを表している。また、スイッチsw4のポートp1のMACアドレスはm9であり、スイッチsw4のポートp2のMACアドレスはm10である。
また、この検証対象ネットワーク901でのフローエントリの一部は、図8のように定義されているとする。図8において、各行は、スイッチsw4〜sw6が有するフローエントリを表す。また、→の左側は、入力ポートおよびマッチングパターンを表し、右側は、アクションおよび出力ポートを表している。例えば、スイッチsw6の1行目のフローエントリは、sw6のポートp1から入力されたパケットの宛先MACアドレス (mac_da)が m8 で、VLAN IDを表すvlan属性が3ならば、sw6のポートp3にパケットを転送することを示す。また、スイッチsw4の1行目のフローエントリは、sw4のポートp1から入力されたパケットの宛先IPアドレス (ip_da)が a8ならば、宛先MACアドレスをm8に書換え、sw4のポートp2にパケットを転送することを示す。
このような検証対象ネットワーク901において、ここでは、バックトレース関数適用部24は、まず、sw5_p2を流入ポートとする検証を行うとする。そこで、バックトレース関数適用部24は、sw5_p2を入力としてパケットパターン算出処理を実行する(ステップB3)。なお、以降、swi_piを入力とするパケットパターン算出処理を、パケットパターン算出処理(swi_pi)とも記載する。
このとき、パケットパターンキャッシュには、sw5_p2を入力ポートとするフローエントリの出力ポートsw5_p1についてパケットパターンが記憶されていないとする(ステップC5でNo)。また、出力ポートsw5_p1は終端点ポートではない(ステップC6でNo)。そこで、バックトレース関数適用部24は、パケットパターン算出処理(sw5_p2)中で、出力ポートsw5_p1に対向するsw4_p1を入力としてパケットパターン算出処理(sw4_p1)を再帰的に呼び出す(ステップC11)。
このとき、パケットパターンキャッシュには、sw4_p1を入力ポートとするフローエントリの出力ポートsw4_p2についてパケットパターンが記憶されていないとする(ステップC5でNo)。また、出力ポートsw4_p2は終端点ポートではない(ステップC6でNo)。そこで、バックトレース関数適用部24は、パケットパターン算出処理(sw4_p1)中で、sw4_p2に対向するsw6_p1を入力としてパケットパターン算出処理(sw6_p1)を再帰的に呼び出す(ステップC11)。
ここで、バックトレース関数適用部24は、パケットパターン算出処理(sw6_p1)中で、そのフローエントリeの1つに関してその出力ポートp'としてsw6_p3を得る(ステップC4)。ここで、sw6_p3についてのパケットパターンはパケットパターンキャッシュに記憶されていないが(ステップC5でNo)、sw6_p3は、終端点ポート(流出ポート)である(ステップC6でYes)。そこで、バックトレース関数適用部24は、パケットパターンπTと流出ポートsw6_p3の組πT@sw6_p3を、sw6_p3に対応付けてパケットパターンキャッシュに記憶させる(ステップC7〜C8)。
ここでは、パケットパターンが、mac_da, vlan,およびip_daの3つの属性を持つと仮定し、πT =(mac_da=T, vlan=T, ip_da=T)と記載する。なお、本来パケットパターンはさらに多種の属性を持つことがあるが、ここでは簡単のため、これら3つの属性を有するものと仮定している。前述のように、Tは、属性がとり得る値域の全集合である。この場合、パケットパターンキャッシュには、図9に示すデータAが記憶されたことになる。
そして、バックトレース関数適用部24は、πT@sw6_p3に対して、このときのフローエントリeに関するバックトレース関数ζeを適用し、ζeT)@sw6_p3を求める。この計算結果は以下の通りとする。
{(mac_da=m8, vlan=3, ip_da=T)@sw6_p3,
(mac_da=m7, vlan=2, ip_da=T)@sw6_p3}
そして、バックトレース関数適用部24は、上記の計算結果を、パケットパターン算出処理(sw6_p1)の戻り値δに追加する(ステップC9)。
次に、バックトレース関数適用部24は、パケットパターン算出処理(sw6_p1)中で、次のフローエントリeに関してその出力ポートp'としてsw6_p2を得る(ステップC4)。ここで、sw6_p2についてのパケットパターンはパケットパターンキャッシュに記憶されていないが(ステップC5でNo)、sw6_p2は、終端点ポート(流出ポート)である(ステップC6でYes)。そこで、バックトレース関数適用部24は、πT@sw6_p2を、sw6_p2に対応付けてパケットパターンキャッシュに記憶させる(ステップC7〜C8)。これにより、パケットパターンキャッシュには、図9に示すデータBが記憶されたことになる。
そして、バックトレース関数適用部24は、πT@sw6_p2に対して、このときのフローエントリeに関するバックトレース関数ζeを適用し、ζeT)@sw6_p2を求める。この計算結果は以下の通りとする。
{(mac_da=m6, vlan=3, ip_da=T)@sw6_p2,
(mac_da=m5, vlan=2, ip_da=T)@sw6_p2}
そして、バックトレース関数適用部24は、上記の計算結果を、パケットパターン算出処理(sw6_p1)の戻り値δに追加する(ステップC9)。
パケットパターン算出処理(sw6_p1)において、sw6_p1を入力ポートとする他のフローエントリがないものとする。したがって、パケットパターン算出処理(sw6_p1)の戻り値δは、以下の通りとなる。
{(mac_da=m8, vlan=3, ip_da=T)@sw6_p3,
(mac_da=m7, vlan=2, ip_da=T)@sw6_p3,
(mac_da=m6, vlan=3, ip_da=T)@sw6_p2,
(mac_da=m5, vlan=2, ip_da=T)@sw6_p2}
ここで、パケットパターン算出処理(sw6_p1)の戻り値は、パケットパターン算出処理(sw4_p1)の処理におけるステップC11の結果である。そこで、バックトレース関数適用部24は、上述の戻り値δを、sw4_p2 をキーとして、パケットキャッシュパターンに記憶させる(ステップC12)。これにより、パケットパターンキャッシュには、図9に示すデータCが記憶されたことになる。
次に、バックトレース関数適用部24は、パケットパターン算出処理(sw6_p1)の戻り値に対して、このときのフローエントリeに関するバックトレース関数ζeを適用する。この計算結果は以下の通りとする。
{(mac_da=T, vlan=3, ip_da=a8)@sw6_p3,
(mac_da=T, vlan=2, ip_da=a7)@sw6_p3,
(mac_da=T, vlan=3, ip_da=a6)@sw6_p2,
(mac_da=T, vlan=2, ip_da=a5)}@sw6_p2}
そして、バックトレース関数適用部24は、この値を、パケットパターン算出処理(sw4_p1)の戻り値δに加える(ステップC13)。
パケットパターン算出処理(sw4_p1)において、sw4_p1を入力ポートとする他のフローエントリがないとする。したがって、上記のδの値が、パケットパターン算出処理(sw4_p1)の戻り値となる。
ここで、パケットパターン算出処理(sw4_p1)の戻り値は、パケットパターン算出処理(sw5_p2)の処理におけるステップC11の結果である。そこで、バックトレース関数適用部24は、上述の戻り値δを、sw5_p1 をキーとして、パケットキャッシュパターンに記憶させる(ステップC12)。ここで、パケットパターンキャッシュには、図9に示すデータDが記憶されたことになる。
次に、バックトレース関数適用部24は、パケットパターン算出処理(sw4_p1)の戻り値に対して、このときのフローエントリeに関するバックトレース関数ζeを適用する。この計算結果は以下の通りとする。
{{(mac_da=m9, vlan=3, ip_da=a8)@sw6_p3,
(mac_da=m9, vlan=2, ip_da=a7)@sw6_p3,
(mac_da=m9, vlan=3, ip_da=a6)@sw6_p2,
(mac_da=m9, vlan=2, ip_da=a5)@sw6_p2}
そして、バックトレース関数適用部24は、この値を、パケットパターン算出処理(sw5_p2)の戻り値δに加える(ステップC13)。
パケットパターン算出処理(sw5_p2)において、sw5_p2を入力ポートとする他のフローエントリがないとする。したがって、上記のδの値が、パケットパターン算出処理(sw5_p2)の戻り値となる。
このようにして、バックトレース関数適用部24は、流入ポートsw5_p2での流入パケットパターンおよび流出ポートの組を求めることができた。
次に、検証結果表示部25は、上記流入ポートsw5_p2での流入パケットパターンおよび流出ポートの組に基づいて、以下のように検証結果(1)〜(3)を出力する。
検証結果(1)
流入ポートsw5_p2に、条件Aを満たすパケットが流入した場合、必ずsw6_p3からパケットが流出する。
ここで、条件Aとは、
宛先MACアドレス(mac_da)がm9、かつ、VLAN ID(vlan)が3、かつ、IPアドレス(ip_da)がa8
または、
宛先MACアドレス(mac_da)がm9、かつ、VLAN ID(vlan)が2、かつ、IPアドレス(ip_da) がa7、という条件である。
検証結果(2)
流入ポートsw5_p2に、条件Bを満たすパケットが流入した場合、必ずsw6_p2からパケットが流出する。
ここで、条件Bとは、
宛先MACアドレス(mac_da)がm9、かつ、VLAN ID(vlan)が3、かつ、IPアドレス(ip_da)がa6
または、
宛先MACアドレス(mac_da)がm9かつ、VLAN ID(vlan)が2、かつ、IPアドレス(ip_da)がa5、という条件である。
検証結果(3)
条件Aを満たさないsw5_p2からの流入パケットは、sw6_p3に到着しない。また、条件Bを満たさないsw5_p2からの流入パケットは、sw6_p2 には到着しない。
次に、同様にして、バックトレース関数適用部24は、sw5_p3を流入ポートとする検証を行うとする。ここでは、まず、バックトレース関数適用部24は、sw5_p3を入力としてパケットパターン算出処理(sw5_p3)を実行する。このとき、sw5_p3を入力ポートとするフローエントリの出力ポートはsw5_p1である(ステップC4)。ここで、パケットパターンキャッシュには、図9に示したように、出力ポートsw5_p1をキーとするパケットパターン(データD)が記憶されている(ステップC5でYes)。
そこで、バックトレース関数適用部24は、出力ポートsw5_p1をキーとするパケットパターンをパケットパターンキャッシュから取得し、これに対して、このときのフローエントリeに関するバックトレース関数ζeを適用する。これにより、流入ポートsw5_p3での流入パケットパターンおよび流出ポートの組が算出される。
このようにして、バックトレース関数適用部24は、流入ポートsw5_p3での流入パケットパターンおよび流出ポートの組を、sw5_p1をキーとするパケットパターンキャッシュを再利用することにより求めることができた。パケットパターンキャッシュを再利用したことにより、バックトレース関数適用部24は、sw4_p1およびsw6_p1をそれぞれ入力とするパケットパターン算出処理を再帰的に実行することなく、sw5_p3での流入パケットパターンが求めることができる。これにより、バックトレース関数適用部24は、高速な検証を可能としている。
このことを、図10および図11を用いて説明する。図10に示すように、網検証装置2は、sw5_p2での流入パケットパターンを求めるため、実線の矢印に沿った順でパケットパターン算出処理を再帰的に実行した。また、その過程で、網検証装置2は、流出ポートから流入ポートに向けて、各出力ポートでのパケットパターンA、B、C、Dを順次パケットパターンキャッシュに登録した。また、図11に示すように、網検証装置2は、sw5_p3での流入パケットパターンを求めるため、破線の矢印が示すパケットパターン算出処理を実行した。その処理中で、網検証装置2は、パケットパターンDを再利用することにより、パケットパターン算出処理を再帰的に実行することなく、sw5_p3での流入パケットパターンが求めることができた。
一方、非特許文献1に記載された関連技術を用いる場合、前述のとおり、途中計算を再利用できない。このことを、図12を用いて説明する。図12において、非特許文献1に記載された関連技術は、実線の矢印に示すように、ポートsw5_p2からの全経路を探索した上で、流出ポートからの逆算を行うことにより、ポートsw5_p2での流入パケットパターンを求める。このとき、開始点が違えば流出ポートでのパケットパターンが異なり、逆算される途中ポートでのパケットパターンも異なるため、開始点の異なる経路間では、途中ポートでのパケットパターンを再利用することができない。そのため、この関連技術は、ポートsw5_p2での流入パケットパターンを求めた後にsw5_p3での流入パケットパターンを求める場合であっても、破線の矢印に示すように、ポートsw5_p3からの全経路を探索した上で、流出ポートからの逆算を行う必要がある。したがって、非特許文献1に記載された関連技術では、本実施の形態に比べて検証時間が延びることになる。
ここで、非特許文献1に記載された技術を実装した場合の検証時間と、本実施の形態を実装した場合の検証時間とを実機評価した結果を図13に示す。図13において、横軸は、検証対象ネットワーク901内のスイッチ群が有するフローエントリ数の合計を表す。また、縦軸は、検証に要する時間を表す。図13によれば、約40,000フローエントリで、非特許文献1に記載された関連技術では、検証に8,000秒近く要しているが、本実施の形態では、検証に要する時間は200秒程度であり、大幅に検証時間を短縮している。
以上で、本発明の第2の実施の形態の動作の具体的な説明を終了する。
次に、本発明の第2の実施の形態の効果について述べる。
本発明の第2の実施の形態としての網検証装置は、網に対する流入パケットパターンを計算する処理時間をさらに短くすることができる。
その理由は、バックトレース関数適用部が、スイッチの出力ポートでのパケットパターンに対してバックトレース関数を適用することにより、入力ポートでのパケットパターンを出力するパケットパターン算出処理を再帰的に実行するからである。また、この際に、バックトレース関数適用部が、該出力ポートでのパケットパターンがパケットパターンキャッシュに記憶されていれば該パケットパターンを再利用するからである。また、該出力ポートでのパケットパターンがパケットパターンキャッシュに記憶されていなければ、該パケットパターンを求めるために該出力ポートに対向する次のスイッチにおける入力ポートを入力としてパケットパターン算出処理を再帰的に実行するからである。そして、この場合、バックトレース関数適用部が、再帰的に実行したパケットパターン算出処理により得られるパケットパターンをパケットパターンキャッシュに記憶させた上で、得られたパケットパターンに対してバックトレース関数を適用するからである。また、転送規則が、入力ポート、マッチングパターン、アクション、および、出力ポートをそれぞれ表す情報を含むとき、バックトレース関数生成部が、次のように動作するからである。すなわち、バックトレース関数生成部は、出力ポートのパケットパターンを入力として、マッチングパターンおよびアクションに基づいて入力ポートに入力されるパケットパターンを出力するよう、バックトレース関数を生成するからである。
これにより、本実施の形態は、パケットパターンキャッシュに、物理リンクパス上の出力ポートごとに、パケットパターンおよびそのときの流出ポートの組という途中計算結果を記録することになる。ある物理リンクパス p1, ・・・, pnを例に説明する。ここで、pi(i=1〜n)は、物理リンクパス上の各スイッチswiの出力ポートを表すものとする。また、各スイッチswiは、この物理リンクパスに適用するフローエントリeiを有しているものとする。このとき、出力ポートpiにおけるバックトレース関数によるパケットパターンの計算結果は、その出力ポートpiから流出ポートpnまでの経路で適用されたフローエントリの列ei, ・・・, en のみに依存して、ζei・ ・・・ ・ζenT)と表される。
そのため、本実施の形態は、どの流入ポートから計算を始めても、その途中ポートpiでのパケットパターンがパケットパターンキャッシュにあれば、その値を再利用できる。このように、本実施の形態は、ある流入ポートからのパケットパターンおよび流出ポートの組の算出時に途中ポートについて算出したパケットパターンおよび流出ポートの組を、他の流入ポートからのパケットパターンおよび流出ポートの組の算出時に再利用できる。その結果、本実施の形態は、同一のポートについて、パケットパターンおよび流出ポートの組の計算を1度ずつ計算すればよいことになる。
一方、非特許文献1に記載された関連技術を用いて求める場合について説明する。この関連技術は、まず、流入ポートでのパケットパターンをπTとして、流出ポートでのパケットパターン(φen・ ・・・φei・・・ ・φe1) (πT)を算出する。ただし、φeiは、フローエントリeiに基づく転送関数を表す。そして、この関連技術は、流出ポートのパケットパターンに転送逆関数を適用し、途中の出力ポートpiでのパケットパターン(φ-1 ei・ ・・・ ・φ-1 en)・(φen・ ・・・φei・・・ ・φe1) (πT)を求める。このように、この関連技術では、途中の出力ポートpiでのパケットパターンが、流入ポートp1から出力ポートpiまでの計算結果に影響されることがわかる。したがって、流入ポートが違う経路の場合には、キャッシュを再利用することができない。
次に、上述した本実施の形態の効果を、図14および図15に示す模式的な検証対象ネットワークを用いて説明する。
まず、図14を用いて、本実施の形態の流入パケットパターンを求める処理について模式的に説明する。図14では、検証対象ネットワークは、5つのスイッチsw1、sw2、sw3、sw4、sw5によって構成される。また、この検証対象ネットワークには、2つの物理リンクパスがある。1つ目の物理リンクパスは、sw1のポートp1を流入ポートとして、sw2、sw4を経て、sw5のポートp0を流出ポートとする経路である。また、この経路で適用されるsw1、sw2、sw4、sw5でのフローエントリは、それぞれe1、e2、e4、e5であり、これらに基づくバックトレース関数が、ζe1、ζe2、ζe4、ζe5であるとする。また、2つ目の物理リンクパスは、sw3のポートp3を流入ポートとして、sw4を経て、sw5のポートp0を流出ポートとする経路である。また、この経路で適用されるsw3、sw4、sw5でのフローエントリは、それぞれe3、e4'、e5であり、これらに基づくバックトレース関数が、ζe3、ζe4'、ζe5であるとする。
このとき、本実施の形態は、まず1つ目の物理リンクパスの流入ポートp1の流入パケットパターンを求めるとする。この場合、途中のsw1、sw2、sw4の各出力ポートについてのパケットパターンがパケットパターンキャッシュにまだ記憶されていない。そこで、本実施の形態は、sw5の流出ポートp0からのパケットパターンキャッシュをπTとしてsw5の入力ポートでのパケットパターンπ5e5T)を求め、sw4の出力ポートに対応付けてパケットパターンキャッシュに記憶させる。同様にして、本実施の形態は、この物理リンクパス上でのsw4の入力ポートでのパケットパターンπ4e45)を求め、sw2の出力ポートに対応付けてパケットパターンキャッシュに記憶させる。同様にして、本実施の形態は、sw2の入力ポートでのパケットパターンπ2e24)を求め、この物理リンクパス上でのsw1の出力ポートに対応付けてパケットパターンキャッシュに記憶させる。そして、本実施の形態は、sw1の入力ポート、すなわち流入ポートp1でのパケットパターンπ1e12)を求めることができる。なお、図14において、「スライスS1@(π1,p1)」は、スライス(すなわち、仮想網)S1に属するパケットパターンπ1のパケットを検証対象ネットワークのポートp1に流入させることを表している。つまり、そのような流入パケットパターンπ1が求められたことを表している。また、図14におけるの実線の矢印は、本実施の形態が、1つ目の物理リンクパスの流入ポートp1での流入パケットパターンを求める際のバックトレース関数の処理順序を示している。
また、図14において、本実施の形態は、次に、2つ目の物理リンクパスの流入ポートp3での流入パケットパターンを求めるとする。この場合、パケットパターンキャッシュには、この物理リンクパスの途中ポートであるsw4の出力ポートについてのパケットパターンπ5e5T)が記憶されている。そこで、本実施の形態は、パケットパターンキャッシュからπ5e5T)を取得して再利用する。そして、本実施の形態は、この物理リンクパス上でのsw4の入力ポートでのパケットパターンπ'4e4' (π5)を求め、sw3の出力ポートに対応付けてパケットパターンキャッシュに記憶させる。そして、本実施の形態は、sw3の入力ポート、すなわち流入ポートp3でのパケットパターンπ3e3 (π'4)を求めることができる。なお、図14において、「スライスS2@(π3,p3)」は、スライスS2に属するパケットパターンπ3のパケットを検証対象ネットワークのポートp3に流入させることを表している。つまり、そのような流入パケットパターンπ3が求められたことを表している。また、図14における破線の矢印は、本実施の形態が、2つ目の物理リンクパスの流入ポートp3での流入パケットパターンを求める際のバックトレース関数の処理順序を示している。
次に、比較のため、図14に示した検証対象ネットワークにおける流入ポートでのパケットパターンを、非特許文献1に記載された関連技術を用いて求める処理について、図15を用いて模式的に説明する。図15において、「スライスS1@p1」は、流入ポートp1に、スライスS1に属するパケットパターンを流すことを表す。この場合、関連技術は、まず、1つ目の物理リンクパスの流入ポートp0でのパケットパターンをπTとして、sw1の出力ポートでのパケットパターン(π2, e1)=φ(πT,p1)を求める。なお、(π2, e1)=φ(πT,p1)は、ポートp1に入力されたパケットパターンπTに転送関数φを適用した結果が、フローエントリe1に基づくパケットパターンπであることを示している。同様にして、順次、転送関数φを適用していき、この関連技術は、1つ目の物理リンクパスの流出ポートp0でのパケットパターン(πterm, e5)= φ(π5, p5=e4.opor)を求める。なお、pi=ej.oporは、フローエントリejで定められた出力ポートに対向するポートがpiであることを表している。そして、この関連技術は、求めた流出パケットパターンπtermに対して転送逆関数を適用し、sw5の入力ポートでのパケットパターンπ''5-1 e5term)を求める。そして、関連技術は、順次転送逆関数を適用し、流入ポートp1での流入パケットパターンπ'1-1 e1(π'2)を求めることができる。なお、図15において、(1)〜(9)は、1つ目の物理リンクパスの流入パケットパターンを算出する際の転送関数および転送逆関数の適用順序を示している。
また、次に、この関連技術が、2つ目の物理リンクパスの流入パケットパターンを求めることについて考える。図15において、「スライスS2@p3」は、流入ポートp3に、スライスS2に属するパケットパターンを流すことを表す。この場合、まず、この関連技術は、流入ポートp3でのパケットパターンをπTとして、順次転送関数φを適用していき、この物理リンクパスの流出ポートp0でのパケットパターン(π'term, e5)=φ(π7, p5=e4'.opor)を求める。そして、この関連技術は、求めた流出パケットパターンπ'termに対して転送逆関数を適用していく。このとき、sw5の入力ポートでのパケットパターンは、π'' '5-1 e5(π'term)となり、1つ目の物理リンクパスについて転送逆関数で求めたsw5の入力ポートでのパケットパターンπ''5-1 e5term)とは異なる。このように、この関連技術では、転送逆関数を適用する際に、他の物理リンクパスで同一の途中ポートについてパケットパターンを算出していても、その値を再利用することができない。なお、図15において、(a)〜(g)は、2つ目の物理リンクパスの流入パケットパターンを算出する際の転送関数および転送逆関数の適用順序を示している。
以上、図14および図15を用いて説明したように、本実施の形態は、非特許文献1に記載された関連技術と比較して、網に対する流入パケットパターンを計算する処理時間を大幅に短くすることができる。
なお、本発明の第2実施の形態において、バックトレース関数適用部が、バックトレース関数の適用を再帰的に実行する処理手順を中心に説明した。このような処理手順に限らず、本発明のバックトレース関数適用部は、物理リンクパスの流出ポートから流入ポートに向けてバックトレース関数を適用する際に、その他の処理手順を用いてもよい。その他の処理手順は、途中ポートについて算出済みのパケットパターンキャッシュがあればそれを再利用してその途中ポートから流入ポートに向けてバックトレース関数を適用するための手順であればよい。
また、本発明の第2の実施の形態において、パケットパターンキャッシュに記憶される情報の形式の一例を図面に示して説明した。この他、パケットパターンキャッシュに記憶される情報は、途中ポートでのパケットパターンおよびそのパケットパターンがその途中ポートから到達する流出ポートを表すものであれば、他の形式で表されていてもよい。
また、上述した本発明の各実施の形態において、網検証装置は、検証対象ネットワークと接続されていなくてもよく、その物理網トポロジ情報および転送規則を、記憶装置や入力装置等から取得できればよい。
また、上述した本発明の各実施の形態において、網検証装置の各機能ブロックが、記憶装置またはROMに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。これに限らず、各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
また、上述した本発明の各実施の形態において、網検証装置の機能ブロックは、複数の装置に分散されて実現されてもよい。
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した網検証装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータ装置の記憶装置(記憶媒体)に格納しておいてもよい。そして、係るコンピュータ・プログラムを当該コンピュータ装置のCPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2014年7月23日に出願された日本出願特願2014−150077を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1、2 網検証装置
11 検証対象ネットワーク情報取得部
12、22 バックトレース関数生成部
13、23 物理リンクパス取得部
14、24 バックトレース関数適用部
15 検証結果出力部
900、901 検証対象ネットワーク
1001 CPU
1002 RAM
1003 ROM
1004 記憶装置
1005 ネットワークインタフェース
1006 表示装置

Claims (5)

  1. 検証対象ネットワーク内の各スイッチにおけるパケットの転送規則および前記検証対象ネットワークの物理網トポロジ情報を取得する検証対象ネットワーク情報取得手段と、
    前記転送規則に基づいて、前記スイッチの有するポートから出力されるパケットパターンから該スイッチの対応するポートに入力されるパケットパターンを逆算するバックトレース関数を生成するバックトレース関数生成手段と、
    前記物理網トポロジ情報および前記転送規則に基づいて、前記検証対象ネットワークに外部からのパケットが流入するスイッチのポート(流入ポート)から外部へのパケットが流出するスイッチのポート(流出ポート)までをつなぐポートの列を表す物理リンクパスを取得する物理リンクパス取得手段と、
    前記物理リンクパス上の途中ポートから前記流出ポートに到達するパケットの該途中ポートにおけるパケットパターンを記憶するパケットパターンキャッシュを利用しながら、前記流出ポートから前記流入ポートに向けて前記バックトレース関数を順次適用することにより、前記流出ポートに到達するパケットの前記流入ポートでのパケットパターンを算出するバックトレース関数適用手段と、
    前記バックトレース関数適用手段による処理結果を出力する検証結果出力手段と、
    を備えた網検証装置。
  2. 前記バックトレース関数適用手段は、前記スイッチにおける入力ポートを表す情報を入力として、該スイッチにおいて該入力ポートに対応する出力ポートから前記流出ポートに到達するパケットの該出力ポートでのパケットパターンに対して前記バックトレース関数を適用することにより、該入力ポートでのパケットパターンを表す情報を出力するパケットパターン算出処理を実行する際に、該出力ポートから前記流出ポートに到達するパケットの該出力ポートでのパケットパターンが前記パケットパターンキャッシュに記憶されていれば該パケットパターンを再利用し、記憶されていなければ該パケットパターンを求めるために該出力ポートに対向する次のスイッチにおける入力ポートを入力として前記パケットパターン算出処理を再帰的に実行して得られるパケットパターンを前記パケットパターンキャッシュに記憶させることを特徴とする請求項1に記載の網検証装置。
  3. 前記転送規則が、入力ポート、前記入力ポートに入力されるパケットパターンが適合する条件(マッチングパターン)、前記条件に適合した場合の該パケットパターンの処理内容(アクション)、および、処理後のパケットパターンを出力する出力ポートをそれぞれ表す情報を含むとき、
    前記バックトレース関数生成手段は、出力ポートのパケットパターンを入力として、前記マッチングパターンおよび前記アクションに基づいて前記入力ポートに入力されるパケットパターンを出力するよう前記バックトレース関数を生成することを特徴とする請求項1または請求項2に記載の網検証装置。
  4. 検証対象ネットワーク内の各スイッチにおけるパケットの転送規則および前記検証対象ネットワークの物理網トポロジ情報を取得し、
    前記転送規則に基づいて、前記スイッチの有するポートから出力されるパケットパターンから該スイッチの対応するポートに入力されるパケットパターンを逆算するバックトレース関数を生成し、
    前記物理網トポロジ情報および前記転送規則に基づいて、前記検証対象ネットワークに外部からのパケットが流入するスイッチのポート(流入ポート)から外部へのパケットが流出するスイッチのポート(流出ポート)までをつなぐポートの列を表す物理リンクパスを取得し、
    前記物理リンクパス上の途中ポートから前記流出ポートに到達するパケットの該途中ポートにおけるパケットパターンを記憶するパケットパターンキャッシュを利用しながら、前記流出ポートから前記流入ポートに向けて前記バックトレース関数を順次適用することにより、前記流出ポートに到達するパケットの前記流入ポートでのパケットパターンを算出し、
    前記流出ポートに到達するパケットの前記流入ポートでのパケットパターンを出力する、網検証方法。
  5. 検証対象ネットワーク内の各スイッチにおけるパケットの転送規則および前記検証対象ネットワークの物理網トポロジ情報を取得する検証対象ネットワーク情報取得ステップと、
    前記転送規則に基づいて、前記スイッチの有するポートから出力されるパケットパターンから該スイッチの対応するポートに入力されるパケットパターンを逆算するバックトレース関数を生成するバックトレース関数生成ステップと、
    前記物理網トポロジ情報および前記転送規則に基づいて、前記検証対象ネットワークに外部からのパケットが流入するスイッチのポート(流入ポート)から外部へのパケットが流出するスイッチのポート(流出ポート)までをつなぐポートの列を表す物理リンクパスを取得する物理リンクパス取得ステップと、
    前記物理リンクパス上の途中ポートから前記流出ポートに到達するパケットの該途中ポートにおけるパケットパターンを記憶するパケットパターンキャッシュを利用しながら、前記流出ポートから前記流入ポートに向けて前記バックトレース関数を順次適用することにより、前記流出ポートに到達するパケットの前記流入ポートでのパケットパターンを算出するバックトレース関数適用ステップと、
    前記バックトレース関数適用ステップでの処理結果を出力する検証結果出力ステップと、
    をコンピュータ装置に実行させる網検証プログラムを記憶した記憶媒体。
JP2016535777A 2014-07-23 2015-07-13 網検証装置、網検証方法、および、コンピュータ・プログラム Active JP6520946B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014150077 2014-07-23
JP2014150077 2014-07-23
PCT/JP2015/003534 WO2016013177A1 (ja) 2014-07-23 2015-07-13 網検証装置、網検証方法、および、記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2016013177A1 true JPWO2016013177A1 (ja) 2017-04-27
JP6520946B2 JP6520946B2 (ja) 2019-05-29

Family

ID=55162722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016535777A Active JP6520946B2 (ja) 2014-07-23 2015-07-13 網検証装置、網検証方法、および、コンピュータ・プログラム

Country Status (3)

Country Link
US (1) US10038600B2 (ja)
JP (1) JP6520946B2 (ja)
WO (1) WO2016013177A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10116493B2 (en) 2014-11-21 2018-10-30 Cisco Technology, Inc. Recovering from virtual port channel peer failure
US10333828B2 (en) 2016-05-31 2019-06-25 Cisco Technology, Inc. Bidirectional multicasting over virtual port channel
US11509501B2 (en) * 2016-07-20 2022-11-22 Cisco Technology, Inc. Automatic port verification and policy application for rogue devices
US10193750B2 (en) 2016-09-07 2019-01-29 Cisco Technology, Inc. Managing virtual port channel switch peers from software-defined network controller
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US10819683B2 (en) * 2017-11-20 2020-10-27 Forcepoint Llc Inspection context caching for deep packet inspection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4962394B2 (ja) * 2008-04-21 2012-06-27 富士通株式会社 パケット転送制御装置およびパケット転送制御方法
US9898317B2 (en) * 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
KR101434388B1 (ko) * 2013-01-04 2014-08-26 주식회사 윈스 네트워크 보안 장비의 패턴 매칭 시스템 및 그 패턴 매칭 방법
US9674087B2 (en) * 2013-09-15 2017-06-06 Nicira, Inc. Performing a multi-stage lookup to classify packets
US9648148B2 (en) * 2013-12-24 2017-05-09 Intel Corporation Method, apparatus, and system for QoS within high performance fabrics
US9628382B2 (en) * 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PEYMAN KAZEMIAN,他: "Header Space Analysis: Static Checking for Networks", 9TH USENIX SYMPOSIUM ON NETWORKED SYSTEM DESIGN AND IMPLEMENTATION, JPN6015036272, 25 April 2012 (2012-04-25), pages 1 - 14 *
TOSHIO TONOUCHI,他: "A fast method of verifying network routing with back-trace header space analysis", INTEGRATED NETWORK MANAGEMENT (IM), 2015 IFIP/IEEE INTERNATIONAL SYMPOSIUM ON, JPN6015036271, 11 May 2015 (2015-05-11), pages 225 - 233, XP033167789, DOI: doi:10.1109/INM.2015.7140296 *

Also Published As

Publication number Publication date
US20170163491A1 (en) 2017-06-08
WO2016013177A1 (ja) 2016-01-28
JP6520946B2 (ja) 2019-05-29
US10038600B2 (en) 2018-07-31

Similar Documents

Publication Publication Date Title
WO2016013177A1 (ja) 網検証装置、網検証方法、および、記憶媒体
US9660886B1 (en) Scalable network route analysis
CN105049359B (zh) 用于分布式路由表查找的分布式路由器的入口计算节点和机器可读介质
JP6348983B2 (ja) ソフトウェア定義ネットワーキングにおけるコンテキスト符号化を通じたレイヤ2経路追跡
CN103731377B (zh) 处理报文的方法与设备
CN107547242B (zh) Vm配置信息的获取方法及装置
EP3607696A1 (en) Digital signature systems and methods for network path trace
CN111131021B (zh) 双向转发检测bfd报文的转发方法和网络设备
WO2019206295A1 (zh) 用于边缘路由器的网络接入方法和装置
Foerster et al. Local fast failover routing with low stretch
CN105743687B (zh) 节点故障的判断方法及装置
CN111200665A (zh) 一种用户溯源方法、装置及计算机可读存储介质
KR102547681B1 (ko) 서비스 흐름 처리 방법 및 장치
CN109218190B (zh) 一种传输路径的确定方法及节点
EP3100436B1 (en) Maintaining routing information for a distributed service provided by service instances
CN106027356A (zh) 一种隧道标识的转换方法及装置
CN109688237B (zh) 一种nat转换方法、装置及nat设备
CN104539538B (zh) 路由器的ip地址匹配方法和路由器的数据包转发方法
JP5405265B2 (ja) トポロジー推定装置、トポロジー推定方法
JP2015514374A (ja) 情報を受信するための方法、情報を送信するための方法及びそれらの装置
CN110022281B (zh) 访问控制列表容量的测试方法、设备和计算机存储介质
CN109218059B (zh) 一种实现故障检测的方法、设备和系统
JP6586374B2 (ja) 通信装置、経路管理サーバ、通信方法、および仮想ポート割当方法
US9450892B2 (en) Switch device, network system, and switch device control method
JP6061829B2 (ja) リンク品質計測装置ならびにそのフローエントリ集約方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190415

R150 Certificate of patent or registration of utility model

Ref document number: 6520946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150