(57)【特許請求の範囲】
【請求項１】
受信したパケットを宛先に送出するために、ルーティングテーブル（１１）と、ＡＲＰ（アドレスレゾリューションプロトコル）テーブル（１２）とに基づいてルーティング処理を行う第１のルーティング処理部（２２）を有し、複数のＬＡＮを接続するためのルータ（２０）において、
受信したパケットに対し前記第１のルーティング処理部の処理で得られたデータリンク層のアドレスとインタフェース情報とを、当該パケットの宛先のネットワーク層のアドレスに対応づけて登録するためのメモリテーブル（２３）と、
受信したパケットのヘッダ部の各データをそれぞれ特定値と比較することによって、当該パケットが特定の条件を満たすか否かを判定するパケット判定手段（２５）と、
受信したパケットの宛先のネットワーク層のアドレスが前記メモリテーブルに登録されているか否かを判定する登録判定手段（２９）と、
受信したパケットが前記パケット判定手段で特定の条件を満たすと判定され、且つ当該パケットの宛先のネットワーク層のアドレスが前記登録判定手段で前記メモリテーブルに登録されていると判定されたとき、該メモリテーブルに登録されている情報を使用して当該パケットの宛先のネットワーク層のアドレスに対応するデータリンク層のアドレスを得てルーティング処理を行う第２のルーティング処理部（３０）とを設けたことを特徴とするルータ。
【請求項２】
前記宛先のネットワーク層のアドレスが他のルータを介して接続されるＬＡＮ端末装置である場合、前記データリンク層のアドレスが前記他のルータのデータリンク層のアドレスであることを特徴とする請求項１記載のルータ。
【請求項３】
前記第２のルーティング処理部は、前記ネットワーク層のアドレスに対応するデータリンク層のアドレスを得て、受信したパケットのデータリンク層のアドレスを更新して、宛先に送出することを特徴とする請求項１または請求項２記載のルータ。
【請求項４】
前記第１のルーティング処理部は、受信したパケットが前記パケット判定手段で特定の条件を満たしていないと判定されたとき、または、当該パケットの宛先のネットワーク層のアドレスが前記登録判定手段で前記メモリテーブルに登録されていないと判定されたときにルーティング処理を行い、該処理で得られたデータリンク層のアドレスとインタフェース情報と前記メモリテーブルに登録することを特徴とする請求項１または請求項２または請求項３記載のルータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＡＮ（ローカルエリアネットワーク）の間を接続するためのルータに関し、異なるＬＡＮの端末装置間で高速なパケット通信を行うための技術に関する。
【０００２】
【従来の技術】
一つの企業内や限定された地域内等のように比較的小規模な範囲内にある端末装置の間で通信を行うための通信網としてＬＡＮが利用されているが、そのネットワークを拡大する一つの方法として、ルータと呼ばれるＬＡＮ間接続装置を用いて異なるＬＡＮの間を接続する方法が用いられている。ルータは、ＯＳＩ参照モデルのネットワーク層以下の三層を変換することによって網間接続するものであり、主に受信したパケットのネットワーク層の宛先アドレスに基づいてそのパケットのデータリンク層のアドレスをパケットの宛先に順次近づけていくために更新して出力するルーティング処理を行っている。
【０００３】
なお、以下の説明では、ネットワーク層にＩＰ（インターネットプロトコル）を用いることを想定し、ネットワーク層のアドレスをＩＰアドレスと呼び、データリンク層のアドレスをＭＡＣアドレスと呼ぶ。
【０００４】
図７は、ルータ１０、１０′によって複数のＬＡＮ１〜４が接続された通信網を示している。
【０００５】
ここで、各ＬＡＮ１〜４には、そのネットワークを識別するためのネットワークアドレスが予め割当てられており、各ＬＡＮ１〜４の端末装置１ａ、…、２ａ、…、３ａ、…、４ａ、…には、その端末装置が属するＬＡＮのネットワークアドレスに応じて端末装置個々を識別するためのＩＰアドレスが割当てられている。また、各端末装置は、装置製造時等に登録された固有のＭＡＣアドレス（一般的には６オクテット長）を有している。
【０００６】
また、各ＬＡＮ１〜４に接続される各ルータ１０、１０′のインタフェースにも端末装置と同様に直接接続されているＬＡＮのネットワークアドレスに対応したＩＰアドレスが割当てられており、また、各インタフェース毎にＭＡＣアドレスが登録されている。
【０００７】
そして、ルータ１０、１０′は、あるＬＡＮの端末装置から他のＬＡＮの端末装置宛のパケットを受けて、このパケットをその送り先のＬＡＮへ伝えるための最適なルートを求めるために、ルーティングテーブルとＡＲＰ（アドレスレゾリューションプロトコル）テーブルという２種類のメモリテーブルを有している。
【０００８】
図８は、ルータ１０のルーティングテーブル１１とＡＲＰテーブル１２を示したものである。ここで、ルーティングテーブル１１の「ディスティネーション」の欄には、このルータ１０が接続可能なＬＡＮ１〜４のネットワークアドレスが記憶され、「ゲートウェイ」の欄には、「ディスティネーション」の欄にアドレスが記憶されているＬＡＮのうち、ＬＡＮ１〜３のようにルータ１０に直接接続されているＬＡＮに対してはゲートウェイがないことを表すために〔０．０．０．０〕のデータが記憶され、ＬＡＮ４のようにＬＡＮ２に接続されている別のルータ１０′を介して間接的に接続されているＬＡＮに対しては、そのルータ１０′のＬＡＮ２に対するインタフェースのＩＰアドレス〔２０．０．０．２〕が記憶されている。
【０００９】
また、「ネットマスク」の欄には、ルータ１０が受けたパケットからそのパケットを受け取るべき端末装置が属しているネットワークアドレスを求めるためのマスクデータ（４オクテット長）が記憶されている。また、「メトリック」の欄には、パケットを受け取る端末装置が属するＬＡＮまでの距離情報（通常はそのＬＡＮまでの間に介在するルータの数）が記憶されている。また、「インタフェース」の欄には、各ＬＡＮへの接続のためにどのインタフェースを用いるかを示すインタフェース番号が記憶されている。
【００１０】
一方、ＡＲＰテーブル１２には、このルータ１０に対して直接接続されているＬＡＮ１〜３の端末装置およびそのＬＡＮ２に直接接続されている別のルータ１０′のＬＡＮ２側のインタフェースのＩＰアドレスとＭＡＣアドレスとが対応付けられて記憶されている。
【００１１】
なお、ルータ１０′にも同様の２種類のメモリテーブルが設けられている。
【００１２】
図９は、ルータ１０のルーティング処理の手順を示すフローチャートである。以下、このフローチャートに基づいて例えばＬＡＮ１の端末装置１ａからＬＡＮ４の端末装置４ａに対してパケットを送る場合の動作について説明する。
【００１３】
始めに端末装置１ａが図１０の（ａ）に示すようなパケットＰ１をＬＡＮ１上へ送出する。
【００１４】
このパケットＰ１は、ＭＡＣヘッダ部Ｈａ、ＩＰヘッダ部Ｈｂ、データ部ＤａおよびＦＣＳ（フレーム検査シーケンス）を有しており、ＭＡＣヘッダ部Ｈａには、パケットの直接の送り先であるルータ１０のＭＡＣアドレス〔Ｒ11〕がディスティネーションＭＡＣアドレスＤＡMAC （以下、単にＤＡMAC と記す）として書き込まれ、端末装置１ａ自身のＭＡＣアドレス〔Ｔ11〕がソースＭＡＣアドレスＳＡMAC （以下、単にＳＡMAC と記す）として書き込まれ、ＩＰヘッダ部Ｈｂには端末装置１ａ自身のＩＰアドレス〔１０．０．０．５〕がソースＩＰアドレスＳＡIP（以下、単にＳＡIPと記す）として書込まれ、パケットＰ１の最終の受け取り先の端末装置４ａのＩＰアドレス〔１９２．１６８．２１．５〕がディスティネーションＩＰアドレスＤＡIP（以下、単にＤＡIPと記す）として書き込まれている。
【００１５】
図９に示しているようにルータ１０は、自分のインタフェースのＭＡＣアドレス〔Ｒ11〕がＤＡMAC として書き込まれたパケットＰ１をＬＡＮ１上で受信し、そのパケットＰ１のＤＡIP〔１９２．１６８．２１．５〕と、ルーティングテーブル１１の各ネットマスクとの論理積をとり、論理積をとった結果がその項の「ディスティネーション」の欄のネットワークアドレスと一致するものを求める（Ｓ１〜Ｓ４）。前記したテーブルでは上から４番目の項でネットマスク〔２５５．２５５．２５５．０〕（２５５は８ビット全て１のデータ、０は８ビット全て０のデータ）との論理積によってネットワークアドレス〔１９２．１６８．２１．０〕が一義的に決まるが、複数一致する場合にはメトリック値の少ないものを求める（Ｓ５、Ｓ６）。
【００１６】
次にこのネットワークアドレスに対応するゲートウェイアドレスの有無を調べる（Ｓ７）。この例の場合では、ゲートウェイアドレスとして〔２０．０．０．２〕が存在するので、ゲートウェイアドレスに対応したＭＡＣアドレス〔Ｒ21〕をＡＲＰテーブル１２から読み出す（Ｓ８）。なお、求めたネットワークアドレスに対応するゲートウェイアドレスが〔０．０．０．０〕の場合には、ＬＡＮ１上で受信したパケットのＤＡIPに対応するＭＡＣアドレスをＡＲＰテーブル１２から読み出す（Ｓ９）。
【００１７】
そして、図１０の（ｂ）に示すように、この求めたＭＡＣアドレス〔Ｒ21〕でＤＡMAC を更新し、ＬＡＮ２に接続されているルータ１０自身のインタフェースのＭＡＣアドレス〔Ｒ13〕でＳＡMAC を更新したパケットＰ２を先に求めたインタフェースからＬＡＮ２へ出力する（Ｓ１０）。
【００１８】
このルーティング処理は、ルータ１０′においても同様に行われる。即ち、ルータ１０′は、パケットＰ２をＬＡＮ２上で受信して、そのパケットＰ２のＤＡIP〔１９２．１６８．２１．５〕と自身のルーティングテーブルのマスクデータの論理積をとって、端末装置４ａが属するＬＡＮ４のネットワークアドレス〔１９２．１６８．２１．０〕を求め、そのＬＡＮが接続されているインタフェースを求め、さらにＤＡIP〔１９２．１６８．２１．５〕に対応するＭＡＣアドレス〔Ｔ41〕をＡＲＰテーブルから読み出し、図１０の（ｃ）のようにその読み出したＭＡＣアドレス〔Ｔ41〕と自身のＭＡＣアドレス〔Ｒ22〕とでＭＡＣヘッダ部Ｈａを更新したパケットＰ３をＬＡＮ４へ出力する。
【００１９】
ＬＡＮ４に接続されている端末装置４ａは、自身のＭＡＣアドレス〔Ｔ41〕がＭＡＣヘッダ部のＤＡMAC として書き込まれたパケットＰ３を受信する。
このようなルータ１０、１０′のルーティング処理によって異なるＬＡＮの端末装置の間でパケットの授受を確実に行うことができる。
【００２０】
なお、ルーティングテーブルで、直接接続されていることを表すために、ゲートウェイの項を〔０．０．０．０〕ではなくそのインタフェース自身のＩＰアドレスを記憶する場合もある。
【００２１】
【発明が解決しようとする課題】
しかしながら、上記のような従来のルータでは、パケットを受ける毎にメモリテーブル（ルーティングテーブル１１とＡＲＰテーブル１２）を２回参照し、ルーティングテーブル１１の検索ではネットマスクやメトリック値を考慮して最適のルートを求めるという複雑な処理を行うため必然的にソフトウェア処理になり、ルーティング処理を高速化できないという問題がある。特に、近年では、各ＬＡＮ内のデータ伝送速度は著しく高速化されているのに対し、このルーティング処理の速度は上記のような複雑な処理をソフトウェアでパケットを受ける毎に行っている関係で高速化できず、他のＬＡＮへのパケット伝送の効率が非常に低いものとなっていた。
【００２２】
また、近年では、地域的に離れたＬＡＮの間を接続するだけでなく、１つのスイッチングハブのコネクタに接続されている端末装置を複数のグループに分けて各グールプ毎にＶＬＡＮ（バーチャルＬＡＮ）を形成することも実現されており、このようなＶＬＡＮの間を接続するためのルータにおいては、異なるＶＬＡＮの端末装置同士が近距離にあっても高速にパケット伝送を行えないという不便さがあった。
【００２３】
本発明は、ＬＡＮに流れるパケットの大部分がある特定の条件を満たすものであることに着目したもので、高速なルーティング処理が可能なルータを実現することを目的としている。
【００２４】
【課題を解決するための手段】
前記目的を達成するために、本発明のルータは、
受信したパケットを宛先に送出するために、ルーティングテーブル（１１）と、ＡＲＰ（アドレスレゾリューションプロトコル）テーブル（１２）とに基づいてルーティング処理を行う第１のルーティング処理部（２２）を有し、複数のＬＡＮを接続するためのルータ（２０）において、
受信したパケットに対し前記第１のルーティング処理部の処理で得られたデータリンク層のアドレスとインタフェース情報とを、当該パケットの宛先のネットワーク層のアドレスに対応づけて登録するためのメモリテーブル（２３）と、
受信したパケットのヘッダ部の各データをそれぞれ特定値と比較することによって、当該パケットが特定の条件を満たすか否かを判定するパケット判定手段（２５）と、
受信したパケットの宛先のネットワーク層のアドレスが前記メモリテーブルに登録されているか否かを判定する登録判定手段（２９）と、
受信したパケットが前記パケット判定手段で特定の条件を満たすと判定され、且つ当該パケットの宛先のネットワーク層のアドレスが前記登録判定手段で前記メモリテーブルに登録されていると判定されたとき、該メモリテーブルに登録されている情報を使用して当該パケットの宛先のネットワーク層のアドレスに対応するデータリンク層のアドレスを得てルーティング処理を行う第２のルーティング処理部（３０）とを設けたことを特徴としている。
【００２５】
【発明の実施の形態】
以下、図面に基づいて本発明の一実施形態を説明する。
図１は、一実施形態のルータ２０、２０′を介して複数のＬＡＮ１〜４を接続して構成した通信網を示し、図２はルータ２０（２０′）の構成を示している。なお、ここでは、通信網の構成を図７に示した通信網と同一にし、各ＬＡＮ１〜４およびルータ２０、２０′のアドレスを前述したアドレスと同一に設定している。
【００２６】
図２に示しているように、このルータ２０には、複数のＬＡＮ１〜３に接続するための入出力部２１と、前記したルーティングテーブル１１およびＡＲＰテーブル１２と、この２つのメモリテーブルを用いて従来と同様のルーティング処理をプログラムにしたがって行うとともに、第３のメモリテーブル２３の作成管理を行う第１のルーティング処理部２２と、入出力部２１を介して受信したパケットが特定の条件を満たすものであるか否かを判定するパケット判定部２５と、入力したパケットのＤＡＩＰが第３のメモリテーブル２３に登録されているか否かを判定する登録判定回路２９と、パケット判定部２５で特定の条件を満たし且つ登録判定回路２９で登録済みと判定されたパケットのみに対するルーティング処理を第３のメモリテーブル２３を用いて専門に行う第２のルーティング処理部３０とが設けられている。
【００２７】
入出力部２１には、複数のＬＡＮに接続するためのインタフェース２１ａ、２１ｂ、２１ｃ、…が設けられている。各インタフェースは、接続されているＬＡＮ上で自分のＭＡＣアドレスをＤＡMAC とするパケットを内部へ取り込み、ルーティング処理されたパケットをＬＡＮへ出力する。
【００２８】
第１のルーティング処理部２２は、入力したパケットに対するルーティング処理をルーティングテーブル１１およびＡＲＰテーブル１２を用いて前述した従来のルータと同様に行い、且つ、例えば図３に示すような第３のメモリテーブル２３を作成する。
【００２９】
即ち、「ＩＰアドレス」の欄には、このルータ２０を経由して接続可能な全ての端末装置１ａ、…、２ａ、…、３ａ、…、４ａ、…およびルータ２０′のインタフェースのＩＰアドレスを書込み、「ＭＡＣアドレス」の欄には、「ＩＰアドレス」の欄のＩＰアドレスをもつ端末装置のうちルータ２０のインタフェースに直接接続されているＬＡＮの端末装置についてはその端末装置のＭＡＣアドレスを書込み、端末装置４ａのように別のルータ２０′を介して接続されたＬＡＮ４の端末装置については、そのルータ２０′のルータ２０側のインタフェースのＭＡＣアドレスを書き込む。
【００３０】
また、「インタフェース」の欄には、「ＭＡＣアドレス」の欄にＭＡＣアドレスが書き込まれた各端末装置およびルータへパケットを送り出すためのインタフェース番号が書き込まれている。
【００３１】
つまり、この第３のメモリテーブル２３には、受信したパケットのＤＡIPに対して、第１のルーティング処理部２２が従来から行っていたルーティング処理の結果によって得られる最適なルートを第３のメモリテーブル２３に予め登録していることになる。
【００３２】
パケット判定部２５は、ＭＡＣフレーム検査回路２６、ＩＰヘッダ検査回路２７および誤り検査回路２８によって構成されている。
【００３３】
このパケット判定部２５は、受信したパケットが特定の条件を満たしているか否かを判定するためのものであり、図４に示すようにそのパケットのＭＡＣヘッダ部とＩＰヘッダ部のデータを特定データと比較することによって各検査を行う。
【００３４】
ＭＡＣフレーム検査回路２６は、入出力部２１から入力されたパケットがＬＡＮのプロトコルのうちＩＰのプロトコルにしたがったものであり、且つ、放送用パケットでないものであるか否かを、パケットのＭＡＣヘッダ部のＴＹＰＥ情報およびＤＡMAC をそれぞれ特定データとの比較によって判定し、ＩＰでないパケット（例えばＩＰＸ、ＡｐｐｌｅＴａｌｋ等）や放送用パケットの場合には、そのパケットを第１のルーティング処理部２２へ出力する。
【００３５】
ＩＰヘッダ検査回路２７は、パケットのＩＰヘッダ部のヘッダ長ＨＬ、バージョンＶおよびＴＴＬ（Ｔｉｍｅ  ｔｏ  Ｌｉｖｅ）値を検査し、例えばヘッダ長ＨＬが５以外のパケット、バージョンＶが４以外のパケット、およびＴＴＬ値が１以下のパケットについては第１のルーティング処理部２２へ出力する。なお、ＴＴＬ値は、一つのパケットがその最終の送り先の端末装置へのルートの途中でループ経路に入って永久にネットワーク上に存在して他のパケットの通信を妨害することを防ぐために使用するものであり、ルータを通る毎にその値を減少して所定値以下になったら、このパケットは第１のルーティング処理部２２において破棄される。
【００３６】
誤り検査回路２８は、パケットのＩＰヘッダ部のチェックサムＣＳに基づいてＩＰヘッダ部の誤り検査を行い、誤りがある場合にはそのパケットを第１のルーティング処理部２２へ送ってこのパケットを処理させる。
【００３７】
登録判定回路２９は、パケット判定部２５で特定の条件を満たしていると判定されたパケットのＤＡIPが、第３のメモリテーブル２３に登録されているか否かを判定し、未登録であればそのパケットを第１のルーティング処理部２２へ出力する。
【００３８】
第２のルーティング処理部３０は、前記した特定の条件、即ち、プロトコルがＩＰ、非放送用パケット、ヘッダ長ＨＬが５、バージョンＶが４、ＴＴＬ値が２以上、ＩＰヘッダ部に誤りが無いという条件を満たし、且つＤＡIPが第３のメモリテーブル２３に登録済みであれば、そのパケットに対するルーティング処理を第３のメモリテーブル２３に基づいて行う。
【００３９】
第２のルーティング処理部３０には、ＩＰヘッダ更新回路３１とＭＡＣヘッダ更新回路３２が設けられている。
【００４０】
ＩＰヘッダ更新回路３１は、特定の条件を満たしたパケットのＩＰヘッダ部のＴＴＬ値を所定値だけ減少させ、このＴＴＬの減少にともなうチェックサムＣＳの変更を行う。
【００４１】
ＭＡＣヘッダ更新回路３２は、特定の条件を満たしたパケットのＤＡIPに対応するＭＡＣアドレスとインタフェース番号を第３のメモリテーブル２３から求め、この求めたＭＡＣアドレスでパケットのＤＡMAC を更新し、求めたインタフェースのＭＡＣアドレスでＳＡMAC を更新して、そのインタフェースから出力する。
【００４２】
なお、前記パケット判定部２５、登録判定回路２９および第２のルーティング処理部３０を構成している各回路は、第１のルーティング処理部２２のように複雑な処理を実行する必要がなく、主にパケットの所定ビット位置のデータに対する比較と書換えしか行わないので、専用化された高速なロジック回路で簡単に構成することができ、前記特定の条件を満たすパケットに対するルーティング処理を極めて高速に行うことができる。なお、ルータ２０′の構成もこのルータ２０と全く同様（各メモリテーブルの内容は異なる）に構成されている。
【００４３】
図５はルータ２０（２０′）の処理手順を示すフローチャートである。以下、このフローチャートに基づいてルータ２０（２０′）の動作を説明する。
【００４４】
例えば図１０の（ａ）に示したパケットＰ１がＬＡＮ１の端末装置１ａから出力されると、ルータ２０がこのパケットを受信してパケット判定部２５および登録判定回路２９によって前記した特定の条件を満たし且つそのパケットのＤＡIPが第３のメモリテーブル２３に登録済みか否かを判定する（Ｓ１〜Ｓ３）。
【００４５】
そして、パケットが特定の条件を満たし且つそのＤＡIPが登録済みの場合には、第２のルーティング処理部３０によってそのパケットのＩＰヘッダ部のＴＴＬ値とチェックサムを更新し、登録判定回路２９で登録済みと判定されたＤＡIP〔１９２．１６８．２１．５〕に対応するＭＡＣアドレス〔Ｒ21〕とインタフェース番号〔２〕を第３のメモリテーブル２３から読み出し、図１０の（ｂ）に示したように、この読み出したＭＡＣアドレス〔Ｒ21〕とインタフェース２１ｂのＭＡＣアドレス〔Ｒ12〕によってＭＡＣヘッダ部Ｈａを更新したパケットＰ２を、番号２のインタフェース２１ｂからＬＡＮ２へ出力する（Ｓ４〜Ｓ６）。
【００４６】
また、受信したパケットが特定の条件を満たしていないと判定された場合や、そのＤＡIPが第３のメモリテーブル２３に登録されていない場合、そのパケットは第１のルーティング処理部２２で従来のルーティング処理を受けて出力される（Ｓ７）。このとき、第１のルーティング処理部２２では、必要であればルーティングテーブル１１とＡＲＰテーブル１２を更新し、また、ＤＡIPが第３のメモリテーブル２３に登録されていなければこれを登録して、第３のメモリテーブル２３を再構成する（Ｓ８、Ｓ９）。
【００４７】
したがって、例えば受信したパケットのＤＡIPが第３のメモリテーブル２３に未登録であって、そのパケットに対するルーティング処理が第１のルーティング処理部２２で行われた場合には、このパケットのＤＡIPに対応するＭＡＣアドレスおよびインタフェース番号が第３のメモリテーブル２３に登録されることになり、次回に同一宛先のパケットを受けたときには、第２のルーティング処理部３０による高速なルーティングが可能になる。
【００４８】
ルータ２０からＬＡＮ２へ出力されたパケットＰ２は、ルータ２０′で受信される。ルータ２０′も前記ルータ２０と同様の処理を高速に行って図１０の（ｃ）に示したように端末装置４ａのＭＡＣアドレス〔Ｔ41〕と自身のＭＡＣアドレス〔Ｒ22〕でＭＡＣヘッダ部Ｈａを更新したパケットＰ３をＬＡＮ４へ出力し、端末装置４ａはこのパケットＰ３を受信する。
【００４９】
以上のように、この実施形態のルータ２０、２０′は、ルーティングテーブル１１およびＡＲＰテーブル１２だけでなく、パケットのＤＡIPに対して最適な最寄りのルートに対応するＭＡＣアドレスとインタフェースとが予め登録されている第３のメモリテーブル２３を用いるとともに、前記した特定の条件を満たすパケット、即ちＬＡＮ上に流れる大部分のパケットに対して専用化された第２のルーティング処理部３０を備えているので、従来のように全てのパケットに対してルーティングテーブル１１およびＡＲＰテーブル１２の２種類のメモリテーブルを参照して最適なルートを求める方法に比べて、パケットの伝送効率が格段に向上し、ＬＡＮの高速化に適応することができる。
【００５０】
なお、前記実施形態では、ルータ２０だけでなくこのルータ２０にＬＡＮを介して接続されているルータ２０′を同一構成としていたが、ルータ２０′が従来のようなソフトウエアのみによるルーティング処理を行うルータであってもよい。
【００５１】
また、上記説明では、第１のルーティング処理部２２がＩＰ用のルーティングテーブルとＡＲＰテーブルに基づいてルーティング処理を行う場合について説明したが、ＩＰを含む複数種類のプロトコルに対応している第１のルーティング処理部を用いてもよい。
【００５２】
【他の実施の形態】
前記実施形態では、パケット判定部２５の各検査回路２６〜２８および登録判定回路２９とをシリーズに接続していたが、これらの各検査および判定は各回路の検査結果がでるまでの時間の違いを考慮して並列に接続してもよい。例えば、各検査回路２６〜２８のうち、単にパケットのデータの比較だけで済むＭＡＣフレーム検査とＩＰヘッダ検査をシーケンシャルに行い、これと並行して計算が必要な誤り検査を行うようにしたり、また、パケットが特定の条件を満たしているか否かにかかわらず受信したパケットに対する登録判定を、パケット判定と並行して行うようにしてもよい。
【００５３】
また、スイッチングハブの複数の接続ポートに接続されている端末装置を複数のグループに分けてその各グループを仮想的なＬＡＮ（ＶＬＡＮ）とし、そのＶＬＡＮ間でパケットを転送するルータの場合には、図６に示す第３のメモリテーブル２３′のように、「インタフェース」の欄の代わりに「ＶＬＡＮ  ＩＤ」の欄と「ポート番号」の欄を設け、各ＩＰアドレスに対応したＶＬＡＮのＩＤ番号とポート番号を予め登録しておく。そして、第２のルーティング処理部３０でＭＡＣヘッダ部を更新したパケットを、対応するＶＬＡＮのＩＤ番号とポート番号とともにスイッチングハブのインタフェース部へ送って端末装置あるいは他のルータへ送るようにする。また、この場合、ある接続ポートに接続されていた端末装置を別の接続ポートに接続したり、ポートのＶＬＡＮＩＤを変更してしまうと、その端末装置宛のパケットを元の接続ポートに送出し続けたり、古いＶＬＡＮＩＤのまま送出し続けてしまう恐れがある。これを避けるために、受信したパケットの先頭にそのパケットを受信した接続ポートの番号とＶＬＡＮＩＤをインタフェースで付加し、登録判定回路２９においてそのパケットのＳＡIPに対応する接続ポート番号とＶＬＡＮＩＤを第３のメモリテーブル２３′から求め、求めた接続ポート番号とＶＬＡＮＩＤをインタフェースで付加した接続ポート番号やＶＬＡＮＩＤと比較して、不一致の場合には、このＳＡIPに対応するデータを第３のメモリテーブル２３′から削除する。なお、それまでと異なる接続ポートに接続された端末装置がその新たに接続された接続ポートからパケットを受信したときに、第１のルーティング処理部２２が第３のメモリテーブル２３′にその端末装置の各情報を登録し、同様に、ＶＬＡＮＩＤが変更された接続ポートに接続されている端末装置からのパケットを新たに受信したときに、第１のルーティング処理部２２が第３のメモリテーブル２３′にその端末装置の各情報を登録する。
【００５４】
また、前記実施形態では、ＩＰのプロトコルのパケットに対するルーティング処理を第２のルーティング処理部３０が専門に行うようにしていたが、ＩＰ以外のプルトコル、例えばＩＰＸのパケットが最も頻繁に使われているようなネットワークに用いられるルータの場合には、ＩＰの代わりにＩＰＸのプロトコルを判定するための手段を設け、このＩＰＸのパケットに対するルーティング処理を専用に行えるように第２のルーティング処理部を構成すればよい。なお、この場合には、第１のルーティング処理部２２が少なくともＩＰＸのパケットに対応している必要がある。また、第１のルーティング処理部２２が、複数のプロトコル、例えばＩＰとＡｐｐｌｅＴａｌｋに対応している場合には、ＩＰの特定条件を満たすパケットとＡｐｐｌｅＴａｌｋの特定条件を満たすパケットに対して、それぞれ専用のルーティング処理を行う第２、第３のルーティング処理部を設けて、これらのパケットに対するルーティング処理を高速に行うようにしてもよい。
【００５５】
【発明の効果】
以上説明したように、本発明のルータは、パケットのネットワーク層の宛先アドレスに対して最適な最寄りのルートに対応するデータリンク層のアドレスとインタフェースを指定する情報とを登録するためのメモリテーブルを設け、しかも、このメモリテーブルにネットワーク層のアドレスが登録され且つ特定の条件を満たすパケットに対してルーティング処理を行う専用の第２のルーティング処理部を設けたので、この特定条件を満たし且つネットワーク層の宛先アドレスがメモリテーブルに登録されているパケットに対するルーティング処理を、従来のようなマスク処理やメトリック値の判定等を行うことなく、極めて高速に行うことができ、この特定の条件として最も利用頻度の高いパケットの条件を設定することで、通信網のパケットの伝送効率を格段に向上させることができ、ＬＡＮの高速化に適応することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態のルータを用いた通信網を示す図
【図２】一実施形態の構成を示すブロック図
【図３】第３のメモリテーブルの内容を示す図
【図４】受信したパケットに対するパケット判定部の判定対象との関係を示す図
【図５】一実施形態のルータの処理手順を示すフローチャート
【図６】ＶＬＡＮの間を接続する場合の第３のメモリテーブルの内容を示す図
【図７】従来のルータを用いた通信網を示す図
【図８】従来のルータに用いられているメモリテーブルの内容を示す図
【図９】従来のルータの処理手順を示すフローチャート
【図１０】通信網に出力されたパケットの変化を示す図
【符号の説明】
１〜４  ＬＡＮ
１１  ルーティングテーブル
１２  ＡＲＰテーブル
２０、２０′  ルータ
２１  入出力部
２１ａ〜２１ｃ  インタフェース
２２  第１のルーティング処理部
２３  第３のメモリテーブル
２５  パケット判定部
２６  ＭＡＣフレーム検査回路
２７  ＩＰヘッダ検査回路
２８  誤り検査回路
２９  登録判定回路
３０  第２のルーティング処理部
３１  ＩＰヘッダ更新回路
３２  ＭＡＣヘッダ更新回路
【図１】
0003638742.tif 000002
【図２】
0003638742.tif 000003
【図３】
0003638742.tif 000004
【図４】
0003638742.tif 000005
【図５】
0003638742.tif 000006
【図６】
0003638742.tif 000007
【図７】
0003638742.tif 000008
【図８】
0003638742.tif 000009
【図９】
0003638742.tif 000010
【図１０】
0003638742.tif 000011