(57)【特許請求の範囲】
【請求項１】
伝送フレームを受信し、この伝送フレームのプロトコル・ヘッダに含まれるフィールド・データの内容に応じて、上記伝送フレームを中継処理するネットワーク間接続装置において、
受信した前記伝送フレームを一時的に格納するフレーム・バッファメモリと、
前記受信した伝送フレームのプロトコル・ヘッダに含まれる所定のフィールド・データを、予め記憶してある複数の基本フィールド・データと連想記憶メモリで同時に比較することにより、前記プロトコル・ヘッダの内容を解析するヘッダ解析部と、
このヘッダ解析部の解析結果に応じて、中継先に関する判定を行う中継判定部と、
この中継判定部による判定結果に基づいて送信フレームを作成して送信する送信処理部とを具備し、
前記中継判定部は、
中継処理対象となるプロトコル・ヘッダのフィールドごとに予め定義された処理内容を記憶したテンプレート・メモリと、
前記ヘッダ解析部によるプロトコル・ヘッダの解析結果に応じて、中継処理対象となるプロトコル・ヘッダのフィールドに対応する処理内容を前記テンプレート・メモリから読み出す手段と、
前記テンプレート・メモリ上に記述された中継処理対象のプロトコル・ヘッダのフィールドに対応する複数の受信フィールド・データを前記フレーム・バッファメモリから読み出し、この読み出した複数の受信フィールド・データに対し前記テンプレート・メモリから読み出された処理内容の処理を実行させるための複数の命令セルを生成する命令セル生成手段と、
前記生成された複数の命令セルを並列に実行する命令実行手段と、
前記複数の命令セルの実行により得られた処理結果に基づいて、中継の要否と中継先を判定する手段と
を備えることを特徴とするネットワーク間接続装置。
【請求項２】
前記中継判定部の命令実行手段は、フィルタリング判定処理、次段の宛先判定処理、及び生存時間の演算・判定処理を並列的に実行するデータフロー計算機と、このデータフロー計算機からの指示に従いチェックサムの計算処理を前記データフロー計算機とは独立して行うチェックサム計算回路とから構成され、
前記フィルタリング判定処理は、複数のフィールド・データの組み合わせをキーにフィルタリング・テーブルを検索することにより行われることを特徴とする請求項１記載のネットワーク間接続装置。
【請求項３】
前記ヘッダ解析部によるヘッダ解析処理と、前記中継判定部による中継判定処理と、前記送信処理部による送信フレームの作成・送信処理とをパイプライン処理方式により並列的に実行することを特徴とする請求項１又は２記載のネットワーク間接続装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network ）等の複数のネットワーク間を相互に接続してデータの中継を行うネットワーク間接続装置に関する。
【０００２】
【従来の技術】
従来、ＩＰルータ或いはレイヤ３スイッチ等と呼ばれるネットワーク間接続装置は、ＷＡＮやＬＡＮ等のネットワーク間で伝送されるデータの中継処理を行う際に、データをフレームやパケット等のデータブロックとして取り扱い、マイクロプロセッサによるソフトウエア処理によりデータの中継及び廃棄処理を行っている。このため、ＩＳＯ８８０２−３に規定される１００ＢＡＳＥ−Ｔ（伝送速度１００Ｍbps ）のような高速のネットワーク間でデータ中継を行おうとすると、中継処理性能が不足してフレーム損失が発生する心配がある。
【０００３】
一方、フレームの中継処理を専用ハードウエアにより高速に行えるようにしたネットワーク間接続装置も提案されている。この種の従来の装置では、専用ハードウエアが予め決められた処理だけを実行するように構成されており、特定の通信プロトコルで定義されたフォーマットを持つフレームのみを取り扱うことができる。このため、運用が開始された後に、他の通信プロトコルにより伝送されるデータの中継処理を追加することは困難であり、処理の柔軟性に欠けるという問題点を有している。
【０００４】
そこで本発明者等は、中継処理性能を向上させかつ柔軟性を確保するために、ネットワーク間接続装置の運用開始後においても中継処理の内容変更を可能にする、ハードウエアによるフレーム中継処理技術を「特願平７−３１４０７１号」にて提案した。この技術を採用したネットワーク間接続装置は、複数のデータを記憶した連想記憶メモリ（ＣＡＭ）を用意して、入力データをこの連想記憶メモリに記憶された複数のデータと同時に比較し、一致するデータが見つかった場合にテーブル用メモリをアクセスしてネットワークに関するアドレスを検索し、このアドレスを上記入力データのアドレスに代えてセットしたのち対応するネットワークへ送出するように構成される。
【０００５】
このような構成によれば、連想記憶メモリを用いることで入力データが複数のデータと同時比較されるので、比較的簡単な構成で高速の中継処理を実現でき、かつ連想記憶メモリ及びテーブル用メモリの記憶内容を書き換えることで、ネットワークの構成組み替え等に容易に対応することができる。
【０００６】
【発明が解決しようとする課題】
ところが、このネットワーク間接続装置は、連想記憶メモリを利用して連続的に検索を繰り返すことでフレームデータの中継処理を行う。すなわち、フレーム中の複数のフィールドを対象にした処理を時系列的に順次に実行することになる。したがって、フレームの中継処理は連想記憶メモリの検索処理に依存することになり、フレームの中継処理速度をさらに高速にするには連想記憶メモリの検索処理速度を高速化する必要がある。
【０００７】
この発明は上記事情に着目してなされたもので、その目的とするところは、メモリの検索処理速度に依存せずに中継処理速度をさらに高速化し、かつ運用開始後においても中継処理内容を変更可能にして、これにより中継速度の高速化と柔軟性の向上を図ることができるネットワーク間接続装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するためにこの発明のネットワーク間接続装置は、受信した伝送フレームを一時的に格納するフレーム・バッファメモリと、連想記憶メモリを使用したヘッダ解析部と、データフロー計算機等の並列処理手段を使用した中継判定部と、送信処理部とを備える。そして、ヘッダ解析部では、受信した伝送フレームのプロトコル・ヘッダに含まれる所定のフィールド・データを予め記憶してある複数の基本フィールド・データと連想記憶メモリで同時比較して上記プロトコル・ヘッダの内容を解析し、このヘッダ解析部の解析結果に応じて、中継処理対象となるプロトコル・ヘッダの複数のフィールド・データをフレーム・バッファメモリから読み出し、この読み出した複数のフィールド・データに対し予め定義された所定の処理を上記中継判定部で並列に実行して、その処理結果に基づいて中継先もしくは中継の要否を判定し、この判定結果をもとに送信フレームを作成して送信するように構成したものである。
【０００９】
従ってこの発明によれば、連想記憶メモリを用いたヘッダ解析部によりプロトコル・ヘッダの内容が解析され、さらにこの解析結果に応じて、並列処理手段を用いた中継判定部により中継処理対象となる複数のフィールド・データに対する各処理が並列に実行される。そして、その処理結果に応じて中継先もしくは中継の要否が判定されたのち、送信フレームが作成されて次段のネットワーク間接続装置等に向け送信される。
【００１０】
このため、中継処理対象となる複数のフィールド・データに対する各処理を短時間のうちに実行することができる。従って、プロトコル・ヘッダの解析から中継処理対象となる複数のフィールド・データの解析までの処理をすべて、連想記憶メモリを用いてシーケンシャルに処理していた従来の方式に比べ、中継処理に要する時間をさらに短縮して中継処理のより一層の高速化が可能となる。
【００１１】
また中継判定部を、中継処理対象となるプロトコル・ヘッダのフィールドごとに予め定義された処理内容を記憶したテンプレート・メモリと、上記ヘッダ解析部によるプロトコル・ヘッダの解析結果に応じて中継処理対象となるプロトコル・ヘッダのフィールドに対応する処理内容を前記テンプレート・メモリから読み出す手段と、上記テンプレート・メモリ上に記述された中継処理対象のプロトコル・ヘッダのフィールドに対応する複数の受信フィールド・データを上記フレーム・バッファメモリから読み出し、この読み出した複数の受信フィールド・データに対し前記テンプレート・メモリから読み出された処理内容の処理を実行させるための複数の命令セルを生成する命令セル生成手段と、上記生成された複数の命令セルを並列に実行する命令実行手段と、上記複数の命令セルの実行により得られた処理結果に基づいて中継の要否と中継先を判定する手段とを備えるように構成する。
【００１２】
このように構成すると、並列処理手段を使用した中継判定部は、処理対象の各フィールド・データに対する処理内容を調べる必要がなくなり、ヘッダ解析部の解析結果を受けてフィールド・データに対する並列処理を即時開始することができる。
【００１３】
またこの発明は、中継判定部の命令実行手段を、フィルタリング判定処理、次段の宛先判定処理、及び生存時間の演算・判定処理を並列的に実行するデータフロー計算機と、このデータフロー計算機からの指示に従いチェックサムの計算処理を上記データフロー計算機とは独立して行うチェックサム計算回路とから構成し、かつ上記フィルタリング判定処理を、複数のフィールド・データの組み合わせをキーにフィルタリング・テーブルを検索することにより行うことを特徴とする。
このように構成することで、チェックサム計算をさらに効率良く処理することが可能になる。
【００１４】
さらにこの発明は、ヘッダ解析処理部によるヘッダ解析処理と、中継処理部による並列処理と、送信処理部による送信フレームの作成・送信処理とをパイプライン処理方式によりそれぞれ実行することを特徴とする。
【００１５】
このように構成することで、例えば第１の伝送フレームに対する送信フレーム作成・送信処理期間中に、後続の第２の伝送フレームに対する並列処理と、さらに後続する第３の伝送フレームに対するヘッダ解析処理とを並行して実行することが可能となり、これにより装置全体としての中継処理のより一層の高速化を図ることができる。
【００１６】
【発明の実施の形態】
図１は、この発明に係わるネットワーク間接続装置の一実施形態であるルータの構成を示すブロック図である。
このルータは、ＬＡＮ又はＷＡＮ１ａ，１ｂ，…，１ｎに各々対応して設けられた複数の通信コントローラ２ａ，２ｂ，…，２ｎと、フレーム・バッファメモリ３と、中継処理部４とを備え、これらはシステムバス７を介して相互に接続されている。またルータは、マイクロプロセッサ（ＭＰＵ）５と、このＭＰＵ５に必要なプログラムを記憶したローカルメモリ６とを備え、これらはローカルバス８を介して相互に接続されるとともに、ローカルバス８を介して上記システムバス７に接続される。
【００１７】
通信コントローラ２ａ，２ｂ，…，２ｎは、ＬＡＮ又はＷＡＮ１ａ，１ｂ，…，１ｎから到来した伝送フレームの受信処理と、中継処理部４において作成された送信伝送フレームの送信処理を行う。フレーム・バッファメモリ３は、上記通信コントローラ２ａ，２ｂ，…，２ｎにより受信された伝送フレームを、ルーティング処理のために一時記憶する。中継処理部４は、受信した伝送フレームを中継するための一連のルーティング処理を実行する。ＭＰＵ５は、上記中継処理部４における処理をはじめ、装置の動作を統括的に制御する。
【００１８】
ところで、中継処理部４は次のように構成される。図２はそのハード構成を示すブロック図である。中継処理部４は、ヘッダ解析部４１と、ヘッダ正当性確認／中継判定部４２と、テーブル検索部４３と、チェックサム計算部４４と、フレーム作成送信処理部４５とを備えている。
【００１９】
ヘッダ解析部４１は、受信した伝送フレームに含まれるプロトコル・ヘッダを解析するもので、例えば図３に示すようにデータ連続検索処理回路４１１と、テーブル用メモリ４１２と、複数の連想記憶メモリ（ＣＡＭ）４１３−１，４１３−２，…，４１３−ｍとを備えている。
【００２０】
ＣＡＭ４１３−１，４１３−２，…，４１３−ｍは、解析対象となる複数のプロトコル・ヘッダに各々含まれる、上位プロトコルを識別するための各フィールドの基本データを予め記憶しており、受信フィールド・データを複数の比較器を用いて上記各基本データと同時に比較することで、受信フレームの各プロトコル・ヘッダの内容を判定する。テーブル用メモリ４１２には、上記ＣＡＭ４１３−１，４１３−２，…，４１３−ｍを選択するための情報又はネットワークに関するアドレス情報が予め記憶してある。
【００２１】
データ連続検索処理回路４１１は、新たな伝送フレームが受信されたときに、フレーム・バッファメモリ３からまずレイヤの最も低いプロトコル・ヘッダに含まれるフィールド・データを読み出して対応するＣＡＭに入力し、上記基本データとの比較を行わせる。そして、その比較結果を基に、上記テーブル用メモリ４１２から次に検索すべきＣＡＭに関する情報を読み出し、この情報に従って次に検索すべきＣＡＭに、対応する次に高いレイヤの受信フィールド・データを入力して基本データとの比較を行わせる。以後同様に、各ＣＡＭ４１３−１，４１３−２，…，４１３−ｍに、レイヤの低い順に受信フィールド・データと基本データとの比較を行わせ、これにより各レイヤのプロトコル・ヘッダの解析情報を得る。
【００２２】
なお、システムバス７とＣＡＭ４１３−１，４１３−２，…，４１３−ｍとの間にはレジスタ４１７が設けられ、このレジスタ４１７によりＣＡＭ４１３−１，４１３−２，…，４１３−ｍにセットする受信データを一次保持している。またシステムバス７と上記レジスタ４１７との間、ローカルバス８とＣＡＭ４１３−１，４１３−２，…，４１３−ｍとの間、及びローカルバス８とテーブル用メモリ４１２との間にはそれぞれゲート４１４，４１５，４１６が設けられており、これらのゲート４１４，４１５，４１６によりデータ連続検索処理回路４１１によるＣＡＭ４１３−１，４１３−２，…，４１３−ｍへのアクセス、ＭＰＵ５によるＣＡＭ４１３−１，４１３−２，…，４１３−ｍへのアクセス、及びテーブル用メモリ４１２に対する許可禁止を制御している。
【００２３】
ヘッダ正当性確認／中継判定部４２は、処理内容検索用のテンプレート・メモリと、図１１に示す命令セル生成部４２２と、命令実行部４２１と、中継判定部とから構成される。
【００２４】
テンプレート・メモリには、中継処理対象となる複数のプロトコル・ヘッダの各フィールドの情報と、これらのヘッダフィールドごとに予め定義した処理内容とが記憶されている。テンプレート・メモリは、上記ヘッダ解析部４１から出力されたヘッダ解析情報に応じて、対応するヘッダフィールドに対する処理内容を読み出す。
【００２５】
命令セル生成部４２２は、テンプレート・メモリ上に記述された中継処理対象のヘッダフィールドに対応する受信フィールド・データをフレーム・バッファメモリ３から読み出し、これらの受信フィールド・データに対する処理を実行するための命令セルを生成する。
【００２６】
命令実行部４２１は、複数の命令を並行して実行可能なデータフローマシンにより構成され、上記命令セル生成部４２２で生成された複数の命令セルを並列に実行する。なお、データフローマシンの概念は、（株）コロナ社出版の「並列計算機アーキテクチャ」（著者  奥川俊史）等で詳しく説明されている。
【００２７】
中継判定部は、上記命令実行部４２１により実行された命令の処理結果に基づいて、中継の要否、及び中継先を判定する。そして、中継が必要と判定した場合には、送信要求を、中継先の判定結果つまり宛先ＭＡＣアドレス等とともにフレーム作成送信処理部４５に通知する。
【００２８】
テーブル検索部４３は、連想記憶メモリ（ＣＡＭ）やハッシュ検索等の技術を利用した高速検索回路からなり、ルーティングテーブル、ＡＲＰテーブル及びフィルタリングテーブルを記憶している。テーブル検索部４３は、上記ヘッダ正当性確認／中継判定部４２の要求に基づき、受信した伝送フレーム中の中継処理対象となるフィールド・データをフレーム・バッファメモリ３から読み出す。そして、例えば宛先ＩＰアドレスをキーとして上記各テーブルを検索し、これにより送信ポート番号や宛先ＭＡＣアドレス、廃棄要否の情報を読み出して、これらをヘッダ正当性確認／中継判定部４２に返す。
【００２９】
チェックサム計算部４４は、上記ヘッダ正当性確認／中継判定部４２に対し独立に設けられており、ヘッダ正当性確認／中継判定部４２からの要求に応じて、受信伝送フレーム中の中継処理対象となるヘッダフィールドのデータを上記フレーム・バッファメモリ３から読み出し、例えばＩＰヘッダのチェックサム計算を行う。そして、そのチェックサムの計算結果をヘッダ正当性確認／中継判定部４２に返す。このチェックサム計算部のハードウエア化は、ＲＦＣ１３９６（Implementing the Internet Checksum in Hardware）に記載された方法により実現できる。
【００３０】
フレーム作成／送信処理部４５は、ヘッダ正当性確認／中継判定部４２から通知された宛先ＭＡＣアドレスやチェックサムの計算結果を基に、送信フレームをフレーム・バッファメモリ３上に作成し、同じくヘッダ正当性確認／中継判定部４２から通知された送信ポート番号に従って、該当する送信ポートへ上記作成した送信フレームを送出する。
【００３１】
一方、図４はこの実施形態に係わるルータが中継処理するイーサネット・フレームの構成の一例を示すもので、ヘッダ部としてＭＡＣヘッダ、ＩＰヘッダ及びＵＤＰヘッダを有し、このヘッダ部に続いてＵＤＰデータ及びＭＡＣトレーラを付加したものとなっている。
【００３２】
ＭＡＣヘッダは、レイヤ２ヘッダであり、ＭＡＣ宛先アドレス（ＭＡＣ  Destination Address ：ＭＡＣ−ＤＡ）と、ＭＡＣ発信元アドレス（ＭＡＣ  Source Address：ＭＡＣ−ＳＡ）と、タイププロトコル（ＴＹＰＥ）とから構成される。
【００３３】
ＩＰヘッダは、レイヤ３ヘッダであり、バージョン／ヘッダ長（Version ／Header Length ：ＶＥＲ／ＨＬＥＮ）、サービス種別（Type of Service ：ＴＯＳ）、全長（Total Length：ＴＬＥＮ）、識別子（Identification：ＩＤ）、分割情報（Flags ＋Fragment Offset ：Ｆｌａｇ）、生存時間（Time of Live：ＴＴＬ）、プロトコル（Protocol：ＰＲＯＴ）、ＩＰヘッダチェックサム（ＩＰ Header Checksum）、ＩＰ発信元アドレス（ＩＰ  Source Address：ＩＰ−ＳＡ）、及びＩＰ宛先アドレス（ＩＰ  Destination Address ：ＩＰ−ＤＡ）により構成される。
【００３４】
ＵＤＰヘッダは、レイヤ４ヘッダであり、発信元ポート番号（Source Port ：ＳＲＣ−Ｐｏｒｔ）、宛先ポート番号（Destination Port：ＤＳＴ−Ｐｏｒｔ）、メッセージ長（Message Length：ＭＳＧ−ＬＥＮ）、及びＵＤＰチェックサム（ＵＤＰ  Checksum：ＵＤＰ−ＣＨＫＳＵＭ）により構成される。
ＭＡＣトレーラには、フレーム検査シーケンス（Frame Check Sequence：ＦＣＳ）が挿入される。
なお、図４中の（  ）内の数字はオクテット数を示している。
【００３５】
次に、以上のように構成されたルータによるフレーム中継処理動作を説明する。図５及び図６は、中継処理部４の処理手順とその処理内容を示すフローチャートである。
【００３６】
いま例えば、ＬＡＮ／ＷＡＮ１ａからイーサネット・フレームが到来したとする。このイーサネット・フレームは、通信コントローラ２ａで受信されたのちフレーム・バッファメモリ３に一次記憶される。
【００３７】
中継処理部４は、先ずヘッダ解析部４１により図５に示すようにヘッダ解析処理を行う。すなわち、先ずステップ５ａでＭＡＣ−ＤＡを抽出し、ＭＡＣ−ＤＡが自局宛か否かを判定する。そして、自局宛でなければＭＰＵ５にその旨が通知され廃棄等の処理が行われる。これに対しＭＡＣ−ＤＡが自局宛だった場合には、ヘッダ解析部４１はステップ５ｂに移行してここでタイププロトコル（Ｔｙｐｅ）のデータを抽出し、上位レイヤであるレイヤ３のプロトコルを判定する。この判定の結果、上位プロトコルがＩＰであると判定されると、ステップ５ｃ及びステップ５ｄに順次移行してそれぞれＩＰヘッダのバージョンＶＥＲ及びヘッダ長ＨＬＥＮを判定する。そして、これらの判定において、バージョンがＩＰｖ４であり、かつヘッダ長が２０オクテットだったとすれば、ステップ５ｅに移行して、ここでさらに上位のレイヤであるレイヤ４のプロトコルがＵＤＰであるか否かを判定する。
【００３８】
図７乃至図９は、以上述べたヘッダ解析処理動作の概要を示すものである。すなわち、図７に示す受信フレームが到来すると、先ずＭＡＣフレームの先頭位置から既知のオフセット（＝１２octets）に位置するタイププロトコルＴｙｐｅ（斜線で図示）が抽出され、この抽出されたタイププロトコルは予め記憶してある複数のプロトコルデータとＣＡＭで同時比較される。図９（１）はこの比較動作を示すものである。そしてこの比較の結果、例えばプロトコルデータに含まれるタイプ値「ＩＰｖ４」と一致すれば、レイヤ３のプロトコルはＩＰと判定され、さらにオフセット値／基本ヘッダ長「２３／２０」をもとにＩＰヘッダ中のプロトコルＰＲＯＴの位置が特定される。次に、この位置が特定されたＩＰヘッダ中のプロトコルＰＲＯＴ（図中斜線で図示）のデータが抽出され、このデータは予め記憶してあるレイヤ４の複数のプロトコルデータとＣＡＭで同時比較される。図９（２）にこの比較動作を示す。そして、この比較により例えばプロトコルデータに含まれるプロトコル値「ＵＤＰ」と一致すれば、レイヤ４のプロトコルはＵＤＰと判定され、さらに標準オフセット値／基本ヘッダ長「３４／８」をもとにＵＤＰヘッダの位置が特定される。
【００３９】
さて、そうしてヘッダ解析部４１で各プロトコル・ヘッダの解析が終了すると、このヘッダ解析結果はヘッダ正当性確認／中継判定部４２に入力され、ここでヘッダの正当性を確認するための処理と中継判定処理が行われる。
【００４０】
すなわち、まず上記ヘッダ解析結果、つまりヘッダフィールドの指定データはテンプレート・メモリにアドレスとして入力され、これによりテンプレート・メモリから、上記指定されたヘッダフィールドに対応する処理内容がそれぞれ読み出される。図１０はテンプレート・メモリの構成の一例を示すものである。
【００４１】
そして、このテンプレート・メモリから読み出された処理内容をもとに、中継処理対象となる各ヘッダフィールドの受信データに対し、そのデータを解析するための処理が並列に実行される。例えば、図６に示すように（１）フィルタリング判定処理と、（２）次段宛先判定処理と、（３）生存時間（ＴＴＬ）演算／比較処理と、（４）チェックサム計算処理とが並列に実行される。
【００４２】
このうち、フィルタリング判定処理と、次段宛先判定処理と、ＴＴＬ演算／比較処理は、図１１に示すように命令セル生成部４２２により生成される命令セットを基に命令実行部４２１において並列に実行される。また、チェックサム計算処理は、命令実行部４２１から発生される計算要求に応じてチェックサム計算部４４において実行され、計算が終了するとその計算結果は命令実行部４２１に返される。
【００４３】
上記フィルタリング判定処理では、図６のステップ６ａに示すようにＩＰ−ＳＡ，ＩＰ−ＤＡ，ＰＲＯＴ，ＳＲＣ−Ｐｏｒｔ，ＤＳＴ−Ｐｏｒｔの組み合わせをキーに、テーブル検索部４３に設けられているフィルタリング・テーブルを検索することにより行われる。そして、この検索の結果を基に、ステップ６ｂにおいて受信フレームは中継すべきものか、或いは廃棄すべきものかが判定され、廃棄の場合には廃棄処理が行われる。
【００４４】
次段宛先判定処理では、ステップ６ｃに示すように受信したＩＰ−ＤＡから、宛先ルータ又はホストコンピュータのＭＡＣアドレスと、接続インタフェースの検索がそれぞれ行われる。そして、この検索の結果、宛先ノードのＭＡＣアドレス及び接続インタフェースがテーブル検索部４３内のＡＲＰテーブル等にエントリされているか否かがステップ６ｄで判定され、エントリされていない場合にはＭＰＵ５にその旨が通知される。
【００４５】
ＴＴＬ演算／比較処理では、生存時間ＴＴＬの値をデクリメント（１減算）する処理が行われる。そして、この減算後のＴＴＬ値が１以上であるか否かがステップ６ｆで判定され、０であればその旨がＭＰＵ５に通知される。
【００４６】
チェックサム計算部４４では、上記命令実行部４２１からの計算要求に応じて受信伝送フレーム中のＩＰヘッダについてのチェックサム計算が行われる（ステップ６ｇ）。そして、そのチェックサムの計算結果は命令実行部４２１に返される。
【００４７】
そうして命令実行部４２１による各フィールドの並列処理が終了して処理結果が出揃うと（ステップ６ｊ）、送信要求がフレーム作成送信処理部４５に通知される。フレーム作成送信処理部４５では、上記ヘッダ正当性確認／中継判定部４２から送信要求が到来すると、この送信要求と共に命令実行部４２１から通知されたＭＡＣ宛先アドレスやチェックサム値を基に、ステップ６ｋに示すようにＭＡＣ−ＤＡやＭＡＣ−ＳＡの付け替えが行われ、これにより送信フレームが作成される。そして、この作成された送信フレームは、上記ヘッダ正当性確認／中継判定部４２から通知された送信ポート番号に応じて、該当する通信コントローラ（例えば２ｎ）からＬＡＮ／ＷＡＮ１ｎに向け送信される（ステップ６ｌ）。
【００４８】
ところで、この実施形態では、以上述べたヘッダ解析部４１によるヘッダ解析処理と、ヘッダ正当性確認／中継判定部４２によるヘッダの正当性を判定するための処理及び中継判定処理と、フレーム作成送信処理部４５によるフレーム作成送信処理とが、パイプライン処理方式により並列に実行される。図１２はその処理タイミングの一例を示すものである。
【００４９】
すなわち、パイプ１において第１フレーム＃１に対するヘッダ正当性確認／中継判定処理が行われている期間に、パイプ２では第２フレーム＃２に対するヘッダ解析処理が行われる。そして、パイプ１で第１フレーム＃１に対するフレーム作成／送信処理が行われている期間に、パイプ２では第２フレーム＃２に対するヘッダ正当性確認／中継判定処理が行われ、かつパイプ３においては第３フレーム＃３に対するヘッダ解析処理が行われる。以後同様に、各パイプ１，２，３において、隣接する３つのフレームに対する処理が１ステージずつシフトしながら順次並列に実行される。
【００５０】
以上のようにこの実施形態に係わるルータでは、ヘッダ解析部４１において、受信した伝送フレームのプロトコル・ヘッダに含まれる所定のフィールド・データを予め記憶してある複数の基本データと連想記憶メモリ（ＣＡＭ）４１３−１〜４１３−ｍで同時比較して上記プロトコル・ヘッダの内容を解析し、このヘッダ解析部４１の解析結果に応じて、中継処理対象となるプロトコル・ヘッダの複数のフィールド・データをフレーム・バッファメモリ３から読み出し、この読み出した複数のフィールド・データに対し予め定義された所定の処理をヘッダ正当性確認／中継判定部４２で並列に実行して、その処理結果に基づいて中継先もしくは中継の要否を判定し、さらにこの判定結果をもとに送信フレームを作成して送信するようにしている。
【００５１】
従って、並列処理手段を用いたヘッダ正当性確認／中継判定部４２において、中継処理対象となる複数のフィールド・データに対する各処理が並列に実行される。このため、中継処理対象となる複数のフィールド・データに対する各処理を短時間のうちに実行することができる。従って、プロトコル・ヘッダの解析から、中継処理対象となる複数のフィールド・データの解析までの処理をすべて、連想記憶メモリ（ＣＡＭ）を用いてシーケンシャルに処理していた従来の方式に比べ、中継処理に要する時間をさらに短縮して中継処理のより一層の高速化が可能となる。
【００５２】
また上記ヘッダ正当性確認／中継判定部４２に、中継処理対象となる複数のフィールドの各々に対応付けてその処理内容を予め記憶したテンプレート・メモリを設け、プロトコル・ヘッダの解析結果をフィールドの処理内容に変換して、これを命令セル生成部４２２に入力するようにしている。このように構成すると、処理対象の各フィールド・データに対する処理内容を命令実行部４２１及び命令セル生成部４２２が調べる必要がなくなり、ヘッダ解析部４１の解析結果を受けてフィールド・データに対する並列処理を即時開始することができる。
【００５３】
しかもこの実施形態では、中継処理対象となる複数のフィールドのうちＩＰヘッダのチェックサム計算処理を、命令実行部４２１で行わずにそれとは独立に設けたチェックサム計算部４４で行うようにしている。したがって、チェックサム計算を効率良く処理することが可能になる。また、命令実行部４２１の処理負担を軽減することができ、これにより特に処理速度の高速な命令実行部を用意することなく高速度の中継処理を実現できる。
【００５４】
さらにこの実施形態では、ヘッダ解析処理部４１によるヘッダ解析処理と、ヘッダ正当性確認／中継判定部４２による複数の処理対象フィールドの並列処理と、フレーム作成送信処理部４５による送信フレームの作成・送信処理とを、パイプライン処理方式により実行するようにしている。
【００５５】
このように構成することで、例えば図１２に示したように第１の伝送フレーム＃１に対する送信フレーム作成・送信処理期間中に、後続の第２の伝送フレーム＃２に対するヘッダ正当性確認／中継判定処理と、さらに後続する第３の伝送フレーム＃３に対するヘッダ解析処理とを並行して実行することが可能となり、これにより装置全体としての中継処理のより一層の高速化を図ることができる。
【００５６】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態ではレイヤ３のプロトコルがＩＰｖ４の場合を例にとって説明したが、ＩＰｖ６やＡＲＰ等のその他のプロトコルの場合にも同様に本発明を適用可能であり、またレイヤ４についてもＵＤＰに限らずＴＣＰやＩＣＭＰ等であっても本発明を同様に適用可能である。
【００５７】
さらに前記実施形態では、処理対象フィールドの処理内容を検索するためのテンプレート・メモリを、ヘッダ正当性確認／中継判定部４２に設けた場合を例にとって説明したが、同様の機能の同テンプレート・メモリをヘッダ解析部４１に設け、ヘッダ解析部４１内においてヘッダ解析結果をフィールドの処理内容に変換してこれをヘッダ正当性確認／中継判定部４２に与えるように構成してもよい。
【００５８】
その他、ネットワーク間接続装置の種類や、その中継処理部の回路構成、中継処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００５９】
【発明の効果】
以上詳述したようにこの発明に係わるネットワーク間接続装置では、連想記憶メモリを使用したヘッダ解析部において、受信した伝送フレームのプロトコル・ヘッダに含まれる所定のフィールド・データを予め記憶してある複数の基本フィールド・データと連想記憶メモリで同時比較して上記プロトコル・ヘッダの内容を解析する。そして、このヘッダ解析部の解析結果に応じて中継判定部により中継先に関する判定を行い、この中継判定部による判定結果に基づいて送信フレームを作成して送信する。
また上記中継判定部には、中継処理対象となるプロトコル・ヘッダのフィールドごとに予め定義された処理内容を記憶したテンプレート・メモリを設け、上記プロトコル・ヘッダの解析結果に応じて、中継処理対象となるプロトコル・ヘッダのフィールドに対応する処理内容を上記テンプレート・メモリから読み出す。またそれと共に、上記テンプレート・メモリ上に記述された中継処理対象のプロトコル・ヘッダのフィールドに対応する複数の受信フィールド・データをフレーム・バッファメモリから読み出し、この読み出した複数の受信フィールド・データに対し前記テンプレート・メモリから読み出された処理内容の処理を実行させるための複数の命令セルを命令セル生成手段により生成し、この生成された複数の命令セルを命令実行手段で並列に実行する。そして、上記複数の命令セルの実行により得られた処理結果に基づいて、中継の要否と中継先を判定するように構成している。
【００６０】
従ってこの発明によれば、中継処理対象となる複数のフィールド・データに対する処理が並列に実行されるので、中継判定をメモリの検索処理速度に依存せずにさらに高速化することができ、かつ運用開始後においても中継処理内容を変更可能にして、これにより中継速度の高速化と柔軟性の向上を図ることができるネットワーク間接続装置を提供することができる。
【図面の簡単な説明】
【図１】  この発明に係わるネットワーク間接続装置の一実施形態であるルータの構成を示すブロック図。
【図２】  図１に示したルータの中継処理部のハード構成を示すブロック図。
【図３】  図２に示した中継処理部のヘッダ解析部の構成を示す回路ブロック図。
【図４】  図１に示したルータが中継処理するイーサネット・フレームの構成の一例を示す図。
【図５】  図２に示した中継処理部の処理手順及び処理内容の前半部分を示すフローチャート。
【図６】  図２に示した中継処理部の処理手順及び処理内容の後半部分を示すフローチャート。
【図７】  受信フレームにおけるプロトコル識別用フィールドの位置を示す概略図。
【図８】  各プロトコル・ヘッダの解析動作を説明するための図。
【図９】  各プロトコル・ヘッダのプロトコル判定動作を説明するための図。
【図１０】  処理内容検索用テンプレートの構成の一例を示す図。
【図１１】  ヘッダ正当性確認／中継判定部の構成を示す図。
【図１２】  パイプライン処理の構成を示す図。
【符号の説明】
１ａ〜１ｎ…ＬＡＮ／ＷＡＮ
２ａ〜２ｎ…通信コントローラ
３…フレーム・バッファメモリ
４…中継処理部
５…マイクロプロセッサ（ＭＰＵ）
６…ローカルメモリ
７…システムバス
８…ローカルバス
４１…ヘッダ解析部
４２…ヘッダ正当性確認／中継判定部
４３…テーブル検索部
４４…チェックサム計算部
４５…フレーム作成送信処理部
４１１…データ連続検索処理回路
４１２…テーブル用メモリ
４１３−１〜４１３−ｍ…連想記憶メモリ（ＣＡＭ）
４１４，４１５，４１６…ゲート
４１７…レジスタ
４２１…命令実行部
４２２…命令セル生成部
【図１】
0004024943.tif 000002
【図２】
0004024943.tif 000003
【図３】
0004024943.tif 000004
【図４】
0004024943.tif 000005
【図５】
0004024943.tif 000006
【図６】
0004024943.tif 000007
【図７】
0004024943.tif 000008
【図８】
0004024943.tif 000009
【図９】
0004024943.tif 000010
【図１０】
0004024943.tif 000011
【図１１】
0004024943.tif 000012
【図１２】
0004024943.tif 000013