(57)【要約】連想メモリ（ＣＡＭ）デバイスに対して効率よく検索要求のコマンドを入力できるようにする。パケットが入力されるとネットワークプロセッサ（１）により、検索要求（１０）が生成され連想メモリデバイス（２）に渡される。すると、連想メモリデバイス（２）において、検索要求（１０）の構造が解析され複数の検索条件が生成される。そして、連想メモリデバイス（２）において、検索条件に応じた検索が行われ、検出された検索対象情報に対応するメモリアドレス（２１）がメモリデバイス（３）に出力される。メモリデバイス（３）からは、メモリアドレス（２１）に対応する検索結果候補が、検索結果（２２）としてネットワークプロセッサ（１）に渡される。
2004054186.tif 000002
【特許請求の範囲】
【請求項１】
伝送されるパケットを中継するデータ中継装置において、
前記パケットが入力されると、前記パケット内の複数の要素を検索キーとし、複数の前記検索キーと、前記検索キーそれぞれによる検索の対象範囲を示す複数の適用マスク情報とを含めた検索要求を出力するネットワークプロセッサと、
複数の検索対象情報を記憶しており、前記ネットワークプロセッサから出力された前記検索要求を受け取り、前記検索要求の構造を解析して前記検索キーと前記適用マスク情報とからなる複数の検索条件を生成し、前記検索条件に応じて前記検索対象情報の検索を行い、検出された前記検索対象情報に一意に関連付けられたメモリアドレスを出力する連想メモリデバイスと、
複数の検索結果候補を記憶しており、前記連想メモリデバイスから出力された前記メモリアドレスに対応付けて格納されている前記検索結果候補を検索結果として出力するメモリデバイスと、
を有することを特徴とするデータ中継装置。
【請求項２】
前記メモリデバイスは、前記メモリアドレスに対応するデータ格納領域に格納されている前記検索結果候補を、検索結果として前記ネットワークプロセッサに対して出力することを特徴とする請求の範囲第１項記載のデータ中継装置。
【請求項３】
前記メモリデバイスは、前記メモリアドレスに対応するデータ格納領域に格納されている前記検索結果候補を、検索結果として前記連想メモリデバイスに対して出力することを特徴とする請求の範囲第１項記載のデータ中継装置。
【請求項４】
前記連想メモリデバイスは、出力した前記メモリアドレスに応じて返される前記検索結果をバッファに格納し、前記検索要求に含まれる前記検索キー毎の検索結果を１つに纏めて前記ネットワークプロセッサに対して出力することを特徴とする請求の範囲第３項記載のデータ中継装置。
【請求項５】
前記ネットワークプロセッサが複数設けられており、複数の前記ネットワークプロセッサから出力される前記検索要求は、調停が行われる共通のバスを経由して出力されることを特徴とすることを特徴とする請求の範囲第１項記載のデータ中継装置。
【請求項６】
前記連想メモリデバイスは、前記適用マスク情報で特定される記憶領域を検索対象外として、検索対象となる記憶領域の中から、前記検索キーに合致する前記検索対象情報を検索することを特徴とする請求の範囲第１項記載のデータ中継装置。
【請求項７】
前記連想メモリデバイスは、検索対象外の記憶領域を示す複数のマスク情報を予め記憶しており、前記適用マスク情報において指定された前記マスク情報を適用して前記適用マスク情報に対応する前記検索キーの検索を行うことを特徴とする請求の範囲第６項記載のデータ中継装置。
【請求項８】
前記連想メモリデバイスは、複数の前記検索条件を格納するためのレジスタ群を有しており、前記検索要求を受け取る度に前記検索条件を前記レジスタ群に格納し、先に格納された前記検索条件から順に抽出し、抽出した前記検索条件に応じた検索処理を行うことを特徴とする請求の範囲第１項記載のデータ中継装置。
【請求項９】
前記連想メモリデバイスは、前記検索要求のデータ構造を定義した定義情報を有しており、前記定義情報に従って前記検索要求を解析することを特徴とする請求の範囲第１項記載のデータ中継装置。
【請求項１０】
記憶した検索対象情報の検索機能を有する連想メモリデバイスにおいて、
複数の検索対象情報を記憶するデータ記憶回路と、
複数の検索キーと前記検索キーそれぞれによる検索の対象範囲を示す複数の適用マスク情報とを含めた検索要求が入力されると、前記検索要求の構造を解析して前記検索キーと前記適用マスク情報とからなる複数の検索条件を生成する解析回路と、
前記検索回路で検索された前記検索条件に対応する前記検索対象情報を前記データ記憶回路内から検索し、検出された前記検索対象情報に一意に関連付けられたメモリアドレスを出力する検索回路と、
を有することを特徴とする連想メモリデバイス。
【請求項１１】
複数のレジスタ群を更に有し、
前記解析回路は、前記検索要求を解析することで生成した前記検索条件を、前記レジスタ群に格納し、
前記検索回路は、前記レジスタ群に格納された順に前記検索条件を抽出し、抽出した前記検索条件に応じた検索処理を行うことを特徴とする請求の範囲第１０項記載の連想メモリデバイス。
【請求項１２】
パケットに関連する情報を連想メモリデバイスを利用して検索するための連想メモリデバイス利用情報検索方法において、
ネットワークプロセッサにおいて、入力された前記パケット内の複数の要素を検索キーとし、複数の前記検索キーと、前記検索キーそれぞれによる検索の対象範囲を示す複数の適用マスク情報とを含めた検索要求を出力し、
前記検索要求の構造を解析して前記検索キーと前記適用マスク情報とからなる複数の検索条件を生成し、
前記連想メモリデバイスにおいて予め記憶している複数の検索対象情報から前記検索条件に対応する前記検索対象情報を検索し、前記検索条件に対応する前記検索対象情報に一意に関連付けられたメモリアドレスを出力し、
複数の検索結果候補が格納されたメモリデバイスから、前記メモリアドレスに対応付けて格納されている前記検索結果候補を検索結果として出力する、
ことを特徴とする連想メモリデバイス利用情報検索方法。
【発明の詳細な説明】
【技術分野】  本発明は伝送されるパケットを中継するデータ中継装置、そのデータ中継装置で利用する連想メモリデバイスおよびパケットに関連する情報を連想メモリデバイスを利用して検索するための連想メモリデバイス利用情報検索方法に関し、特に情報検索の効率化を図ったデータ中継装置、連想メモリデバイスおよび連想メモリデバイス利用情報検索方法に関する。
【背景技術】  ネットワークの中継点となるルータまたはスイッチ等の装置（以下、データ中継装置と呼ぶ）では、ネットワーク内を流れるパケットの宛先によるルーティング処理が行われる。この経路選択には、汎用コンピュータでソフトウェア的に実現される場合と、専用のハードウェアによって実現される場合とがある。
一般に、経路選択を高速に行う必要がある場合には、専用のハードウェアによってパケットのルーティングが実現される。専用のハードウェア構成のデータ中継装置内には、ネットワークプロセッサと呼ばれる経路選択専用のプロセッサが実装される。
ネットワークプロセッサは、入力されたパケットのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス等の各種情報を参照して、出力すべき物理ポートを決定する。一般に、ネットワークプロセッサは、その物理ポートに配下にどのようなＩＰアドレスの端末装置が接続されているのかを記憶するメモリを有している。パケットを転送する際には、そのメモリの内容を参照することで、送出先の物理ポートを特定することができる。
このように、経路選択には常にデータ中継装置内でのメモリアクセスが伴う。そのため、経路選択を高速に行うためには、メモリアクセスの効率化が望まれる。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）からメモリへのアクセスの効率化の技術として、たとえば、ＣＰＵとメモリとの間にコマンドアクセス回路（あるいはメモリ制御回路）において、コマンドのバッファリングを行うものがある。たとえば、特開平８−８７４４１号公報、特開２０００−９９３９４号公報参照。
また、特に高速・大容量のルーティングを行う場合、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ／Ａｓｓｏｃｉａｔｉｖｅ  Ｍｅｍｏｒｙ：連想メモリ）デバイスと呼ばれる特別のメモリを用いてルーティングが行われる。ＣＡＭデバイスを用いた経路選択回路は、ネットワークサーチエンジンとも呼ばれる。
ＣＡＭデバイスはＩＰアドレス等の情報を格納しており、ＩＰアドレス等の情報が入力されると、その情報が格納されている記憶領域のメモリアドレスを出力する。なお、ＣＡＭデバイスは、データ中継装置に限らず、各種システムにおけるメモリの高速化に利用されている。特開２０００−２３１７８５号公報（段落「００２３」）参照。
ところで、１つのパケットに対する経路検索において、ネットワークプロセッサにおけるメモリアクセスが複数回行われる場合がある。たとえば、パケットから抽出されるＩＰアドレス（ｓｏｕｒｃｅ  ａｄｄｒｅｓｓ：ＳＡおよびｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ：ＤＡ）とＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などのポート番号（ｓｏｕｒｃｅ  ｐｏｒｔ  ｎｕｍｂｅｒおよびｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ  ｎｕｍｂｅｒ）とで２回検索される場合がある。
以下、複数回のＣＡＭデバイスアクセスを伴う経路探索処理を説明する。
図１７は、複数回のＣＡＭデバイスアクセスを伴う従来の経路探索処理を示す図である。図１７に示すように、データ中継装置には、ネットワークプロセッサ９１１、ＣＡＭデバイス９１２、およびコンテキストＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１３が設けられている。ＣＡＭデバイス９１２の記憶領域には、ＩＰアドレスの記憶領域とポート番号の記憶領域とが設けられている。図１７の例では、１つのパケットを転送する際に、ＩＰアドレスとポート番号とによる２回の検索が行われる。
［ステップＳ１０１］データ中継装置にパケットの情報が入力されると、ネットワークプロセッサ９１１からＣＡＭデバイス９１２へ、検索キー９２１、マスク設定コマンド９２２、および検索コマンド９２３が送られる。検索キー９２１はＩＰアドレスである。マスク設定コマンド９２２は、ＣＡＭデバイス９１２内のＩＰアドレスの記憶領域以外のマスク処理（検索対象外とする）を指定するコマンドである。
ＣＡＭデバイス９１２は、マスク設定コマンド９２２で指定された範囲にマスクをかける。マスクがかけられた範囲は、検索対象から除外される。そして、ＣＡＭデバイス９１２は、検索キー９２１に合致するデータを検索し、そのデータが格納されている領域のメモリアドレスを出力する。出力されたメモリアドレスは、コンテキストＲＡＭ９１３に対して、読み出しのメモリアドレスとして入力される。すると、コンテキストＲＡＭ９１３から、入力されたメモリアドレスに該当する領域からデータ９２４が出力され、ネットワークプロセッサ９１１に入力される。これは、Ｌａｙｅｒ３（ネットワーク層）の検索処理である。
［ステップＳ１０２］次に、ネットワークプロセッサ９１１からＣＡＭデバイス９１２へ、検索キー９３１、マスク設定コマンド９３２、および検索コマンド９３３が送られる。検索キー９３１は、転送するパケットの宛先側のアプリケーションを示すポート番号である。マスク設定コマンド９３２は、ＣＡＭデバイス９１２内のポート番号の記憶領域以外のマスク処理を指定するコマンドである。
ＣＡＭデバイス９１２は、マスク設定コマンド９３２で指定された範囲にマスクをかける。そして、ＣＡＭデバイス９１２は、検索キー９３１に合致するデータを検索し、そのデータが格納されている領域のメモリアドレスを出力する。出力されたメモリアドレスは、コンテキストＲＡＭ９１３に対して、読み出しアドレスとして入力される。すると、コンテキストＲＡＭ９１３から、入力されたメモリアドレスに該当する領域からデータ９３４が出力され、ネットワークプロセッサ９１１に入力される。これは、Ｌａｙｅｒ４（トランスポート層）の検索処理である。
このように二度検索を行うのは、ＱｏＳ（Ｑｕａｌｉｔｙ−ｏｆ−Ｓｅｒｖｉｃｅ）のようなサービスを提供する場合で、Ｌａｙｅｒ３のＩＰアドレス（ＳＡ，ＤＡ）検索だけでなく、Ｌａｙｅｒ４までの情報をもとにフローの識別を行う必要があるからである。
しかし、１つのパケット転送時に複数回のＣＡＭデバイスアクセスが行われる場合、検索の度にマスク設定コマンドや検索コマンドが発行される。このことは、ＣＡＭデバイスへのアクセスが増加しネットワークプロセッサのパフォーマンスを下げる要因となる。そこで、パケットの経路選択等の判断処理の高速化のために、ＣＡＭデバイスへのアクセスの際のコマンド転送の効率化が望まれている。
【発明の開示】
本発明はこのような点に鑑みてなされたものであり、連想メモリ（ＣＡＭ）デバイスに対して効率よく検索要求のコマンドを入力できるデータ中継装置を提供することを目的とする。
また、本発明の他の目的は、検索要求のコマンドの効率の良い入力が可能な連想メモリデバイスを提供することである。
また、本発明の別の目的は、連想メモリデバイスに対して効率よく検索要求のコマンドを入力することができる連想メモリデバイス利用情報検索方法を提供することである。
本発明では上記課題を解決するために、図１に示すようなデータ中継装置が提供される。本発明のデータ中継装置は、伝送されるパケットを中継するためのものであり、ネットワークプロセッサ１、連想メモリデバイス２、およびメモリデバイス３を有している。それぞれの要素は、以下の機能を有している。
ネットワークプロセッサ１は、パケットが入力されると、パケット内の複数の要素を検索キー１１，１２とし、複数の検索キー１１，１２と、検索キー１１，１２それぞれによる検索の対象範囲を示す複数の適用マスク情報１３，１４とを含めた検索要求１０を出力する。連想メモリデバイス２は、複数の検索対象情報を記憶しており、ネットワークプロセッサ１から出力された検索要求１０を受け取り、検索要求１０の構造を解析して検索キー１１，１２と適用マスク情報１３，１４とからなる複数の検索条件を生成し、検索条件に応じて検索対象情報の検索を行い、検出された検索対象情報に一意に関連付けられたメモリアドレス２１を出力する。メモリデバイス３は、複数の検索結果候補を記憶しており、連想メモリデバイス２から出力されたメモリアドレス２１に対応付けて格納されている検索結果候補を検索結果２２として出力する。
このようなデータ中継装置によれば、パケットが入力されるとネットワークプロセッサ１により、検索要求１０が生成され連想メモリデバイス２に渡される。すると、連想メモリデバイス２において、検索要求１０の構造が解析され複数の検索条件が生成される。そして、連想メモリデバイス２において、検索条件に応じた検索が行われ、検出された検索対象情報に対応するメモリアドレス２１がメモリデバイス３に出力される。メモリデバイス３からは、メモリアドレス２１に対応する検索結果候補が、検索結果２２として出力される。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】  図１は、実施の形態に適用される発明の概念図である。
図２は、第１の実施の形態を適用するネットワークシステムの構成例を示す図である。
図３は、データ中継装置の内部構成を示すブロック図である。
図４は、検索要求のデータ構造例を示す図である。
図５は、ＣＡＭデバイスの内部構成を示すブロック図である。
図６は、検索処理の概略を示す図である。
図７は、検索要求解析処理を示す図である。
図８は、ＩＰアドレス検索処理を示す図である。
図９は、ポート番号検索処理を示す図である。
図１０は、第１の実施の形態に係るネットワークプロセッサにおけるサービス内容判定処理を示すシーケンス図である。
図１１は、第２の実施の形態に係るデータ中継装置の構成例を示す図である。
図１２は、第２の実施の形態におけるＣＡＭデバイスの構成を示す図である。
図１３は、第２の実施の形態における検索処理を示す図である。
図１４は、第２の実施の形態に係るネットワークプロセッサにおけるサービス内容判定処理を示すシーケンス図である。
図１５は、第３の実施の形態におけるデータ中継装置の構成例を示す図である。
図１６は、第４の実施の形態におけるデータ中継装置の構成例を示す図である。
図１７は、複数回のＣＡＭデバイスアクセスを伴う従来の経路探索処理を示す図である。
【発明を実施するための最良の形態】  以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。本発明に係るデータ中継装置は、伝送されるパケットを中継するためのものであり、ネットワークプロセッサ１、連想メモリデバイス２、およびメモリデバイス３を有している。それぞれの要素は、以下の機能を有している。
ネットワークプロセッサ１は、パケットが入力されると、パケット内の複数の要素を検索キー１１，１２とし、複数の検索キー１１，１２と、検索キー１１，１２それぞれによる検索の対象範囲を示す複数の適用マスク情報１３，１４とを含めた検索要求１０を出力する。パケット内のどの要素を検索キーとするのかは、ネットワークプロセッサ１内に予め定義されている。
連想メモリデバイス２は、複数の検索対象情報を記憶している。そして、連想メモリデバイス２は、ネットワークプロセッサ１から出力された検索要求１０を受け取り、検索要求１０の構造を解析して検索キー１１，１２と適用マスク情報１３，１４とからなる複数の検索条件を生成する。たとえば、検索キー１１と適用マスク情報１３とを組にして１つの検索条件を生成し、検索キー１２と適用マスク情報１４とを組にして別の検索条件を生成する。生成した検索条件は、所定のレジスタ等に格納する。
その後、連想メモリデバイス２は、生成された検索条件に応じて検索対象情報の検索を行い、検出された検索対象情報に一意に関連付けられたメモリアドレス２１をメモリデバイス３に対して出力する。具体的には、連想メモリデバイス２は、検索条件内の適用マスク情報で示される領域を検索対象外とし、検索対象である領域から、検索キーに合致する検索対象情報を検索する。そして、連想メモリデバイス２は、検出された検索対象情報が格納されている記憶領域のメモリアドレスを、メモリデバイス３に対して出力する。
メモリデバイス３は、複数の検索結果候補を記憶しており、連想メモリデバイス２から出力されたメモリアドレス２１に対応付けて格納されている検索結果候補を検索結果２２としてネットワークプロセッサ１に対して出力する。
このようなデータ中継装置によれば、パケットが入力されるとネットワークプロセッサ１により、検索要求１０が生成され連想メモリデバイス２に渡される。すると、連想メモリデバイス２において、検索要求１０の構造が解析され複数の検索条件が生成される。そして、連想メモリデバイス２において、検索条件に応じた検索が行われ、検出された検索対象情報に対応するメモリアドレス２１がメモリデバイス３に出力される。メモリデバイス３からは、メモリアドレス２１に対応する検索結果候補が、検索結果２２としてネットワークプロセッサ１に出力される。
このように、検索要求内に複数の検索キーと適用マスク情報とを含め、連想メモリデバイス２において検索要求の構造を解析し、複数の検索条件を生成するようにしたため、１つのパケット転送において複数回の検索が必要な場合でも、検索キーや適用マスク情報の受け渡しを１回で済ませることができる。これにより、検索要求の受け渡しが効率よく行われ、検索の効率化が図れる。
以下、本発明の実施の形態について具体的に説明する。
［第１の実施の形態］
図２は、第１の実施の形態を適用するネットワークシステムの構成例を示す図である。データ中継装置１００は、複数の物理ポート１０１〜１０８を有している。物理ポート１０１〜１０８には、ネットワークを接続することができる。そして、データ中継装置１００には、ネットワークを介して、複数の端末装置３１１〜３１７や他のデータ中継装置２００が接続される。他のデータ中継装置２００には、同様に端末装置３１８，３１９が接続される。
図３は、データ中継装置の内部構成を示すブロック図である。データ中継装置１００は、ネットワークプロセッサ１１０、ＣＡＭデバイス１２０、およびコンテキストＲＡＭ１３０を有している。ネットワークプロセッサ１１０とＣＡＭデバイス１２０とは、検索データ入力バス１４１で接続されている。ＣＡＭデバイス１２０とコンテキストＲＡＭ１３０とは、コンテキストＲＡＭ１３０へのアドレス入力用のアドレスバス１４２で接続されている。コンテキストＲＡＭ１３０とネットワークプロセッサ１１０は、コンテキストＲＡＭ１３０からのデータ出力用のデータバス１４３で接続されている。ネットワークプロセッサ１１０は、各物理ポート１０１〜１０８に接続されている。なお、各物理ポート１０１〜１０８は、実際には通信インタフェース等を介しネットワークプロセッサ１１０に接続されるが、図３では省略されている。
ネットワークプロセッサ１１０は、物理ポート１０１〜１０８から入力されたパケットの内容を解釈し、ＩＰアドレスやポート番号を抽出する。そしてネットワークプロセッサ１１０は、ＣＡＭデバイス１２０に対して、ＩＰアドレスとポート番号とを経路選択やサービス内容（転送レート等）の判断要素として、検索要求を出力する。この際、検索要求には、判断要素が検索キーとして含まれると共に検索キー毎のマスク設定コマンドが含まれる。検索要求に対する検索結果は、コンテキストＲＡＭ１３０から渡される。たとえば、パケットを転送すべき物理ポートのポート番号が渡される。ネットワークプロセッサ１１０は、検索結果に応じてパケットの転送経路を決定し、該当する物理ポートから出力する。
ＣＡＭデバイス１２０は、ネットワークを介して接続されている端末装置等のＩＰアドレスや、データ通信のために端末装置に実装されているアプリケーション等に対応するＴＣＰ／ＩＰのポート番号などの判断要素が検索対象情報として格納されている。ＣＡＭデバイス１２０は、ネットワークプロセッサ１１０からの検索要求に応じて、記憶されている検索対象情報を対象とした検索を行う。そして、ＣＡＭデバイス１２０は、検出された検索対象情報が格納されている領域のメモリアドレスをコンテキストＲＡＭ１３０に対して出力する。
コンテキストＲＡＭ１３０は、ネットワークプロセッサ１１０が出力する検索要求に対応する検索結果となり得る検索結果候補を格納している。検索結果候補には、パケットの転送経路を示す情報や、パケットに対するサービス内容（転送レート等）を指示する情報が含まれる。たとえば、パケットを送出すべき物理ポートの番号や、パケットの廃棄を指示する情報などである。各検索結果候補は、ＣＡＭデバイス１２０に格納された判断要素に対応付けられている。具体的には、判断要素が格納された領域のＣＡＭデバイス１２０におけるメモリアドレスが、その判断要素に対応する検索結果候補が格納された領域のコンテキストＲＡＭ１３０におけるメモリアドレスとなる。
コンテキストＲＡＭ１３０は、ＣＡＭデバイス１２０からメモリアドレスが入力されると、そのメモリアドレスに格納されている検索結果候補を検索結果とし、その検索結果をネットワークプロセッサ１１０に渡す。
図４は、検索要求のデータ構造例を示す図である。検索要求４００は検索キー群４１０と検索コマンド４２０とで構成される。検索キー群４１０には、経路判断やサービス内容判断のための複数の検索キー４１１，４１２が含まれる。たとえば、検索キー４１１はＩＰアドレスであり、検索キー４１２はポート番号である。検索コマンド４２０には、命令文４２１、適用マスク情報４２２，４２３が含まれている。命令文４２１には、検索の実行をＣＡＭデバイス１２０に指示する命令文が設定される。適用マスク情報４２２，４２３には、検索キー４１１，４１２毎の検索時のマスクを指示する情報が設定される。第１の実施の形態では、ＣＡＭデバイス１２０内に定義されているマスク情報の識別番号が適用マスク情報４２２，４２３で指示される。
図５は、ＣＡＭデバイスの内部構成を示すブロック図である。図５に示すように、ＣＡＭデバイス１２０は、データ記憶回路１２１、コマンドフォーマット定義情報１２２、マスク情報群１２３、解析回路１２４、検索条件格納部１２５および検索回路１２６を有している。
データ記憶回路１２１は、経路判断の要素となる情報を記憶する回路ブロック（ＣＡＭセルアレー）である。判断要素は、種別毎に格納領域が分かれている。図５の例では、ＩＰアドレスを格納する領域１２１ａとポート番号を格納する領域１２１ｂとが設けられている。
コマンドフォーマット定義情報１２２は、図４に示した検索要求のデータフォーマットが定義されている。たとえば、検索要求４００の先頭から、３２ビットが第１の検索キー、続く１６ビットが第２の検索キー、続く１６ビットが命令文、続く８ビットが第１の適用マスク情報、続く８ビットが第２の適用マスク情報といった内容が定義される。
なお、コマンドフォーマット定義情報１２２は、データ中継装置１００全体を制御するＣＰＵにより書き換えることができる。また、検索要求内にコマンドフォーマット定義情報１２２の設定内容を含め、その設定内容を受信した際にコマンドフォーマット定義情報１２２が書き換えられるようにしてもよい。
マスク情報群１２３は、データ記憶回路１２１のうち検索対象から除外する領域を指定する複数のマスク情報１２３ａ，１２３ｂ，１２３ｍが設定されている。たとえば、ＭＡＳＫ＃１は、ＩＰアドレスの記憶領域以外をマスクするマスク情報であり、ＭＡＳＫ＃２は、ポート番号の記憶領域以外をマスクするマスク情報である。各マスク情報１２３ａ，１２３ｂ，１２３ｍには、識別番号が設定されている。この識別番号により、検索の際に提供するマスク情報が指定される。
解析回路１２４は、検索要求の構造を解析し、検索キーと適用マスク情報とからなる複数の検索情報を生成する。具体的には、解析回路１２４は、検索要求を受け取ると、コマンドフォーマット定義情報１２２の定義内容に従って検索要求の先頭から順に、複数の検索キー、命令文、および複数の適用マスク情報を抽出する。そして、解析回路１２４は、検索キーと適用マスク情報との組を、検索条件格納部１２５に格納する。
検索条件格納部１２５は、検索キーと適用マスク情報との組を複数格納可能なレジスタ群である。
検索回路１２６は、検索条件格納部１２５に格納された検索キーと適用マスク情報との組を順次取り出し、データ記憶回路１２１の検索を行う。具体的には、検索回路１２６は、マスク情報群１２３を参照し、検索条件格納部１２５から取り出した適用マスク情報に対応するマスク情報を抽出する。次に、検索回路１２６は、取り出したマスク情報で指定された領域を検索対象外として、検索キーに一致する情報をデータ記憶回路１２１から検索する。一致する情報が検出されると、検索回路１２６は、その情報が格納された領域のメモリアドレスを、コンテキストＲＡＭ１３０に対して出力する。
以上の様な構成のデータ中継装置１００により、以下のような処理が行われる。
まず、パケットが入力されると、ネットワークプロセッサ１１０が内容を解析し、経路選択等の判断要素を検索キーとし、検索キーと検索キー毎の適用マスク情報とを含む検索要求を生成する。なお、入力されたパケットに関する情報（パケットに含まれる情報やパケットの受信状況等を含む）のうち、経路選択等の判断要素とすべき情報については、予めネットワークプロセッサ１１０内で定義されている。以下の例では、ＩＰアドレスとポート番号とを経路選択の判断要素とする。また、ネットワークプロセッサ１１０には、判断要素毎の適用マスク情報も予め定義されている。その後、検索要求に応じた検索が行われる。
図６は、検索処理の概略を示す図である。ネットワークプロセッサ１１０は、到着したパケットの持つヘッダの所定の場所からＩＰアドレスやポート番号を抽出して、検索要求を生成する。検索要求は、１つのパケットに対して１つ生成される。生成された検索要求は、検索データ入力バス１４１を通じて、ＣＡＭデバイス１２０に入力される。ＣＡＭデバイス１２０は、データ記憶回路１２１にマスク処理を施し、格納されているエントリから該当する情報１２１ｃ，１２１ｄを検索する。検索要求内に複数の検索キーが含まれていれば、検索キー毎に該当する情報が検索される。
そして、ＣＡＭデバイス１２０は、該当する情報が格納されていた領域のメモリアドレスを、順次、アドレスバス１４２を介してコンテキストＲＡＭ１３０に入力する。すると、コンテキストＲＡＭ１３０において、入力されたメモリアドレスに対応する領域に格納された情報１３１，１３２を、データバス１４３を介して出力する。データバス１４３を介して出力された情報は、検索結果としてネットワークプロセッサ１１０で受け取られる。
ネットワークプロセッサ１１０は、検索結果に応じて、入力されたパケットの処理（出力する物理ポートや転送レートなど）を決定する。
次に、ＣＡＭデバイス１２０の内部処理について詳しく説明する。
図７は、検索要求解析処理を示す図である。図７の例では、検索要求５００の検索キー５１０には、検索キー５１１，５１２としてＩＰアドレス「Ａｄｄ＃１」とポート番号「８０８０」が設定されている。検索コマンド５２０には、命令文５２１として「Ｓｅａｒｃｈ」、適用マスク情報５２２，５２３として「ＭＡＳＫ＃１」、「ＭＡＳＫ＃２」が設定されている。適用マスク情報５２２は、検索キー５１１の適用マスクを示しており、適用マスク情報５２３は、検索キー５１２の適用マスクを示している。
このような検索要求５００が解析回路１２４に入力されると、コマンドフォーマット定義情報１２２に従って検索要求５００のデータ構造が解析される。そして、解析回路１２４により、検索キー５１１と適用マスク情報５２２との組が、１つの検索条件として検索条件格納部１２５に格納される。次に、検索キー５１２と適用マスク情報５２３との組が、別の検索条件として検索条件格納部１２５に格納される。
検索条件格納部１２５に検索キーと適用マスク情報とで構成される検索条件が格納されると、格納順に検索条件が検索回路１２６で取り出される。そして、検索回路１２６により、取り出された検索条件に従って、データ記憶回路１２１の検索が行われる。図７の例では、まず、ＩＰアドレス「Ａｄｄ＃１」の検索が行われる。
図８は、ＩＰアドレス検索処理を示す図である。図８に示すように、検索回路１２６は、検索条件格納部１２５に先に登録された検索条件を抽出し、検索キー５１１と適用マスク情報５２２とを得る。検索回路１２６は、適用マスク情報５２２に設定されている「ＭＡＳＫ＃１」に対応するマスク情報１２３ａをマスク情報群１２３から抽出し、データ記憶回路１２１のマスク領域（検索対象外の領域）を決定する。図８の例では、ＩＰアドレスが格納された領域１２１ａが検索対象であり、ポート番号が格納された領域１２１ｂが検索対象外である。
次に、検索回路１２６は、検索対象の領域１２１ａ内から検索キー５１１に合致するデータを検索する。そして、検索回路１２６は、合致したデータが格納されている領域のメモリアドレスを取得し、コンテキストＲＡＭ１３０に対して出力する。すると、コンテキストＲＡＭ１３０から、入力されたメモリアドレスに対応する領域に格納された検索結果候補が取り出され、検索結果としてネットワークプロセッサ１１０に送られる。これによりＬａｙｅｒ３の検索処理が完了する。
ＩＰアドレス「Ａｄｄ＃１」に関する一連の検索処理が完了すると、検索回路１２６は、検索条件格納部１２５内の次の検索キーと適用マスク情報とに基づく検索を行う。図７の例では、ポート番号「８０８０」の検索が行われる。
図９は、ポート番号検索処理を示す図である。図９に示すように、検索回路１２６は、検索条件格納部１２５に、その時点で最先に登録された情報を抽出し、検索キー５１２と適用マスク情報５２３とを得る。検索回路１２６は、適用マスク情報５２３に設定されている「ＭＡＳＫ＃２」に対応するマスク情報１２３ｂをマスク情報群１２３から抽出し、データ記憶回路１２１のマスク領域（検索対象外の領域）を決定する。図９の例では、ＩＰアドレスが格納された領域１２１ａが検索対象外であり、ポート番号が格納されたい領域１２１ｂが検索対象である。
次に、検索回路１２６は、検索対象の領域１２１ｂ内から検索キー５１２に合致するデータを検索する。そして、検索回路１２６は、合致したデータが格納されている領域のメモリアドレスを取得し、コンテキストＲＡＭ１３０に対して出力する。すると、コンテキストＲＡＭ１３０から、メモリアドレスに対応する領域に格納された検索結果候補が取り出され、検索結果としてネットワークプロセッサ１１０に送られる。これでＬａｙｅｒ４の検索処理が完了する。
次に、入力されたパケットの内容に応じて、そのパケットの送信者とデータ中継装置の管理者との間の契約内容に応じた付加サービスを提供する場合のネットワークプロセッサの処理手順を説明する。
図１０は、第１の実施の形態に係るネットワークプロセッサにおけるサービス内容判定処理を示すシーケンス図である。以下、図１０に示す処理をステップ番号に沿って説明する。
［ステップＳ１］ネットワークプロセッサ１１０は、パケットを受け取ると、送信元のＩＰアドレスやポート番号などの検索キーと、検索キー毎の適用マスク情報とを纏めて１つの検索要求を生成する。
［ステップＳ２］ネットワークプロセッサ１１０は、生成した検索要求を検索データ入力バス１４１へ出力する。これにより、ＣＡＭデバイス１２０で検索キーに応じた検索が行われる。
［ステップＳ３］ネットワークプロセッサ１１０は、コンテキストＲＡＭ１３０のデータバス１４３から、ＩＰアドレスを検索キーとしたときの検索結果を受け取る。すると、ネットワークプロセッサ１１０は、受信した検索結果を処理して、パケットを送信した送信者（契約者）を認識する。
［ステップＳ４］ネットワークプロセッサ１１０は、コンテキストＲＡＭ１３０のデータバス１４３から、ポート番号を検索キーとしたときの検索結果を受け取る。すると、ネットワークプロセッサ１１０は、受信した検索結果を処理して、サービスクラスを認識する。
このように、ネットワークプロセッサ１１０からの検索要求を、１つのパケット転送に対して常に１回で済ませることで、検索データ入力バス１４１を介した検索要求の送信を効率よく行うことができる。しかも、検索要求において、検索キー毎に適用マスクを指定できるため、ＣＡＭデバイス内に検索対象領域を限定することができ、検索効率が向上する。
［第２の実施の形態］
第２の実施の形態は、１つの検索要求に基づいて実施された検索結果を纏めたうえで、ネットワークプロセッサに返すようにしたものである。すなわち、第１の実施の形態では、検索要求に複数の検索キーが含まれていた場合、複数回の検索が行われ、その都度、コンテキストＲＡＭから検索結果が出力される。このとき、ネットワークプロセッサでは、１回の検索要求に対して、複数の検索結果を受け取ることとなる。そのため、ネットワークプロセッサ内で、複数の検索結果の関連性を判断する処理が必要となる。一方、第２の実施の形態では、ＣＡＭデバイスにおいて複数の検索結果を纏めた後、ネットワークプロセッサに送信する。これにより、ネットワークプロセッサにおける処理が簡略化され、パケット転送処理の高速化が図れる。
図１１は、第２の実施の形態に係るデータ中継装置の構成例を示す図である。データ中継装置６００は、複数の物理ポート６０１〜６０８、ネットワークプロセッサ６１０、ＣＡＭデバイス６２０、およびコンテキストＲＡＭ６３０を有している。
物理ポート６０１〜６０８は、ネットワークプロセッサ６１０に接続されている。ネットワークプロセッサ６１０とＣＡＭデバイス６２０とが入出力バス６４１により接続されている。ＣＡＭデバイス６２０とコンテキストＲＡＭ６０とがアドレスバス６４２とデータバス６４３とにより接続されている。
ここで、ネットワークプロセッサ６１０は、物理ポートから入力されたパケットに関する経路選択のための検索要求をＣＡＭデバイス６２０に送信する。この検索要求には、複数の検索キーが含まれるものとする。
ＣＡＭデバイス６２０は、検索キーに応じた検索を行う。ＣＡＭデバイス６２０は、検索キーによる検索の結果得られるメモリアドレスを、アドレスバス６４２を介してコンテキストＲＡＭ６３０に入力する。すると、コンテキストＲＡＭ６３０からは、入力されたメモリアドレスに応じたデータがデータバス６４３から出力される。
複数回行なわれたコンテキストＲＡＭ６３０の出力結果は、ＣＡＭデバイス６２０に戻されて、検索結果毎にレジスタなどに格納さる。そして、検索要求に対応する全ての検索結果がレジスタに格納されると、ＣＡＭデバイス６２０は、複数の検索結果をひとまとまりの検索結果として、ネットワークプロセッサ６１０に渡す。
このような処理を実現するには、ＣＡＭデバイス６２０内に検索結果を格納するレジスタを設ける必要がある。
図１２は、第２の実施の形態におけるＣＡＭデバイスの構成を示す図である。図１２に示す様にＣＡＭデバイス６２０は、データ記憶回路６２１、コマンドフォーマット定義情報６２２、マスク情報群６２３、解析回路６２４、検索条件格納部６２５、検索回路６２６、検索結果格納部６２７、および出力回路６２８を有している。ここで、図１２に示す各構成要素は、図５に示した第１の実施の形態における同名の要素の機能に加え、以下の機能を有している。
解析回路６２４は、図５に示した第１の実施の形態における解析回路１２４と同じ機能を有していると共に、検索要求の識別情報と、その検索要求に含まれる検索キーの数とを検索条件に付加する機能を有している。たとえば、解析回路６２４は、検索キー、適用マスク情報、入力された各検索要求の識別番号、および検索要求内の検索キーの数を示す情報により検索条件を生成し、検索条件格納部６２５内のレジスタに格納する。
検索条件格納部６２５内の各レジスタは、検索キーと適用マスク情報とに加え、検索要求の識別情報と検索キーの数とを格納できるだけのデータ容量を有している。
検索回路６２６は、データ記憶回路６２１の検索によって得られたメモリアドレスをコンテキストＲＡＭ６３０に送信すると同時に、検索キーに付加されていた検索要求の識別情報と検索キーの数とを、検索結果格納部６２７内のレジスタに格納する。そのレジスタには、コンテキストＲＡＭ６３０から出力される検索結果も格納される。これにより、コンテキストＲＡＭ６３０から出力される検索結果と、検索要求の識別情報およびその検索要求に含まれる検索キーの数が関連付けられる。
検索結果格納部６２７は、識別情報、検索キーの数、およびコンテキストＲＡＭ６３０から出力された検索結果を格納する複数のレジスタで構成される。
出力回路６２８は、検索結果格納部６２７に格納された情報を参照し、検索要求に対応する検索結果が、その検索要求に含まれる検索キーの数だけ格納されたら、それらの検索結果を纏めて、ネットワークプロセッサ６１０に渡す。
図１３は、第２の実施の形態における検索処理を示す図である。たとえば、１回目の検索でエントリ６５１がヒットし、そのメモリアドレスがアドレスバス６４２を介してコンテキストＲＡＭ６３０に入力される。すると、入力されたメモリアドレスに対応する情報６５２が検索結果として、データバス６４３を介してＣＡＭデバイス６２０に渡される。ＣＡＭデバイス６２０では、検索結果として送られた情報６５２が一旦検索結果格納部６２７内のレジスタに格納される。
続く２回目の検索でエントリ６６１がヒットし、そのメモリアドレスがアドレスバス６４２を介してコンテキストＲＡＭ６３０に入力される。すると、入力されたメモリアドレスに対応する情報６６２が検索結果として、データバス６４３を介してＣＡＭデバイス６２０に渡される。ＣＡＭデバイス６２０では、検索結果として送られた情報６６２が一旦検索結果格納部６２７内のレジスタに格納される。
検索要求に含まれる検索キーが２つだけであれば、その検索要求に対応する検索結果の数が２になったことにより、それらの検索結果が統合され、入出力バス６４１を介して、ネットワークプロセッサ６１０へ送られる。
次に、入力されたパケットの内容に応じて、そのパケットの送信者とデータ中継装置の管理者との間の契約内容に応じた付加サービスを提供する場合のネットワークプロセッサの処理手順を説明する。
図１４は、第２の実施の形態に係るネットワークプロセッサにおけるサービス内容判定処理を示すシーケンス図である。以下、図１４に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］ネットワークプロセッサ６１０は、パケットを受け取ると、送信元のＩＰアドレスやポート番号などの検索キーと、検索キー毎の適用マスク情報とを纏めて１つの検索要求を生成する。
［ステップＳ１２］ネットワークプロセッサ６１０は、生成した検索要求を入出力バス６４１へ出力する。これにより、ＣＡＭデバイス６２０で検索キーに応じた検索が行われる。そして、ＣＡＭデバイス６２０において、複数の検索結果が纏められる。
［ステップＳ１３］ネットワークプロセッサ６１０は、入出力バス６４１から、ＩＰアドレスを検索キーとしたときの検索結果と、ポート番号を検索キーとしたときの検索結果とを受け取る。すると、ネットワークプロセッサ６１０は、受信した検索結果を処理して、パケットを送信した送信者（契約者）とサービスクラスとを認識する。
このようにして、ネットワークプロセッサからの１回の検索要求に対して、検索結果を１回で返すことができる。これにより、ネットワークプロセッサ６１０において検索結果を纏める処理が不要となる。
すなわち、一般にＣＡＭデバイスでは検索ビット幅の大小によりエントリ検索に要する時間が異なる場合がある。そのため、コンテキストＲＡＭへのアドレス発行タイミングにずれが生じる場合がある。第２の実施の形態によれば、ネットワークプロセッサは複数の検索結果を纏めて受け取ることができ、ＣＡＭデバイスでの検索毎の検索に要する時間の差、すなわちコンテキストＲＡＭからの結果出力のタイミングに留意した検索結果の関連性判断処理が不要となる。
［第３の実施の形態］
第３の実施の形態は、複数のネットワークプロセッサを有するデータ中継装置に本発明を適用したものである。
図１５は、第３の実施の形態におけるデータ中継装置の構成例を示す図である。図１５に示すように、第３の実施の形態に係るデータ中継装置は、複数のネットワークプロセッサ７０１，７０２，７０３、ＣＡＭデバイス７０４およびコンテキストＲＡＭ７０５を有している。
ネットワークプロセッサ７０１は、出力インタフェース７１１を介してＣＡＭバス７２１に接続されている。ネットワークプロセッサ７０２は、出力インタフェース７１２を介してＣＡＭバス７２１に接続されている。ネットワークプロセッサ７０３は、出力インタフェース７１３を介してＣＡＭバス７２１に接続されている。ＣＡＭバス７２１は、入力インタフェース７２２を介してＣＡＭデバイス７０４に接続されている。ＣＡＭバス７２１は、複数のデータ転送要求の調停機能（ネットワークプロセッサがバスを占有できるバスマスタになるための処理）を有している。
ＣＡＭデバイス７０４は、出力インタフェース（コンテキストＲＡＭ７０５のアドレスバス）７２３を介してコンテキストＲＡＭ７０５に接続されている。コンテキストＲＡＭ７０５は、出力インタフェース（コンテキストＲＡＭ７０５のデータバス）７２４を介して、コンテキストＲＡＭバス７２５に接続されている。コンテキストＲＡＭバス７２５は、入力インタフェース７３１を介してネットワークプロセッサ７０１に接続されている。コンテキストＲＡＭバス７２５は、入力インタフェース７３２を介してネットワークプロセッサ７０２に接続されている。コンテキストＲＡＭバス７２５は、入力インタフェース７３３を介してネットワークプロセッサ７０３に接続されている。
各ネットワークプロセッサ７０１，７０２，７０３は、それぞれＣＡＭデバイス７０４への出力インタフェース７１１，７１２，７１３から検索キー、適用マスク情報、検索コマンドを含む検索要求を発行する。ＣＡＭバス７２１で調停されてＣＡＭデバイス７０４へこの検索要求が入力される。すると、ＣＡＭデバイス７０４が検索を行う。検索処理においてヒットまたはミスヒットした情報が、読み出しアドレスとしてコンテキストＲＡＭ７０５に入力される。ここで検索が複数回に渡る場合もある。
コンテキストＲＡＭ７０５で該当するアドレスのデータすなわち検索結果がコンテキストＲＡＭ７０５の出力インタフェース７２４から出力され、検索要求を発行したネットワークプロセッサに渡される。
このように、複数のネットワークプロセッサ７０１〜７０３を有するデータ中継装置に本発明を適用すれば、ネットワークプロセッサ７０１〜７０３間の検索要求が転送するフレームに対して１回しか行われないため、ＣＡＭバス７２１における調停処理負荷が軽減される。その結果、スムーズな検索要求の受け渡しが可能となる。
［第４の実施の形態］
第４の実施の形態は、複数のネットワークプロセッサを有するデータ中継装置において、検索結果をとりまとめる機能をＣＡＭに搭載したものである。
図１６は、第４の実施の形態におけるデータ中継装置の構成例を示す図である。図１６に示すように、第４の実施の形態に係るデータ中継装置は、複数のネットワークプロセッサ８０１，８０２，８０３、ＣＡＭデバイス８０４およびコンテキストＲＡＭ８０５を有している。
ネットワークプロセッサ８０１は、入出力インタフェース８１１を介してＣＡＭバス８２１に接続されている。ネットワークプロセッサ８０２は、入出力インタフェース８１２を介してＣＡＭバス８２１に接続されている。ネットワークプロセッサ８０３は、入出力インタフェース８１３を介してＣＡＭバス８２１に接続されている。ＣＡＭバス８２１は、入出力インタフェース８２２を介してＣＡＭデバイス８０４に接続されている。ＣＡＭバス８２１は、複数のデータ転送要求の調停機能（ネットワークプロセッサがバスを占有できるバスマスタになるための処理）を有している。ＣＡＭデバイス８０４は、コンテキストＲＡＭ８０５との入出力インタフェース８２３（アドレスバスとデータバスとを含む）を介して、コンテキストＲＡＭ８０５に接続されている。
なお、ＣＡＭデバイス８０４は、図１２に示した第２の実施の形態に係るＣＡＭデバイス６２０と同様の内部構成である。
このような構成のデータ中継装置において、各ネットワークプロセッサ８０１，８０２，８０３は、それぞれの入出力インタフェース８１１，８１２，８１３から検索キー、マスク情報、検索コマンドを含む検索要求を発行する。検索要求はＣＡＭバス８２１で調停されて、入出力インタフェース８２２経由でＣＡＭデバイス８０４に渡される。ＣＡＭデバイス８０４は、検索要求に応じて検索を行う。そして、ＣＡＭデバイス８０４の検索処理においてヒットまたはミスヒットした情報がコンテキストＲＡＭ８０５へのアドレスとして、入出力インタフェース８２３を介してコンテキストＲＡＭ８０５へ入力される。すると、コンテキストＲＡＭ８０５から該当するアドレスのデータ、すなわち検索結果が入出力インタフェース８２３を介してＣＡＭデバイス８０４へ出力される。
ＣＡＭデバイス８０４は、１つの検索要求に複数の検索キーが含まれていた場合、各検索キーに応じた検索結果が得られるまで、取得した検索結果を保持する。そして、ＣＡＭデバイス８０４は、同一検索要求に基づく全ての検索結果が揃うと、各検索結果を纏めて、検索要求を発行したネットワークプロセッサに返す。
なお、上記の各実施の形態では、データ中継装置内にＣＡＭデバイスやコンテキストＲＡＭをそれぞれ１つだけ示しているが、ＣＡＭデバイスやコンテキストＲＡＭを、それぞれ１チップに限定しているものではない。すなわち、メモリ空間が必要な場合、ＣＡＭデバイスやコンテキストＲＡＭを、それぞれ複数チップで構成することもできる。ただし、個々のチップが個別の処理を行っているわけではなく、複数のチップが一体となって、上記実施の形態のＣＡＭデバイスやコンテキストＲＡＭの処理を実現する。
以上説明したように本発明では、複数の検索キーと適用マスク情報とを１つの検索要求で出力し、連想メモリデバイスにおいて検索要求を解析し、検索キーと適用マスク情報とからなる検索条件を生成するようにした。そのため、１つのパケットの転送に付き連想メモリデバイスに対する複数回の検索が必要な場合であっても、検索要求の転送が１回ですむ。その結果、検索キーの受け渡しが効率よく行われ、検索処理の効率化が図れる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【図１】
2004054186.tif 000003
【図２】
2004054186.tif 000004
【図３】
2004054186.tif 000005
【図４】
2004054186.tif 000006
【図５】
2004054186.tif 000007
【図６】
2004054186.tif 000008
【図７】
2004054186.tif 000009
【図８】
2004054186.tif 000010
【図９】
2004054186.tif 000011
【図１０】
2004054186.tif 000012
【図１１】
2004054186.tif 000013
【図１２】
2004054186.tif 000014
【図１３】
2004054186.tif 000015
【図１４】
2004054186.tif 000016
【図１５】
2004054186.tif 000017
【図１６】
2004054186.tif 000018
【図１７】
2004054186.tif 000019
【国際調査報告】
2004054186.tif 000020
2004054186.tif 000021
2004054186.tif 000022
2004054186.tif 000023