(57)【特許請求の範囲】
【請求項１】
パケットを予めパケット検索テーブルに設定された複数のエントリのいずれかに対応する転送情報に基づいて転送するデータ転送装置であって、前記転送情報が目的別に登録される複数の登録テーブルと、前記複数の登録テーブル各々のアドレスが登録されるアドレステーブルと、前記複数のエントリのうちの一致したエントリに対応する前記アドレステーブルから前記アドレスを取得しかつそのアドレスに基づいて前記複数の登録テーブル各々の転送情報を取得する検索手段とを有することを特徴とするデータ転送装置。
【請求項２】
前記複数のエントリを複数の種別に分類するようにしたことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記複数のエントリを、システムの初期設定時に固定的に設定される固定エントリと前記システムの運用中に設定・削除されるエントリ及びルーティングプロトコルによって動的に設定・削除されるエントリの少なくとも一方からなる可変エントリとに少なくとも分類するようにしたことを特徴とする請求項２記載のデータ転送装置。
【請求項４】
前記複数のエントリを前記複数の種別に分類した検索エントリを設け、前記検索エントリに対する検索処理を機能毎に分けて独立に行うようにしたことを特徴とする請求項２または請求項３記載のデータ転送装置。
【請求項５】
前記検索手段は、パケットの統計情報の収集に用いられるカウンタのカウントアップのみを行うパケットアカウントとパケットの許容／非許容の判定に用いられるパケットフィルタとＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）転送に関する情報を得るためのＱｏＳ保証フロー検索とに機能分類して独立に行うようにしたことを特徴とする請求項４記載のデータ転送装置。
【請求項６】
前記検索手段の検索結果として得られる転送情報を目的毎に分割するようにしたことを特徴とする請求項２から請求項５のいずれか記載のデータ転送装置。
【請求項７】
前記検索手段は、前記パケットの受信時の検索処理を複数回行うようにしたことを特徴とする請求項１から請求項６のいずれか記載のデータ転送装置。
【請求項８】
前記検索手段は、前記パケットの受信時の検索処理を前記複数のエントリの設定数に応じて行うようにしたことを特徴とする請求項７記載のデータ転送装置。
【請求項９】
前記検索手段の検索結果として得られる転送情報を前記アドレスによる間接参照で共有化するようにしたことを特徴とする請求項１から請求項８のいずれか記載のデータ転送装置。
【請求項１０】
パケットを予めパケット検索テーブルに設定された複数のエントリのいずれかに対応する転送情報に基づいて転送するデータ転送装置の転送情報管理方法であって、前記転送情報を目的別に複数の登録テーブルに登録し、前記複数の登録テーブル各々のアドレスをアドレステーブルに登録することで、前記複数のエントリのうちの一致したエントリに対応する前記アドレステーブルのアドレスに基づいて前記複数の登録テーブル各々の転送情報が得られるように管理することを特徴とする転送情報管理方法。
【請求項１１】
前記複数のエントリを複数の種別に分類して管理するようにしたことを特徴とする請求項１０記載の転送情報管理方法。
【請求項１２】
前記複数のエントリを、システムの初期設定時に固定的に設定される固定エントリと前記システムの運用中に設定・削除されるエントリ及びルーティングプロトコルによって動的に設定・削除されるエントリの少なくとも一方からなる可変エントリとに少なくとも分類するようにしたことを特徴とする請求項１１記載の転送情報管理方法。
【請求項１３】
検索結果として得られる転送情報を目的毎に分割して管理するようにしたことを特徴とする請求項１１または請求項１２記載の転送情報管理方法。
【請求項１４】
検索結果として得られる転送情報を前記アドレスによる間接参照で共有化して管理するようにしたことを特徴とする請求項１０から請求項１３のいずれか記載の転送情報管理方法。
【請求項１５】
パケットを予めパケット検索テーブルに設定された複数のエントリのいずれかに対応する転送情報に基づいて転送するデータ転送装置の転送情報検索方法であって、前記転送情報が目的別に登録される複数の登録テーブル各々のアドレスが登録されるアドレステーブルから前記複数のエントリのうちの一致したエントリに対応するアドレスを取得するステップと、そのアドレスに基づいて前記複数の登録テーブル各々の転送情報を取得するステップとを有することを特徴とする転送情報検索方法。
【請求項１６】
前記複数のエントリを複数の種別に分類するようにしたことを特徴とする請求項１５記載の転送情報検索方法。
【請求項１７】
前記複数のエントリを、システムの初期設定時に固定的に設定される固定エントリと前記システムの運用中に設定・削除されるエントリ及びルーティングプロトコルによって動的に設定・削除されるエントリの少なくとも一方からなる可変エントリとに少なくとも分類するようにしたことを特徴とする請求項１６記載の転送情報検索方法。
【請求項１８】
前記転送情報を取得するステップで得られる転送情報を目的毎に分割するようにしたことを特徴とする請求項１６または請求項１７のいずれか記載の転送情報検索方法。
【請求項１９】
前記エントリに対応するアドレスを取得するステップは、前記パケットの受信時の検索処理を複数回行うようにしたことを特徴とする請求項１５から請求項１８のいずれか記載の転送情報検索方法。
【請求項２０】
前記エントリに対応するアドレスを取得するステップは、前記パケットの受信時の検索処理を前記複数のエントリの設定数に応じて行うようにしたことを特徴とする請求項１９記載の転送情報検索方法。
【請求項２１】
前記転送情報を取得するステップは、機能毎に検索処理を分けて独立に行うようにしたことを特徴とする請求項１９または請求項２０記載の転送情報検索方法。
【請求項２２】
前記複数のエントリを前記複数の種別に分類した検索エントリを設け、前記検索エントリに対する検索処理を機能毎に分けて独立に行うようにしたことを特徴とする請求項２１記載の転送情報検索方法。
【請求項２３】
前記エントリに対応するアドレスを取得するステップは、パケットの統計情報の収集に用いられるカウンタのカウントアップのみを行うパケットアカウントとパケットの許容／非許容の判定に用いられるパケットフィルタとＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）転送に関する情報を得るためのＱｏＳ保証フロー検索とに前記検索処理を機能分類して独立に行うようにしたことを特徴とする請求項２２記載の転送情報検索方法。
【請求項２４】
前記転送情報を取得するステップで得られる転送情報を前記アドレスによる間接参照で共有化するようにしたことを特徴とする請求項１５から請求項２３のいずれか記載の転送情報検索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はパケット転送装置及びそれに用いる転送情報管理方法並びにその転送情報検索方法に関し、特にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケット転送におけるＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）保証に関する。
【０００２】
【従来の技術】
従来、ＩＰパケットの転送においては、ユーザが利用できる通信伝送帯域をネッワークの混雑時に保証しないベストエフォート（ＢＥ：Ｂｅｓｔ  Ｅｆｆｏｒｔ）転送が一般的である。しかしながら、ネッワークの混雑時の通信伝送帯域を保証するＩＰパケットの転送において、伝送遅延、揺らぎ、最低保証速度、ピーク値等をパラメータとして持つＱｏＳを提供する際に、如何にしてそのＱｏＳ保証を行うかが議論されている。
【０００３】
このＱｏＳ技術の要素としては、大きくわけて、パケットの情報を基にパケットのフロー（Ｆｌｏｗ）／クラス（Ｃｌａｓｓ）を識別する「Ｃｌａｓｓｉｆｙ（分類）」、フローの「Ｃｌａｓｓｉｆｙ」によって識別されたパケットのＡｄｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ（受付け制御）を行う「Ｐｏｌｉｃｉｎｇ」、「Ｃｌａｓｓｉｆｙ」によって識別されたパケットをどのように転送するかを決定する「Ｆｏｒｗａｒｄｉｎｇ」の３つに分類することができる。
【０００４】
「Ｃｌａｓｓｉｆｙ」は複数情報（キー）を基にした高速検索であり、「Ｐｏｌｉｃｉｎｇ」は受付け制御の判定要因［強制廃棄、流入レート計測、ＣＣ（Ｃｅｎｔｒａｌ  Ｃｏｎｔｒｏｌ  ｅｑｉｐｍｅｎｔ：中央制御装置）使用率計測等］であり、「Ｆｏｒｗａｄｉｎｇ」はキューイングアルゴリズム、ｌｏａｄ−ｂａｌａｎｃｉｎｇ、高速迂回等である。
【０００５】
上記の「Ｃｌａｓｓｉｆｙ」としてはＩＰパケット転送におけるフロー識別検索方式がある。このフロー識別検索方式では、図１６に示すように、ＣＡＭ（Ｃｏｎｔｅｎｔ−Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ：連想記憶装置）１２という高速検索可能なメモリを使用している。
【０００６】
ＣＡＭ１２には予めヒットさせた検索パターンエントリ（以下、エントリとする）を書込んでおき、ＩＰパケットが到着すると、検索処理回路１１はその検索情報をＣＡＭ１２に入力する。検索処理回路１１はその検索情報によるＣＡＭ１２の検索でヒットしたエントリの登録位置（アドレス情報）を得ると、その登録位置を基にアクション解決メモリ１３のエントリからアクション解決情報を読出し、そのアクション解決情報に基づいてパケットアクションを解決する。
【０００７】
ここで、ＣＡＭ１２への検索キーの登録においては送信元ＩＰアドレス、送信先ＩＰアドレス、ＤＳＰＣ、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等が登録されているので、パケットの検索情報としても送信元ＩＰアドレス、送信先ＩＰアドレス、ＤＳＰＣ、ＴＣＰ／ＵＤＰ等が与えられる。
【０００８】
ハードウェアでは上記の一連の動作によってパケット転送情報の解決を行っている。ここで重要となるのが、上記のＣＡＭ１２への検索キーの登録及びＣＡＭ１２に対する検索処理である。上記の一連の動作ではＣＡＭ１２に対してその制限によって上位エントリから検索していき、最初にヒットしたエントリが採用されるので、エントリの登録順序に大きな意味を持っている。よって、ＣＡＭ１２に対する検索回数が一回であれば、上位エントリに重要な機能のエントリを書く必要がある。
【０００９】
現在のハードウェアではＣＡＭ１２に対する検索処理において機能的に２回の検索（「ＱｏＳフローエントリの検索」及び「ルーティングエントリの検索」）を行っており、検索キーの登録はソフトウェアで行っている。これら２回の検索の違いは「ＱｏＳフローエントリの検索」が複数のキー情報（例えば、送信元ＩＰアドレスや送信先ＩＰアドレス等）で検索するのに対し、「ルーティングエントリの検索」が送信先ＩＰアドレスのみで検索する点にある。
【００１０】
また、これら２回の検索の機能的な違いは「ＱｏＳフローエントリの検索」が一致したパケットのＱｏＳ情報解決を目的とし、「ルーティングエントリの検索」が宛先（出力先）解決を目的としている点にある。
【００１１】
【発明が解決しようとする課題】
上述した従来のＱｏＳ技術では、上記の如く、「Ｃｌａｓｓｉｆｙ」において高速検索を実現するためにＣＡＭを使用し、ＣＡＭに登録するエントリが登録順序に大きな意味を持ち、またエントリの更新の際に如何に効率良く処理が行えるかも重要なポイントとなる。現在のエントリ管理は登録順序の制御も複雑で制限が多く、また効率のよいエントリの更新方法も具体化されていない。
【００１２】
「Ｐｏｌｉｃｉｎｇ」では、現在、強制廃棄（フィルタリング）、流入レートチェック（廃棄、クラス変更）を行っているが、システム状態に合わせた制御［ＣＣ使用率による受付け判定等］は行っていない。システムダウンが深刻な影響を与えるキャリア向けＩＰ−Ｓｗｉｔｃｈを考える場合、このような機能が必要と思われる。
【００１３】
「Ｆｏｒｗａｒｄｉｎｇ」ではＦｏｒｗａｒｄｉｎｇ情報更新処理において複数箇所を更新する必要があり、処理能力に問題がある。また、出力回線決定、その他のアプリケーションに依存するアクション決定方式においては、「Ｃｌａｓｓｉｆｙ」から直接、出力回線、その他のアクションを決定しており、出力回線状態、アプリケーションに柔軟に対応することができる構成となっていない。
【００１４】
また、ＱｏＳ技術といった時に、転送に関することといったイメージがあるが、実際にはＱｏＳ技術によって転送されたパケットの統計情報を収集し、設定されたＱｏＳが保証されているかどうかの正確な情報をユーザが知ることも大切な要素である。
【００１５】
すなわち、エントリに一致したパケットに対して許可（ｐｅｒｍｉｔ）／廃棄（ｄｅｎｙ）の判定を行うパケットフィルタリングにおいては、ＱｏＳ転送エントリ検索と同じ検索であるので、あるエントリを許可としたい場合に、その他のＱｏＳ転送エントリによって設定が非常に複雑になるか、もしくは機能に制限が発生するという第１の問題がある。また、エントリ管理では必ず転送されるパケットの登録を前提としているため、任意のパケットアカウンティング機能を提供することができないという第２の問題がある。
【００１６】
ここで、上記の問題について、図１７を参照して説明する。第１の問題の場合、保守者が送信元ＩＰアドレス「１０．４０．＊．＊」を許可し、送信元ＩＰアドレス「１０．＊．＊．＊」を廃棄したい場合、図１７（ａ）に示すような論理的イメージに設定すれば、その機能を提供することができる。
【００１７】
しかしながら、これに送信元ＩＰアドレス「１０．４０．２２．＊」及び「１０．４２．６８．＊」のパケットにＱｏＳ転送という設定が必要になると、上記のエントリ機能の有効性を保つために、図１７（ｂ）に示すような設定としなければならない。
【００１８】
また、その後に、送信元ＩＰアドレス「１０．＊．＊．＊」の廃棄という設定を削除すると、各エントリの有効性を保つために、図１７（ｃ）に示すようなエントリ登録位置の書換えが発生する。
【００１９】
このようなケースを数万エントリも管理するとなると、管理の複雑さに加え、エントリ書換えの更新時間の増大も招いてしまう。したがって、フィルタ機能の検索とＱｏＳ転送の検索とを同時に行うことは現実的に困難となる。
【００２０】
一方、第２の問題の場合、保守者がトラフィックの観測を行う際に、現在ＣＡＭに登録されているエントリの統計情報しか観測することができない。例えば、現在、図１７（ｄ）に示すようなエントリが登録されている場合、保守者が送信元ＩＰアドレス「１０．４０．＊．＊」の統計情報を知りたいとすると、各エントリに付加されたカウンタの値を合計すれば、送信元ＩＰアドレス「１０．４０．＊．＊」の統計情報を知ることができる。
【００２１】
しかしながら、さらに送信元ＩＰアドレス「１０．４０．２２．４」の統計情報も知りたい場合に、図１７（ｅ）に示すようなエントリを設定すると、そのカウンタ情報だけが知りたいエントリであるのに、本来のエントリの有効性を守るために転送情報も設定しなければならない。
【００２２】
もしも、この状態で２番目のエントリ（送信元ＩＰアドレス「１０．４０．２２．＊」のエントリ）が削除されると、１番目のアカウントを目的としているだけのエントリの転送情報も更新しなければならない。これが数万エントリとなると、上記の第１の問題と同様に、これらの処理を行うことは現実的に非常に困難である。
【００２３】
そこで、本発明の目的は上記の問題点を解消し、エントリ間の競合問題を回避することができ、エントリ管理コストの軽減及びエントリ設定処理の能力向上を図ることができるパケット転送装置及びそれに用いる転送情報管理方法並びにその転送情報検索方法を提供することにある。
【００２４】
【課題を解決するための手段】
本発明によるパケット転送装置は、パケットを予めパケット検索テーブルに設定された複数のエントリのいずれかに対応する転送情報に基づいて転送するデータ転送装置であって、前記転送情報が目的別に登録される複数の登録テーブルと、前記複数の登録テーブル各々のアドレスが登録されるアドレステーブルと、前記複数のエントリのうちの一致したエントリに対応する前記アドレステーブルから前記アドレスを取得しかつそのアドレスに基づいて前記複数の登録テーブル各々の転送情報を取得する検索手段とを備えている。
【００２５】
本発明によるパケット転送情報管理方法は、パケットを予めパケット検索テーブルに設定された複数のエントリのいずれかに対応する転送情報に基づいて転送するデータ転送装置の転送情報管理方法であって、前記転送情報を目的別に複数の登録テーブルに登録し、前記複数の登録テーブル各々のアドレスをアドレステーブルに登録することで、前記複数のエントリのうちの一致したエントリに対応する前記アドレステーブルのアドレスに基づいて前記複数の登録テーブル各々の転送情報が得られるように管理している。
【００２６】
本発明によるパケット転送情報検索方法は、パケットを予めパケット検索テーブルに設定された複数のエントリのいずれかに対応する転送情報に基づいて転送するデータ転送装置の転送情報検索方法であって、前記転送情報が目的別に登録される複数の登録テーブル各々のアドレスが登録されるアドレステーブルから前記複数のエントリのうちの一致したエントリに対応するアドレスを取得するステップと、そのアドレスに基づいて前記複数の登録テーブル各々の転送情報を取得するステップとを備えている。
【００２７】
すなわち、本発明のパケット転送装置は、ＩＰパケット転送においてアプリケーションに柔軟対応したパケット転送を実現するためのパケット転送に使用するテーブル構成とその管理方法、使用方法を提供するものである。
【００２８】
具体的に、本発明のパケット転送のテーブル構成では、入力されたパケットの検索結果として目的別に管理されている転送情報のテーブルのアドレスを取得し、間接的に転送情報を取得する構成をとっている。このような構成をとることによって、情報の共有化によるメモリ削減と、転送情報更新処理の高速化と、アプリケーションに柔軟に対応したパケット転送とが可能となる。
【００２９】
また、本発明のパケット検索テーブルの管理方法及びパケット検索テーブルの使用方法においては、パケット検索テーブルに設定するエントリを複数の種別に分類することと、実際にパケットを受信した時のパケットの検索処理を複数回行うこととによって、今まで抱えていた既存エントリとこれから追加する別機能のエントリとでそのエントリの設定位置によって上位に位置したエントリの機能しか有効にならないという問題を解決するとともに、パケット検索エントリ管理の簡略化が可能となる。
【００３０】
つまり、本発明のパケット転送装置では、受信したパケットを複数の種別に分類した検索エントリを設け、その検索エントリに対する検索処理を機能毎に分けるとともに、検索結果として得られる転送情報を目的毎に分割し、間接参照による転送情報の共有化を図っている。
【００３１】
機能毎に検索処理を独立に行うことによって、エントリ間の競合問題が回避され、保守者のエントリ管理コストの軽減及びエントリ設定処理の際のエントリ間の競合チェックを省略することによる処理能力の向上が可能となる。
【００３２】
また、検索結果として得られる転送情報を目的毎に分割したことによって、アプリケーション変更する際、転送処理決定テーブルの変更においてアプリケーション非依存部（システム共通部）の変更を伴わずに、必要最小限の変更で提供することが可能となる。
【００３３】
さらに、検索結果として得られる転送情報を共有化することによって、転送情報更新の際に１箇所のテーブル更新で対応することが可能となるため、処理能力が向上する。さらにまた、迂回機能と連携して考えれば、ネットワークの信頼性の向上にもつながる。
【００３４】
【発明の実施の形態】
次に、本発明の一実施例について図面を参照して説明する。図１は本発明の一実施例によるパケット転送装置の転送情報検索部の構成を示すブロック図である。図１において、本発明の一実施例によるパケット転送装置の転送情報検索部は検索処理回路１と、パケット検索テーブル２とから構成されている。
【００３５】
パケット検索テーブル２はＣＡＭ（Ｃｏｎｔｅｎｔ−ＡｄｄｒｅｓｓａｂｌｅＭｅｍｏｒｙ：連想記憶装置）２０と、転送情報アドレステーブル２１と、ポリサー情報テーブル２２と、アプリケーション転送情報テーブル２３と、システム内共通転送情報テーブル２４と、出力情報テーブル２５とから構成されている。
【００３６】
検索処理回路１はＩＰパケット入力されると、パケット検索テーブル２にパケット検索情報を送出してパケット検索テーブル２のＣＡＭ２０による検索を行う。ＣＡＭ２０には予めヒットさせた検索パターンエントリ（以下、エントリとする）を書込んでおき、ヒットしたエントリの登録位置（アドレス情報）を転送情報アドレステーブル２１に出力する。転送情報アドレステーブル２１からは転送情報が設定されている各テーブルのアドレス情報が取得され、そのアドレス情報に基づいてポリサー情報テーブル２２、アプリケーション転送情報テーブル２３、システム内共通転送情報テーブル２４、出力情報テーブル２５からそれぞれ転送情報が読出される。
【００３７】
パケット検索テーブル２は各テーブルから読出された転送情報を検索処理回路１に渡し、検索処理回路１はその転送情報を図示せぬパケット転送制御部に出力するので、入力されたＩＰパケットはその転送情報にしたがって転送されることとなる。
【００３８】
図２は本発明の一実施例によるパケット転送装置の転送情報検索処理を示す概念図である。図２において、パケット検索テーブル２のＣＡＭ２０には機能Ａ，Ｂ，Ｃの各エントリが登録されており、それらのエントリのいずれかにヒットすると、ヒットしたエントリに対応する転送情報アドレステーブル２１からアドレス情報を読出す。
【００３９】
このアドレス情報によってポリサー情報テーブル２２、アプリケーション転送情報テーブル２３、システム内共通転送情報テーブル２４からそれぞれアクション情報＃１〜＃３が読出されることとなる。尚、図２においては出力情報テーブル２５の図示を省略してある。
【００４０】
図３は図１のパケット検索テーブル２の構成を示す図である。図３において、パケット検索テーブル２には有効／無効を示すＶ（バリッド）ビットと、対象検索回数と、検索キー情報（ＩＮ−Ｌｉｎｅ、ＳＡ、ＤＡ、ｐｒｏｔｏｃｏｌ等）とが少なくとも登録されている。
【００４１】
図４は図１の転送情報アドレステーブル２１の構成を示す図である。図４において、転送情報アドレステーブル２１には廃棄情報Ａ１、ＣＰＵ行Ａ２、ＶビットＡ３，Ａ５，Ａ１１と、ポリサー情報格納アドレスＡ４と、アプリ転送情報格納アドレスＡ６と、ＳＷ内転送情報格納アドレスＡ７と、受信カウンタＡ８と、平均レート違反カウンタＡ９と、ピークレート違反カウンタＡ１０と、出力方路情報アドレスＡ１２とから少なくともなる転送情報アドレスＡが登録されている。
【００４２】
図５は図１のポリサー情報テーブル２２の構成を示す図である。図５において、ポリサー情報テーブル２２には条件Ｂ１と、ポリサーＩＤ１Ｂ２と、ポリサー結果違反許可／廃棄指示Ｂ３とから少なくともなるポリサー情報Ｂが登録されている。
【００４３】
図６は図１のアプリケーション転送情報テーブル２３の構成を示す図である。図６において、アプリケーション転送情報テーブル２３にはＶビットＣ１と、ポリサー（レート）違反なしアクション（リマークＤＳＣＰ、ｐｕｓｈ  Ｌａｂｅｌ情報等）Ｃ２と、ポリサー（平均レート）違反ありアクション（リマークＤＳＣＰ、ｐｕｓｈ  Ｌａｂｅｌ情報等）Ｃ３と、ポリサー（ピークレート）違反ありアクション（リマークＤＳＣＰ、ｐｕｓｈ  Ｌａｂｅｌ情報等）Ｃ４とから少なくともなるアプリケーション転送情報Ｃが登録されている。
【００４４】
図７は図１のシステム内共通転送情報テーブル２４の構成を示す図である。図７において、システム内共通転送情報テーブル２４には優先度（ＰＲＩＯＲＩＴＹ）と廃棄クラスとからなるレート違反なし、平均レート違反、ピークレート違反のシステム内共通転送情報が登録されている。
【００４５】
図８は図１の出力情報テーブル２５の構成を示す図である。図８において、出力情報テーブル２５にはＶビットＤ１と、出力回線スロットＤ２と、出力回線ポートＤ３と、出力キュー番号Ｄ４とからなる出力情報Ｄが登録されている。
【００４６】
図９は図１のパケット検索テーブル２のＣＡＭ２０の具体的な構成例を示す図であり、図１０は本発明の一実施例によるデータ転送装置の処理動作を示すフローチャートであり、図１１〜図１５は図１の検索処理回路１の処理動作を示すフローチャートである。これら図１〜図１５を参照して本発明の一実施例によるデータ転送装置の処理動作について説明する。
【００４７】
検索処理回路１はＩＰパケットが入力されると（図１０ステップＳ１）、予め設定されたパケット検索テーブル２のＣＡＭ２０で検索を行う（図１０ステップＳ２）。検索処理回路１はパケット検索テーブル２のＣＡＭ２０の検索結果でヒットしたエントリに対応する転送情報アドレステーブル２１から転送情報が設定されている各テーブルの転送情報アドレスＡを取得する（図１０ステップＳ３）。
【００４８】
検索処理回路１は取得したアドレスを基にポリサー情報テーブル２２からポリサー情報Ｂを取得し（図１０ステップＳ４）、アプリケーション転送情報テーブル２３からアプリケーション転送情報Ｃを取得し（図１０ステップＳ５）、システム内共通転送情報テーブル２４からシステム内共通転送情報を取得し（図１０ステップＳ６）、出力情報テーブル２５から出力情報Ｄを取得する（図１０ステップＳ７）（図２参照）。パケット転送制御部はこれらの転送情報にしたがってＩＰパケットを転送する（図１０ステップＳ８）。
【００４９】
次に、図９を参照してパケット検索テーブル２のＣＡＭ２０の管理方法について説明する。パケット検索テーブル２のＣＡＭ２０を管理する場合には、ＣＡＭ２０に設定するエントリをまず固定エントリ３と可変エントリ４とに分ける。
【００５０】
固定エントリ３とは文字通り、システムの初期設定時に固定的に設定されるエントリで、そのエントリ種別は輻輳時にその輻輳レベルに応じてヒットさせる輻輳回避エントリ３１と、検索によっていずれにも一致しなかったパケットをヒットさせるデフォルトエントリ３２とがある。
【００５１】
可変エントリ４とは運用中に保守者によって設定、削除されるエントリや、ルーティングプロトコル等によって動的に設定、削除されるエントリを意味する。可変エントリ４はＧｌｏｂａｌエントリ４０とＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）エントリ（＃１〜＃ｎ）４１−１〜４１−ｎとに分かれるが、その切り分けは検索キー情報に含まれるので、特に意識はしない。
【００５２】
Ｇｌｏｂａｌエントリ４０及びＶＰＮエントリ４１−１〜４１−ｎに共通するエントリ種別としてはアカウント（Ａｃｃｏｕｎｔ）エントリ４０ａ，４１ａ−１〜４１ａ−ｎ、フィルタ（Ｆｉｌｔｅｒ）エントリ４０ｂ，４１ｂ−１〜４１ｂ−ｎ、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）エントリ４０ｃ，４１ｃ−１〜４１ｃ−ｎ、ルーティング（Ｒｏｕｔｉｎｇ）エントリ４０ｄ，４１ｄ−１〜４１ｄ−ｎの４つがある。
【００５３】
続いて、パケット検索テーブル２の使用方法について説明する。パケット検索テーブル２を使用する場合には、上記の方法で予め設定されたパケット検索テーブル２のＣＡＭ２０を１パケット当たり４回の検索処理を検索処理回路１で行う。検索処理回路１における検索論理は各々検索処理共通で最初にヒットしたエントリが採用される。尚、検索処理回路１による検索処理回数はエントリの設定数に応じて可変となる。つまり、エントリの設定数の増減に応じて検索処理回数も増減されることになる。
【００５４】
検索処理回路１は１回目の検索として可変エントリ４のアカウントエントリ４０ａ，４１ａ−１〜４１ａ−ｎを検索対象とする検索を行い（図１１ステップＳ１１）、２回目の検索として固定エントリ３の輻輳回避エントリ３１と可変エントリ４のフィルタエントリ４０ｂ，４１ｂ−１〜４１ｂ−ｎとを検索対象とする検索を行う（図１１ステップＳ１２）。
【００５５】
また、検索処理回路１は３回目の検索として可変エントリ４のＱｏＳエントリ４０ｃ，４１ｃ−１〜４１ｃ−ｎを検索対象とする検索を行い（図１１ステップＳ１３）、４回目の検索として固定エントリ３のデフォルトエントリ３２と可変エントリ４のルーティングエントリ４０ｄ，４１ｄ−１〜４１ｄ−ｎとを検索対象とする検索を行う（図１１ステップＳ１４）。
【００５６】
検索処理回路１による検索をさらに詳しく説明する。検索処理回路１は受信したＩＰパケットに対して、１回目の検索で統計情報を収集するためにアカウントエントリ４０ａ，４１ａ−１〜４１ａ−ｎに対する検索を行う（図１２ステップＳ２１）。アカウントエントリ４０ａ，４１ａ−１〜４１ａ−ｎはユーザが意識的に統計情報を収集することを目的としたエントリであるので、ヒット時の処理はカウンタのカウントアップだけとなる（図１２ステップＳ２２，Ｓ２３）。
【００５７】
アカウントエントリ４０ａ，４１ａ−１〜４１ａ−ｎの設定がされていなければミスヒットとなり（図１２ステップＳ２２）、２回目の検索に処理が移る。この場合の留意点としては、パケット数カウント処理に関しては４回の検索すべての検索処理で行っているということである。では何故、１回目にパケット収集だけの検索処理を行うかというと、２回目以降の検索処理はパケットの受付け制御や特別な転送処理を目的しており、パケット数カウントはそれに付随して行われる。
【００５８】
つまり、ユーザが転送処理に依存しないパケット数を収集したい時、通常のパケット転送決定検索と同じ検索処理でパケット収集用のエントリにヒットした場合、そのパケットはどのように転送されるかが不明なパケットとして処理しなければならないからである。
【００５９】
検索処理回路１は２回目の検索処理で輻輳回避エントリ３１の検索とフィルタエントリ４０ｂ，４１ｂ−１〜４１ｂ−ｎの検索とを同時に行う（図１３ステップＳ３１）。この２回目の検索では上記の検索結果を基にＡｄｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ（受付け制御）で受信したパケットを転送すべきか、廃棄すべきかを決定する（図１３ステップＳ３２）。
【００６０】
輻輳回避エントリ３１とフィルタエントリ４０ｂ，４１ｂ−１〜４１ｂ−ｎとの優先度は輻輳回避エントリ３１のほうが高く、エリア的には上から輻輳回避エントリ３１、フィルタエントリ４０ｂ，４１ｂ−１〜４１ｂ−ｎの順で設定される。また、通常（非輻輳）時は輻輳回避エントリ３１が設定されているものの、「無効」とされていて検索対象から外され、フィルタエントリ４０ｂ，４１ｂ−１〜４１ｂ−ｎのみの検索となる。輻輳時には輻輳レベルに対応したエントリが「有効」と設定され、輻輳回避エントリ３１も検索対象になる。
【００６１】
この検索結果として廃棄となった場合（図１３ステップＳ３３）、３回目以降の検索は無効となり、廃棄される（図１３ステップＳ３５）。また、転送許可となった場合には（図１３ステップＳ３３）、３回目以降の検索結果にしたがってパケットが転送される。この場合、エントリにヒットしたパケットは自動的にパケット数がカウントされる（図１３ステップＳ３４）。
【００６２】
検索処理回路１は３回目の検索でＱｏＳエントリ４０ｃ，４１ｃ−１〜４１ｃ−ｎの検索を行い（図１４ステップＳ４１〜Ｓ４３）、ＢＥ（Ｂｅｓｔ  Ｅｆｆｏｔ）転送より優先されるパケットの転送情報を取得する（図１４ステップＳ４２，Ｓ４３）。
【００６３】
転送情報には上述したポリサー情報Ｂ、アプリケーション転送情報Ｃ、システム内共通転送情報、出力情報Ｄがあり、転送情報が未設定（無効）の場合、４回目のルーティングエントリ４０ｄ，４１ｄ−１〜４１ｄ−ｎの検索で決定される転送情報が採用される。
【００６４】
検索処理回路１は４回目の検索でルーティングエントリ４０ｄ，４１ｄ−１〜４１ｄ−ｎの検索を行い（図１５ステップＳ５１）、ＢＥ転送パケットの転送情報を取得する（図１５ステップＳ５２）。
【００６５】
この場合、転送情報としては３回目のＱｏＳエントリ４０ｃ，４１ｃ−１〜４１ｃ−ｎの検索と同じ情報が得られるが、３回目で取得した情報が優先される。転送情報設定はこの検索が転送動作において最終決定となるので、ポリサー情報Ｂ以外は必須となる。尚、可変エントリ４のアカウントエントリ４０ａ，４１ａ−１〜４１ａ−ｎ、フィルタエントリ４０ｂ，４１ｂ−１〜４１ｂ−ｎ、ＱｏＳエントリ４０ｃ，４１ｃ−１〜４１ｃ−ｎ、ルーティングエントリ４０ｄ，４１ｄ−１〜４１ｄ−ｎの検索の際に、ＶＰＮエントリ４１−１〜４１−ｎについては検索キー情報に付加されたＶＰＮエントリ４１−１〜４１−ｎのいずれかを特定する情報に基づいてＶＰＮエントリ４１−１〜４１−ｎが特定されて行われる。
【００６６】
このように、受信したパケットを複数の種別に分類した検索エントリを設け、機能毎に検索処理を分けて独立に行うことによって、エントリ間の競合問題を回避することができ、保守者のエントリ管理コストの軽減及びエントリ設定処理の際にエントリ間の競合チェックを省略することによる処理能力の向上を図ることができる。
【００６７】
上記の検索処理を機能毎に分ける場合、前提条件として「機能の抽出」がされていなければならない。これはシステムの実装によって異なってくるので、本実施例では大きく「パケットアカウント」、「パケットフィルタ」、「ＱｏＳ保証フロー検索」と機能分類している。
【００６８】
パケットアカウントではその検索結果としての情報が存在せず、カウンタのカウントアップのみとなる。パケットフィルタではその検索結果として許容／非許容が判定され、非許容の場合には強制廃棄となる。ＱｏＳ保証フロー検索ではその検索結果として対象ポリシング解決、転送優先度、廃棄優先度等のＱｏＳ転送に関する情報が得られる。
【００６９】
上記の検索処理では機能毎に独立の検索を行っており、その検索順序は基本的に問わない。また、これらの検索を独立に行うことで、検索結果も全て各々独立に取得することができる。この複数の機能から得られた検索結果には同時に成立しない情報があり、それは予め情報に優先度をつけておくことによって解決する。上記の例ではパケットフィルタで非許容という検索結果を取得し、「ＱｏＳ保証フロー検索」で転送優先度等の情報を取得した場合、該当フローは「非許容」と判断されるので、転送優先度等の結果は無視される。
【００７０】
一方、エントリ競合とはある機能のエントリＡが別機能のエントリＢの内容（具体的には検索キーの内容）と関連があり、１回の検索では必ず１つのエントリにしかヒットしないため、どちらかのエントリにはヒットせず、その機能が無効となることを指す。エントリＡとエントリＢとがまったく独立であれば、パケットが到着して検索をかけても、両方に一致するようなことはないので、このエントリ競合の問題は生じない。
【００７１】
しかしながら、エントリＡとエントリＢとに関連（どちらかが一方を包含している等）がある場合、到着したパケットはＡ，Ｂ両方のエントリに一致する可能性がある。この場合、１回の検索ではどちらか一方にしかヒットしないので、もう一方のエントリとその検索結果とは無効となってしまう。
【００７２】
これに対して、機能毎の検索結果を得る場合には、エントリＡとエントリＢとの関連に依存せずに、両方のエントリにヒットさせることで解決することができる。すなわち、１回の検索では１エントリのヒットであるので、それを機能毎に検索を行えば、その機能毎の該当エントリにヒットし、機能毎の検索結果が得られるので、上記のようなエントリ間の競合問題は解決される。
【００７３】
また、検索結果として得られる転送情報を目的毎に分割することによって、アプリケーション変更する際、転送処理決定テーブルの変更においてアプリケーション非依存部（システム共通部）の変更を伴わずに、必要最小限の変更で提供することができる。
【００７４】
さらに、検索結果として得られる転送情報を間接参照で共有化することによって、転送情報更新の際に１箇所のテーブル更新で対応することができるため、処理能力を向上させることができる。また、迂回機能と連携して考えれば、ネットワークの信頼性の向上にもつながる。
【００７５】
この場合、検索結果として得られる情報の中の「出力回線番号」に着目すると、回線障害等によって回線番号＃１の回線が使用できなくなった場合、アドレス参照によって回線情報の共有化を行っていれば、その回線情報の共有テーブルだけを更新することによって、その回線情報を参照している全てのエントリが回線障害を知ることができる。
【００７６】
これに対して、情報を共有せずに検索結果から直接「出力回線番号」を取得する方式の場合、回線番号＃１を使用している該当エントリ全てに対して検索結果の更新処理を行う必要がある。この共有化する情報の選別はシステムの実装依存であるので、ここで一概に決定することは困難であるが、少なくとも上記の「出力回線番号」等は共有化することによって、メモリの削減、検索結果の更新処理能力の向上につながる。
【００７７】
尚、本実施例ではＩＰパケットに関する転送について述べたが、検索キーにレイヤ２情報、ＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）ラベル情報等を設定すれば、ＩＰパケット以外のパケットの転送にも適用可能となる。ＭＰＬＳでＶＰＮを提供する場合には、Ｓｅｃｏｎｄ  Ｌａｂｅｌも検索キーに含めて検索を行う必要がある。
【００７８】
【発明の効果】
以上説明したように本発明によれば、パケットを予めパケット検索テーブルに設定された複数のエントリのいずれかに対応する転送情報に基づいて転送するデータ転送装置において、転送情報が目的別に登録される複数の登録テーブルと、それら複数の登録テーブル各々のアドレスが登録されるアドレステーブルとを設け、複数のエントリのうちの一致したエントリに対応するアドレステーブルから取得したアドレスに基づいて複数の登録テーブル各々の転送情報を取得することによって、エントリ間の競合問題を回避することができ、エントリ管理コストの軽減及びエントリ設定処理の能力向上を図ることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例によるパケット転送装置の転送情報検索部の構成を示すブロック図である。
【図２】本発明の一実施例によるパケット転送装置の転送情報検索処理を示す概念図である。
【図３】図１のパケット検索テーブルの構成を示す図である。
【図４】図１の転送情報アドレステーブルの構成を示す図である。
【図５】図１のポリサー情報テーブルの構成を示す図である。
【図６】図１のアプリケーション転送情報テーブルの構成を示す図である。
【図７】図１のシステム内共通転送情報テーブルの構成を示す図である。
【図８】図１の出力情報テーブルの構成を示す図である。
【図９】図１のパケット検索テーブルのＣＡＭの具体的な構成例を示す図である。
【図１０】本発明の一実施例によるデータ転送装置の処理動作を示すフローチャートである。
【図１１】図１の検索処理回路の処理動作を示すフローチャートである。
【図１２】図１の検索処理回路の処理動作を示すフローチャートである。
【図１３】図１の検索処理回路の処理動作を示すフローチャートである。
【図１４】図１の検索処理回路の処理動作を示すフローチャートである。
【図１５】図１の検索処理回路の処理動作を示すフローチャートである。
【図１６】従来例によるパケット転送装置の転送情報検索部の構成を示すブロック図である。
【図１７】（ａ）〜（ｅ）は従来例によるパケット転送装置の転送情報検索の問題点を示す図である。
【符号の説明】
１  検索処理回路
２  パケット検索テーブル
３  固定エントリ
４  可変エントリ
２０  ＣＡＭ
２１  転送情報アドレステーブル
２２  ポリサー情報テーブル
２３  アプリケーション転送情報テーブル
２４  システム内共通転送情報テーブル
２５  出力情報テーブル
３１  輻輳回避エントリ
３２  デフォルトエントリ
４０  Ｇｌｏｂａｌエントリ
４１−１〜４１−ｎ  ＶＰＮエントリ（＃１〜＃ｎ）
４０ａ，
４１ａ−１〜４１ａ−ｎ  アカウントエントリ
４０ｂ，
４１ｂ−１〜４１ｂ−ｎ  フィルタエントリ
４０ｃ，
４１ｃ−１〜４１ｃ−ｎ  ＱｏＳエントリ
４０ｄ，
４１ｄ−１〜４１ｄ−ｎ  ルーティングエントリ
【図１】
0003601445.tif 000002
【図２】
0003601445.tif 000003
【図３】
0003601445.tif 000004
【図４】
0003601445.tif 000005
【図５】
0003601445.tif 000006
【図６】
0003601445.tif 000007
【図７】
0003601445.tif 000008
【図８】
0003601445.tif 000009
【図９】
0003601445.tif 000010
【図１０】
0003601445.tif 000011
【図１１】
0003601445.tif 000012
【図１２】
0003601445.tif 000013
【図１３】
0003601445.tif 000014
【図１４】
0003601445.tif 000015
【図１５】
0003601445.tif 000016
【図１６】
0003601445.tif 000017
【図１７】
0003601445.tif 000018