(57)【特許請求の範囲】
【請求項１】
受信されたデータグラムの宛先アドレスを用いて転送制御ルールを検索する第１の検索手段と、
前記データグラムの非宛先アドレス情報を用いて転送制御ルールを検索する第２の検索手段と、
前記第１、第２の検索手段のそれぞれから検索結果を入力し、すべての前記検索手段の検索結果に含まれる前記転送制御ルールを判別する決定手段と、
この決定手段が判別した前記転送制御ルールにしたがって転送制御を実行する実行手段と、
を備えることを特徴とするデータグラム転送装置。
【請求項２】
同一の前記転送制御ルールが複数個エントリされる場合に、いずれかのエントリとして当該転送制御ルールが格納され且つ他のエントリとして当該転送制御ルールの格納位置情報が格納されることを特徴とする請求項１に記載のデータグラム転送装置。
【請求項３】
前記格納位置情報がビットマップ形式の情報であることを特徴とする請求項２に記載のデータグラム転送装置。
【請求項４】
前記第１の検索手段と前記第２の検索手段とが、並行して前記検索を行うことを特徴とする請求項１または２に記載のデータグラム転送装置。
【請求項５】
前記第１の検索手段で得られた前記転送制御ルールが転送経路情報のみであるときに、前記第２の検索手段による検索が中止されることを特徴とする請求項４に記載のデータグラム転送装置。
【請求項６】
少なくとも１個以上の前記第２の検索手段が、前記非宛先アドレス情報として、プロトコルの第３レイヤよりも上位のレイヤに属する情報を使用することを特徴とする請求項１〜５のいずれかに記載のデータグラム転送装置。
【請求項７】
少なくとも１個以上の前記第２の検索手段が、前記非宛先アドレス情報として、プロトコルの第２レイヤに属する情報を使用することを特徴とする請求項１〜６のいずれかに記載のデータグラム転送装置。
【請求項８】
前記決定手段が、前記第１、第２の検索手段から検索結果としての前記転送制御ルールを入力するたびに、既に入力された前記検索結果のすべてに含まれる前記転送制御ルールと新しく入力された前記転送制御ルールとを比較して、これらに共通して含まれる前記転送制御ルールを判別することを特徴とする請求項１〜７のいずれかに記載のデータグラム転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、通信ネットワーク内でデータグラムを中継するデータグラム転送装置に関する。
【０００２】
【従来の技術】
ＬＡＮ(Local Area Network)やインターネットなどの通信ネットワークでは、データグラム転送装置によってデータグラムの中継が行われる。データグラム転送装置としては、例えば、ルータやスイッチなどが知られている。
【０００３】
データグラム転送装置に関する技術としては、例えば、以下の文献に開示されたものが知られている。
【０００４】
文献１；特開2000-188608号公報
文献２；特開2000-32056号公報
文献３；特開2000-32003号公報
文献１に示されているように、データグラム転送装置では、プロトコルの第３レイヤの情報である宛先アドレスを用いて、転送先が判断される（上記文献１参照）。
【０００５】
また、宛先アドレスから転送先を決定する技術としては、例えば、二分木検索法と称される経路検索アルゴリズムが使用されている（上記文献１参照）。二分木検索法とは、１個の入力と２個の出力（ポインタ）とを有するノードを多数個つなぎ合わせてなる木構造のマップを用いて経路を検索する方法である。この方法では、対象となるビットの１／０に応じてノードをたどることにより、目的の経路エントリがマップされたノードにたどり着くことができる。
【０００６】
さらに、文献１には、二分木のＰ段分を１個の２P 分木にまとめることによって、二分木検索法による経路検索を高速化する技術（以下「２P 検索」と記す）が開示されている。この技術によれば、Ｐ段分の検索を１回の処理で行うことができるので、検索に要する時間をＰ分の１にすることができる。
【０００７】
【発明が解決しようとする課題】
近年、単にデータグラムを転送するだけでなく、転送するデータグラムの通信品質等を制御するデータグラム転送装置が登場している（上記文献２、３参照）。このようなデータグラム転送装置では、プロトコルの第３レイヤの情報を用いて転送先の経路が検索されることに加えて、第４〜第７レイヤの情報を用いて好適な通信条件が検索される。
【０００８】
加えて、近年では、データグラムの種類（例えばアプリケーションの種類など）に応じて転送の優先順位を決定する機能や、所定条件（例えば発信元アドレスなどの条件）に応じてデータグラムを監視する機能などが、データグラム転送装置に要求されている。これらの機能を実現する場合にも、第４以上のレイヤの情報を用いて処理条件を検索する必要がある。
【０００９】
しかしながら、第３レイヤの情報に基づく経路検索に、他のレイヤ（第４〜第７レイヤ等）の情報に基づく検索をそのまま付加しようとした場合、検索処理のアルゴリズムが非常に複雑になってしまう。このため、上述した二分木検索法のような線形検索では、データグラム転送装置の処理時間が長くなってしまう。
【００１０】
このような理由から、経路検索と他の検索とを高速で実行するデータグラム転送装置が嘱望されていた。
【００１１】
【課題を解決するための手段】
この発明にかかるデータグラム転送装置は、受信されたデータグラムの宛先アドレスを用いて転送制御ルールを検索する第１の検索手段と、データグラムの非宛先アドレス情報を用いて転送制御ルールを検索する第２の検索手段と、第１、第２の検索手段のそれぞれから検索結果を入力し、すべての検索手段の検索結果に含まれる転送制御ルールを判別する決定手段と、この決定手段が判別した転送制御ルールにしたがって転送制御を実行する実行手段とを備える。
【００１２】
かかる構成によれば、宛先アドレスを用いて転送制御ルールを検索する処理と非宛先アドレス情報を用いて転送制御ルールを検索する処理とを個別に行い、すべての検索手段の検索結果に含まれる転送制御ルールにしたがって転送制御を実行することとしたので、検索処理のアルゴリズムを簡単化することができ、この検索処理の高速化が可能となる。
【００１３】
【発明の実施の形態】
以下、この発明の実施の形態について、図面を用いて説明する。なお、図中、各構成成分の大きさ、形状および配置関係は、本発明が理解できる程度に概略的に示してあるにすぎず、また、以下に説明する数値的条件は単なる例示にすぎない。
【００１４】
第１の実施の形態
この発明の第１の実施形態に係るデータグラム転送装置について、図１〜図３を用いて説明する。
【００１５】
図１は、この実施の形態に係るデータグラム転送装置の要部機能構成を概念的に示すブロック図である。
【００１６】
図１に示したように、このデータグラム転送装置は、転送制御ルール検索部１１０と転送制御実行部１２０とを備えている。
【００１７】
転送制御ルール検索部１１０は、ｎ個の検索機能部１１１−１〜１１１−ｎと、決定機能部１１２とを備えている。検索機能部１１１−１〜１１１−ｎは、それぞれ、並行して検索処理を行う。
【００１８】
最初の検索機能部１１１−１は、受信データグラムから宛先アドレスを抽出し、この宛先アドレスに対応する転送制御ルールを特定するための検索を行う。検索処理のアルゴリズムは任意であるが、この実施の形態では上述の２P 検索を使用することとする。検索機能部１１１−１は、２P 検索を行うためのノードの分木構造と、転送制御ルール・チェーンを記憶するメモリ領域とを備えている。ここで、転送制御ルール・チェーンとは、そのノードに対応する転送制御ルールをチェーン化したデータ群であり、ノードごとに作成される。
【００１９】
残りの検索機能部１１１−２〜１１１−ｎは、受信データグラムから宛先アドレス以外の所定の属性情報を抽出し、この属性情報に対応する転送制御ルールを特定するための検索を行う。この属性情報としては、第３レイヤに属する情報または第４以上のレイヤに属する情報が、選択される。この実施の形態では、これらの検索処理のアルゴリズムとしても、２P 検索を使用することとする。検索機能部１１１−２〜１１１−ｎは、ノードの分木構造と、転送制御ルール・チェーンを記憶するメモリ領域とを、各検索機能部毎に備えている。
【００２０】
決定機能部１１２は、各検索機能部１１１−１〜１１１−ｎから検索結果を入力し、これらの検索結果の論理積を求める。すなわち、決定機能部１１２は、検索機能部１１１−１〜１１１−ｎから、検索によって特定された転送制御ルールを入力し、これらの転送制御ルールから、すべての検索結果に含まれる転送制御ルールを選別する。
【００２１】
転送制御実行部１２０は、決定機能部１１２で選別された転送制御ルールに従って、アクション（転送制御）を実行する。このアクションでは、選別された転送制御ルールにしたがって、転送経路の検索・設定および転送、転送の拒否、優先順位の決定、データグラムの監視などが行われる。
【００２２】
なお、この実施の形態では、この論理積演算によって得られた転送制御ルールの実行によって目的の転送制御が行えるように、各転送制御ルールが作成される。例えば、宛先アドレスがＡであり且つ発信元アドレスがＢである電子メールの転送を拒否するという転送制御を行いたい場合には、検索機能部１１１−１を、宛先アドレスＡを入力したときの検索結果が「転送拒否」を示す転送制御ルールになるように構成し、検索機能部１１１−２を、発信元アドレスＢを入力したときの検索結果が「転送拒否」を示す転送制御ルールになるように構成し、且つ、検索機能部１１１−３を、データ種別が電子メールであるときの検索結果が「転送拒否」を示す転送制御ルールになるように構成すればよい。
【００２３】
次に、図１に示したデータグラム転送装置の動作原理について、図２および図３を用いて説明する。
【００２４】
図２は、検索機能部の初段のノード構成の一例を示す概念図である。
【００２５】
上述のように、各検索機能部１１１−１〜１１１−ｎは、受信データグラムから、その検索機能部で使用する属性情報（宛先アドレスまたは非宛先アドレス情報）を取得する。そして、ノード２０１−１〜２０１−４の中から、かかる属性情報の上位ｍビット（ここでは２ビットとする）の値に対応するノードを選択する。すなわち、上位２ビットが「００」の場合、「０１」の場合、「１０」の場合、「１１」の場合で、異なるノードが選択される。図２に示したように、これらのノード２０１−１〜２０１−４には、それぞれ、対応する子ノード（すなわち次段のノード）へ移動するためのポインタと、対応する転送制御ルール・チェーンのポインタとが格納されている。ここで、ポインタとは、対象となる子ノードや転送制御ルール・チェーンを特定するための情報、例えばアドレス、インデックスなどである。各ノードには、子ノードのポインタが、０個〜２m 個格納されている（ここではｍ＝２）。これらの子ノードのポインタは、属性情報の次のｍビットの値に応じて選択される。次のｍビットの値に対応する子ノードが存在しない場合、検索機能部は、転送制御ルール・チェーンのポインタによって、転送制御ルール・チェーンを特定する。
【００２６】
図３は、属性情報の上位２ビットの値と転送制御ルールとの対応関係の一例を示す表である。図３の例では、上位２ビット「１＊」（＊は０または１のどちらでもよいことを示す）には転送制御ルール１が対応し、上位２ビット「１１」には転送制御ルール２が対応し、上位２ビット「０＊」には転送制御ルール３が対応する。
【００２７】
したがって、図２に示したように、上位２ビット「００」のノード２０１−１に対応する転送制御ルール・チェーンには転送制御ルール３のみが格納され、上位２ビット「０１」のノード２０１−２に対応する転送制御ルール・チェーンには転送制御ルール３のみが格納され、上位２ビット「１０」のノード２０１−３に対応する転送制御ルール・チェーンには転送制御ルール１のみが格納され、且つ、上位２ビット「１１」のノード２０１−４に対応する転送制御ルール・チェーンには転送制御ルール１および転送制御ルール２が格納される。
【００２８】
これらのノードに対応する子ノードも、それぞれ、図２と同様の構成を備えている。以下同様にして、複数段のノードが、各検索機能部１１１−１〜１１１−ｎ内に構成される。但し、各分木の最終段のノードは、それぞれ、子ノードのポインタを備えておらず、転送制御ルール・チェーンのポインタのみを備える。
【００２９】
検索機能部は、通過する各ノードにおいて、対応する子ノードがある場合は、かかる子ノードへ移動し、対応する子ノードがない場合は、転送制御ルールを特定する。この検索方法では、属性情報と一致するビットの数が最も多いノード、すなわちマスク長が最も長いノードの転送制御ルールが選択されることになる。一般に、このような検索方法は、最長一致検索と称される。
【００３０】
このようにして、各検索機能部１１１−１〜１１１−ｎは、それぞれ、１個または複数個の転送制御ルールを検索する。検索結果は、決定機能部１１２に送られる。そして、上述のように、いずれかの転送制御ルール（複数であってもよい）が決定機能部１１２によって選別され、さらに、選別された転送制御ルールに従って転送制御実行部１２０がアクションを実行する。
【００３１】
以上説明したように、この実施の形態に係るデータグラム転送装置によれば、複数種類の属性情報に基づく検索処理を個別に実行するので、検索処理アルゴリズムを簡単化することができ、これらの検索処理を並行して実行することも容易になる。したがって、この実施の形態に係るデータグラム転送装置によれば、複数種類の属性情報に基づく転送制御を、高速で実行することができる。
【００３２】
第２の実施の形態
次に、この発明の第２の実施形態に係るデータグラム転送装置について、図４〜図７を用いて説明する。
【００３３】
図４は、この実施の形態に係るデータグラム転送装置の要部機能構成を概念的に示すブロック図である。図４において、図１と同じ符号を付した構成要素は、それぞれ、図１の場合と同じものを示している。
【００３４】
検索機能部４０１−１〜４０１−ｎは、それぞれ、並行して検索処理を行う。検索機能部４０１−１は、受信データグラムから宛先アドレスを抽出し、この宛先アドレスに対応する転送制御ルールを特定するための検索を行う。一方、残りの検索機能部４０１−２〜４０１−ｎは、受信データグラムから宛先アドレス以外の所定の属性情報を抽出し、この属性情報に対応する転送制御ルールを特定するための検索を行う。検索機能部４０１−２〜４０１−ｎの属性情報としては、第３レイヤまたは第４以上のレイヤに属する情報が選択される。第１の実施の形態と同様、検索処理のアルゴリズムとしては、２P 検索が使用されるものとする。
【００３５】
各検索機能部４０１−１〜４０１−ｎは、２P 検索を行うためのノードの分木構造と、検索対象になる転送制御ルールのチェーンとを備えている。この実施の形態に係るデータグラム転送装置は、各ノードが、子ノードのポインタおよび転送制御ルール・チェーンのポインタに加えて、他のノードの転送制御ルール・チェーンを参照するためのビットマップを備えている。
【００３６】
図５は、初段のノード構成を示す概念図である。第１の実施の形態と同様、各検索機能部４０１−１〜４０１−ｎは、受信データグラムから、その検索機能部で使用する属性情報（宛先アドレスまたは非宛先アドレス情報）を取得する。そして、かかる属性情報の上位ｍビット（ここでは４ビットとする）の値に対応するノードを選択する。各検索機能部４０１−１〜４０１−ｎは、それぞれ、初段のノードとして、２m 個（ここでは１６個）のノード５０１−１〜５０１−１６を備えている。図５に示したように、これらのノード５０１−１〜５０１−１６には、それぞれ、対応する子ノードへ移動するためのポインタと、対応する転送制御ルール・チェーンのポインタと、他のノードの転送制御ルール・チェーンを参照するためのビットマップとが格納されている。
【００３７】
図６は、ノード５０１−８のビットマップ構成を説明するための概念図である。なお、他のノード５０１−１〜５０１−７，５０１−９〜５０１−１６のビットマップ構成も同様である。
【００３８】
図６のビットマップにおいて、上段はノードの番号を示しており、下段は当該ノードの転送制御ルール・チェーンを参照するか否かを示している。図６の例では、ノード番号「２」，「１３」，「１５」に対応するビット値は「１」であり、他のノード番号に対応するビット値は「０」である。このことは、ノード５０１−８が、ノード５０１−２，５０１−１３，５０１−１５に対応する転送制御ルール・チェーンを参照し、他のノードに対応する転送制御ルール・チェーンを参照しないことを示している。
【００３９】
これらのノードに対応する子ノードも、それぞれ、図５と同様の構成を備えている。以下同様にして、複数段のノードが、各検索機能部４０１−１〜４０１−ｎ内に構成される。但し、各分木の最終段のノードは、それぞれ、子ノードのポインタを備えておらず、転送制御ルール・チェーンのポインタおよびビットマップのみを備える。
【００４０】
図７は、この実施の形態に係るデータグラム転送装置の動作を説明するためのフローチャートである。
【００４１】
まず、データグラムがネットワークから受信されると、検索機能部４０１−１〜４０１−ｎが、並列的に検索処理を実行する（Ｓ７０１−１，・・・Ｓ７０１−ｎ参照）。この検索処理では、まず、検索機能部４０１−１〜４０１−ｎは、データグラムから属性情報を読み出し、この属性情報の上位ｍビットの値に応じて、初段のノードのいずれかを選択する。そして、かかるノードにおいて、対応する子ノードがある場合は、かかる子ノードへ移動する。
【００４２】
対応する子ノードが存在しないノードに達すると、検索機能部は、次に、転送制御ルール・チェーンのエントリを取得するための処理を実行する（Ｓ７０２−１，・・・Ｓ７０２−ｎ参照）。この処理では、検索機能部は、まず、当該ノードに格納されたポインタを読み出す。続いて、検索機能部は、ビットマップによって、参照するノードを判断し、参照ノードから、転送制御ルール・チェーンのポインタを読み出す。
【００４３】
次に、検索機能部は、これらのポインタに対応する転送制御ルール・チェーンから、転送制御ルールを順次抽出する（Ｓ７０３−１，・・・Ｓ７０３−ｎ参照）。抽出された各転送制御ルールは、検索結果として、決定機能部１１２（図４参照）に送られる。
【００４４】
続いて、決定機能部１１２が、第１の実施の形態の場合と同様、これらの検索結果の論理積を求める（Ｓ７０４参照）。この論理積演算によって選別された転送制御ルールは、転送制御実行部１２０に送られる。
【００４５】
最後に、転送制御実行部１２０が、決定機能部１１２で選別された転送制御ルールに従って、アクションを実行する（Ｓ７０５参照）。
【００４６】
以上説明したように、この実施の形態に係るデータグラム転送装置では、ビットマップを用いて他のノードの転送制御ルール・チェーンを参照することとした。したがって、各転送制御ルール・チェーンは、そのノードに対応する転送制御ルールをすべて含んでいる必要はなく、他の転送制御ルール・チェーンの参照によっては抽出できない転送制御ルールのみを含んでいればよい。複数の転送制御ルール・チェーンに同一の転送ルールが重複して格納されている場合、その分だけ、データグラム転送装置のメモリ容量が大きくなってしまう。これに対して、この実施の形態では、このような重複格納を減らすことができるので、メモリ容量を小さくすることができる。
【００４７】
加えて、この実施の形態に係るデータグラム転送装置は、第１の実施の形態と同様、複数種類の属性情報に基づく検索処理を個別に実行するので、検索処理アルゴリズムを簡単化することができ、且つ、これらの検索処理を並行して実行することにより転送制御を高速で実行することができる。
【００４８】
上述の第１、第２の実施の形態では、単に宛先アドレスによる転送のみを行いたい場合でも、他の属性情報による検索処理を実行して論理和演算を行うように、転送制御ルール検索部１１０を構成している。しかし、宛先アドレスによる転送のみを行う場合、他の属性情報による検索は不要である。したがって、アクションが転送のみであると判明した場合には、他の属性情報による検索を直ちに中止して転送を実行することとすれば、転送処理をさらに高速化することができる。例えば、検索機能部１１１−１（または４０１−１）から入力した転送制御ルールの内容をチェックし、このルールが転送の実行のみを示すものである場合には、他の検索機能部１１１−２〜１１１−ｎ，４０１−２〜４０１−ｎの検索処理を直ちに停止させ、かかる転送制御ルールを論理和演算の結果として転送制御実行部１２０に送るように、決定機能部１１２を構成すればよい。
【００４９】
また、上述の第１、第２の実施の形態では、検索機能部１１１−２〜１１１−ｎ，４０１−２〜４０１−ｎに、プロトコルの第３レイヤまたはそれよりも高位のレイヤの属性情報を用いた検索を行わせることとした。しかし、現存の通信ネットワークでは、第２レイヤの属性情報を用いた転送処理も、依然として利用されている。これに対して、この発明にかかるデータグラム転送装置は、第２レイヤの属性情報を用いた転送にも使用することが可能である。例えば、第２レイヤが非同期転送モード(ATM;Asynchronous Transfer Mode)のとき、仮想チャネル(VCI) と宛先アドレスとを考慮して転送経路を求める場合が考えられる。このような場合には、いずれかの検索機能部で仮想チャネルの方路情報を取得することとし、他のいずれかの検索機能部で宛先アドレスの方路情報を取得することとして、これらの方路情報が一致した場合には当該方路にデータグラムを転送することとすればよい。ここで、検索機能部に方路情報を取得させるためには、データグラム転送装置内のメモリに、転送制御ルールに代えて、方路情報を格納すればよい。これにより、第２レイヤの情報を用いた転送処理を、高速で実行することができる。
【００５０】
上述の第１、第２の実施の形態では、すべての検索機能部１１１−１〜１１１−ｎ（または４０１−１〜４０１−ｎ）の検索が終了した後で、決定機能部１１２による論理和演算を実行することとした。しかし、決定機能部１１２は、所定数（２個以上）の検索結果が入力された段階で論理和演算を実行し、その後は、検索結果が入力されるたびに、新しい検索結果と前回の論理和演算結果と論理和演算を行うこととしてもよい。このような演算の結果は、すべての検索結果についての論理和演算を行った場合の演算結果と同じになる。新しい検索結果が入力されるたびに論理和演算を行うことにより、すべての検索結果が確定してから論理和演算を行う場合よりも、全体的な処理時間をさらに短縮することができる。
【００５１】
【発明の効果】
以上詳細に説明したように、この発明によれば、経路検索と他の検索とを高速で実行するデータグラム転送装置を提供することができる。
【図面の簡単な説明】
【図１】第１の実施の形態に係るデータグラム転送装置の要部機能構成を示すブロック図である。
【図２】図１に示したデータグラム転送装置のノード構成を説明するための概念図である。
【図３】図１に示したデータグラム転送装置の転送制御ルールを説明するための概念図である。
【図４】第２の実施の形態に係るデータグラム転送装置の要部機能構成を示すブロック図である。
【図５】図４に示したデータグラム転送装置のノード構成を説明するための概念図である。
【図６】図４に示したデータグラム転送装置のビットマップ構成を説明するための概念図である。
【図７】図４に示したデータグラム転送装置の全体動作を説明するためのフローチャートである。
【符号の説明】
１１０  転送制御ルール検索部
１１１−１〜１１１−ｎ，４０１−１〜４０１−ｎ  検索機能部
１１２  決定機能部
１２０  転送制御実行部
２０１−１〜２０１−４，５０１−１〜５０１−１６  ノード
【図１】
0004151217.tif 000002
【図２】
0004151217.tif 000003
【図３】
0004151217.tif 000004
【図４】
0004151217.tif 000005
【図５】
0004151217.tif 000006
【図６】
0004151217.tif 000007
【図７】
0004151217.tif 000008