JP2016012781A - パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法 - Google Patents

パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法 Download PDF

Info

Publication number
JP2016012781A
JP2016012781A JP2014132603A JP2014132603A JP2016012781A JP 2016012781 A JP2016012781 A JP 2016012781A JP 2014132603 A JP2014132603 A JP 2014132603A JP 2014132603 A JP2014132603 A JP 2014132603A JP 2016012781 A JP2016012781 A JP 2016012781A
Authority
JP
Japan
Prior art keywords
packet
decision tree
packet transfer
branch decision
route
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
JP2014132603A
Other languages
English (en)
Other versions
JP6143367B2 (ja
Inventor
井上 武
Takeshi Inoue
武 井上
暢 間野
Noboru Mano
暢 間野
后宏 水谷
Kimihiro Mizutani
后宏 水谷
修 明石
Osamu Akashi
修 明石
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 JP2014132603A priority Critical patent/JP6143367B2/ja
Publication of JP2016012781A publication Critical patent/JP2016012781A/ja
Application granted granted Critical
Publication of JP6143367B2 publication Critical patent/JP6143367B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】本発明は、計算に用いるメモリ量を減らせるとともに、高速にパケット転送経路の検索及びパケットの転送経路ごとの分類が可能なデータを用いて、パケット経路の設定を高速に行うことを目的とする。【解決手段】本発明は、パケットの経路を特定するためのヘッダ空間のビット列から二分岐決定木を構築し、二分岐決定木から多分岐決定木を構築し、受信したパケットの経路を、多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定する。【選択図】図13

Description

本発明は、パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法に関する。
TCP/IPやEthernet(登録商標)のような論理ネットワークを対象とする。スイッチなどの通信機器はパケットを受け取ると、その装置の設定(転送表など)とパケットヘッダを照合して、パケットに対して行うアクションを決定する。アクションには、パケットの転送や廃棄、書き換え、loggingなどがある。このように、アクション種などによってパケットを分類する手法を「packet classification」と呼ぶ。以下では、packet classificationをパケット分類手法と記載する。
SDN(Software−Defined Network)のように、近年は個々の通信機器だけでなくネットワーク全体をみて運用・管理を行う技術が注目を集めている。そのためには、各スイッチでのアクションではなく「ネットワーク全体での振る舞い」によってパケットを分類しなければならない。
(用語について)
先ず、本願発明に関連する発明及び本願発明で用いる用語の説明を行う。図1は、ネットワークの例を示し、図2〜図7はスイッチの動作を示し、図8、図9は、ネットワーク全体でのパケットの振る舞いを示す。図1〜図7で本願発明に関連するパケット分類手法について説明し、図8、図9でネットワーク全体での振る舞いを考慮した新たな課題を示す。
なお、ここでは、パケットヘッダには2つの領域のみがあり、それぞれの長さは3ビットとする。3ビットの領域が取り得る値の範囲は0から2−1である。この0から2−1の範囲を[0,2−1]と表記する。
図1のネットワークは、3つのスイッチ(SW、SW、SW)を備え、それぞれ3つのポート(インタフェース)で接続されている。SW、SW、SWのそれぞれは3つのポートを備える。SWの3つのポートをPA1、PA2、PA3のように示し、SWの3つのポートをPB1、PB2、PB3のように示し、SWの3つのポートをPC1、PC2、PC3のように示す。
図2、図4、図6に示す3つの表はSW、SW、SWの各スイッチがパケットに対して行うアクションを表している(一般にこのような表は転送表などと呼ばれる)。図2の表は、SWの動作を示し、SWによって管理される。図4の表はSWの動作を示し、SWによって管理される。図6の表はSWの動作を示し、SWによって管理されている。図2、図4、図6に示した表の各行を「ルール」と呼ぶことにする。
図2、図4、図6に示した表の1、2列目は、2つのヘッダ領域の値の範囲を示している。これは、パケットがその行に合致するための条件である。なお、*はワイルドカードと呼ばれ、任意の値を意味する(この例では、[0,7]と同じである)。
図2、図4、図6の表の3列目は、条件に合致したパケットに適用するアクションである。廃棄はパケット廃棄、それ以外は出力ポートを表す。図2の表の一行目に示した第1ルールの条件「* [3,4]」は、「領域1は任意の値、領域2は3から4まで」という意味である。つまり、領域2が3から4のパケットがスイッチAに到着したら、廃棄される。パケットが複数のルールに合致したときには、最上位ルールのアクションのみが適用される。ここで、表の1行目が最上位ルールであり、表の4行目が最下位ルールである。
図3、図5、図7に示した3つの太線正方形は、それぞれ図2、図4、図6に示した表と同じ情報を座標系で表現している。たとえば、スイッチSWにおいて、領域1、領域2の値がともに0のパケットを考えると、図2の表の第4ルール「[0,3] *」のみに合致し、アクションはPA2となる。図3、図5、図7の太線正方形は、x軸が領域1、y軸が領域2を表しており、図3において、領域1、領域2の値がともに0の場合はPA2の領域であることがわかる。この太線正方形のように、ヘッダの領域値を表す空間を「ヘッダ空間」と呼ぶことにする。パケット分類手法は、パケットヘッダが与えられたときに、対応するアクションを求める技術である。本発明に関連するパケット分類手法は、各スイッチSW、SW、SWでのアクションのみを対象としていた。
(関連技術について)
図8、図9に示したネットワーク全体でのパケットの振る舞いでは、3つのスイッチSW、SW、SWのアクションの組合せを説明する。スイッチのアクションの組合せによって、「ネットワーク全体でのパケットの振る舞い」が決まる。たとえば、領域1、領域2の値がともに0のパケットは、SWではPA2、SWでは廃棄、SWでは廃棄というアクションが適用される。これらのアクションをネットワーク全体の図として描いたのが、図9のIである。図9のIでは、SWのみがパケットを送出し(AからBへの矢印)、SW、SWは送出していない(矢印が出ていない)。
図9の振る舞いIに従うパケットのヘッダは、図8のヘッダ空間(太線正方形)においてIの領域に対応する(Iに対応する領域は、図8のヘッダ空間内の左上と左下に分かれており、いずれもIの振る舞いをする点に注意)。以降、振る舞いIに合致するヘッダ空間の領域を「領域I」と呼ぶことにする。
「ネットワーク全体」の観点では、3つのスイッチのアクションがひとつでも異なれば別の振る舞いとみなす。すると、図8のようにヘッダ空間が多くの領域に分割されることになる。後述する本発明では、パケットヘッダが与えられたときに、関連技術のように単一スイッチのアクションのみを求めるのではなく、ネットワーク全体でのパケットの振る舞いを求める。図8の例で説明すると、ローマ数字で示したIからXIIのいずれに合致するかを求めるということになる。
さて、図2、図3に示したスイッチの動作にあるスイッチSWのヘッダ空間をみると、アクション数は4であり、分割された領域数は7である。ここで、分割領域数とは、同じアクションに対応づけられた領域でも、分断されている場合には別々に数えたときの領域数である。たとえば、領域Iは2つの分割領域に分けられているので2つと数える。
ネットワーク全体の振る舞いを表すヘッダ空間では、振る舞い数は12、分割領域数は17と多くなっている。ネットワーク全体でのパケットの振る舞いは、各スイッチでのアクションの「組合せ」によって定義されるため、ヘッダ空間がより複雑に細分化されることになる。なお、一般に(単一スイッチでのアクションでも、ネットワーク全体での振る舞いでも)、「分割領域数≧振る舞いによる領域数」となる。
ヘッダ空間の表現方法についての説明をもう少し続ける。本発明に関連するパケット分類手法では、図2、図4、図6の表のように、フィールド範囲の組合せによってパケットの合致条件を指定する。一般には、5つのフィールド(IP送受信アドレス、TCP/UDP送受信ポート、プロトコル種)が用いられ、5−tupleなどと呼ばれる。ヘッダ空間において、フィールド範囲の組合せによって指定される領域は「矩形(より一般にはhypercube)」となる。フィールド数が2つであれば長方形であり(図3、図5、図7のように)、3つなら直方体になる。以降、フィールド範囲の組合せによって条件が指定されたルールのことを「矩形ルール」と呼ぶことにする。
図8の領域Iは2つの分割領域からなり、下側の分割領域は「凹」型をしている。この凹を「重なりのない」矩形の組合せで表現するには、3つの矩形が必要になる(図10のI2、I3、I4)。一般に、「重なりのない矩形ルール数≧分割領域数」となる。図8のヘッダ空間を重なりのない矩形ルールで表すと、図10のようになる。分割領域数17より多い、23の矩形が必要であることがわかる。
単一スイッチでのアクションを扱う関連技術では、図2、図4、図6の表のように矩形ルールリストによる表現が一般的であった。しかし、ネットワーク全体での振る舞いを矩形ルールとして表現する方法は知られていない。関連技術を評価するためには矩形ルールで表現しなければならない。後述のBDD(binary decision diagram)を用いると、「重なりのない」矩形の組合せを得ることができる。以降の関連技術評価では、図10のように重なりのない矩形ルールを用いる。
ネットワーク全体でのパケットの振る舞いを対象とするパケット分類技術は、我々以前には存在しない。このため、単一スイッチでのアクションを対象とする既存パケット分類手法(非特許文献1参照)と、まったく別の分野である「ネットワーク設定検証技術」をパケット分類に流用する方法(非特許文献2参照)について議論する。
非特許文献1のパケット分類手法は、各スイッチのアクションによってパケットを分類するための手法である。非特許文献1の発明は、矩形ルールのリストを入力とし、そのヘッダ空間を表すデータ構造を出力する。構築されるデータ構造は、矩形ルールを葉ノード(終端ノード)とする決定木であり(図11)、根から葉へとパケットヘッダの値に従って辿っていくことでアクション(あるいは振る舞い)を求める。
図11を用いて決定木の構築方法を説明する。まず、根ノードは全ヘッダ空間を表すとし、すべての矩形ルールを持たせておく。図11の例では、23の矩形ルール({I,I,・・・,XII})が根ノードに対応づけられている。次に、ヘッダ空間を分割し、それぞれについて子ノードを作成し、矩形ルールを割り当てる。
図10、図11の例では、領域1に沿って[0,3]、[4,5]、[6,7]の3つに分割した(図10のBの破線に沿って分割し、図11のように3つの子ノードを作る)。このようにして、ノードあたりの矩形ルール数が指定された値以下になるまで(図10及び図11では2個以下)、再帰的に子ノードを作成する。図10では、Bの破線に沿って分割した後、Bの破線に沿って分割し、最後にBの破線に沿って分割する。このようにして作られる決定木の大きさ(空間計算量)は、矩形ルール数に依存する。
非特許文献2の手法は、複雑に分割されたヘッダ空間を圧縮してコンパクトに表現する手法を述べている。この手法では、各領域をBDDと呼ばれる圧縮データ構造で表現する。たとえば、領域IのためにBDD Iを構築し、領域IIのためにBDD IIを構築し、という具合である。
図8、図9の例にはIからXIIまで12の領域があるため、12のBDDが構築されることになる。BDD Iを使うと、あるパケットが領域Iに合致するかどうか(振る舞いIをとるかどうか)を知ることができる。パケットの振る舞いを求めるには、最悪の場合、BDD IからXIまで11個のBDDを検査することになる(BDD XIが外れた場合XIIに合致することは自明なので、11個だけ検査すればよいということ)。パケットの振る舞いを求めるための時間計算量は、振る舞いの数|P|に依存する。
W. Li and X. Li, "HybridCuts: A scheme combining decomposition and cutting for packet classification," in IEEE HOTI, 2013, pp. 41〜48. H. Yang and S. Lam, "Real−time verification of network properties using atomic predicates," in IEEE ICNP, 2013, pp. 1〜11. P. Kazemian, G. Varghese, and N. McKeown, "Header space analysis : Static checking for networks," in USENIX NSDI, 2012, p. 9. A. Srinivasan, T. Kam, S. Malik and R. Brayton, "Algorithms for discrete function manipulation," in IEEE ICCAD, 1990, pp. 92〜95
非特許文献1のパケット分類手法では、ネットワーク全体でのパケットの振る舞いを扱おうとすると、ヘッダ空間が複雑に分割されるため、膨大な数の矩形ルール(重なりのない矩形ルール)が必要になる。Stanford大学の公開ネットワークデータ(非特許文献3)で試算したところ、6.52億の矩形ルールが必要ということがわかった。しかし、非特許文献1の空間計算量は矩形によるルール数に依存するため、膨大なメモリが必要となり、16GBでも足りなかった。
非特許文献2のヘッダ空間を圧縮してコンパクトに表現する手法では、振る舞いの数は矩形ほど多くはならないが、それでもStanford大学のデータ(非特許文献3)を用いた場合で|P|=1093である。非特許文献2の手法を用いてパケットを分類すると、その速度は5.78Kpps(packet/sec)しか出なかった。10Gbpsのリンクを流れるパケットを分類するには、大雑把に10Mppsほどの性能が求められるため、大幅に足りない。
そこで、本発明は、計算に用いるメモリ量を減らせるとともに、高速にパケット転送経路の検索及びパケットの転送経路ごとの分類が可能なデータを用いて、パケット経路の設定を高速に行うことを目的とする。
上記目的を達成するために、本願発明のパケット転送経路設定回路及びパケット転送経路設定方法は、圧縮データ構造であり高速検索可能な多分岐決定木を構築し、構築した多分岐決定木を用いてパケット転送経路の設定を行う。
具体的には、本願発明のパケット転送経路設定回路は、パケットの経路を特定するためのヘッダ空間に記載されたビット列を二分岐決定木に変換し、前記二分岐決定木の各終端ノードに割り当てられている前記パケットの経路毎に、前記経路が共通する二分岐決定木の終端ノードに到達しうる二分岐決定木を生成する二分岐決定木生成部と、前記経路の異なる各二分岐決定木のうちのビット列の共通する非終端ノードを共有させ、根ノードから各終端ノードへの多分岐決定木を構築する多分岐決定木構築部と、受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、前記多分岐決定木構築部で構築した前記多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定するパケット転送経路設定部と、を備える。
本願発明に係るパケット転送経路設定回路は、二分岐決定木生成部及び多分岐決定木構築部を備え、圧縮データ構造であり高速検索可能な多分岐決定木を構築するため、計算に用いるメモリ量を減らすことができる。また、本願発明に係るパケット転送経路設定回路は、パケット転送経路設定部を備え、多分岐決定木構築部が構築した多分岐決定木を用いてパケット経路の設定を行うため、高速にパケット転送経路の検索及びパケット転送経路の設定を行うことができる。したがって、本発明に係るパケット転送経路設定回路は、計算に用いるメモリ量を減らせるとともに、高速にパケット転送経路の検索及びパケットの転送経路ごとの分類が可能なデータを用いて、パケット経路の設定を高速に行うことができる。
本願発明のパケット転送経路設定回路は、前記多分岐決定木構築部で構築した前記多分岐決定木の根ノードから終端ノードの経路方向に隣接する複数の非終端ノードを1つの非終端ノードに集約するビット集約部を、さらに備え、前記パケット転送経路設定部は、受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、前記ビット集約部で構築した前記多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定してもよい。
本願発明のパケット転送スイッチは、パケットを受信するパケット受信部と、前記パケット受信部の受信したパケットのヘッダ空間にビット列に従って当該パケットの経路を設定する本発明に係るパケット転送経路設定回路と、前記パケット転送経路設定回路の設定した経路に基づいて、当該パケットを転送するパケット転送部と、を備える。
具体的には、本願発明のパケット転送経路設定方法は、パケットの経路を特定するためのヘッダ空間に記載されたビット列を二分岐決定木に変換し、前記二分岐決定木の各終端ノードに割り当てられている前記パケットの経路毎に、前記経路が共通する二分岐決定木の終端ノードに到達しうる二分岐決定木を生成し、前記経路の異なる各二分岐決定木のうちのビット列の共通する非終端ノードを共有させ、根ノードから各終端ノードへの多分岐決定木を構築する多分岐決定木構築手順と、受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、多分岐決定木構築手順で構築した前記多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定するパケット転送経路設定手順と、を順に有する。
本願発明に係るパケット転送経路設定方法は、多分岐決定木構築手順を有し、圧縮データ構造であり高速検索可能な多分岐決定木を構築するため、計算に用いるメモリ量を減らすことができる。また、本願発明に係るパケット転送経路設定方法は、パケット転送経路設定手順を有し、多分岐決定木構築手順で構築した多分岐決定木を用いてパケット経路の設定を行うため、高速にパケット転送経路の検索及びパケット転送経路の設定を行うことができる。したがって、本発明に係る転送経路設定方法は、計算に用いるメモリ量を減らせるとともに、高速にパケット転送経路の検索及びパケットの転送経路ごとの分類が可能なデータを用いて、パケット経路の設定を高速に行うことができる。
本願発明のパケット転送経路設定方法は、前記多分岐決定木構築手順で構築した前記多分岐決定木の根ノードから終端ノードの経路方向に隣接する複数の非終端ノードを1つの非終端ノードに集約し、前記パケット転送経路設定手順において、受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、前記多分岐決定木構築手順で集約した前記多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定してもよい。
本願発明のパケット転送方法は、パケット転送経路設定方法を用いて、受信したパケットのヘッダ空間にビット列に従って当該パケットの経路を設定するパケット転送経路設定手順と、パケット転送経路設定手順で設定した経路に基づいて、当該パケットを転送するパケット転送手順と、を順に有してもよい。
本願発明のパケット転送経路設定プログラムは、コンピュータを、二分岐決定木生成部、多分岐決定木構築部及びパケット転送経路設定部又は二分岐決定木生成部、多分岐決定木構築部、パケット転送経路設定部及びビット集約部をとして機能させるためのプログラムである。
なお、上記各発明は、可能な限り組み合わせることができる。
本発明によれば、本発明は、計算に用いるメモリ量を減らせるとともに、高速にパケット転送経路の検索及びパケットの転送経路ごとの分類が可能なデータを用いて、パケット経路の設定を高速に行うことが可能なパケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法を提供することができる。
本発明に関連するネットワークの一例の模式図を示す。 本発明に関連するネットワークでのスイッチ動作の一例を示す。 本発明に関連するネットワークでのスイッチ動作の一例を矩形ルールで示す。 本発明に関連するネットワークでのスイッチ動作の一例を示す。 本発明に関連するネットワークでのスイッチ動作の一例を矩形ルールで示す。 本発明に関連するネットワークでのスイッチ動作の一例を示す。 本発明に関連するネットワークでのスイッチ動作の一例を矩形ルールで示す。 本発明に関連するネットワークでのネットワーク全体のパケットの振る舞いの一例を矩形ルールで示す。 本発明に関連するネットワークでのネットワーク全体のパケットの振る舞いの一例を示す。 本発明に関連するネットワークでのネットワーク全体のパケットの振る舞いの一例を矩形ルールで示す。 本発明に関連するパケット分類手法で用いる矩形ルールを葉ノード(終端ノード)とする決定木の一例を示す。 本発明の実施形態に係るBDD構造の一例を示す。 本発明の実施形態に係るMDD構造の一例を示す。 本発明の実施形態に係るパケット転送スイッチの一例を示す。 本発明の実施形態に係るパケット転送経路設定回路の一例を示す。 本発明の実施形態に係るBDD集合を、ひとつのMDDに変換するフローチャートの一例を示す。 本発明の実施形態に係るBDDをMDDに置換した場合の一例を示す。 本発明の実施形態に係る各振る舞いを示すMDDを1つのMDDに纏めた場合の一例を示す。 本発明の実施形態に係る各振る舞いを示すMDDを1つのMDDにまとめる場合のアルゴリズムの一例を示す。 本発明の実施形態に係る各振る舞いを示すMDDを1つのMDDにまとめる場合のアルゴリズムの他の例を示す。 本発明の実施形態に係るMDDにおいてビット集約を行う場合のアルゴリズムの一例を示す。 本発明の実施形態に係るMDDにおいてMDD更新を行う場合のアルゴリズムの一例を示す。 本発明の実施形態に係るMDDにおいてMDDを辿り、与えられたパケットヘッダに対応する振る舞いを検索する場合のアルゴリズムの一例を示す。 本発明の実施形態に係るMDDにおいて、6ビットのパケットヘッダを2ビットごとの配列で扱う場合の一例を示す。 本発明の実施形態を適用してネットワーク全体でのパケットヘッダ生成を行った場合の結果の一例を示す。 本発明の実施形態を適用してネットワーク全体でのパケットヘッダ生成を行った際のメモリ使用量と分類スループットの特性の一例を示す。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
(BDD及びMDDについて)
図12及び図13を用いてBDDとMDD(multi−valued decision diagram)という圧縮データ構造を説明する。ここで、BDDとは二分岐決定木であり、MDDとは多分岐決定木である。後述する二分岐決定木生成部121は、パケットヘッダのビット列から、図12のBDDを生成する。図12は、図8の領域Iを表すBDDである。BDD中の非終端ノードN〜Nに書かれた数値は、パケットヘッダのビット番号を表す(ビット番号は0から数えることにする)。そのビットが0であれば点線を、1であれば実線を辿る。
最終的に終端ノードNEに到達した場合、そのビットパターンが領域Iに合致する。一方、終端ノードNEに到達した場合、そのビットパターンは領域Iに合致しない。たとえば、図12の太線で示したパス(path)は01011*というビットパターンを表し、領域Iの振る舞いに合致する。領域I内の5番目ビットの*はワイルドカードを表す。ビットがワイルドカードである場合、そのビットの値は任意である。この場合、対応するBDDノードは省略される。そのため、図12には、終端ノードNEに実線で繋がるBノードは省略されている。このように上のノードから下のノードへのパスによって、ヘッダのビットパターンを表す。なお、BDD上のパスは、ヘッダ空間における矩形に対応する。すべてのパスを辿ることで、重なりのない矩形ルールを列挙できる。
BDDは、共通する「部分パス」を共有することで、「圧縮」を行うため、後述する二分岐決定木生成部121は、膨大な数の矩形をコンパクトに表現できる。たとえば、図12の太線で示した01011*というパスと、01111*というパスは、01という先頭部分と1*という末尾部分を共有している。このBDDには14のパスがあるが、たった9つの非終端ノードN〜Nで表現できている。
すでに述べたように、BDDは振る舞いごとに構築される。図12にはひとつのBDDしか示さないが、図8のヘッダ空間を表すためには12個のBDDが構築されることになる。図13は、図8のヘッダ空間全体を表すMDDである。図13のMDDは、後述する多分岐決定木構築部122が、二分岐決定木生成部121で生成したBDDから構築する。
MDDでは、BDDと異なり、終端ノードの種類は任意であり、今回はパケットの振る舞いに対応づける。図8には12種類の振る舞いがあったので、終端ノードはNTからNTXIIの12種類である。このMDDでは、K=2個の連続するビットをひとつにまとめている。このため、各ノードには2つのビット番号が記され、2ビットで表現できる0−3の矢印が出ている。図13の太線で示したパスは010111というビットパターンを表し、振る舞いIに従い終端ノードNTに到達している。BDDと同様に、MDDも部分パスを共有して、圧縮を行う。BDDやMDDの「サイズ」は、非終端ノードの数と定義する。
本実施形態に係るパケット転送方法では、パケット転送経路設定手順と、パケット転送手順と、を順に有する。パケット転送経路設定手順では、スイッチSW、SW、SWのそれぞれが本実施形態に係るパケット転送経路設定方法を用いて、受信したパケットのヘッダ空間にビット列に従って当該パケットの経路を設定する。本実施形態に係るパケット転送経路設定方法では、スイッチSW、SW、SWが多分岐決定木構築手順と、パケット転送経路設定手順とを順に実行する。パケット転送手順では、スイッチSW、SW、SWがパケット転送経路設定手順で設定した転送経路に基づいて当該パケットを転送する。
(非特許文献1との差異)
非特許文献1のパケット分類手法では、部分パス共有のない決定木を用いるのに対し、本実施形態では、多分岐決定木構築手順おいて、MDDを用いて部分パスを共有することで圧縮を行う。よって、非特許文献1の決定木より、本実施形態に係るMDDのほうが小さくなると期待できる(任意のデータでそうなるわけではないが、非特許文献3による現実的なデータで実験的に確認している。なお、BDD/MDDの圧縮率を数学的に記述することは難しいとされている)。そして、非特許文献1ではメモリに収まらなかったような複雑なヘッダ空間であっても、本実施形態に係るパケット分類方法を用いればメモリに収まる可能性がある。
Stanfordデータ(非特許文献3)による実験では、非特許文献1が16GBのメモリでも不足して決定木を構築できなかったのに対し、本実施形態では、多分岐決定木構築手順におけるMDDは8.42MBと極めて小さい。
非特許文献1の決定木の終端ノードは矩形ルールであり(図11)、本実施形態に係る多分岐決定木構築手順におけるMDDの終端ノードは振る舞いである(図13)。また、上で述べたように「重なりのない矩形ルール数≧分割領域数」かつ「分割領域数≧振る舞いの数」である(Stanfordデータ(非特許文献3)では、矩形ルール数が6.52億だったのに対し、本実施形態の多分岐決定木構築手順における振る舞いは1093とずっと少なかった)。このため、本実施形態は終端ノード数が少なくなり、末尾の部分パスが一致して共有できる可能性が高くなる。一方、非特許文献1は終端ノードが多く、末尾の部分パスが一致する可能性は極めて低くなる。よって、非特許文献1の決定木を圧縮しようとしても、効果は期待できない。また、決定木を作ってから圧縮するというアプローチは、そもそもメモリ不足で決定木を構築できないわけだから、うまくいかない。
本実施形態は、矩形ルールではなく振る舞いを終端ノードとして用いることで、部分パスを共有できるようにする。また、決定木を作ってから圧縮するのではなく、BDDやMDDのような圧縮データ構造を圧縮したまま変換していくアルゴリズムを新たに開発することで、メモリ不足問題を解決した。
(非特許文献2との差異)
本発明に関連するヘッダ空間を圧縮してコンパクトに表現する手法(非特許文献2参照)では、振る舞いごとにBDDを構築し、それらをひとつずつ上から下に辿ってパケットの振る舞いを求めた。これに対し、本願発明はひとつのMDDを辿るだけでよい。よって、非特許文献2に比べて、より短時間でパケットの振る舞いを求められると期待でき、より高い分類性能を実現できる可能性がある。
Stanfordデータ(非特許文献3)による実験では、非特許文献2が5.78Kppsであったのに対し、本願発明は20.1Mppsであった(KiloとMegaの違いに注意)。
BDDの集合をひとつのMDDに変換するアルゴリズムは明らかに自明ではない。
図14に、本実施形態に係るパケット転送スイッチ10を示す。本実施形態のパケット転送スイッチ10は、パケット受信部11と、パケット転送経路設定回路12と、パケット転送部13とを備える。パケット受信部11は、パケットを受信する。パケット転送経路設定回路12は、本実施形態に係るパケット転送経路設定方法を実行し、パケット受信部11の受信したパケットのヘッダ空間にビット列に従って当該パケットの経路を設定する。パケット転送部13は、パケット転送手順を実行し、パケット受信部11の受信したパケットの経路をパケット転送経路設定回路12の設定した経路として、当該パケットを転送する。
図15に本実施形態に係るパケット転送経路設定回路12の一例を示す。本実施形態に係るパケット転送経路設定回路12は、二分岐決定木生成部121と、多分岐決定木構築部122と、ビット集約部123と、パケット転送経路設定部124とを備える。二分岐決定木生成部121と、多分岐決定木構築部122と、ビット集約部123が、多分岐決定木構築手順を実行する。パケット転送経路設定部124がパケット転送経路設定手順を実行する。
パケット転送経路設定回路12は、コンピュータを、二分岐決定木生成部121、多分岐決定木構築部122、ビット集約部123、パケット転送経路設定部124として機能させることで実現してもよい。この場合、パケット転送経路設定回路12のCPU(Central Processing Unit)が記憶部(不図示)に記憶されたコンピュータプログラムを実行することで、各構成を実現する。
二分岐決定木生成部121は、パケットの経路を特定するためのヘッダ空間に記載されたビット列を二分岐決定木に変換し、二分岐決定木の各終端ノードに割り当てられているパケットの経路毎に、経路が共通する二分岐決定木の終端ノードに到達しうる二分岐決定木を生成する。ビット列から二分岐決定木への変換は、例えば、非特許文献2のアルゴリズム3などによって、パケット受信部11が受信するパケットの各振る舞いに対応するBDDを構築することで行う。具体的には、本実施形態に係る二分岐決定木生成部121は、パケットの経路を特定するためのヘッダ空間に記載されたビット列をBDDに変換し、BDDの各終端ノードに割り当てられているパケットの経路毎に、経路が共通するBDDの終端ノードに到達しうるBDDを生成する。
このBDD集合が本実施形態の多分岐決定木構築部122の入力になる。多分岐決定木構築部122は、BDD集合を、ひとつのMDDに変換する。以降、BDDをMDDに変換する手法を述べ、最後にMDDを辿るアルゴリズムを述べる。変換手法については、図16に示すフローチャートに従って説明する。
(MDD初期構築(construction))
まず、MDDの初期構築(construction)を説明する。本実施形態に係る多分岐決定木構築部122は、根ノードから各終端ノードへのMDDを構築する。パケットヘッダのビット数をLとし、Lビットのヘッダ空間をχ={0,1}と表す(図2〜図7はL=3+3である)。あるヘッダを表すビットパターンをx∈χとする。
振る舞いの集合をP={I,II,・・・}とし、ヘッダxが領域i∈Pに合致するか否かを表す論理関数をf(x)とする。
Figure 2016012781
であれば合致し、
Figure 2016012781
であれば合致しない。この論理関数fをBDDで表す。たとえば、ヘッダx=010111は図12の太線のパスに対応し、
Figure 2016012781
となることで領域Iに合致することを表す。
図12のように、すべての振る舞いf,∀∈PがBDDで表現されているとする。多分岐決定木構築部122は、このBDD fを、根ノードから各終端ノードへの全ての経路で、関数としての意味を変えずにMDD Fに単純変換して、根ノードから各終端ノードへのMDDを構築する(図17)。ここで、F(x)はヘッダxを領域iに対応づける関数とし、F(x)=iであればヘッダxは領域iに合致し、F(x)=nilであれば合致しない(nilは未定義の振る舞いを表すとする)。この変換操作は、図12のBDDの終端ノード
Figure 2016012781
を図17のようにI、nilに置き換えればよい。
(MDD統合(unification))
次に、多分岐決定木構築部122は、各振る舞いを表すMDDをのうち、ビット列の共通する非終端ノードを共有させることでひとつにまとめ(unification)、図18のMDDを得る。ふたつのMDD Fi,Fjが与えられたとき、ヘッダxの振る舞いが、F,Fのいずれかで定義されていれば(nilでなければ)、その振る舞いに対応づければよい。このような
Figure 2016012781
演算を統合演算と呼ぶことにし、次の式(1−1)のように定義する。
Figure 2016012781
ここで、非特許文献4が提案するCASEというアルゴリズムフレームワークを用いる。CASEは、ふたつのMDDに対して任意の「演算」を実行し、計算結果として新たなMDDを出力する。CASEを用いて式(1−1)を計算するアルゴリズムを、図19のアルゴリズム1に示す。
アルゴリズム1について説明する。アルゴリズム1では、FiとFjの両方が終端ノードの場合には、式(1−1)に従って、F(x)とF(x)の統合を求め、F(x)とF(x)の統合を出力する。FiとFjの両方が終端ノードでない場合には、x’が0から2−1の範囲で、Fの子ノードF.child[x’]とFの子ノードF.child[x’]の統合を計算してF.child[x’]とする。計算終了後、Fを出力する。なお、アルゴリズム1において、「/*」及び「*/」に挟まれた部分はコメントである。
すべての振る舞いに対してこの統合演算を行うことで、ヘッダ空間全体χをいずれかの振る舞いに対応づけられる。そのような関数をFとする。関数Fを以下の式(1−2)のように定義する。
Figure 2016012781
各振る舞いを表すMDD Fに対して繰り返し統合演算を適用していくことで、図17のようなMDDの集合を、図18に示すひとつのMDDにまとめられる。このMDDは関数Fを表す。この演算は結合的でありかつ数学的に可換であるため、任意の順序で計算できる。たとえば、図20に示したような順序でMDDをふたつずつ選んで演算を行い、最終的にFを表すひとつのMDDを得ることもできる。なお、図20に示した順序とは、この図をトーナメント表だと思うと、まず1回戦を行い、
Figure 2016012781
次に2回戦
Figure 2016012781
3回戦、と繰り返し、決勝戦を終えるとFが決まる。ここで、MDD Fのサイズを||F||と表記し、非終端ノード数と定義する。
図20の下部に、各振る舞いに対応づけられたMDD Fのサイズ||F||を示してある。このように、小さいMDDから順に演算を行うことで、全体の計算量を最少化できる(証明は非特許文献2のTheorem 1でなされている)。なお、CASEの計算量は、MDDサイズに依存するが、MDDに含まれるパス数(矩形数)には依存しない。
(ビット集約(aggregation))
本実施形態に係るパケット転送経路設定回路12はビット集約部123を備えることが好ましい。ここまで、BDDやMDDの各ノードは、ひとつのビットに対応づけられていた(図17、図18のように)。ここで、本実施形態に係るビット集約部123は、多分岐決定木構築部122で構築した多分岐決定木の根ノードから終端ノードの経路方向に隣接する複数のビットに対応づけて集約する。例えば、各終端ノードを複数のビットに対応付けて集約し、図18のMDDを図13のMDDに変換する。このことにより、根ノードから終端ノードのパスを短くし、パケットヘッダに対応する振る舞いを短時間で突き止められるようになる。
このビット集約操作を、図21のアルゴリズム2によって行う。このアルゴリズムは、MDDのroot node Fが与えられると(ここではFは関数ではなく、MDDのroot nodeとする)、Kビット分だけ先にある2個の子ノードを見つけ、それらを新たな子ノードとして設定する。
この計算を再帰的に行い、MDD全体を再構築する。このアルゴリズムを同じノードに対して繰り返し行わないように、計算済みノードはキャッシュしておく。たとえば、図18のroot nodeについて説明する。K=2ビット先の子ノードとは、太線の丸で示したノードである(ビット番号2のノードが省略されているときは、その次のノードとする)。これらを新たな子ノードとして設定する(図18の太線の丸で示した4つのノードである)。さらにそれぞれの子ノードについてアルゴリズム2を再帰的に適用する。
アルゴリズム2について説明する。アルゴリズム2では、Fが終端ノードでない場合又はFがキャッシュ内にない場合には、x’が0から2−1の範囲で、再帰的にビット集約を行い、その結果をキャッシュにF(K)を出力する。
このようにして再構築したMDDをF(K)と表すことにする。アルゴリズム2の計算量は、MDDサイズに依存するが、MDDに含まれるパス数(矩形数)には依存しない。なお、本実施形態では、ビット集約を行うか否かは任意であり、例えば、MDDの規模が小さな場合にはビット集約を行わなくてもよい。
(MDD更新(update))
上記のようにして構築した図18のようなMDD FあるいはF(K)を、新たな振る舞いを表すMDD F′で更新する。新たな振る舞いが定義されたヘッダ空間、X′={x∈χ:F′(x)≠nil}、では、新たな振る舞いを適用し、それ以外は元のままとする。このとき、CASEを用いて下記の演算を適用すればよい。
Figure 2016012781
CASEを用いて式(2)を計算するアルゴリズムを、図22のアルゴリズム3に示す。F′の取得方法を説明する。まず、fからFを得た方法と同じように、f′から変換してF′を得る。F(K)がK>1であれば、図21のアルゴリズム2を適用して、F′のKをF(K)に揃える。
アルゴリズム3について説明する。アルゴリズム3では、F’とFの両方が終端ノードの場合には、式(1−1)に従って、
Figure 2016012781
を求めて出力する。F’とFの両方が終端ノードでない場合には、x’が0から2−1の範囲で、
Figure 2016012781
を計算し、計算後のF’’を出力する。
(MDD検索)
パケット転送経路設定部124は、パケット受信部11の受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、多分岐決定木構築部122又はビット集約部123の構築したMDDを検索して辿りついた終端ノードに割当てられている経路に設定する。例えば、MDD F(K)を辿り、与えられたパケットヘッダxに対応する振る舞いを検索する(図23に示すアルゴリズム4)。このアルゴリズム4では、入力となるヘッダのビット列を、Kビットごとに区切った「配列」パケットヘッダpktとみなす。図24に、6ビットのパケットヘッダをK=2ビットごとの配列で扱う例を示す。パケットヘッダpkt[0]とすると0、1番目の2ビット(01)を得られ、パケットヘッダpkt[1]で2、3番目の2ビット(01)を得られる。一般には、パケットヘッダpkt[i]は[Ki,K(i+1)−1]の範囲のビット列を表す。
F.bは、MDD node Fに対応づけられたビットのうち、もっとも小さい値を表す。たとえば、図13のMDD のroot nodeは0、1番目のビットに対応づけられているので、F.b=0となる。アルゴリズム4は、配列アクセスだけによって高速に子ノードを辿り、終端ノードに到達してパケットの振る舞いを得る。
アルゴリズム4について説明する。アルゴリズム4では、F(k)が終端ノードでない期間、x’=パケットヘッダpkt[F(k).b/K]及びF(k)=F(k).Child[x’]を計算することにより経路探索を行い、検索結果F(k)を出力する。
図24のパケットヘッダを用いて、図13のMDD F(K)を辿る例を説明する。まず、root nodeはF(K).b=0であるから、パケットヘッダpkt[0/K]=1となり、F(K).child[1]によってF(K)を更新する。
この更新操作は、図13の赤いパスをひとつ進むことに相当する。次のノードではF(K).b=2であり、パケットヘッダpkt[2/K]=1を得て、F(K).child[1]でパスをまたひとつ進む。最後は、F(K).b=4、パケットヘッダpkt[4/K]=3となり、F(K).child[3]=Iであり、振る舞いIを得る。アルゴリズム4の計算量は、MDDのパス長に依存するが、MDDに含まれるパス数(矩形数)には依存しない。
本実施形態に係るパケット転送経路設定部124は受信したパケットの経路を、MDD F(K)を検索することにより辿りついた終端ノードに割り当てられている経路に設定する。ここで、パケット転送経路設定部124が用いるMDD F(K)は、多分岐決定木構築部122で構築したMDD F(K)又は多分岐決定木構築部122で構築した後、ビット集約部123でビット集約したMDD F(K)である。パケット転送部13は、パケット転送経路設定回路124の設定した経路に基づいて、パケット受信部11が受信したパケットを転送する。
なお、本実施形態に係るパケット転送経路設定回路12は、コンピュータ及びプログラムによっても実現でき、プログラムを記憶媒体に記憶することも、ネットワークを通じて提供することも可能である。また、パケット転送経路設定回路12を実現する際のコンピュータ及びプログラムは、コンピュータによって制御される任意の機器をさらに備えてもよい。
図25に実験結果を示す。提案手法は、非特許文献1の空間計算量の課題を解決した。また、非特許文献2の分類スループットが低いという課題も解決した。また、図26に、K=2、4、8での実験結果を示す。Kの値以外の実験条件は、図25に示した実験と同じである。図26の実験結果から、実験的に、K∈[2,8]がメモリ使用量と分類スループットの観点から優れることがわかった。
ヘッダ空間を矩形ルールリストとして表現することなく、圧縮データ構造を利用したアルゴリズムによってパケット分類手法のためのデータ構造を構築する。このときの計算量は矩形ルール数でなく、圧縮データ構造の大きさ(MDDサイズ)にしか依存しない。我々の圧縮データ構造は、矩形ルールリストを用いた決定木に比べてずっと小さくなる。また、この圧縮データ構造上で動作する高速な検索アルゴリズムによって、パケットを高速に分類できる。
また、本願発明は、パケットの振る舞いに対応するヘッダ空間(パケットヘッダが表す論理空間)の領域毎に構築し、共通する部分パスを共有することで圧縮し、当該領域に合致するかを判定するBDD (binary decision diagram)の集合から、ヘッダ空間全体を表すデータ構造であって、いずれの振る舞いに合致するかを判定する単一のMDD(multi−valued decision diagram)を作成することで、少ない空間計算量で分類速度を向上することができる。
本発明のパケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法は、通信産業に適用することができる。
10:パケット転送スイッチ
11:パケット受信部
12:パケット転送経路設定回路
13:パケット転送部
121:二分岐決定木生成部
122:多分岐決定木構成部
123:ビット集約部
124:パケット転送経路設定部

Claims (7)

  1. パケットの経路を特定するためのヘッダ空間に記載されたビット列を二分岐決定木に変換し、前記二分岐決定木の各終端ノードに割り当てられている前記パケットの経路毎に、前記経路が共通する二分岐決定木の終端ノードに到達しうる二分岐決定木を生成する二分岐決定木生成部と、
    前記経路の異なる各二分岐決定木のうちのビット列の共通する非終端ノードを共有させ、根ノードから各終端ノードへの多分岐決定木を構築する多分岐決定木構築部と、
    受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、前記多分岐決定木構築部で構築した前記多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定するパケット転送経路設定部と、
    を備えるパケット転送経路設定回路。
  2. 前記多分岐決定木構築部で構築した前記多分岐決定木の根ノードから終端ノードの経路方向に隣接する複数の非終端ノードを1つの非終端ノードに集約するビット集約部を、
    さらに備え、
    前記パケット転送経路設定部は、受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、前記ビット集約部で非終端ノードを集約した前記多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定する、
    請求項1に記載のパケット転送経路設定回路。
  3. パケットを受信するパケット受信部と、
    前記パケット受信部の受信したパケットのヘッダ空間にビット列に従って当該パケットの経路を設定する請求項1又は2に記載のパケット転送経路設定回路と、
    前記パケット転送経路設定回路の設定した経路に基づいて、当該パケットを転送するパケット転送部と、
    を備えるパケット転送スイッチ。
  4. パケットの経路を特定するためのヘッダ空間に記載されたビット列を二分岐決定木に変換し、前記二分岐決定木の各終端ノードに割り当てられている前記パケットの経路毎に、前記経路が共通する二分岐決定木の終端ノードに到達しうる二分岐決定木を生成し、前記経路の異なる各二分岐決定木のうちのビット列の共通する非終端ノードを共有させ、根ノードから各終端ノードへの多分岐決定木を構築する多分岐決定木構築手順と、
    受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、多分岐決定木構築手順で構築した前記多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定するパケット転送経路設定手順と、
    を順に有するパケット転送経路設定方法。
  5. 前記多分岐決定木構築手順において、前記多分岐決定木の根ノードから終端ノードの経路方向に隣接する複数の非終端ノードを1つの非終端ノードに集約し、
    前記パケット転送経路設定手順において、受信したパケットの経路を、当該パケットの前記ヘッダ空間に記載されたビット列に従って、前記多分岐決定木構築手順で非終端ノードを集約した前記多分岐決定木を検索して辿りついた終端ノードに割り当てられている経路に設定する、
    請求項4に記載のパケット転送経路設定方法。
  6. 請求項4又は5に記載のパケット転送経路設定方法を用いて、受信したパケットのヘッダ空間にビット列に従って当該パケットの経路を設定するパケット転送経路設定手順と、
    前記パケット転送経路設定手順で設定した経路に基づいて、当該パケットを転送するパケット転送手順と、
    を順に有するパケット転送方法。
  7. コンピュータを、請求項1に記載の二分岐決定木生成部、多分岐決定木構築部及びパケット転送経路設定部又は請求項2に記載の二分岐決定木生成部、多分岐決定木構築部、パケット転送経路設定部及びビット集約部をとして機能させるためのパケット転送経路設定プログラム。
JP2014132603A 2014-06-27 2014-06-27 パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法 Active JP6143367B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014132603A JP6143367B2 (ja) 2014-06-27 2014-06-27 パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014132603A JP6143367B2 (ja) 2014-06-27 2014-06-27 パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法

Publications (2)

Publication Number Publication Date
JP2016012781A true JP2016012781A (ja) 2016-01-21
JP6143367B2 JP6143367B2 (ja) 2017-06-07

Family

ID=55229259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014132603A Active JP6143367B2 (ja) 2014-06-27 2014-06-27 パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法

Country Status (1)

Country Link
JP (1) JP6143367B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322351A (zh) * 2018-03-05 2018-07-24 北京奇艺世纪科技有限公司 生成拓扑图的方法和装置、故障确定方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005204189A (ja) * 2004-01-19 2005-07-28 Hitachi Communication Technologies Ltd アクセスユーザ管理システム、アクセスユーザ管理装置
JP2012159873A (ja) * 2011-01-28 2012-08-23 Nec Corp パケット分類システム、パケット分類方法、及びパケット分類用プログラム
US20120239328A1 (en) * 2011-03-18 2012-09-20 Fujitsu Limited Waveform analyzer and waveform analysis method
JP2012239048A (ja) * 2011-05-12 2012-12-06 Nec Corp パケット分類器、パケット分類方法、及びパケット分類プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005204189A (ja) * 2004-01-19 2005-07-28 Hitachi Communication Technologies Ltd アクセスユーザ管理システム、アクセスユーザ管理装置
JP2012159873A (ja) * 2011-01-28 2012-08-23 Nec Corp パケット分類システム、パケット分類方法、及びパケット分類用プログラム
US20120239328A1 (en) * 2011-03-18 2012-09-20 Fujitsu Limited Waveform analyzer and waveform analysis method
JP2012239048A (ja) * 2011-05-12 2012-12-06 Nec Corp パケット分類器、パケット分類方法、及びパケット分類プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108322351A (zh) * 2018-03-05 2018-07-24 北京奇艺世纪科技有限公司 生成拓扑图的方法和装置、故障确定方法和装置
CN108322351B (zh) * 2018-03-05 2021-09-10 北京奇艺世纪科技有限公司 生成拓扑图的方法和装置、故障确定方法和装置

Also Published As

Publication number Publication date
JP6143367B2 (ja) 2017-06-07

Similar Documents

Publication Publication Date Title
Pan et al. Int-path: Towards optimal path planning for in-band network-wide telemetry
CN105049359B (zh) 用于分布式路由表查找的分布式路由器的入口计算节点和机器可读介质
CN106470168B (zh) 一种数据传输方法、使用该方法的交换机以及网络控制系统
Zahavi D-Mod-K routing providing non-blocking traffic for shift permutations on real life fat trees
Chiesa et al. PURR: a primitive for reconfigurable fast reroute: hope for the best and program for the worst
Yuan et al. A new routing scheme for Jellyfish and its performance with HPC workloads
Leng et al. A mechanism for reducing flow tables in software defined network
Inoue et al. Rethinking packet classification for global network view of software-defined networking
CN112468401A (zh) 用于类脑处理器的片上网络路由通信方法及片上网络
Chiesa et al. Fast ReRoute on programmable switches
JP6143367B2 (ja) パケット転送経路設定回路、パケット転送スイッチ、パケット転送経路設定方法及びパケット転送方法
JP6085577B2 (ja) 検索木生成・検索装置及び方法及びプログラム
Liu et al. NCoS: A framework for realizing network coding over software-defined network
Kardes et al. Graph based induction of unresponsive routers in internet topologies
Censor-Hillel Distributed subgraph finding: progress and challenges
Otokura et al. Evolutionary core-periphery structure and its application to network function virtualization
JP4951636B2 (ja) ネットワーク設計装置、ネットワーク設計方法、およびプログラム
Kumar et al. Performance analysis of network-on-chip topologies
Foerster et al. On the price of locality in static fast rerouting
JP6438375B2 (ja) 通信システム、通信装置、制御装置、トラフィック観測方法及びプログラム
CN105515984A (zh) 一种多路径多通讯手段路由规划方法
Bogdanski et al. sFtree: a fully connected and deadlock-free switch-to-switch routing algorithm for fat-trees
CN112995032B (zh) 一种基于受限最宽路径的段路由流量工程方法及装置
Foerster et al. Input-dynamic distributed algorithms for communication networks
Yang et al. Scalable forwarding tables for supporting flexible policies in enterprise networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170508

R150 Certificate of patent or registration of utility model

Ref document number: 6143367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150