(57)【特許請求の範囲】
【請求項１】
複数のホストおよびこれらのホスト間でパケットを転送するルータを有するパケット送受信システムにおいて、
前記ホストは、
当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰ（Internet Protocol）アドレスと、データリンク層のリンクアドレスとを対応付けて格納した第１の格納手段と、
所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する判定手段と、
前記判定手段によって、前記所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、前記所定のホストが有するＩＰアドレスを参照し、前記第１の格納手段から対応するリンクアドレスを取得するリンクアドレス取得手段と、
前記パケットに対して前記所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する付加手段と、
前記付加手段によって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する第１の送信手段と、を有し、
前記ルータは、
１または２以上のホストが接続された複数のポートと、
前記ポートを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納した第２の格納手段と、
前記所定のホストから送信され、対応するポートから入力されたパケットを受信する受信手段と、
前記受信手段によって受信したパケットから宛先ＩＰアドレスを抽出する宛先ＩＰアドレス抽出手段と、
前記宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する第２のネットワークアドレス特定手段と、
前記第２のネットワークアドレス特定手段によって特定された第２のネットワークアドレスに対応するポートを前記第２の格納手段を参照して特定するポート特定手段と、
前記ポート特定手段によって特定されたポートを介して前記パケットを送信する第２の送信手段と、を有する、
ことを特徴とするパケット送受信システム。
【請求項２】
前記リンクアドレスは、ＭＡＣ（Media Access Control）アドレスであることを特徴とする請求項１記載のパケット送受信システム。
【請求項３】
前記ホストが第１のネットワークアドレスを特定するために使用するサブネットマスクと、前記ルータが第２のネットワークアドレスを特定するためのサブネットマスクとは、その有効データ長が異なっていることを特徴とする請求項１記載のパケット送受信システム。
【請求項４】
前記ルータは、前記受信手段によって受信されたパケットを、必要に応じて破棄する破棄手段を更に有することを特徴とする請求項１記載のパケット送受信システム。
【請求項５】
ルータを介して他のホストとの間でパケットを送受信するホストにおいて、
当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレスとを対応付けて格納した格納手段と、
所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する判定手段と、
前記判定手段によって、前記所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、前記所定のホストが有するＩＰアドレスを参照し、前記格納手段から対応するリンクアドレスを取得するリンクアドレス取得手段と、
前記パケットに対して前記所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する付加手段と、
前記付加手段によって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する送信手段と、
を有することを特徴とするホスト。
【請求項６】
ルータを介して他のホストとの間でパケットを送受信するホストにおいて実行されるプログラムにおいて、
前記ホストを、
当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレスとを対応付けて格納した格納手段、
所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する判定手段、
前記判定手段によって、前記所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、前記所定のホストが有するＩＰアドレスを参照し、前記格納手段から対応するリンクアドレスを取得するリンクアドレス取得手段、
前記パケットに対して前記所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する付加手段、
前記付加手段によって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する送信手段、
として機能させるプログラム。
【請求項７】
１または２以上のホストからなる第１のホスト群から、１または２以上のホストからなる第２のホスト群に、ルータを介してパケットを転送するパケット送受信システムにおいて、
前記第１のホスト群に含まれる第１のホストは、前記第２のホスト群に含まれる転送先の第２のホストのＩＰアドレスとリンクアドレスとを付加する付加手段と、該パケットを送出する第１の送信手段とを有し、
前記ルータは、前記パケットに付加された前記ＩＰアドレスに基づいて前記第２のホスト群が接続されるポートを特定するポート特定手段と、該ポートから前記パケットを送出する第２の送信手段とを有している、
ことを特徴とするパケット送受信システム。
【請求項８】
前記第１のホストは、前記第２のホストが第１のネットワークアドレスに含まれるか否かを前記ＩＰアドレスと第１のサブネットマスクとに基づいて判定する判定手段を有することを特徴とする請求項７記載のパケット送受信システム。
【請求項９】
前記ルータは、前記ＩＰアドレスと第２のサブネットマスクとに基づいて前記第２のホストが含まれる第２のネットワークアドレスを特定するネットワークアドレス特定手段を有することを特徴とする請求項７または８記載のパケット送受信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット送受信システム、ホスト、ルータ、半導体装置、および、プログラムに関し、特に、複数のホストおよびこれらのホスト間でパケットを転送するルータを有するパケット送受信システム、そのようなシステムにおいて使用されるホスト、ルータ、半導体装置、および、プログラムに関する。
【０００２】
【従来の技術】
社会における情報化の進展により、規模の大小を問わず、多くの企業がＬＡＮ（Local Area Network）を構築している。また、インターネットの急速な普及に伴い、一般家庭においてもＬＡＮを構築することはめずらしいことではなくなってきている。
【０００３】
ところで、ＬＡＮを構成する場合には、ハブ、スイッチ、ルータ、Ｌ３（Layer three）スイッチ等のように、パケットを転送するパケット転送装置は、欠くことができない構成要素である。
【０００４】
これらのパケット転送装置のうち、ハブとスイッチは、ＬＡＮの内部のみで使用される。ハブはリピータとも呼ばれ、あるポートから入力されたパケットを他の全てのポートに出力する装置である。また、スイッチはリンク層レベル（イーサネット（登録商標））のアドレス（ＭＡＣアドレス）を参照して、パケットを該当するポートに転送する処理を行う装置である。
【０００５】
ルータやＬ３スイッチ（以下、単にルータと称する）は、ＬＡＮと外部のＷＡＮ（Wide Area Network）を接続する場合や、異なるＬＡＮセグメントを接続する場合に用いられ、基本的にネットワーク層レベル（ＩＰプロトコル）のアドレス（ＩＰアドレス）を参照して経路を選択する装置である。
【０００６】
図１１は、従来のスイッチを含むシステムの構成例を示す図である。この図において、ホスト１０〜１２は、Ｌ２スイッチ１３を介して接続されており、パケットを送受信する。なお、ホスト１０〜１２は、同一のサブネットに属している。
【０００７】
Ｌ２スイッチ１３は、所定のホストから受信したパケットを、その宛先に応じたポートから出力することにより、パケットを宛先のホストに転送する。
次に、以上の従来例の動作について説明する。
【０００８】
以下では、ホスト１０が異なるサブネットに属するホスト１２に対してパケットを転送する場合を例に挙げて説明する。
ホスト１０は、パケットの転送先であるホスト１２のＩＰアドレスを取得するとともに、ＡＲＰ（Address Resolution Protocol）テーブルを参照してホスト１２のＭＡＣアドレスを特定する。
【０００９】
図１２は、ホスト１０が有するＡＲＰテーブルの一例を示す図である。この例では、ホスト１１のＭＡＣアドレスとＩＰアドレス、および、ホスト１２のＭＡＣアドレスとＩＰアドレスが格納されている。
【００１０】
ホスト１０は、ホスト１２のＩＰアドレスである「１９２．１７７．２．１」に対応するＭＡＣアドレス「ｂｂｂｂｂｂｂｂｂｂｂｂ」を図１２に示すＡＲＰテーブルから取得する。そして、パケットのヘッダに、これらのＩＰアドレスとＭＡＣアドレスとをそれぞれ宛先ＩＰアドレスおよび宛先ＭＡＣアドレスとして付加し、Ｌ２スイッチ１３に送信する。
【００１１】
Ｌ２スイッチ１３は、ホスト１０から送信されたパケットを受信し、ヘッダから宛先ＭＡＣアドレスを抽出する。いまの例では、宛先ＭＡＣアドレス「ｂｂｂｂｂｂｂｂｂｂｂｂ」が抽出される。
【００１２】
次に、Ｌ２スイッチ１３は、図１３に示す経路テーブルを参照し、宛先ＭＡＣアドレスに対応するポートを特定する。図１３に示す経路テーブルは、ＭＡＣアドレスとポート番号とが関連付けられて格納されている。いまの例では、抽出された宛先ＭＡＣアドレスは「ｂｂｂｂｂｂｂｂｂｂｂｂ」であるので、ポート番号として「３」が取得される。
【００１３】
続いて、Ｌ２スイッチ１３は、パケットを、ポート番号が「３」であるポート（ホスト１２が接続されているポート）から出力する。その結果、パケットはホスト１２に転送されることになる。
【００１４】
ホスト１２は、受信したパケットのヘッダから宛先ＭＡＣアドレスを抽出し、自己のＭＡＣアドレスと同一である場合にはこのパケットを取り込み、それ以外の場合にはパケットを破棄する。いまの例では、受信したパケットの宛先ＭＡＣアドレスはホスト１２のそれと同一であるので、受信したパケットを取り込むことになる。
【００１５】
以上の処理により、パケットをＭＡＣアドレスに基づいて転送することができる。
次に、図１４を参照して、従来のルータを含むシステムの構成例について説明する。
【００１６】
この図において、ホスト１０〜１２は、Ｌ２スイッチ１３を介して接続されており、パケットを相互に送受信する。Ｌ２スイッチ１３は、ホスト１０〜１２からのパケットをホスト１０〜１２またはルータ１４に転送するとともに、ルータ１４からのパケットをホスト１０〜１２に転送する。
【００１７】
ルータ１４は、Ｌ２スイッチ１３およびＬ２スイッチ１５からのパケットを所定のポートを介して受信し、ヘッダ情報に記述された情報に応じたポートから出力する。
【００１８】
Ｌ２スイッチ１５は、ホスト１６〜１８からのパケットをホスト１６〜１８またはルータ１４に転送するとともに、ルータ１４からのパケットをホスト１６〜１８に転送する。
【００１９】
なお、ホスト１０〜１２は、同一のサブネットに属しており、また、ホスト１６〜１８は他のサブネットに属している。
図１５は、ルータ１４の詳細な構成例を示す図である。この図に示すように、ルータ１４は、入出力ポート１４ａ〜１４ｃ、宛先ＭＡＣアドレス抽出手段１４ｄ、宛先ＭＡＣアドレス比較手段１４ｅ、宛先ＩＰアドレス抽出手段１４ｆ、経路テーブル１４ｇ、ＡＲＰテーブル１４ｈ、ＴＴＬ（Time To Live）減算手段１４ｉ、ＭＡＣアドレス付け替え手段１４ｊ、および、ＣＲＣ（Cyclic Redundancy Check）再計算手段１４ｋによって構成されている。
【００２０】
ここで、入出力ポート１４ａ〜１４ｃは、パケットを入出力するためのポートであり、図１４の例では、入出力ポート１４ａがＬ２スイッチ１３に、また、入出力ポート１４ｂがＬ２スイッチ１５に接続されている。
【００２１】
宛先ＭＡＣアドレス抽出手段１４ｄは、入出力ポート１４ａ〜１４ｃによって受信されたパケットのヘッダから宛先ＭＡＣアドレスを抽出する。
宛先ＭＡＣアドレス比較手段１４ｅは、宛先ＭＡＣアドレス抽出手段１４ｄによって抽出されたＭＡＣアドレスと、自己が有するＭＡＣアドレスとを比較し、そのパケットが自己に宛てられたものであるか否かを判定する。
【００２２】
宛先ＩＰアドレス抽出手段１４ｆは、入出力ポート１４ａ〜１４ｃによって受信されたパケットのヘッダから宛先ＩＰアドレスを抽出する。
経路テーブル１４ｇは、図１６に示すように、ＩＰアドレス（サブネットのＩＰアドレス）とポート番号とが対応付けられたテーブルである。
【００２３】
ＡＲＰテーブル１４ｈは、図１７に示すように、ホストのＩＰアドレスとＭＡＣアドレスとが対応付けて格納されたテーブルである。
ＴＴＬ減算手段１４ｉは、パケット送信時にヘッダに付加されたＴＴＬ値を減算し、この値が「０」になった場合には、そのパケットを破棄する。
【００２４】
ＭＡＣアドレス付け替え手段１４ｊは、自己のＭＡＣアドレスが付加されたパケットについては、その自己のＭＡＣアドレスを、送信先のホストのＭＡＣアドレスに付け替える処理を実行する。
【００２５】
ＣＲＣ再計算手段１４ｋは、データが正しく伝送されているか否かをチェックするためのＣＲＣコードを、ＭＡＣアドレス付け替え手段１４ｊによってＭＡＣアドレスが新たに付け替えられたパケットを対象として再計算し、再度付加する。
【００２６】
次に、以上の従来例の動作について説明する。
以下では、ホスト１０が異なるサブネットに属するホスト１６に対してパケットを送信する場合を例に挙げて説明する。
【００２７】
先ず、ホスト１０は、送信先であるホスト１６のＩＰアドレスを取得する。図１４の例では、ホスト１６のＩＰアドレス「１９２．１７７．２．１」が取得される。
【００２８】
次に、ホスト１０は、サブネットマスクを用いて送信先のサブネットアドレスを算出する。具体的には、ホスト１０は、ホスト１６のＩＰアドレス「１９２．１７７．２．１」とサブネットマスクである「２５５．２５５．２５５．０」との論理積を演算し、得られた値をサブネットアドレスとする。いまの例では、「１９２．１７７．２．０」が得られる。
【００２９】
ホスト１０は、サブネットアドレスと、自己のＩＰアドレスとを比較し、送信先のホスト１６が自己と同一のサブネットに属しているか否かを判定する。いまの例では、ホスト１０のサブネットアドレスは、「１９２．１７７．１．０」であり、ホスト１６のサブネットアドレスは、「１９２．１７７．２．０」であるので、同一のサブネットには属していないと判断し、宛先ＭＡＣアドレスとして、ホスト１６のＭＡＣアドレスではなく、ルータ１４のＭＡＣアドレスである「ｃｃｃｃｃｃｃｃｃｃｃｃ」をパケットのヘッダに付加し、また、宛先ＩＰアドレスとしてホスト１６のＩＰアドレス「１９２．１７７．２．１」を付加する。更に、ＴＴＬおよびＣＲＣを算出し、ヘッダに付加する。そして、Ｌ２スイッチ１３に対して送信する。
【００３０】
Ｌ２スイッチ１３は、ホスト１０からパケットを受信し、ヘッダに付加されている宛先ＭＡＣアドレスを抽出し、ルータ１４に向けて送信されたパケットであることを認知し、該当するポート（ルータ１４が接続されたポート）から出力する。
【００３１】
パケットを受信したルータ１４は、宛先ＭＡＣアドレスを抽出し、自己宛のパケットであるか否かを判定し、自己宛である場合には、先ず、ヘッダに付加されているＴＴＬを「１」だけ減算する。続いて、ヘッダから宛先ＩＰアドレス「１９２．１７７．２．１」を抽出し、サブネットマスクである「２５５．２５５．２５５．０」との論理積を演算し、サブネットアドレスを算出する。そして、図１６に示す経路テーブルを参照し、サブネットアドレスに対応するポート番号を特定する。いまの例では、宛先ＩＰアドレスは、「１９２．１７７．２．１」であるので、サブネットアドレスは「１９２．１７７．２．０」となり、経路テーブルからはポート番号「２」が取得される。
【００３２】
続いて、図１７に示すＡＲＰテーブルを参照し、宛先ＩＰアドレスに対応するＭＡＣアドレスを取得し、ヘッダのＭＡＣアドレスを付け替える。いまの例では、宛先ＩＰアドレスは「１９２．１７７．２．１」であるので、該当するＭＡＣアドレスとして「ｂｂｂｂｂｂｂｂｂｂｂｂ」が取得され、これによって宛先ＭＡＣアドレスの付け替えが行われる。そして、付け替えが終わったパケットのＣＲＣが再計算され、付加される。そして、先に特定されたポートからパケットが出力される。
【００３３】
ルータ１４から出力されたパケットを受信したＬ２スイッチ１５は、ヘッダから宛先ＭＡＣアドレスを抽出し、このパケットがホスト１６に向けて送信されたものであることを検知し、ホスト１６が接続されているポートから出力する。
【００３４】
ホスト１６は、Ｌ２スイッチ１５から出力されたパケットを受信し、ヘッダから宛先ＭＡＣアドレスを抽出する。そして、自己のＭＡＣアドレスと比較することにより、パケットが自己宛であることを了知し、パケットを取り込む。
【００３５】
以上の処理により、ルータ１４を介して異なるサブネットに属するホスト間でパケットを転送することができる。
次に、以上の処理を実現するためのフローチャートについて説明する。
【００３６】
図１８は、ホストにおいてパケットを送信する際に実行されるフローチャートである。このフローチャートが開始されると、以下のステップが実行される。
ステップＳ１０：
パケットを送信しようとするホストのＩＰアドレスを取得する。
【００３７】
ステップＳ１１：
取得したＩＰアドレスと、サブネットマスクである「２５５．２５５．２５５．０」との論理積を演算し、サブネットアドレスを算出する。
【００３８】
ステップＳ１２：
パケットを送信しようとするホストが属しているサブネットと、自己とが同一のサブネットに属しているか否かを判定し、同一のサブネットに属している場合にはステップＳ１４に進み、それ以外の場合にはステップＳ１３に進む。
【００３９】
ステップＳ１３：
宛先ＭＡＣアドレスとして、ルータ１４のＭＡＣアドレスを採用する。
ステップＳ１４：
宛先ＭＡＣアドレスとして、パケットを送信しようとするホストのＭＡＣアドレスを採用する。
【００４０】
ステップＳ１５：
パケットを送信しようとするホストのＩＰアドレスを、宛先ＩＰアドレスとして採用する。
【００４１】
ステップＳ１６：
宛先ＩＰアドレスと、宛先ＭＡＣアドレスとをヘッダに付加する。
ステップＳ１７：
ＴＴＬとＣＲＣを算出し、付加する。
【００４２】
ステップＳ１８：
パケットを送信する。
以上の処理により、ホストがパケットを所定のホストに向けて送出することができる。
【００４３】
次に、図１９を参照して、ルータ１４において実行されるフローチャートについて説明する。このフローチャートが開始されると、以下のステップが実行される。
【００４４】
ステップＳ２０：
入出力ポートは、パケットを受信する。
ステップＳ２１：
宛先ＭＡＣアドレス抽出手段１４ｄは、受信したパケットのヘッダから宛先ＭＡＣアドレスを抽出する。
【００４５】
ステップＳ２２：
宛先ＭＡＣアドレス比較手段１４ｅは、宛先ＭＡＣアドレスと、自己のＭＡＣアドレスとを比較し、そのパケットが自己宛であるか否かを判定し、自己宛である場合にはステップＳ２４に進み、それ以外の場合にはステップＳ２３に進む。
【００４６】
ステップＳ２３：
パケットを破棄する。
ステップＳ２４：
ＴＴＬ減算手段１４ｉは、ヘッダに付加されているＴＴＬを減算する。
【００４７】
ステップＳ２５：
宛先ＩＰアドレス抽出手段１４ｆは、宛先ＩＰアドレスをヘッダから取得する。
【００４８】
ステップＳ２６：
経路テーブル１４ｇは、宛先ＩＰアドレスと、サブネットマスクである「２５５．２５５．２５５．０」との論理積を演算し、パケットの送信先のホストが属するサブネットアドレスを算出する。
【００４９】
ステップＳ２７：
経路テーブル１４ｇは、ステップＳ２６において得られたサブネットアドレスに対応する入出力ポートを特定する。
【００５０】
ステップＳ２８：
ＡＲＰテーブル１４ｈは、ステップＳ２５において抽出された宛先ＩＰアドレスに対応するＭＡＣアドレスを特定する。
【００５１】
ステップＳ２９：
ＭＡＣアドレス付け替え手段１４ｊは、既存の宛先ＭＡＣアドレスを、ステップＳ２８で特定したＭＡＣアドレスによって付け替える。
【００５２】
ステップＳ３０：
ＣＲＣ再計算手段１４ｋは、ＭＡＣアドレスおよびＴＴＬが更新されたパケットのＣＲＣを再計算する。
【００５３】
ステップＳ３１：
ステップＳ２７において特定された入出力ポートは、パケットを出力する。
以上の処理により、ルータ１４がパケットを所定のホストに転送することができる。
【００５４】
次に、図２０を参照して、パケットを受信する場合にホストにおいて実行される処理について説明する。このフローチャートが開始されると、以下のステップが実行される。
【００５５】
ステップＳ４０：
パケットを受信する。
ステップＳ４１：
受信したパケットのヘッダから宛先ＭＡＣアドレスを抽出する。
【００５６】
ステップＳ４２：
抽出した宛先ＭＡＣアドレスと、自己のＭＡＣアドレスとを比較し、パケットが自己宛であるか否かを判定し、自己宛である場合にはステップＳ４３に進み、それ以外の場合にはステップＳ４４に進む。
【００５７】
ステップＳ４３：
パケットを取り込む。
ステップＳ４４：
パケットを破棄する。
【００５８】
以上の処理により、他のホストから送信されてきたパケットを受信することが可能になる。
【００５９】
【発明が解決しようとする課題】
ところで、以上のような従来例においては、接続されるホストの数が増加すると、ルータ１４が具備するＡＲＰテーブルの容量をホストの数に応じて増加させる必要がある。従って、ＡＲＰテーブルの容量が大きくなると、それに応じて容量の大きな記憶装置を装備する必要があるので、装置のコストが高くつくという問題点があった。
【００６０】
また、登録数が増加すると、ＡＲＰテーブルから目的となるＭＡＣアドレスを検索するのに要する検索時間が増大するので、処理速度が低下するという問題点もあった。
【００６１】
更に、ルータの処理としては、ＭＡＣアドレスの付け替え処理、ＴＴＬの減算処理、および、ＣＲＣの再計算処理等が必要になるが、これらの処理はハードウエアによって実現しても、ソフトウエアで実現してもコストの増加につながり、また、パケットの転送速度の低下に結びつくという問題点もあった。
【００６２】
本発明はこのような点に鑑みてなされたものであり、ホストの増加によっても処理速度が低下せず、また、必要なハードウエア資源も増大しないパケット送受信システム、ホスト、ルータ、半導体装置、および、プログラムを提供することを目的とする。
【００６３】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示す、複数のホスト１〜３およびこれらのホスト間でパケットを転送するルータ４を有するパケット送受信システムにおいて、前記ホスト１〜３は、当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレスとを対応付けて格納した第１の格納手段１ａと、所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する判定手段１ｂと、前記判定手段１ｂによって、前記所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、前記所定のホストが有するＩＰアドレスを参照し、前記第１の格納手段１ａから対応するリンクアドレスを取得するリンクアドレス取得手段１ｃと、前記パケットに対して前記所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する付加手段１ｄと、前記付加手段１ｄによって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する第１の送信手段１ｅと、を有し、前記ルータ４は、１または２以上のホストが接続された複数のポート４ａ〜４ｃと、前記ポート４ａ〜４ｃを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納した第２の格納手段４ｄと、前記所定のホストから送信され、対応するポートから入力されたパケットを受信する受信手段４ｅと、前記受信手段４ｅによって受信したパケットから宛先ＩＰアドレスを抽出する宛先ＩＰアドレス抽出手段４ｆと、前記宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する第２のネットワークアドレス特定手段４ｇと、前記第２のネットワークアドレス特定手段４ｇによって特定された第２のネットワークアドレスに対応するポートを前記第２の格納手段４ｄを参照して特定するポート特定手段４ｈと、前記ポート特定手段４ｈによって特定されたポートを介して前記パケットを送信する第２の送信手段４ｉと、を有する、ことを特徴とするパケット送受信システムが提供される。
【００６４】
ここで、ホスト１の第１の格納手段１ａは、当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレスとを対応付けて格納している。判定手段１ｂは、所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する。リンクアドレス取得手段１ｃは、判定手段１ｂによって、所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、所定のホストが有するＩＰアドレスを参照し、第１の格納手段１ａから対応するリンクアドレスを取得する。付加手段１ｄは、パケットに対して所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する。第１の送信手段１ｅは、付加手段１ｄによって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する。一方、ルータ４のポート４ａ〜４ｃは、１または２以上のホストが接続されている。第２の格納手段４ｄは、ポート４ａ〜４ｃを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納している。受信手段４ｅは、所定のホストから送信され、対応するポートから入力されたパケットを受信する。宛先ＩＰアドレス抽出手段４ｆは、受信手段４ｅによって受信したパケットから宛先ＩＰアドレスを抽出する。第２のネットワークアドレス特定手段４ｇは、宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する。ポート特定手段４ｈは、第２のネットワークアドレス特定手段４ｇによって特定された第２のネットワークアドレスに対応するポートを第２の格納手段４ｄを参照して特定する。第２の送信手段４ｉは、ポート特定手段４ｈによって特定されたポートを介してパケットを送信する。
【００６５】
また、図１に示す、ルータ４を介して他のホスト２，３との間でパケットを送受信するホスト１において、当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレスとを対応付けて格納した第１の格納手段１ａと、所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する判定手段１ｂと、前記判定手段１ｂによって、前記所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、前記所定のホストが有するＩＰアドレスを参照し、前記第１の格納手段１ａから対応するリンクアドレスを取得するリンクアドレス取得手段１ｃと、前記パケットに対して前記所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する付加手段１ｄと、前記付加手段１ｄによって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する第１の送信手段１ｅとを有することを特徴とするホストが提供される。
【００６６】
ここで、第１の格納手段１ａは、当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレスとを対応付けて格納している。判定手段１ｂは、所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する。リンクアドレス取得手段１ｃは、判定手段１ｂによって、所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、所定のホストが有するＩＰアドレスを参照し、第１の格納手段１ａから対応するリンクアドレスを取得する。付加手段１ｄは、パケットに対して所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する。第１の送信手段１ｅは、付加手段１ｄによって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する。
【００６７】
また、複数のホスト１〜３と接続されてパケットを送受信するルータ４において、１または２以上のホストが接続された複数のポート４ａ〜４ｃと、前記ポート４ａ〜４ｃを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納した第２の格納手段４ｄと、前記所定のホストから送信され、対応するポートから入力されたパケットを受信する受信手段４ｅと、前記受信手段４ｅによって受信したパケットから宛先ＩＰアドレスを抽出する宛先ＩＰアドレス抽出手段４ｆと、前記宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する第２のネットワークアドレス特定手段４ｇと、前記第２のネットワークアドレス特定手段４ｇによって特定された第２のネットワークアドレスに対応するポートを前記第２の格納手段４ｄを参照して特定するポート特定手段４ｈと、前記ポート特定手段４ｈによって特定されたポートを介して前記パケットを送信する第２の送信手段４ｉとを有するルータが提供される。
【００６８】
ここで、ルータ４のポート４ａ〜４ｃは、１または２以上のホストが接続されている。第２の格納手段４ｄは、ポート４ａ〜４ｃを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納している。受信手段４ｅは、所定のホストから送信され、対応するポートから入力されたパケットを受信する。宛先ＩＰアドレス抽出手段４ｆは、受信手段４ｅによって受信したパケットから宛先ＩＰアドレスを抽出する。第２のネットワークアドレス特定手段４ｇは、宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する。ポート特定手段４ｈは、第２のネットワークアドレス特定手段４ｇによって特定された第２のネットワークアドレスに対応するポートを第２の格納手段４ｄを参照して特定する。第２の送信手段４ｉは、ポート特定手段４ｈによって特定されたポートを介してパケットを送信する。
【００６９】
また、複数のホストと接続されてパケットを送受信するルータが具備する半導体装置において、１または２以上のホストが接続された複数のポート４ａ〜４ｃと、前記ポート４ａ〜４ｃを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納した第２の格納手段４ｄと、前記所定のホストから送信され、対応するポートから入力されたパケットを受信する受信手段４ｅと、前記受信手段４ｅによって受信したパケットから宛先ＩＰアドレスを抽出する宛先ＩＰアドレス抽出手段４ｆと、前記宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する第２のネットワークアドレス特定手段４ｇと、前記第２のネットワークアドレス特定手段４ｇによって特定された第２のネットワークアドレスに対応するポートを前記第２の格納手段４ｄを参照して特定するポート特定手段４ｈと、前記ポート特定手段４ｈによって特定されたポートを介して前記パケットを送信する第２の送信手段４ｉと、を有することを特徴とする半導体装置が提供される。
【００７０】
ここで、ポート４ａ〜４ｃは、１または２以上のホストが接続されている。第２の格納手段４ｄは、ポート４ａ〜４ｃを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納している。受信手段４ｅは、所定のホストから送信され、対応するポートから入力されたパケットを受信する。宛先ＩＰアドレス抽出手段４ｆは、受信手段４ｅによって受信したパケットから宛先ＩＰアドレスを抽出する。第２のネットワークアドレス特定手段４ｇは、宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する。ポート特定手段４ｈは、第２のネットワークアドレス特定手段４ｇによって特定された第２のネットワークアドレスに対応するポートを第２の格納手段４ｄを参照して特定する。第２の送信手段４ｉは、ポート特定手段４ｈによって特定されたポートを介してパケットを送信する。
【００７１】
また、１または２以上のホストからなる第１のホスト群から、１または２以上のホストからなる第２のホスト群に、ルータを介してパケットを転送するパケット送受信システムにおいて、前記第１のホスト群に含まれる第１のホストは、前記第２のホスト群に含まれる転送先の第２のホストのＩＰアドレスとリンクアドレスとを付加する付加手段と、該パケットを送出する第１の送信手段とを有し、前記ルータは、前記パケットに付加された前記ＩＰアドレスに基づいて前記第２のホスト群が接続されるポートを特定するポート特定手段と、該ポートから前記パケットを送出する第２の送信手段とを有している、ことを特徴とするパケット送受信システムが提供される。
【００７２】
ここで、第１のホスト群に含まれる第１のホストの付加手段は、第２のホスト群に含まれる転送先の第２のホストのＩＰアドレスとリンクアドレスとを付加する。第１の送信手段は、該パケットを送出する。ルータのポート特定手段は、パケットに付加されたＩＰアドレスに基づいて第２のホスト群が接続されるポートを特定する。第２の送信手段は、該ポートからパケットを送出する。
【００７３】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の動作原理を説明する原理図である。この図に示すように、本発明のパケット送受信システムは、ホスト１〜３およびルータ４によって構成されている。
【００７４】
ホスト１〜３は、他のホストとの間でルータ４を介してパケットを送受信する。
ルータ４は、ホスト１〜３から送信されたパケットを受信し、ヘッダに付加されている情報を参照し、該当するホストに転送する。
【００７５】
ここで、ホスト１は、第１の格納手段１ａ、判定手段１ｂ、リンクアドレス取得手段１ｃ、付加手段１ｄ、および、第１の送信手段１ｅによって構成されている。
【００７６】
第１の格納手段１ａは、パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレス（ＭＡＣアドレス）とを対応付けて格納している。
【００７７】
判定手段１ｂは、所定のホストにパケットを送信する場合には、パケット送受信システムが有する第１のネットワークアドレスにそのホストが属しているか否かを判定する。
【００７８】
リンクアドレス取得手段１ｃは、判定手段１ｂによって、パケットを送信しようとするホストがパケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、そのホストが有するＩＰアドレスを参照し、第１の格納手段１ａから対応するリンクアドレスを取得する。
【００７９】
付加手段１ｄは、パケットのヘッダに対してホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する。
第１の送信手段１ｅは、付加手段１ｄによって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する。
【００８０】
なお、ホスト１〜３は、全て同様の構成とされているので、ホスト２，３の詳細な説明については割愛する。
一方、ルータ４は、ポート４ａ〜４ｃ、第２の格納手段４ｄ、受信手段４ｅ、宛先ＩＰアドレス抽出手段４ｆ、第２のネットワークアドレス特定手段４ｇ、ポート特定手段４ｈ、および、第２の送信手段４ｉによって構成されている。
【００８１】
ここで、ポート４ａ〜４ｃには、それぞれホスト２，１，３が接続されている。
第２の格納手段４ｄは、ポートを特定するための情報（例えば、ポート番号）と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納している。
【００８２】
受信手段４ｅは、所定のホストから送信され、対応するポートから入力されたパケットを受信する。
宛先ＩＰアドレス抽出手段４ｆは、受信手段４ｅによって受信したパケットから宛先ＩＰアドレスを抽出する。
【００８３】
第２のネットワークアドレス特定手段４ｇは、宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する。
ポート特定手段４ｈは、第２のネットワークアドレス特定手段４ｇによって特定された第２のネットワークアドレスに対応するポートを第２の格納手段４ｄを参照することによって特定する。
【００８４】
第２の送信手段４ｉは、ポート特定手段４ｈによって特定されたポートからパケットを送信する。
次に、以上の原理図の動作について説明する。以下では、ホスト１がホスト３にパケットを送信する場合を例に挙げて説明する。なお、ホスト１と、ホスト３とは同一の第１のネットワークアドレスの異なる第２のネットワークアドレスに属しているものとする。具体的には、ホスト１のＩＰアドレスは「１９２．１７７．１．１」であり、ホスト３のＩＰアドレスは「１９２．１７７．２．１」であるとする。
【００８５】
先ず、ホスト１は、パケットの送信先であるホスト３のＩＰアドレス「１９２．１７７．２．１」を取得する。判定手段１ｂは、取得したＩＰアドレスと、ホストのサブネットマスク「２５５．２５５．０．０」との論理積を演算し、ホスト３が属している第１のネットワークアドレス「１９２．１７７．０．０」を算出する。そして、自己の属している第１のネットワークアドレスである「１９２．１７７．０．０」と比較し、ホスト３が自己と同一のネットワークに属していることを了知し、リンクアドレス取得手段１ｃに通知する。
【００８６】
リンクアドレス取得手段１ｃは、第１の格納手段１ａからホスト３のリンクアドレスであるＭＡＣアドレスを取得する。
付加手段１ｄは、ホスト３のＩＰアドレスとＭＡＣアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとしてパケットに付加する。
【００８７】
第１の送信手段１ｅは、付加手段１ｄによって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットをルータ４に対して送信する。
ホスト１から送信されたパケットは、ポート４ｂを介してルータ４の受信手段４ｅが受信する。
【００８８】
宛先ＩＰアドレス抽出手段４ｆは、受信手段４ｅによって受信されたパケットのヘッダから宛先ＩＰアドレスである「１９２．１７７．２．１」を抽出する。
第２のネットワークアドレス特定手段４ｇは、宛先ＩＰアドレス抽出手段４ｆによって抽出された宛先ＩＰアドレスと、ルータ４のサブネットマスクである「２５５．２５５．２５５．０」との論理積を演算し、第２のネットワークアドレスを特定する。いまの例では、第２のネットワークアドレスとして「１９２．１７７．２．０」が算出される。
【００８９】
ポート特定手段４ｈは、第２の格納手段４ｄに格納されている情報を参照し、第２のネットワークアドレスに対応する出力ポートを特定する。いまの例では、第２のネットワークアドレス「１９２．１７７．２．０」に対応するポート４ｃが出力ポートとして特定される。
【００９０】
第２の送信手段４ｉは、受信したパケットを、ポート４ｃから出力する。なお、その際、ＭＡＣアドレスの付け替え、ＣＲＣの再計算、ＴＴＬの減算処理は実行しない。
【００９１】
ホスト３は、ルータ４から送信されたパケットを受信し、そのヘッダに付加されているリンクアドレスとしてのＭＡＣアドレスを参照し、自己宛のパケットであることを認知し、そのパケットを取り込む。
【００９２】
以上に説明したように、本発明のパケット送受信システムによれば、パケットを送信する場合において、送信先のホストが自己と同一の第１のネットワークアドレスに属している場合には、第２のネットワークアドレスの異同に拘わらず、ホストのＭＡＣアドレスを宛先ＭＡＣアドレスとし、ホストのＩＰアドレスを宛先ＩＰアドレスとしてパケットに付加し、ルータ４では、宛先ＩＰアドレスから第２のネットワークアドレスを算出し、該当するポートから出力するようにしたので、ＭＡＣアドレスの付け替え等の処理を実行する必要がなくなるので、パケットの転送処理を迅速に実行することが可能になる。
【００９３】
また、ＭＡＣアドレスの付け替え処理に必要なＡＲＰテーブルが不要になるので、ルータ４のハードウエアのサイズを小型化することが可能になる。
次に、本発明の実施の形態について説明する。
【００９４】
図２は、本発明の実施の形態の構成例を示す図である。この図に示すように、本発明のパケット送受信システムは、ホスト２０〜２２およびホスト２６〜２８、Ｌ２スイッチ１３，１５、ならびに、ルータ３０によって構成されている。
【００９５】
ホスト２０〜２２およびホスト２６〜２８は、例えば、パーソナルコンピュータによって構成されており、他のホストに対してパケットを送信するとともに、他のホストから送信されてきたパケットを受信する。なお、ホスト２０〜２２は、同一のサブネットに属しており、また、ホスト２６〜２８は同一のサブネットに属している。
【００９６】
図３は、ホスト２０の詳細な構成例を示す図である。なお、ホスト２１，２２およびホスト２６〜２８も同様の構成であるのでその説明は省略する。
この図に示すように、ホスト２０は、ＣＰＵ（Central Processing Unit）２０ａ、ＲＯＭ（Read Only Memory）２０ｂ、ＲＡＭ（Random Access Memory）２０ｃ、ＨＤＤ（Hard Disk Drive）２０ｄ、ＧＢ（Graphics Board）２０ｅ、Ｉ／Ｆ（Interface）２０ｆ、バス２０ｇ、表示装置２０ｈ、および、入力装置２０ｉによって構成されている。
【００９７】
ここで、ＣＰＵ２０ａは、ＨＤＤ２０ｄに格納されているプログラムに従って装置の各部を制御するとともに、各種演算処理を実行する。
ＲＯＭ２０ｂは、ＣＰＵ２０ａが実行する基本的なプログラムやデータを格納している。
【００９８】
ＲＡＭ２０ｃは、ＣＰＵ２０ａが実行途中のプログラムや、演算途中のデータを一時的に格納する。
ＨＤＤ２０ｄは、ＣＰＵ２０ａが実行するプログラムや、パケットを授受する際に必要な処理手続きおよびデータを格納している。
【００９９】
ＧＢ２０ｅは、ＣＰＵ２０ａから供給された描画命令に応じて描画処理を実行し、得られた画像を映像信号に変換して出力する。
Ｉ／Ｆ２０ｆは、入力装置２０ｉから出力されたデータの表現形式を変換して入力するとともに、Ｌ２スイッチ１３との間でパケットを授受する際に、プロトコルの変換処理等を実行する。
【０１００】
バス２０ｇは、ＣＰＵ２０ａ、ＲＯＭ２０ｂ、ＲＡＭ２０ｃ、ＨＤＤ２０ｄ、ＧＢ２０ｅ、および、Ｉ／Ｆ２０ｆを相互に接続し、これらの間でデータの授受を可能とする。
【０１０１】
表示装置２０ｈは、例えば、ＣＲＴ（Cathode Ray Tube）モニタによって構成されており、ＧＢ２０ｅから出力された映像信号を表示出力する。
入力装置２０ｉは、例えば、マウスやキーボード等によって構成されており、ユーザの操作に応じたデータを生成して出力する。
【０１０２】
図４は、図２に示すルータ３０の詳細な構成例を示す図である。この図に示すように、ルータ３０は、入出力ポート３０ａ〜３０ｃ、宛先ＩＰアドレス抽出手段３０ｄ、および、経路テーブル３０ｅによって構成されている。
【０１０３】
ここで、入出力ポート３０ａ〜３０ｃは、Ｌ２スイッチ１３，１５および図示せぬ他のネットワーク装置（例えば、スイッチ、ネットワーク等）が接続されており、これらとの間でデータを授受する。
【０１０４】
宛先ＩＰアドレス抽出手段３０ｄは、受信したパケットのヘッダから宛先ＩＰアドレスを抽出する。
経路テーブル３０ｅは、ＩＰアドレスとポート番号とを対応付けたテーブルを格納している。
【０１０５】
次に、以上の実施の形態の動作について説明する。以下では、図５を参照し、ホスト２０がホスト２６にパケットを送信する場合を例に挙げて説明を行う。
先ず、ホスト２０は、ホスト２６のＩＰアドレスを取得し、取得したＩＰアドレスとホスト２０のサブネットマスクである「２５５．２５５．０．０」との論理積を演算し、第１のネットワークアドレスを求める。そして、求めた第１のネットワークアドレスが、自己の属している第１のネットワークアドレスと同一である場合には、図５に示すように、ホスト２６のＩＰアドレスと、ＭＡＣアドレスとをパケットに付加する。
【０１０６】
いまの例では、ホスト２６のＩＰアドレスは、「１９２．１７７．２．１」であるので、第１のネットワークアドレスは「１９２．１７７．０．０」となり、ホスト２０が属している第１のネットワークアドレスと同一であるので、ホスト２６のＩＰアドレスである「１９２．１７７．２．１」をパケットのヘッダに宛先ＩＰアドレスとして付加するとともに、図６に示すＡＲＰテーブルから、ホスト２６に対応するＭＡＣアドレス「ｂｂｂｂｂｂｂｂｂｂｂｂ」を取得し、同様にパケットのヘッダに宛先ＭＡＣアドレスとして付加する。そして、時刻ｔ１においてＬ２スイッチ１３に対して送信する。
【０１０７】
パケットを受信したＬ２スイッチ１３は、パケットのヘッダに付加されている宛先ＭＡＣアドレスを抽出し、このパケットがホスト２６に向けて送信されたものであることを認知し、時刻ｔ２において、ルータ３０に向けて送信する。
【０１０８】
ルータ３０は、入出力ポート３０ａを介してパケットを入力し、宛先ＩＰアドレス抽出手段３０ｄに供給する。宛先ＩＰアドレス抽出手段３０ｄは、受信したパケットのヘッダから宛先ＩＰアドレスである「１９２．１７７．２．１」を抽出する。そして、宛先ＩＰアドレスと、ルータ３０のサブネットマスクである「２５５．２５５．２５５．０」との論理積を演算し、宛先となるホスト２６の第２のネットワークアドレスを算出する。続いて、算出された第２のネットワークアドレスに該当するポート番号を、図７に示す経路テーブル３０ｅから取得する。いまの例では、サブネットマスクと宛先ＩＰアドレスとの論理積は「１９２．１７７．２．０」であるので、図７に示す第２行目の項目に該当し、経路テーブル３０ｅからはポート番号として「２」が取得されることになる。
【０１０９】
なお、該当するポート番号が存在しない場合には、そのパケットは破棄する。このような構成によれば、不必要なパケットがネットワーク上に伝送され、システム全体としての伝送速度が低下することを防止できる。
【０１１０】
続いて、ルータ３０は、ポート番号「２」に対応する入出力ポート３０ｂから受信したパケットを時刻ｔ３において出力する。
ルータ３０から出力されたパケットは、Ｌ２スイッチ１５が受信する。Ｌ２スイッチ１５は、受信したパケットのヘッダから宛先ＭＡＣアドレスを抽出し、このパケットがホスト２６に向けて送信されたものであることを認知し、時刻ｔ４において該当するポート（ホスト２６が接続されたポート）から出力する。その結果、パケットは送信先であるホスト２６に送り届けられる。
【０１１１】
ホスト２６は、受信したパケットのヘッダから宛先ＭＡＣアドレスを抽出し、自己のＭＡＣアドレスと比較して、これらが同一ならば、そのパケットは自己に宛てられたパケットであると判断して取り込む。
【０１１２】
以上の処理によれば、異なるサブネットに属するホスト２０とホスト２６の間でパケットを転送する際に、ルータ３０がＭＡＣアドレスの付け替え、ＣＲＣの再計算、および、ＴＴＬの減算処理を行うことなくパケットを転送することが可能になるので、ルータ３０において実行されるべき処理のステップ数を減少させることにより、転送処理を迅速に行うことが可能になる。
【０１１３】
また、宛先ＩＰアドレスのみを参照して転送するようにしたので、ルータ３０がＡＲＰテーブルを具備する必要がなくなり、その結果、ルータ３０のハードウエアのサイズを縮小することが可能になる。
【０１１４】
更に、経路テーブルは、ポート数に応じた容量を準備すればよいことから、ネットワークに接続されるホストの数が増加した場合であっても検索処理を高速に実行することが可能になるとともに、ハードウエアのサイズを縮小することが可能になる。
【０１１５】
次に、図８〜１０を参照して、以上の実施の形態の各部において実行される処理の詳細について説明する。
図８は、ホスト２０においてパケットを送信する場合に実行される処理の一例を説明するフローチャートである。このフローチャートが開始されると、以下のステップが実行される。
【０１１６】
ステップＳ６０：
ホスト２０のＣＰＵ２０ａは、送信先のホストのＩＰアドレスを取得する。
ステップＳ６１：
ホスト２０のＣＰＵ２０ａは、ステップＳ６０で取得したＩＰアドレスと、ホストのサブネットマスクである「２５５．２５５．０．０」との論理積を演算し、第１のネットワークアドレスを算出する。
【０１１７】
ステップＳ６２：
ホスト２０のＣＰＵ２０ａは、ステップＳ６１で算出した第１のネットワークアドレスを参照し、自己が属している第１のネットワークアドレスと同一であるか否かを判定し、同一である場合にはステップＳ６３に進み、それ以外の場合にはステップＳ６４に進む。
【０１１８】
ステップＳ６３：
ホスト２０のＣＰＵ２０ａは、宛先ＭＡＣアドレスとしてホストのＭＡＣアドレスを採用する。即ち、ＣＰＵ２０ａは、ＨＤＤ２０ｄに格納されている図６に示すＡＲＰテーブルを参照し、宛先となるホストのＭＡＣアドレスを取得し、これを宛先ＭＡＣアドレスとする。
【０１１９】
ステップＳ６４：
ホスト２０のＣＰＵ２０ａは、宛先ＭＡＣアドレスとしてルータのＭＡＣアドレスを採用する。
【０１２０】
ステップＳ６５：
ホスト２０のＣＰＵ２０ａは、宛先ＩＰアドレスとして、ホストのＩＰアドレスを採用する。
【０１２１】
ステップＳ６６：
ホスト２０のＣＰＵ２０ａは、宛先ＩＰアドレスと、宛先ＭＡＣアドレスをパケットのヘッダに付加する。
【０１２２】
ステップＳ６７：
ホスト２０のＣＰＵ２０ａは、ＴＴＬとＣＲＣとを算出し、パケットのヘッダに付加する。
【０１２３】
ステップＳ６８：
ホスト２０のＣＰＵ２０ａは、以上のステップによって生成されたパケットを送信する。
【０１２４】
以上のフローチャートによれば、パケットを送信する処理を実現することができる。
次に、図９を参照して、ルータ３０においてパケットを転送する際に実行されるフローチャートについて説明する。このフローチャートが開始されると、以下のステップが実行される。
【０１２５】
ステップＳ７０：
ルータ３０の入出力ポート３０ａ〜３０ｃは、パケットを受信する。
ステップＳ７１：
ルータ３０の宛先ＩＰアドレス抽出手段３０ｄは、受信したパケットから宛先ＩＰアドレスを抽出する。
【０１２６】
ステップＳ７２：
ルータ３０の経路テーブル３０ｅは、宛先ＩＰアドレスと、ルータのサブネットマスクとの論理積を演算し、得られた第２のネットワークアドレスに対応する出力ポートを特定する。
【０１２７】
ステップＳ７３：
ルータ３０は、ステップＳ７２において特定された入出力ポートから、受信したパケットを出力する。
【０１２８】
以上の処理によれば、ルータ３０がパケットを転送する処理を実現することができる。
次に、図１０を参照して、ホスト２０においてパケットを受信する際に実行されるフローチャートについて説明する。このフローチャートが開始されると、以下のステップが実行される。
【０１２９】
ステップＳ８０：
ホスト２０のＣＰＵ２０ａは、Ｉ／Ｆ２０ｆを介してパケットを受信する。
ステップＳ８１：
ホスト２０のＣＰＵ２０ａは、受信したパケットから宛先ＭＡＣアドレスを抽出する。
【０１３０】
ステップＳ８２：
ホスト２０のＣＰＵ２０ａは、宛先ＭＡＣアドレスと、自己のＭＡＣアドレスとを比較し、パケットが自己宛であるか否かを判定し、自己宛である場合にはステップＳ８３に進み、それ以外の場合にはステップＳ８４に進む。
【０１３１】
ステップＳ８３：
ホスト２０のＣＰＵ２０ａは、パケットを取り込み、例えば、ＲＡＭ２０ｃに格納する。
【０１３２】
ステップＳ８４：
ホスト２０のＣＰＵ２０ａは、パケットを破棄する。
以上の処理によれば、パケットを受信する処理を実行することが可能になる。
【０１３３】
なお、以上の実施の形態では、第２のネットワークが２つのみの場合を例に挙げて説明したが、本発明はこのような場合のみに限定されるものではなく、３以上の第２のネットワークが存在するシステムにも適用可能であることはいうまでもない。
【０１３４】
また、図４に示す装置を半導体装置として実現することも可能である。
更に、以上の実施の形態では、ルータ３０においてＴＴＬを減算しないようにしたが、ＴＴＬの減算処理は、ＣＲＣ等の演算処理に比較して簡易であるので、これについては実行するようにしてもよい。
【０１３５】
最後に、上記の処理機能は、コンピュータによって実現することができる。その場合、ホストが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ(Digital Versatile Disk)、ＤＶＤ−ＲＡＭ(Random Access Memory)、ＣＤ−ＲＯＭ(Compact Disk Read Only Memory)、ＣＤ−Ｒ(Recordable)／ＲＷ(ReWritable)などがある。光磁気記録媒体には、ＭＯ(Magneto-Optical disk)などがある。
【０１３６】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１３７】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１３８】
【発明の効果】
以上説明したように本発明では、複数のホストおよびこれらのホスト間でパケットを転送するルータを有するパケット送受信システムにおいて、ホストは、当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレスとを対応付けて格納した第１の格納手段と、所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する判定手段と、判定手段によって、所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、所定のホストが有するＩＰアドレスを参照し、第１の格納手段から対応するリンクアドレスを取得するリンクアドレス取得手段と、パケットに対して所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する付加手段と、付加手段によって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する第１の送信手段と、を有し、ルータは、１または２以上のホストが接続された複数のポートと、ポートを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納した第２の格納手段と、所定のホストから送信され、対応するポートから入力されたパケットを受信する受信手段と、受信手段によって受信したパケットから宛先ＩＰアドレスを抽出する宛先ＩＰアドレス抽出手段と、宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する第２のネットワークアドレス特定手段と、第２のネットワークアドレス特定手段によって特定された第２のネットワークアドレスに対応するポートを第２の格納手段を参照して特定するポート特定手段と、ポート特定手段によって特定されたポートを介してパケットを送信する第２の送信手段と、を設けるようにしたので、システム全体におけるパケットの転送速度を向上させることが可能になる。
【０１３９】
また、ルータを介して他のホストとの間でパケットを送受信するホストにおいて、当該パケット送受信システムが有する第１のネットワークアドレスに属するホストのＩＰアドレスと、データリンク層のリンクアドレスとを対応付けて格納した格納手段と、所定のホストにパケットを送信する場合には、そのホストが当該パケット送受信システムが有する第１のネットワークアドレスに属しているか否かを判定する判定手段と、判定手段によって、所定のホストが当該パケット送受信システムが有する第１のネットワークアドレスに属していると判定された場合には、所定のホストが有するＩＰアドレスを参照し、格納手段から対応するリンクアドレスを取得するリンクアドレス取得手段と、パケットに対して所定のホストのＩＰアドレスとリンクアドレスとを宛先ＩＰアドレスおよび宛先リンクアドレスとして付加する付加手段と、付加手段によって宛先ＩＰアドレスと宛先リンクアドレスが付加されたパケットを送信する送信手段と、を設けるようにしたので、システム全体におけるパケットの転送速度を向上させることが可能なホストを提供することが可能になる。
【０１４０】
また、複数のホストと接続されてパケットを送受信するルータにおいて、１または２以上のホストが接続された複数のポートと、ポートを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納した格納手段と、所定のホストから送信され、対応するポートから入力されたパケットを受信する受信手段と、受信手段によって受信したパケットから宛先ＩＰアドレスを抽出する宛先ＩＰアドレス抽出手段と、宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する第２のネットワークアドレス特定手段と、第２のネットワークアドレス特定手段によって特定された第２のネットワークアドレスに対応するポートを格納手段を参照して特定するポート特定手段と、ポート特定手段によって特定されたポートを介してパケットを送信する送信手段と、設けるようにしたので、ハードウエアのサイズを小型化するとともに、パケット転送処理を迅速に行うことが可能になる。
【０１４１】
複数のホストと接続されてパケットを送受信するルータが具備する半導体装置において、１または２以上のホストが接続された複数のポートと、ポートを特定するための情報と、そのポートに割り当てられた第２のネットワークアドレスとを対応付けて格納した格納手段と、所定のホストから送信され、対応するポートから入力されたパケットを受信する受信手段と、受信手段によって受信したパケットから宛先ＩＰアドレスを抽出する宛先ＩＰアドレス抽出手段と、宛先ＩＰアドレスが属する第２のネットワークアドレスを特定する第２のネットワークアドレス特定手段と、第２のネットワークアドレス特定手段によって特定された第２のネットワークアドレスに対応するポートを格納手段を参照して特定するポート特定手段と、ポート特定手段によって特定されたポートを介してパケットを送信する送信手段と、を設けるようにしたので、半導体装置のサイズを小型化することが可能になる。
【０１４２】
また、１または２以上のホストからなる第１のホスト群から、１または２以上のホストからなる第２のホスト群に、ルータを介してパケットを転送するパケット送受信システムにおいて、第１のホスト群に含まれる第１のホストには、第２のホスト群に含まれる転送先の第２のホストのＩＰアドレスとリンクアドレスとを付加する付加手段と、該パケットを送出する第１の送信手段とを設け、ルータは、パケットに付加されたＩＰアドレスに基づいて第２のホスト群が接続されるポートを特定するポート特定手段と、該ポートからパケットを送出する第２の送信手段とを設けるようにしたので、パケットを高速に転送することが可能になる。
【図面の簡単な説明】
【図１】本発明の動作原理を説明する原理図である。
【図２】本発明の実施の形態の構成例を示す図である。
【図３】図２に示すホストの詳細な構成例を示す図である。
【図４】図２に示すルータの詳細な構成例を示す図である。
【図５】図２に示す実施の形態の動作を説明するタイミングチャートである。
【図６】図３に示すホストが有するＡＲＰテーブルの一例を示す図である。
【図７】図４に示すルータが有する経路テーブルの一例を示す図である。
【図８】図３に示すホストがパケットを送信する際に実行するフローチャートの一例である。
【図９】図４に示すルータがパケットを転送する際に実行するフローチャートの一例である。
【図１０】図３に示すホストがパケットを受信する際に実行するフローチャートの一例である。
【図１１】従来におけるＬ２スイッチを含むネットワークシステムの構成例である。
【図１２】図１１に示すホストが有するＡＲＰテーブルの一例である。
【図１３】図１１に示すＬ２スイッチが有する経路テーブルの一例である。
【図１４】従来におけるルータを含むネットワークシステムの構成例である。
【図１５】図１４に示す従来のルータの詳細な構成例を示す図である。
【図１６】図１５に示すルータが有する経路テーブルの一例を示す図である。
【図１７】図１５に示すルータが有するＡＲＰテーブルの一例を示す図である。
【図１８】図１４に示すホストがパケットを送信する際に実行するフローチャートの一例である。
【図１９】図１４に示すルータがパケットを転送する際に実行するフローチャートの一例である。
【図２０】図１４に示すホストがパケットを受信する際に実行するフローチャートの一例である。
【符号の説明】
１  ホスト
１ａ  第１の格納手段
１ｂ  判定手段
１ｃ  リンクアドレス取得手段
１ｄ  付加手段
１ｅ  第１の送信手段
２，３  ホスト
４  ルータ
４ａ〜４ｃ  ポート
４ｄ  第２の格納手段
４ｅ  受信手段
４ｆ  宛先ＩＰアドレス抽出手段
４ｇ  第２のネットワークアドレス特定手段
４ｈ  ポート特定手段
４ｉ  第２の送信手段
１３，１５  Ｌ２スイッチ
２０〜２２  ホスト
２０ａ  ＣＰＵ
２０ｂ  ＲＯＭ
２０ｃ  ＲＡＭ
２０ｄ  ＨＤＤ
２０ｅ  ＧＢ
２０ｆ  Ｉ／Ｆ
２０ｇ  バス
２０ｈ  表示装置
２０ｉ  入力装置
２６〜２８  ホスト
３０  ルータ
３０ａ〜３０ｃ  入出力ポート
３０ｄ  宛先ＩＰアドレス抽出手段
３０ｅ  経路テーブル
【図１】
0004647825.tif 000002
【図２】
0004647825.tif 000003
【図３】
0004647825.tif 000004
【図４】
0004647825.tif 000005
【図５】
0004647825.tif 000006
【図６】
0004647825.tif 000007
【図７】
0004647825.tif 000008
【図８】
0004647825.tif 000009
【図９】
0004647825.tif 000010
【図１０】
0004647825.tif 000011
【図１１】
0004647825.tif 000012
【図１２】
0004647825.tif 000013
【図１３】
0004647825.tif 000014
【図１４】
0004647825.tif 000015
【図１５】
0004647825.tif 000016
【図１６】
0004647825.tif 000017
【図１７】
0004647825.tif 000018
【図１８】
0004647825.tif 000019
【図１９】
0004647825.tif 000020
【図２０】
0004647825.tif 000021