(57)【特許請求の範囲】
【請求項１】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、前記ネットワークに接続された他の通信装置へのデータリンク層パス情報を記憶するデータリンク層パス情報記憶方法であって、
前記ネットワークに接続された第２の通信装置へのデータリンク層パス情報を取得する第１のステップ（Ｓ１）と、
前記取得したデータリンク層パス情報を第１のテーブルのエントリに記憶する第２のステップ（Ｓ２）と、
前記取得したデータリンク層パス情報を記憶した前記第１のテーブルの前記エントリを直接指すポインタ情報を、前記第１の通信装置からメッセージを送信する際に最初に検索されるために設けられる第２のテーブルに記憶する第３のステップ（Ｓ３）とを有することを特徴とする方法。
【請求項２】
前記第２のテーブルは、前記第１の通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶するルーティングキャッシュ内に設けられる請求項１に記載の方法。
【請求項３】
前記第２のテーブルは、前記第１の通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶する該ルーティングテーブルの部分領域として設けられる請求項１に記載の方法。
【請求項４】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、該プログラムは、
前記ネットワークに接続された第２の通信装置へのデータリンク層パス情報を取得させる第１の手段（Ｓ１）と、
前記取得したデータリンク層パス情報を第１のテーブルのエントリに記憶させる第２の手段（Ｓ２）と、
前記取得したデータリンク層パス情報を記憶した前記第１のテーブルの前記エントリを直接指すポインタ情報を、前記第１の通信装置からメッセージを送信する際に最初に検索されるために設けられる第２のテーブルに記憶させる第３の手段（Ｓ３）とを有することを特徴とする媒体。
【請求項５】
前記第２のテーブルは、前記第１の通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶するルーティングキャッシュ内に設けられる請求項４に記載の媒体。
【請求項６】
前記第２のテーブルは、前記第１の通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶する該ルーティングテーブルの部分領域として設けられる請求項４に記載の媒体。
【請求項７】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するデータリンク層パス情報記憶方法であって、
前記複数のサブネットワークの前記１つに接続された第２の通信装置のネットワーク層アドレスに基づいて、前記代表通信装置へのデータリンク層パス情報を取得する第１のステップ（Ｓ１）と、
前記取得したデータリンク層パス情報を第１のテーブルのエントリに記憶する第２のステップ（Ｓ２）と、
前記取得したデータリンク層パス情報を記憶した前記第１のテーブルの前記エントリを直接指すポインタ情報を、前記第１の通信装置からメッセージを送信する際に最初に検索されるために設けられる第２のテーブルに記憶する第３のステップ（Ｓ３）とを有することを特徴とする方法。
【請求項８】
前記第１のステップにおいては、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属する前記１つのサブネットワークを示す部分を指定するサブネットマスク情報をも取得し、
前記第２のテーブルには、前記サブネットマスク情報をも記憶する請求項７に記載の方法。
【請求項９】
前記第１のステップにおいては、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも取得し、
前記第１のテーブルには、前記サブネットマスク情報をも記憶する請求項７に記載の方法。
【請求項１０】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、該プログラムは、
前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するデータリンク層パス情報記憶方法であって、
前記複数のサブネットワークの１つに接続された第２の通信装置のネットワーク層アドレスに基づいて、前記１つのサブネットワークを代表する代表通信装置へのデータリンク層パス情報を取得する第１の手段（Ｓ１）と、
前記取得したデータリンク層パス情報を第１のテーブルのエントリに記憶する第２の手段（Ｓ２）と、
前記取得したデータリンク層パス情報を記憶した前記第１のテーブルの前記エントリを直接指すポインタ情報を、前記第１の通信装置からメッセージを送信する際に最初に検索されるために設けられる第２のテーブルに記憶する第３の手段（Ｓ３）とを有することを特徴とする媒体。
【請求項１１】
前記第１の手段においては、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属する前記１つのサブネットワークを示す部分を指定するサブネットマスク情報をも取得し、
前記第２のテーブルには、前記サブネットマスク情報をも記憶する請求項１０に記載の媒体。
【請求項１２】
前記第１の手段においては、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも取得し、
前記第１のテーブルには、前記サブネットマスク情報をも記憶する請求項１０に記載の媒体。
【請求項１３】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される通信装置において、
前記ネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するために設けられたエントリを有する第１のテーブルと（１）、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブル（２）とを有することを特徴とする通信装置。
【請求項１４】
前記第２のテーブルは、前記第１および第２のテーブルを有する通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶するルーティングキャッシュ内に設けられる請求項１３に記載の通信装置。
【請求項１５】
前記第２のテーブルは、前記第１および第２のテーブルを有する通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶する該ルーティングテーブルの部分領域として設けられる請求項１３に記載の通信装置。
【請求項１６】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される通信装置において、
前記通信装置から前記複数のサブネットワークのうちの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと（１）、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記１つのサブネットワークに接続される１つの通信装置のネットワーク層アドレスに対応して記憶する第２のテーブル（２）とを有することを特徴とする通信装置。
【請求項１７】
前記第２のテーブル（２）は、前記１つの通信装置のネットワーク層アドレスのうち、前記１つの通信装置が属する前記１つのサブネットワークを示す部分を指定するサブネットマスク情報をも記憶し、
前記第２のテーブルには、前記サブネットマスク情報をも記憶する請求項１６に記載の通信装置。
【請求項１８】
前記第２のテーブル（２）は、前記１つの通信装置のネットワーク層アドレスのうち、前記１つの通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶し、
前記第１のテーブルには、前記サブネットマスク情報をも記憶する請求項１６に記載の通信装置。
【請求項１９】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続され、第１の通信装置において、前記ネットワークに接続された第２の通信装置へのデータリンク層パス情報を該第２の通信装置のネットワーク層アドレスに基づいて検索するデータリンク層パス情報検索方法であって、
前記第１の通信装置は、前記ネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するために設けられたエントリを有する第１のテーブルと、前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルとを有し、
前記方法は、
前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索する第１のステップ（Ｓ１１）と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２のステップ（Ｓ１２）とを有することを特徴とする方法。
【請求項２０】
前記第２のテーブルは、前記第１の通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶するルーティングキャッシュ内に設けられる請求項１９に記載の方法。
【請求項２１】
前記第２のテーブルは、前記第１の通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶する該ルーティングテーブルの部分領域として設けられる請求項１９に記載の方法。
【請求項２２】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、
前記第１の通信装置は、前記ネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するために設けられたエントリを有する第１のテーブルと、前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルとを有し、
前記プログラムは、
前記ネットワークに接続された第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索させる第１の手段と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求めさせる第２の手段とを有することを特徴とする媒体。
【請求項２３】
前記第２のテーブルは、前記第１の通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶するルーティングキャッシュ内に設けられる請求項２２に記載の媒体。
【請求項２４】
前記第２のテーブルは、前記第１の通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶する該ルーティングテーブルの部分領域として設けられる請求項２２に記載の媒体。
【請求項２５】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を、該１つのサブネットワークに接続される第２の通信装置のネットワーク層アドレスに基づいて検索するデータリンク層パス情報検索方法であって、
前記第１の通信装置は、
前記代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルとを有し、
前記方法は、
前記第２のテーブルの各エントリから前記サブネットマスク情報を得る第１のステップ（Ｓ２１）と、
前記第２の通信装置のネットワーク層アドレスと前記第２のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記サブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２のステップ（Ｓ２２）と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３のステップ（Ｓ２３）とを有することを特徴とする方法。
【請求項２６】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、
前記プログラムは前記第１の通信装置に対して、前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を、該１つのサブネットワークに接続される第２の通信装置のネットワーク層アドレスに基づいて検索するデータリンク層パス情報検索方法を実施させるものであって、
前記第１の通信装置は、
前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルとを有し、
前記プログラムは、
前記第２のテーブルの各エントリから前記サブネットマスク情報を得る第１の手段（Ｓ２１）と、
前記第２の通信装置のネットワーク層アドレスと前記第２のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記サブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２の手段（Ｓ２２）と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３の手段（Ｓ２３）とを有することを特徴とする媒体。
【請求項２７】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を、該１つのサブネットワークに接続される第２の通信装置のネットワーク層アドレスに基づいて検索するデータリンク層パス情報検索方法であって、
前記第１の通信装置は、
前記代表通信装置へのデータリンク層パス情報を記憶し、更に、該代表通信装置のネットワーク層アドレスのうち、該代表通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記第２の通信装置のネットワーク層アドレスに対応して記憶する第２のテーブルとを有し、
前記方法は、
前記第２のテーブルの各エントリからポインタ情報を求める第１のステップ（Ｓ３１）と、
前記第２のテーブルの各エントリから求めた前記ポインタ情報が直接指す前記第１のテーブルのエントリに記憶された前記サブネットマスク情報を得る第２のステップ（Ｓ３２）と、
前記第２の通信装置のネットワーク層アドレスと前記第１のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記ポインタ情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第３のステップ（Ｓ３３）と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第３のステップにて求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第４のステップ（Ｓ３４）とを有することを特徴とする方法。
【請求項２８】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、
前記プログラムは前記第１の通信装置に対して、前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を、該１つのサブネットワークに接続される第２の通信装置のネットワーク層アドレスに基づいて検索するデータリンク層パス情報検索方法を実施させるものであって、
前記第１の通信装置は、
前記代表通信装置へのデータリンク層パス情報を記憶し、更に、該代表通信装置のネットワーク層アドレスのうち、該代表通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記第２の通信装置のネットワーク層アドレスに対応して記憶する第２のテーブルとを有し、
前記プログラムは、
前記第２のテーブルの各エントリからポインタ情報を求める第１の手段（Ｓ３１）と、
前記第２のテーブルの各エントリから求めた前記ポインタ情報が直接指す前記第１のテーブルのエントリに記憶された前記サブネットマスク情報を得る第２の手段（Ｓ３２）と、
前記第２の通信装置のネットワーク層アドレスと前記第１のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記ポインタ情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第３の手段（Ｓ３３）と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第３の手段にて求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第４の手段（Ｓ３４）とを有することを特徴とする媒体。
【請求項２９】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置において、前記ネットワークに接続された第２の通信装置へメッセージを送信する際の送信ルート決定方法であって、
前記第１の通信装置は、前記ネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルと、前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
前記方法は、
前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索して該第２の通信装置のネットワーク層アドレスに対応するポインタ情報を求める第１のステップと、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２のステップと、
前記第１のステップにて前記エントリを直接指すポインタ情報が見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第３のステップとを有することを特徴とする方法。
【請求項３０】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された、第１の通信装置を動作させるプログラムを記録する媒体であって、
前記第１の通信装置は、前記ネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルと、前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
前記プログラムは、
前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索して該第２の通信装置のネットワーク層アドレスに対応するポインタ情報を求める第１の手段と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２の手段と、
前記第１の手段にて前記エントリを直接指すポインタ情報が見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第３の手段とを有することを特徴とする媒体。
【請求項３１】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置において、前記ネットワークに接続された第２の通信装置へメッセージを送信する際の送信ルート決定方法であって、
前記第１の通信装置は、前記ネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルと、前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、前記第２のテーブルは、更に、前記第３のテーブルに記憶された前記ルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶し得るように構成され、
前記方法は、
前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索して該第２の通信装置のネットワーク層アドレスに対応するポインタ情報を求める第１のステップと、
前記第１のステップにて前記エントリを直接指すポインタ情報が見つけられたときは、前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２のステップと、
前記第１のステップにて前記エントリを直接指すポインタ情報が見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第３のステップと、
前記第３のステップにて前記ルーティング装置を介した通信のためのネットワーク層パス情報が前記第２のテーブルに見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第４のステップとを有することを特徴とする方法。
【請求項３２】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置を動作させるプログラムを記録する媒体であって、
前記第１の通信装置は、前記ネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルと、前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、前記第２のテーブルは、更に、前記第３のテーブルに記憶された前記ルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶し得るように構成され、
前記プログラムは、
前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索して該第２の通信装置のネットワーク層アドレスに対応するポインタ情報を求める第１の手段と、
前記第１の手段にて前記エントリを直接指すポインタ情報が見つけられたときは、前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２の手段と、
前記第１の手段にて前記エントリを直接指すポインタ情報が見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第３の手段と、
前記第３の手段にて前記ルーティング装置を介した通信のためのネットワーク層パス情報が前記第２のテーブルに見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第４の手段とを有することを特徴とする媒体。
【請求項３３】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、前記複数のサブネットワークの１つを代表する代表通信装置へメッセージを送信する際の送信ルート決定方法であって、
前記第１の通信装置は、
前記代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルと、
前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
前記方法は、
前記第２のテーブルの各エントリから前記サブネットマスク情報を得る第１のステップと、
前記第２の通信装置のネットワーク層アドレスと前記第２のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記サブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２のステップと、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３のステップと、
前記第２のステップにて前記エントリを直接指すポインタ情報が見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第４のステップとを有することを特徴とする方法。
【請求項３４】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置を動作させるプログラムを記録する媒体であって、
前記第１の通信装置は、
前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルと、
前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
前記プログラムは、
前記第２のテーブルの各エントリから前記サブネットマスク情報を得る第１の手段と、
前記第２の通信装置のネットワーク層アドレスと前記第２のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記サブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２の手段と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３の手段と、
前記第２の手段にて前記エントリを直接指すポインタ情報が見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第４の手段とを有することを特徴とする媒体。
【請求項３５】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、前記複数のサブネットワークの１つを代表する代表通信装置へメッセージを送信する際の送信ルート決定方法であって、
前記第１の通信装置は、
前記代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルと、
前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
前記第２のテーブルは、更に、前記第３のテーブルに記憶された前記ルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶し、
前記方法は、
前記第２のテーブルの各エントリから前記サブネットマスク情報を得る第１のステップと、
前記第２の通信装置のネットワーク層アドレスと前記第２のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記サブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２のステップと、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３のステップと、
前記第２のステップにて前記エントリを直接指すポインタ情報が見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第４のステップと、
前記第４のステップにて前記ルーティング装置を介した通信のためのネットワーク層パス情報が前記第２のテーブルに見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第５のステップとを有することを特徴とする方法。
【請求項３６】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置を動作させるプログラムを記録する媒体であって、
前記第１の通信装置は、
前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、前記第２の通信装置のネットワーク層アドレスのうち、前記第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルと、
前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
前記第２のテーブルは、更に、前記第３のテーブルに記憶された前記ルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶し、
前記プログラムは、
前記第２のテーブルの各エントリから前記サブネットマスク情報を得る第１の手段と、
前記第２の通信装置のネットワーク層アドレスと前記第２のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記サブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２の手段と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第２のテーブルから求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３の手段と、
前記第２の手段にて前記エントリを直接指すポインタ情報が見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第２のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第４の手段と、
前記第４の手段にて前記ルーティング装置を介した通信のためのネットワーク層パス情報が前記第２のテーブルに見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第５の手段とを有することを特徴とする媒体。
【請求項３７】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、前記複数のサブネットワークの１つを代表する代表通信装置へメッセージを送信する際の送信ルート決定方法であって、
前記第１の通信装置は、
前記代表通信装置へのデータリンク層パス情報を記憶し、更に、該代表通信装置のネットワーク層アドレスのうち、該代表通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶する第２のテーブルと、
前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
前記第２のテーブルは、更に、前記第３のテーブルに記憶された前記ルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶し、
前記方法は、
前記第２のテーブルの各エントリからポインタ情報を求める第１のステップと、
前記第２のテーブルの各エントリから求めた前記ポインタ情報が直接指す前記第１のテーブルのエントリに記憶された前記サブネットマスク情報を得る第２のステップと、
前記第２の通信装置のネットワーク層アドレスと前記第１のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記ポインタ情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第３のステップと、
前記第２の通信装置のネットワーク層アドレスに対応して前記第３のステップにて求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第４のステップと、
前記第３のステップにて前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリがないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第５のステップとを有することを特徴とする方法。
【請求項３８】
ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、
前記第１の通信装置は、
前記複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を記憶し、更に、該代表通信装置のネットワーク層アドレスのうち、該代表通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶するエントリを有する第１のテーブルと、
前記第１のテーブルにおいて前記データリンク層パス情報を記憶する前記エントリを直接指すポインタ情報を、前記複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶する第２のテーブルと、
前記ルーティング装置を介した通信のためのネットワーク層パス情報を、前記ネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
前記プログラムは、
前記第２のテーブルの各エントリからポインタ情報を求めるる第１の手段と、
前記第２のテーブルの各エントリから求めた前記ポインタ情報が直接指す前記第１のテーブルのエントリに記憶された前記サブネットマスク情報を得る第２の手段と、
前記第２の通信装置のネットワーク層アドレスと前記第１のテーブルから得た前記サブネットマスク情報と前記第２のテーブルの前記ポインタ情報を得たエントリのネットワーク層アドレスとを演算して、前記第２の通信装置のネットワーク層アドレスと、前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが前記第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第３の手段と、
前記第２の通信装置のネットワーク層アドレスに対応して前記第３の手段にて求めた前記ポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第４の手段と、
前記第３の手段にて前記サブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが見つけられないときは、前記第２の通信装置のネットワーク層アドレスを用いて前記第３のテーブルを検索して、前記ルーティング装置を介した通信のためのネットワーク層パス情報を求める第５の手段とを有することを特徴とする媒体。
【請求項３９】
前記第２のテーブルは、該通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際に該メッセージを出力すべきインターフェースを前記ネットワーク層アドレスに対応して記憶するルーティングテーブルであり、
前記第１のテーブルは、前記ネットワーク層アドレスに対応して、前記ネットワークに接続される他の通信装置へのデータリンク層パス情報を記憶するために設けられたデータリンク層パス情報テーブルであり、
前記データリンク層パス情報テーブルの少なくとも１つのエントリには、当該通信装置からメッセージを前記ネットワーク層アドレスを用いて送信する際にルーティングテーブル検索の後、データリンク層パス情報テーブルエントリが見つからない、あるいは、存在してもメッセージ送信が不可能な場合にもメッセージ送信を可能にするためのデータリンク層パス情報を記憶するデフォルトエントリを有する、請求項１３に記載の通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される通信装置において、このネットワークに接続された他の通信装置へのデータリンク層パス情報を記憶するデータリンク層パス情報記憶方法、このデータリンク層パス情報を検索するデータリンク層パス情報検索方法、該データリンク層パス情報検索方法を実施するための通信装置、そして、これらデータリンク層パス情報記憶方法およびデータリンク層パス情報検索方法をそれぞれ実行するプログラムを記録した媒体に関する。
【０００２】
【従来の技術、および、発明が解決しようとする課題】
企業内、キャンパス等においては、部署単位、特定の作業グループ毎あるいは研究室毎にＬＡＮを持ち、各ＬＡＮ間をルータと呼ばれる中継装置で接続し、企業内ネットワーク、キャンパスネットワークを構成している。各ＬＡＮはサブネットワークと呼ばれ、サブネットワーク同士をルータを用いて接続していることになる。
【０００３】
サブネットワーク内の端末が同一サブネットワーク内の端末と通信を行う場合は、直接宛先端末へパケットを送信可能であるが、異るサブネットワーク内の端末へ通信を行う場合は、サブネットワークの境界に位置する直接送信可能なルータへパケットを送信する。これを受信したルータでは、宛先ホストへパケットを届けるために次にどのルータへパケットを送信すればよいかを判断し、次のルータへパケットを転送する。このようにして、異るサブネットワーク内の端末に対しても通信が可能となっている。
【０００４】
一般的な端末においてはパケット送信処理はオペレーティング・システム（ＯＳ）内で行われる。パケットはネットワーク層アドレスを用いて送信される。例えば、インターネット・プロトコル（ＩＰ）ではＩＰアドレスを用いて通信する。以下に、インターネット・プロトコルの場合について説明する。ＯＳは自ホスト（或は、ルータ）から到達可能なネットワークのアドレス一覧をルーティングテーブルとして持ち、各テーブルエントリにはネットワークアドレス、自ホストの出力インタフェース、ゲートウェイアドレス等が記入されている。ゲートウェイアドレスは、自サブネットワーク外の宛先ホストにパケットを届けるために、次に送るべきルータのＩＰアドレスを示している。宛先が同一サブネットワーク内の場合は、ゲートウェイアドレスはルータのＩＰアドレスではなく、宛先ホストのＩＰアドレス、又は自ホストのＩＰアドレスが設定される。ＯＳは宛先ホストのＩＰアドレスをキーとしてルーティングテーブルを検索し、出力インタフェースとゲートウェイアドレスを取得する。さらに、ＯＳではインタフェース毎にデータリンク層のアドレステーブルを保持しており、ネットワーク層アドレスとデータリンク層アドレスとの対応がとれるようになっている。例えば、イーサネットインタフェースを持つＵＮＩＸシステムのＡＲＰテーブルは、ＩＰアドレスとＭＡＣアドレスが対応しており、直接到達可能なホストあるいはゲートウェイのＩＰアドレスからＭＡＣアドレスを知り、最終的にこのＭＡＣアドレスを用いてホスト及びルータと通信が可能となる。また、ＡＲＰテーブルにエントリが見つからない場合もあり得る。この場合、ＡＲＰプロトコルを用いて同一サブネットワーク内の全ホストに対して、目的とするＩＰアドレスに対するＭＡＣアドレスを取得する。また、近年利用する事が多くなったＡＴＭ網上でも同様の仕組みが考えられている。
【０００５】
ＡＴＭ−ＬＡＮにおいてはＡＴＭＡＲＰという仕組みが考案されており、ＡＲＰと同等の機能をＡＴＭ−ＬＡＮ上で実現する。これによりＭＡＣアドレスの代わりに目的とするホスト又はルータのＡＴＭアドレスを取得する。ＡＴＭはデータリンク層のプロトコルであり、このネットワーク上にネットワーク層のサブネットワークを構成して端末を管理運用する方法としてＩＰＯＡ（ＩＰoverＡＴＭ）といった方法が提案されている（M. Laubach, “Classical IP and ARP over ATM", Request for Comments: 1577, 1994,１月）。ＩＰＯＡではＡＴＭ網上にＬＩＳ（Logical IP Subnet ）と呼ばれる論理的なサブネットワークを定義し、各ＬＩＳには同一ＬＩＳに含まれる端末のＡＴＭアドレスを登録管理するＡＴＭＡＲＰサーバを用意する。各端末はルーチングテーブルを検索し、インタフェースを特定した後、各インタフェース毎に持っているＡＴＭＡＲＰテーブルを検索し、次ホップとなる同一ＬＩＳ内のホストまたはルータのＡＴＭアドレス又はＶＣ（Virtual Connection）番号を得る。この時、目的とするホストのＡＴＭアドレスがＡＴＭＡＲＰテーブル上に存在しない場合はＡＴＭＡＲＰサーバに目的ホストのＩＰアドレスを問い合わせＡＴＭアドレスを取得する。以上のようにして、サブネットワークがＡＴＭ網である場合もＡＲＰテーブルを検索することで、次ホップのルータにパケットを渡し、異るサブネットワーク又はＬＩＳの端末への通信を可能としている。
【０００６】
ＬＩＳとは、データリンク層のアドレスのみで通信可能なＡＴＭ網上に論理的に作ったサブネットワークであるため、異るＬＩＳに跨る通信の場合でも、宛先ホストのデータリンク層パス情報さえ分かってしまえば、ＬＩＳ間に存在するルータ経由でパケットを送信しなくても、直接データリンク層のアドレスを用いて宛先ホストにＶＣ（ショートカットパス）を張ることが可能である。こうした仕組みを提供するプロトコルとして、ＩＥＴＦで提案されているＮＨＲＰ（Next Hop Resolution Protocol) がある（James V. Luciani et al., “NBMA Next Hop Resolution Protocol (NHRP)", Routing over Large Clouds Working Group, INTERNET-DRAFT, ＜draft-ietf-rolc-nhrp-11. txt＞）。ＮＨＲＰはＡＴＭＡＲＰの手法を異るＬＩＳのホストにまで拡張したものと考えられる。各ＬＩＳにはＮＨＳ（Next Hop Server ）と呼ばれるサーバを置き、原則としてＬＩＳ間に位置するルータを兼ねている。また、ＮＨＲＰプロトコルによりショートカットパスを張り通信を行う端末をＮＨＣ（Next Hop Client ）と呼び、各ＮＨＣは自ＬＩＳのＮＨＳに対して自身のＩＰアドレスとＡＴＭアドレスを登録する。ＬＩＳ間通信においては、宛先ホストのＩＰアドレスを書き込んだＮＨＲＰ解決要求パケットを自ＬＩＳのＮＨＳに送信する。これを受信したＮＨＳでは宛先ＩＰアドレスが自身の管理するサブネットワークではない場合、ルーティングテーブルに従い解決要求パケットを次のＮＨＳへ転送する。ＮＨＲＰ解決要求パケットを受信したＮＨＳが宛先ＩＰアドレスが自身の管理するＬＩＳ内のものであると判断した場合は、管理するＬＩＳ内のホストについて保持しているＡＴＭアドレスのテーブル（ＮＨキャッシュと呼ぶこととする）を検索し、ヒットするものを発見した場合は、解決要求発信元のＮＨＣに対してＮＨＲＰ解決応答を送信する。ＮＨＣでは受信した解決応答から宛先ＩＰアドレスに対するＡＴＭアドレスを知り、これを用いてＬＩＳ間に存在するルータをバイパスするダイレクトなＶＣ（ショートカットＶＣ）をはる。ショートカットＶＣはルータを経由しないため、ルータにおけるパケット再構成の遅延、転送遅延等の影響を受けずに高速な通信が可能となる。ＮＨＣではこうしたＶＣが張られるまではルータ（ＮＨＳ）経由のホップバイホップのパスを使用してデータパケットを送信するが、ショートカットＶＣが作成された後はこのパスを使用してデータパケットを送信する。
【０００７】
従来のパケット送信メカニズムでは、パケット毎にルーティングテーブルを検索し送信インタフェースを決定した後に、ＡＲＰテーブルを検索しＩＰアドレスに対するハードウェアアドレスを求めて通信を行っていた。宛先ホストが同一サブネットワーク内の場合は、そのアドレスをキーにＡＲＰテーブルを検索するが、他サブネットワークの場合はルーティングテーブルから得られるゲートウェイルータのアドレスをキーとして検索する。ＡＴＭインタフェースの場合について言えば、ＡＴＭＡＲＰテーブルとして保持しているテーブルから同一ＬＩＳ内のホストに対するＡＴＭアドレスを検索し、テーブルから見つけられない場合はＡＴＭＡＲＰを用いてサーバに問い合わせることでＡＴＭアドレスを取得する。そして、実際のパケット送信の際にはＡＴＭＡＲＰテーブルのエントリと１対１に対応したＶＣに対して送信を行う。エントリがあるがＶＣがないという場合もあるかも知れないが、この場合はエントリに対するＶＣを作成した後にパケットを送信する。
【０００８】
従来は、他サブネットワーク向けの通信はすべてルータ経由で行っていたため、ＡＲＰテーブルとしては自サブネットワーク内のホスト又はルータのデータリンク層パス情報を保持しているだけで十分であった。ＮＨＲＰでは他サブネットワーク（ＬＩＳ）の端末に対してもＡＴＭアドレスをデータリンク層パス情報テーブル（ＮＨキャッシュ）に保持しており、このアドレスを用いてルータをバイパスするＶＣを使用してパケットを送ることが可能である。一方、ＮＨＲＰを用いたＬＩＳ間通信のためにはルーティングテーブルに従った次ホップのルータへのＶＣよりも宛先ホストへのショートカットＶＣを優先的に検索する仕組みが必要になってくる。この場合、テーブル検索の処理量をなるべく減らし高速なルーティング処理を可能とすることも要求される。また、ショートカットＶＣが存在しない場合にはルータ経由のＶＣを使用する制御も必要であるが、従来、例えば、ＬＩＳ内通信等においては同一サブネットワーク内の宛先ホストに対して利用できるデータリンク層パス情報が予め用意されていないので宛先ホストへのＶＣが確立するまでの間、宛先ホストに対して通信を行うことができないという問題がある。更に、宛先ホストが特定サブネットワークに属し、宛先ホストまでは直接にショートカットＶＣが張れないが該特定サブネットワークの端に位置するルータまではショートカットパスが張られる場合、このショートカットパスを該特定サブネットワーク内の全ホストへの共通ショートカットパスとして利用できることが望ましい。
【０００９】
本発明は、第１に、テーブル検索の処理量をなるべく減らし高速なルーティング処理を可能としつつ、ゲートウェイルータ経由のパスよりもショートカットパスを優先的に利用するルーティング検索を可能とするデータリンク層パス情報記憶方法、このデータリンク層パス情報を検索するデータリンク層パス情報検索方法、該データリンク層パス情報検索方法を実施するための通信装置、そして、これらデータリンク層パス情報記憶方法およびデータリンク層パス情報検索方法をそれぞれ実行するプログラムを記録した媒体を提供することを目的とする。
【００１０】
本発明は、第２に、特定サブネットワークの端に位置するルータまで張られたショートカットパスを、このサブネットワーク内の全ホストへの共通ショートカットパスとして、ゲートウェイルータ経由のパスよりも優先的に利用できるデータリンク層パス情報記憶方法、このデータリンク層パス情報を検索するデータリンク層パス情報検索方法、該データリンク層パス情報検索方法を実施するための通信装置、そして、これらデータリンク層パス情報記憶方法およびデータリンク層パス情報検索方法をそれぞれ実行するプログラムを記録した媒体を提供することを目的とする。
【００１１】
本発明は、第３に、ＬＩＳ内通信等において、宛先ＩＰアドレスに対応するデータリンク層パス情報がデータリンク層パス情報テーブルに見つけられない場合に、宛先ホストへのＶＣが確立するまでの間もルータ経由で宛先ホストに対して通信を行うことができるようにするデータリンク層パス情報記憶方法、このデータリンク層パス情報を検索するデータリンク層パス情報検索方法、該データリンク層パス情報検索方法を実施するための通信装置、そして、これらデータリンク層パス情報記憶方法およびデータリンク層パス情報検索方法をそれぞれ実行するプログラムを記録した媒体を提供することを目的とする。
【００１２】
【課題を解決するための手段】
（１）本発明の第１の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、上記のネットワークに接続された他の通信装置へのデータリンク層パス情報を記憶するデータリンク層パス情報記憶方法であって、該方法は、図１に示されるように、
上記のネットワークに接続された第２の通信装置へのデータリンク層パス情報を取得する第１のステップＳ１と、
上記の取得したデータリンク層パス情報を第１のテーブルのエントリに記憶する第２のステップＳ２と、
上記の取得したデータリンク層パス情報を記憶した上記の第１のテーブルの上記のエントリを直接指すポインタ情報を、上記の第１の通信装置からメッセージを送信する際に最初に検索されるために設けられる第２のテーブルに記憶する第３のステップＳ３とを有することを特徴とする方法が提供される。
【００１３】
この方法で、上記の通信装置とは、例えば、前述のようなホスト、ルータ等、ネットワーク内でアドレス指定可能なステーションである。
以上の手順により、上記の第１の通信装置からメッセージを送信する際に最初に第２のテーブルを検索すれば、取得した第２の通信装置へのデータリンク層パス情報を記憶した第１のテーブルのエントリを直接指すポインタ情報が得られ、直ちに、エントリから第２の通信装置へのデータリンク層パス情報が得られる。したがって、データリンク層パスを得るためのルーティング処理を高速化することができる。
【００１４】
（１−１）上記の本発明の第１の形態において、上記の第２のテーブルは、上記の第１の通信装置からメッセージを上記のネットワーク層アドレスを用いて送信する際に該メッセージを次に転送すべきルータを上記のネットワーク層アドレスに対応して記憶するルーティングテーブルの一部のエントリを別途記憶するルーティングキャッシュであるようにできる。ルーティングキャッシュの使用により、ルーティング処理を更に高速化することができる。
【００１５】
（１−２）或は、上記の（１−１）の構成において、ルーティングキャッシュを使用する代わりに、ルーティングテーブルの１部分の領域を、上記のルーティングテーブルの一部のエントリを別途記憶するために持ってもよい。
（２）本発明の第２の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、該プログラムは、上記のネットワークに接続された他の通信装置へのデータリンク層パス情報を記憶するデータリンク層パス情報記憶方法を実行するものであって、
上記のネットワークに接続された第２の通信装置へのデータリンク層パス情報を取得させる第１の手段Ｓ１と、
上記の取得したデータリンク層パス情報を第１のテーブルのエントリに記憶させる第２の手段Ｓ２と、
上記の取得したデータリンク層パス情報を記憶した上記の第１のテーブルの上記のエントリを直接指すポインタ情報を、上記の第１の通信装置からメッセージを送信する際に最初に検索されるために設けられる第２のテーブルに記憶させる第３の手段Ｓ３とを有することを特徴とする媒体が提供される。
【００１６】
上記のプログラムは、図１を参照して説明した本発明の第１の形態のデータリンク層パス情報記憶方法（１）を実行させるプログラムである。そして、その方法（１）に、各々、付加要件を加えてなる方法（１−１）および（１−２）を実行させるプログラムを記録する媒体を提供することができる。
なお、本明細書でいうプログラムを記録する媒体とは、コンピュータによって実行されるべきプログラムを記録するＣＤ−ＲＯＭやフロッピーディスク等だけでなく、その媒体を組み込んだ装置が、上記の方法を実行する機能を有するように装置を動作させる制御信号等を発生するＬＳＩ等のハードウエア論理回路をも含むものとする。
【００１７】
（３）本発明の第３の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、上記の複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するデータリンク層パス情報記憶方法であって、該方法も、図１に示されるように、
上記の複数のサブネットワークの上記の１つに接続された第２の通信装置のネットワーク層アドレスに基づいて、上記の代表通信装置へのデータリンク層パス情報を取得する第１のステップＳ１と、
上記の取得したデータリンク層パス情報を第１のテーブルのエントリに記憶する第２のステップＳ２と、
上記の取得したデータリンク層パス情報を記憶した上記の第１のテーブルの上記のエントリを直接指すポインタ情報を、上記の第１の通信装置からメッセージを送信する際に最初に検索されるために設けられる第２のテーブルに記憶する第３のステップＳ３とを有することを特徴とする方法が提供される。
【００１８】
本発明の第３の形態を実行することにより、後述する本発明の第６の形態のテーブル構成を有する通信装置が構成される。
本発明の第３の形態によれば、後に第１７図の具体例について説明するように、特定のサブネットワークの端に位置するルータ（代表ホスト）まで張られたショートカットパスを、この特定のサブネットワーク内の全ホストへの共通ショートカットパスとして、ゲートウェイルータ経由のパスよりも優先的に利用できるようになる。
【００１９】
本発明の第３の形態においても、以下の要件（３−１）および（３−２）を付加してもよい。
（３−１）上記の第１のステップにおいては、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属する上記の１つのサブネットワークを示す部分を指定するサブネットマスク情報をも取得し、
上記の第２のテーブルには、上記のサブネットマスク情報をも記憶する。
【００２０】
この付加要件（３−１）と共に本発明の第３の形態を実行することにより、後述する付加要件（６−１）の場合の本発明の第６の形態のテーブル構成を有する通信装置が構成され、後述する本発明の第９の形態の検索方法が実行できるようになる。
（３−２）上記の第１のステップにおいては、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも取得し、
上記の第１のテーブルには、上記のサブネットマスク情報をも記憶する。
【００２１】
この付加要件（３−２）と共に本発明の第３の形態を実行することにより、後述する付加要件（６−２）の場合の本発明の第６の形態のテーブル構成を有する通信装置が構成され、後述する本発明の第１１の形態の検索方法が実行できるようになる。
第１または第２のテーブルにサブネットマスクをも記憶することにより、後述するEgressルータ等の代表ホストの先に存在するイーサネット等の別のサブネットワークに接続するホストのネットワーク層アドレスと上記のサブネットマスクとを演算して得られる、上記のイーサネット等に接続するホストが属するサブネットワークを示す部分は、このイーサネット等に接続する全てのホストについて共通であるので、この別のサブネットワークに接続する１つのホストについて第２のテーブルに記憶されたエントリには、この別のサブネットワークに接続する全てのホストのＩＰアドレスが（サブネットマスクで示される部分において）ヒットし、上記の代表ホストへのデータリンク層パスを、この別のサブネットワークに接続する全てのホストへの共通のショートカット・パスとして張ることができる。
【００２２】
（４）本発明の第４の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、該プログラムが、上記の複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するデータリンク層パス情報記憶方法を実行するものであって、
上記の複数のサブネットワークの１つに接続された第２の通信装置のネットワーク層アドレスに基づいて、上記の１つのサブネットワークを代表する代表通信装置へのデータリンク層パス情報を取得する第１の手段Ｓ１と、
上記の取得したデータリンク層パス情報を第１のテーブルのエントリに記憶する第２の手段Ｓ２と、
上記の取得したデータリンク層パス情報を記憶した上記の第１のテーブルの上記のエントリを直接指すポインタ情報を、上記の第１の通信装置からメッセージを送信する際に最初に検索されるために設けられる第２のテーブルに記憶する第３の手段Ｓ３とを有することを特徴とする媒体が提供される。
【００２３】
上記のプログラムは、図１を参照して説明した本発明の第３の形態のデータリンク層パス情報記憶方法（３）を実行させるプログラムである。そして、その方法（３）に、各々、付加要件を加えてなる方法（３−１）および（３−２）を実行させるプログラムを記録する媒体を提供することができる。
（５）本発明の第５の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される通信装置であって、図２に示されるように、上記のネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するために設けられたエントリを有する第１のテーブル１と、上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブル２とを有することを特徴とする通信装置が提供される。
【００２４】
本発明の第５の形態による通信装置においても、上記の（１−１）および（１−２）の付加要件を加えた構成が可能である。
本発明の第５の形態による通信装置の構成は、本発明の第１の形態によるデータリンク層パス情報記憶方法を実行することにより形成され得る。この構成により、以下に述べる本発明の第７の形態によるデータリンク層パス情報検索方法が実行できる。
【００２５】
（６）本発明の第６の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される通信装置であって、図２に示されるように、上記の通信装置から上記の複数のサブネットワークのうちの１つを代表する代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブル１と、上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の１つのサブネットワークに接続される１つの通信装置のネットワーク層アドレスに対応して記憶する第２のテーブル２とを有することを特徴とする通信装置が提供される。
【００２６】
本発明の第６の形態においては、以下の要件（６−１）および（６−２）の付加してもよい。
（６−１）上記の第２のテーブル２は、上記１つの通信装置のネットワーク層アドレスのうち、該１つの通信装置が属する上記の１つのサブネットワークを示す部分を指定するサブネットマスク情報をも記憶し、
上記の第２のテーブルには、上記のサブネットマスク情報をも記憶する。
【００２７】
この付加要件（６−１）を有する本発明の第６の形態のテーブル構成を有する通信装置上では、後述する本発明の第９の形態の検索方法が実行できるようになる。
（６−２）上記の第２のテーブル２は、上記１つの通信装置のネットワーク層アドレスのうち、該１つの通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶し、
上記の第１のテーブルには、上記のサブネットマスク情報をも記憶する。
【００２８】
この付加要件（６−２）を有する本発明の第６の形態のテーブル構成を有する通信装置上では、後述する本発明の第１１の形態の検索方法が実行できるようになる。
（７）本発明の第７の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、上記のネットワークに接続された第２の通信装置へのデータリンク層パス情報を該第２の通信装置のネットワーク層アドレスに基づいて検索するデータリンク層パス情報検索方法であって、該方法は、前述の本発明の第５の形態による通信装置において実行される。すなわち、上記の第１の通信装置は、上記のネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するために設けられたエントリを有する第１のテーブル１と、上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブル２とを有する。
【００２９】
上記の方法は、図３に示されるように、
上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索する第１のステップＳ１１と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２のステップＳ１２とを有することを特徴とする。
【００３０】
本発明の第３の形態によるデータリンク層パス情報検索方法は、本発明の第１の形態によるデータリンク層パス情報記憶方法、および、本発明の第５の形態による通信装置の効果としての高速なルーティングを実行する手順である。
本発明の第７の形態においても、前述の要件（１−１）および（１−２）を付加してもよい。
【００３１】
（８）本発明の第８の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、
本発明の第５の形態による通信装置と共に使用されるときに該通信装置を制御して本発明の第７の形態によるデータリンク層パス情報検索方法を実行させるものが提供される。
【００３２】
すなわち、上記の第１の通信装置は、上記のネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するために設けられたエントリを有する第１のテーブルと、上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルとを有し、
上記のプログラムは、
上記のネットワークに接続された第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索させる第１の手段と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求めさせる第２の手段とを有することを特徴とする。
【００３３】
上記のプログラムは、図３を参照して説明した本発明の第７の形態のデータリンク層パス情報記憶方法（７）を実行させるプログラムである。そして、その方法（７）に、各々、付加要件（１−１）および（１−２）を加えてなる方法を実行させるプログラムを記録する媒体を提供することができる。
（９）本発明の第９の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、上記の複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を、該１つのサブネットワークに接続される第２の通信装置のネットワーク層アドレスに基づいて検索するデータリンク層パス情報検索方法であって、該方法は、前述の本発明の第５の形態で付加要件（１−１）を有する通信装置において実行される。すなわち、上記の第１の通信装置は、上記の代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルとを有する。
【００３４】
上記の方法は、図６に示されるように、
上記の第２のテーブルの各エントリから上記のサブネットマスク情報を得る第１のステップＳ２１と、
上記の第２の通信装置のネットワーク層アドレスと上記の第２のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のサブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２のステップＳ２２と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３のステップＳ２３とを有することを特徴とする。
【００３５】
本発明の第９の形態によるデータリンク層パス情報検索方法は、付加要件（３−１）を有する本発明の第３の形態によるデータリンク層パス情報記憶方法、および、付加要件（１−１）を有する本発明の第５の形態による通信装置の効果としての高速なルーティングを実行する手順である。
（１０）本発明の第１０の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、
付加要件（１−１）を有する本発明の第５の形態による通信装置と共に使用されるときに該通信装置を制御して本発明の第９の形態によるデータリンク層パス情報検索方法を実行させるものが提供される。
【００３６】
すなわち、上記のプログラムは、
上記の第２のテーブルの各エントリから上記のサブネットマスク情報を得る第１の手段Ｓ２１と、
上記の第２の通信装置のネットワーク層アドレスと上記の第２のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のサブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２の手段Ｓ２２と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３の手段Ｓ２３とを有することを特徴とする。
【００３７】
（１１）本発明の第１１の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、上記の複数のサブネットワークの１つを代表する代表通信装置へのデータリンク層パス情報を、該１つのサブネットワークに接続される第２の通信装置のネットワーク層アドレスに基づいて検索するデータリンク層パス情報検索方法であって、該方法は、前述の本発明の第５の形態で付加要件（１−２）を有する通信装置において実行される。すなわち、上記の第１の通信装置は、上記の代表通信装置へのデータリンク層パス情報を記憶し、更に、該代表通信装置のネットワーク層アドレスのうち、該代表通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶するエントリを有する第１のテーブルと、
上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の第２の通信装置のネットワーク層アドレスに対応して記憶する第２のテーブルとを有する。
【００３８】
上記の方法は、図７に示されるように、
上記の第２のテーブルの各エントリからポインタ情報を求める第１のステップＳ３１と、
上記の第２のテーブルの各エントリから求めた上記のポインタ情報が直接指す上記の第１のテーブルのエントリに記憶された上記のサブネットマスク情報を得る第２のステップＳ３２と、
上記の第２の通信装置のネットワーク層アドレスと上記の第１のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のポインタ情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第３のステップＳ３３と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第３のステップにて求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第４のステップＳ３４とを有することを特徴とする。
【００３９】
本発明の第１１の形態によるデータリンク層パス情報検索方法は、付加要件（３−２）を有する本発明の第３の形態によるデータリンク層パス情報記憶方法、および、付加要件（１−２）を有する本発明の第５の形態による通信装置の効果としての高速なルーティングを実行する手順である。
（１２）本発明の第１２の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置を動作させるプログラムを記録する媒体であって、
付加要件（１−２）を有する本発明の第５の形態による通信装置と共に使用されるときに該通信装置を制御して本発明の第１１の形態によるデータリンク層パス情報検索方法を実行させるものが提供される。
【００４０】
すなわち、上記のプログラムは、
上記の第２のテーブルの各エントリからポインタ情報を求める第１の手段Ｓ３１と、
上記の第２のテーブルの各エントリから求めた上記のポインタ情報が直接指す上記の第１のテーブルのエントリに記憶された上記のサブネットマスク情報を得る第２の手段Ｓ３２と、
上記の第２の通信装置のネットワーク層アドレスと上記の第１のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のポインタ情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第３の手段Ｓ３３と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第３の手段にて求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第４の手段Ｓ３４とを有することを特徴とする。
【００４１】
（１３）本発明の第１３の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置において、上記のネットワークに接続された第２の通信装置へメッセージを送信する際の送信ルート決定方法が提供される。
【００４２】
この方法において、上記の第１の通信装置は、上記のネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルと、上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有するものとしている。
【００４３】
上記の方法は、
上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索して該第２の通信装置のネットワーク層アドレスに対応するポインタ情報を求める第１のステップと、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２のステップと、
上記の第１のステップにて上記のエントリを直接指すポインタ情報が見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第３のステップとを有することを特徴とする。
【００４４】
すなわち、本発明の第１３の形態によれば、先ず、第２のテーブルを検索して、宛て先の通信装置へのデータリンク層パス情報を記憶する第１のテーブルのエントリを直接指すポインタ情報を探し、これが第２のテーブルの検索で見つけられないときは、第３のテーブルを検索して、宛て先の通信装置へのルーティング装置を介した通信のためのネットワーク層パス情報を求めるものである。
【００４５】
（１４）本発明の第１４の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置を動作させるプログラムを記録する媒体であって、
以下の構成の通信装置と共に使用されるときに該通信装置を制御して本発明の第１３の形態による送信ルート決定方法を実行させるものが提供される。
【００４６】
すなわち、上記の第１の通信装置は、上記のネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルと、上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
上記のプログラムは、
上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索して該第２の通信装置のネットワーク層アドレスに対応するポインタを求める第１の手段と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２の手段と、
上記の第１の手段にて上記のエントリを直接指すポインタ情報が見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第３の手段とを有することを特徴とする。
【００４７】
（１５）本発明の第１５の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置において、上記のネットワークに接続された第２の通信装置へメッセージを送信する際の送信ルート決定方法が提供される。
【００４８】
この方法において、上記の第１の通信装置は、上記のネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルと、上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、上記の第２のテーブルは、更に、上記の第３のテーブルに記憶された上記のルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶し得るように構成されるものとしている。
【００４９】
上記の方法は、
上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索して該第２の通信装置のネットワーク層アドレスに対応するポインタ情報を求める第１のステップと、
上記の第１のステップにて上記のエントリを直接指すポインタ情報が見つけられたときは、上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２のステップと、
上記の第１のステップにて上記のエントリを直接指すポインタ情報が見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第３のステップと、
上記の第３のステップにて上記のルーティング装置を介した通信のためのネットワーク層パス情報が上記の第２のテーブルに見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第４のステップとを有することを特徴とする。
【００５０】
すなわち、本発明の第１５の形態によれば、先ず、第２のテーブルを検索して、宛て先の通信装置へのデータリンク層パス情報を記憶する第１のテーブルのエントリを直接指すポインタ情報を探し、これが第２のテーブルの検索で見つけられないときは、同じく第２のテーブルで、宛て先の通信装置への上記のルーティング装置を介した通信のためのネットワーク層パス情報を探し、これも第２のテーブルの検索で見つけられないときは、第３のテーブルを検索して、宛て先の通信装置へのルーティング装置を介した通信のためのネットワーク層パス情報を求めるものである。
【００５１】
（１６）本発明の第１６の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置を動作させるプログラムを記録する媒体であって、
上記（１５）に記した構成の第１の通信装置を制御して本発明の第１５の形態による送信ルート決定方法を実行させるものが提供される。
【００５２】
すなわち、上記の第１の通信装置は、上記のネットワークに接続された少なくとも１つの他の通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、ネットワーク層アドレスに対応して記憶する第２のテーブルと、上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、上記の第２のテーブルは、更に、上記の第３のテーブルに記憶された上記のルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶し得るように構成され、
上記のプログラムは、
上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索して該第２の通信装置のネットワーク層アドレスに対応するポインタ情報を求める第１の手段と、
上記の第１の手段にて上記のエントリを直接指すポインタ情報が見つけられたときは、上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第２の手段と、
上記の第１の手段にて上記のエントリを直接指すポインタ情報が見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第３の手段と、
上記の第３の手段にて上記のルーティング装置を介した通信のためのネットワーク層パス情報が上記の第２のテーブルに見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第４の手段をを有することを特徴とする。
【００５３】
（１７）本発明の第１７の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、上記の複数のサブネットワークの１つを代表する代表通信装置へメッセージを送信する際の送信ルート決定方法が提供される。
この方法において、上記の第１の通信装置は、上記の代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルと、
上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有するものとしている。
【００５４】
上記の方法は、
上記の第２のテーブルの各エントリから上記のサブネットマスク情報を得る第１のステップと、
上記の第２の通信装置のネットワーク層アドレスと上記の第２のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のサブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２のステップと、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３のステップと、
上記の第２のステップにて上記のエントリを直接指すポインタ情報が見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第４のステップとを有することを特徴とする。
【００５５】
すなわち、本発明の第１７の形態によれば、先ず、本発明の第９の形態の検索方法により第２のテーブルを検索して、宛て先の通信装置へのデータリンク層パス情報を記憶する第１のテーブルのエントリを直接指すポインタ情報を探し、これが第２のテーブルの検索で見つけられないときは、第３のテーブルを検索して、宛て先の通信装置へのルーティング装置を介した通信のためのネットワーク層パス情報を求めるものである。
【００５６】
（１８）本発明の第１８の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置を動作させるプログラムを記録する媒体であって、
上記（１７）に記した構成を有する第１の通信装置と共に使用されるときに該通信装置を制御して本発明の第１７の形態による送信ルート決定方法を実行させるものが提供される。
【００５７】
すなわち、上記の第１の通信装置は、上記の代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルと、
上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有するものとしている。
【００５８】
そして、上記のプログラムは、
上記の第２のテーブルの各エントリから上記のサブネットマスク情報を得る第１の手段と、
上記の第２の通信装置のネットワーク層アドレスと上記の第２のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のサブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２の手段と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３の手段と、
上記の第２の手段にて上記のエントリを直接指すポインタ情報が見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第４の手段とを有することを特徴とする。
【００５９】
（１９）本発明の第１９の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、上記の複数のサブネットワークの１つを代表する代表通信装置へメッセージを送信する際の送信ルート決定方法が提供される。
この方法において、上記の第１の通信装置は、上記の代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルと、
上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
上記の第２のテーブルは、更に、上記の第３のテーブルに記憶された上記のルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶するものとしている。
上記の方法は、
上記の第２のテーブルの各エントリから上記のサブネットマスク情報を得る第１のステップと、
上記の第２の通信装置のネットワーク層アドレスと上記の第２のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のサブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２のステップと、上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３のステップと、
上記の第２のステップにて上記のエントリを直接指すポインタ情報が見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第４のステップと、
上記の第４のステップにて上記のルーティング装置を介した通信のためのネットワーク層パス情報が上記の第２のテーブルに見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第５のステップとを有することを特徴とする。
【００６０】
すなわち、本発明の第１９の形態によれば、先ず、本発明の第９の形態の検索方法により第２のテーブルを検索して、宛て先の通信装置へのデータリンク層パス情報を記憶する第１のテーブルのエントリを直接指すポインタ情報を探し、これが第２のテーブルの検索で見つけられないときは、再び、第２のテーブルを検索して、宛て先の通信装置への上記のルーティング装置を介した通信のためのネットワーク層パス情報を探し、これも第２のテーブルの検索で見つけられないときは、第３のテーブルを検索して、宛て先の通信装置へのルーティング装置を介した通信のためのネットワーク層パス情報を求めるものである。
【００６１】
（２０）本発明の第２０の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置を動作させるプログラムを記録する媒体であって、
上記（１９）に記した構成を有する第１の通信装置と共に使用されるときに該通信装置を制御して本発明の第１９の形態による送信ルート決定方法を実行させるものが提供される。
【００６２】
すなわち、上記の第１の通信装置は、上記の代表通信装置へのデータリンク層パス情報を記憶するエントリを有する第１のテーブルと、
上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶し、更に、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第２のテーブルと、
上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有し、
上記の第２のテーブルは、更に、上記の第３のテーブルに記憶された上記のルーティング装置を介した通信のためのネットワーク層パス情報の一部をも記憶し、
上記のプログラムは、
上記の第２のテーブルの各エントリから上記のサブネットマスク情報を得る第１の手段と、
上記の第２の通信装置のネットワーク層アドレスと上記の第２のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のサブネットマスク情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第２の手段と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第２のテーブルから求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第３の手段と、
上記の第２の手段にて上記のエントリを直接指すポインタ情報が見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第２のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第４の手段と、
上記の第４の手段にて上記のルーティング装置を介した通信のためのネットワーク層パス情報が上記の第２のテーブルに見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第５の手段とを有することを特徴とする。
【００６３】
（２１）本発明の第２１の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される第１の通信装置において、上記の複数のサブネットワークの１つを代表する代表通信装置へメッセージを送信する際の送信ルート決定方法が提供される。
この方法において、上記の第１の通信装置は、上記の代表通信装置へのデータリンク層パス情報を記憶するエントリを有し、更に、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第１のテーブルと、
上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶する第２のテーブルと、
上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有するものとしている。
【００６４】
上記の方法は、
上記の第２のテーブルの各エントリからポインタ情報を求める第１のステップと、
上記の第２のテーブルの各エントリから求めた上記のポインタ情報が直接指す上記の第１のテーブルのエントリに記憶された上記のサブネットマスク情報を得る第２のステップと、
上記の第２の通信装置のネットワーク層アドレスと上記の第１のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のポインタ情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第３のステップと、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第３のステップにて求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第４のステップと、
上記の第３のステップにて上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリがないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第５のステップとを有することを特徴とする。
【００６５】
すなわち、本発明の第２１の形態によれば、先ず、本発明の第１１の形態の検索方法により第２のテーブルを検索して、宛て先の通信装置へのデータリンク層パス情報を記憶する第１のテーブルのエントリを直接指すポインタ情報を探し、これが第２のテーブルの検索で見つけられないときは、第３のテーブルを検索して、宛て先の通信装置へのルーティング装置を介した通信のためのネットワーク層パス情報を求めるものである。
【００６６】
（２２）本発明の第２２の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理され、該複数のサブネットワーク間がルーティング装置を介して通信可能であるネットワークに接続された第１の通信装置を動作させるプログラムを記録する媒体であって、
上記（２１）に記した構成を有する第１の通信装置と共に使用されるときに該通信装置を制御して本発明の第２１の形態による送信ルート決定方法を実行させるものが提供される。
【００６７】
すなわち、上記の第１の通信装置は、上記の代表通信装置へのデータリンク層パス情報を記憶するエントリを有し、更に、上記の第２の通信装置のネットワーク層アドレスのうち、上記の第２の通信装置が属するサブネットワークを示す部分を指定するサブネットマスク情報をも記憶する第１のテーブルと、
上記の第１のテーブルにおいて上記のデータリンク層パス情報を記憶する上記のエントリを直接指すポインタ情報を、上記の複数のサブネットワークの１つに接続される第２の通信装置のネットワーク層アドレスに対応して記憶する第２のテーブルと、
上記のルーティング装置を介した通信のためのネットワーク層パス情報を、上記のネットワーク層アドレスに対応して記憶する第３のテーブルとを有するものとしている。
【００６８】
そして、上記のプログラムは、
上記の第２のテーブルの各エントリからポインタ情報を求める第１の手段と、
上記の第２のテーブルの各エントリから求めた上記のポインタ情報が直接指す上記の第１のテーブルのエントリに記憶された上記のサブネットマスク情報を得る第２の手段と、
上記の第２の通信装置のネットワーク層アドレスと上記の第１のテーブルから得た上記のサブネットマスク情報と上記の第２のテーブルの上記のポインタ情報を得たエントリのネットワーク層アドレスとを演算して、上記の第２の通信装置のネットワーク層アドレスと、上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが上記の第２のテーブルにある場合は、該エントリに記憶されたポインタ情報を求める第３の手段と、
上記の第２の通信装置のネットワーク層アドレスに対応して上記の第３の手段にて求めた上記のポインタ情報が直接指すエントリに記憶されたデータリンク層パス情報を求める第４の手段と、
上記の第３の手段にて上記のサブネットマスク情報が示す部分において一致するネットワーク層アドレスのエントリが見つけられないときは、上記の第２の通信装置のネットワーク層アドレスを用いて上記の第３のテーブルを検索して、上記のルーティング装置を介した通信のためのネットワーク層パス情報を求める第５の手段とを有することを特徴とする。
【００６９】
（２３）本発明の第２３の形態によれば、ネットワーク層アドレスに基づいて複数のサブネットワークに分割管理されたネットワークに接続される通信装置において、図６に示されるように、
上記の通信装置からメッセージを上記のネットワーク層アドレスを用いて送信する際に該メッセージを出力すべきインターフェースを上記のネットワーク層アドレスに対応して記憶するルーティングテーブル１２と、
上記のネットワーク層アドレスに対応して、上記のネットワークに接続される他の通信装置へのデータリンク層パス情報を記憶するために設けられたデータリンク層パス情報テーブル１１とを有し、
上記のデータリンク層パス情報テーブルの少なくとも１つのエントリには、当該通信装置からメッセージを上記のネットワーク層アドレスを用いて送信する際にルーティングテーブル検索の後、データリンク層パス情報テーブルエントリが見つからない、あるいは、存在してもパケット送信が不可能な場合にもメッセージ送信を可能にするためのデータリンク層パス情報を記憶するデフォルトエントリ１３を有することを特徴とする通信装置が提供される。
【００７０】
本発明の第２３の形態による通信装置によれば、メッセージをネットワーク層アドレスを用いて送信する際にルーティングテーブル検索の後、データリンク層パス情報テーブルエントリが見つからない、あるいは、存在してもパケット送信が不可能な場合にもメッセージ送信を実行できる。これにより、ルーティング処理における遅延を無くし、ルーティング処理を高速化することができる。
【００７１】
【発明の実施の形態】
以下では、ＮＨＲＰを実現するためのパケット送信手順について記述するが、一般には、ＡＴＭネットワークに限らず、他の種類のデータリンク層ネットワークにおいても適用可能である。
図７は、本発明の第１の実施の形態におけるテーブル構成の１例を示す図である。図７の構成は、例えば、前述の本発明の第１の形態のデータリンク層パス情報記憶方法によって形成される、本発明の第２の形態の通信装置が具備するテーブル構成の１例である。図７において、４０はルーティングテーブル、５０はルートキャッシュ、６０はデバイステーブル、７０はデータリンク層パス情報テーブル、そして、８０はパス管理テーブルである。
【００７２】
図７の構成を有する通信装置においてはパケット送信が生じた場合には以下の手順で送信を行う。
通信装置内で送信パケットと共に保持される送信先ネットワーク層アドレスを用いてルーティングテーブル４０を検索する（１）。ルーティングテーブル４０の検索は宛先ホストに対するネットワーク層アドレスそのものでヒットする場合もあるし、特定のホストの集まりであるネットワークアドレスでヒットする場合もある。ルーティングテーブル４０を検索することにより宛先ホストへパケットを送信するためのインタフェース名と次ホップのゲートウェイルータのアドレスが得られる。一方で、一度検索した宛先ホストに対するルーティング情報をルートキャッシュ５０として一定期間保持する。そして、ルート検索する際には、先ずルートキャッシュ５０を検索し（１′）、見つからない場合のみルーティングテーブル４０を検索する（１）ことで、利用頻度が高い宛先ホストに対しては検索時間を高速化できる。以下、両方の検索をあわせてルート検索と呼ぶ。
【００７３】
ルート検索により、インタフェース名（デバイス名）を取得すると、デバイステーブル６０を検索し（２）、デバイス毎に用意されたデータリンク層パス情報テーブル７０を宛先ホストのネットワーク層アドレスをキーとして検索する（４）。エントリが見つかった場合は、このデータリンク層パス情報テーブル７０のエントリ（以下データリンク層パス情報エントリと記す）が示すパスに対してパケットを送信する。このパスについての情報（例えば、ＶＰＩ，ＶＣＩ等）は、データリンク層パス情報テーブル７０の各エントリにリンクされたパス管理テーブル８０に格納されている（５）。
【００７４】
データリンク層パス情報テーブル７０に宛先ホストのエントリが見つからない場合はアドレス解決サーバに対して宛先ホストのデータリンク層パス情報を問い合わせる。この問い合わせを行っている間は、パケットをルート検索により得られたゲートウェイルータのネットワーク層アドレスからデータリンク層パス情報を求め、ルータ経由の送信を行う。
【００７５】
問い合わせに対する回答がサーバから戻って来た場合はデータリンク層パス情報エントリを新たに追加し、ショートカットパスを作成する。そして、作成されたパスを参照するための情報をデータリンク層パス情報エントリに書き込む。また、パス管理テーブル８０には、このショートカットパスのヴァーチャル・コネクションＶＣの情報（例えば、ＶＰＩ，ＶＣＩ等）を格納する。更に、本発明の第１の形態のデータリンク層パス情報記憶方法に従い、ルートキャッシュ５０の宛先ホストのエントリに、作成されたデータリンク層パス情報エントリを参照する情報（ポインタ情報（ａ））を書き込む。
【００７６】
こうして、パケット送信時には、先ずルートキャッシュ５０を検索し（１′）、ヒットした場合はデータリンク層パス情報エントリへの参照情報（ポインタ情報（ａ））があるかどうかを調べ、これが存在する場合は該当するデータリンク層パス情報エントリの示すパスを利用してパケットを送信する。これにより、ルーティングテーブル４０の検索、及びデータリンク層パス情報テーブルの検索を省くことができるため、パケット転送性能を向上させることが可能である。
【００７７】
データリンク層パス情報エントリへの参照情報（ポインタ情報（ａ））が存在しない場合は、単にルートキャッシュがヒットしたものとして、デバイステーブル６０の示すデータリンク層パス情報テーブル７０からゲートウェイルータのデータリンク層パス情報エントリを検索し、該当パスへパケットを送信する。
なお、従来、ルーティングテーブル、ルートキャッシュ、デバイステーブル、データリンク層パス情報テーブル、および、パス管理テーブルを用いる構成は、フリーソフトウエアとして流通しているUNIX-compatible OSの１つである、Linux にて用いられている。しかし、Linux においては、本発明の第１の形態のデータリンク層パス情報記憶方法におけるような、ルートキャッシュ５０の宛先ホストのエントリに、作成されたデータリンク層パス情報エントリを参照する情報（ポインタ情報（ａ））を書き込む技術は開示されていない。
【００７８】
図８は、本発明の第２の実施の形態におけるテーブル構成の１例を示す図である。図８の構成は、前述の本発明の第３の形態のデータリンク層パス情報記憶方法に（３−２）の付加要件を加えた方法によって形成され、本発明の第２の形態の通信装置に（３−２）の付加要件を加えた通信装置が具備するテーブル構成の１例でもある。図８において、４０はルーティングテーブル、５１はルートキャッシュ、６０はデバイステーブル、７１はデータリンク層パス情報テーブル、そして、８０はパス管理テーブルである。
【００７９】
図８の構成を有する通信装置においてはパケット送信が生じた場合には以下の手順で送信を行う。
先ず、通信装置内でパケットと共に保持される送信先ネットワーク層アドレスを用いたルートキャッシュ５０の検索（１′）、ルートキャッシュ５０で見つからない場合のルーティングテーブル４０の検索（１）については、上記の図７の構成において説明したルート検索の手順と同じである。
【００８０】
ルート検索により、インタフェース名（デバイス名）を取得すると、デバイステーブル６０を検索し、デバイス毎に用意されたデータリンク層パス情報テーブル７１を宛先ホストのネットワーク層アドレスをキーとして検索する。エントリが見つかった場合は、データリンク層パス情報エントリの示すパスに対してパケットを送信する。
【００８１】
データリンク層パス情報テーブル７１に宛先ホストのエントリが見つからない場合はアドレス解決サーバに対して宛先ホストのデータリンク層パス情報を問い合わせる。問い合わせを行っている間、パケットをルート検索により得られたゲートウェイルータのネットワーク層アドレスからデータリンク層パス情報テーブル７１を求め、このパスに対して送信を行う。
【００８２】
問い合わせに対する回答がサーバから戻って来た場合はデータリンク層パス情報エントリを新たに追加し、パスを作成するが、サーバは、宛先ホストまでショートカットパスが張れるときには宛先ホストに対するデータリンク層パス情報を返すが、宛先ホストまではショートカットパスが張れず、宛先ホストを含むサブネットワークへ接続する代表ホスト（例えば、図１８のＮＨＳ３）までのデータリンク層パス情報を返すことも可能であり、この場合は、このサブネットワークを示すために、代表ホストまでのデータリンク層パス情報に加えてサブネットマスクも含めて応答が戻ってくる。パスを作成の後、作成されたパス（パス管理テーブル８０内のエントリ）を参照するための情報をデータリンク層パス情報エントリ内に書き込む。その後、更に、本発明の第３の形態のデータリンク層パス情報記憶方法に従い、宛先ホストへのルートキャッシュ５１に、作成されたデータリンク層パス情報エントリへの参照情報（ポインタ情報（ａ））を書き込む。なお、上記の応答に含まれていたサブネットマスクは、上記のデータリンク層パス情報エントリまたはルートキャッシュ５１のエントリの何れかに書き込む。
【００８３】
上記のような、宛先ホストまではショートカットパスが張れず、宛先ホストを含むサブネットワークへ接続する代表ホストまでのショートカットパスが張れるような宛先ホストに対してパケット送信する際には、先ず、ルートキャッシュ５１を検索し（１′）、ルートキャッシュ５１のエントリに、本発明の第６の形態の通信装置のように（本発明の第３の形態のデータリンク層パス情報記憶方法により既に書き込まれた）データリンク層パス情報エントリへの参照（ポインタ情報（ａ））がある場合は、このポインタ情報（ａ）が指すデータリンク層パス情報エントリにネットマスクが記入されているときは、そのネットマスクを読み出して（或いは、ルートキャッシュ５１のエントリにネットマスクが記入されているときは、そのネットマスクを読み出して）、そのネットマスクとキーとなる宛先アドレスとを併せて演算し、ルートキャッシュ５１のアドレスのネットワークを示す部分にヒットするかどうか調べる。その結果、ヒットした場合は該当するデータリンク層パス情報エントリの示すパス（上記の代表ホストまでのショートカットパス）を利用して、宛先ホストのネットワーク層アドレスとネットマスクとを含むパケットを送信する。これにより、ルーティングテーブルの検索、及び、データリンク層パス情報テーブルの検索を省くことができるため、パケット転送性能を向上させることができる。
【００８４】
もし、データリンク層パス情報エントリへの参照情報（ポインタ情報（ａ））が存在しない場合には、単にルートキャッシュ５１が宛先ホストのネットワーク層アドレスでヒットしたときに、ヒットしたルートキャッシュ５１のエントリに示されたデバイステーブル６０の示すデータリンク層パス情報テーブル７１からゲートウェイルータのデータリンク層パス情報エントリを検索し、このデータリンク層パス情報エントリにリンクされたパス管理テーブル８０のエントリに示されたヴァーチャル・コネクションＶＣの情報（例えば、ＶＰＩ，ＶＣＩ等）を用いて該当パスへパケットを送信する。
【００８５】
図９は、本発明の第３の実施の形態におけるテーブル構成の１例を示す図である。図９の構成は、前述の本発明の第２３の形態の通信装置が具備するテーブル構成の１例でもある。図９において、４０はルーティングテーブル、５２はルートキャッシュ、６０はデバイステーブル、７２はデータリンク層パス情報テーブル、そして、８０はパス管理テーブルである。
【００８６】
図９の構成を有する通信装置においてはパケット送信が生じた場合には以下の手順で送信を行う。
先ず、通信装置内でパケットと共に保持される送信先ネットワーク層アドレスを用いたルートキャッシュ５０の検索（１′）、ルートキャッシュ５０で見つからない場合のルーティングテーブル４０の検索（１）については、上記の図７の構成において説明したルート検索の手順と同じである。ルート検索により、インタフェース名（デバイス名）を取得すると、デバイステーブル６０を検索し、デバイス毎に用意されたデータリンク層パス情報テーブル７２を宛先ホストのネットワーク層アドレスをキーとして検索する。エントリが見つかった場合は、データリンク層パス情報エントリの示すパスに対してパケットを送信する。データリンク層パス情報テーブル７２に宛先ホストのエントリが見つからない場合はアドレス解決サーバに対して宛先ホストのデータリンク層パス情報を問い合わせる。問い合わせを行っている間、パケットをルート検索により得られたゲートウェイルータに対するデータリンク層パス情報エントリが存在すれば、このパスに対して送信を行っても良い。
【００８７】
ここでは、本発明の第２３の形態の通信装置の特徴であるデータリンク層パス情報テーブル７２内のデフォルト送信エントリを作成するために、コマンドによりデータリンク層パス情報テーブル７２内にデフォルト送信エントリを作成できるように構成する。デフォルト送信エントリにはサブネットワーク内のいずれかのルータを指定するようにし、これはゲートウェイルータと同一でも構わない。これにより、万一、上記ゲートウェイルータへのパスがない等の理由でパケット送信できない場合もデフォルト送信エントリに指定されたデータリンク層パス情報を用いて送信可能であるようにする。
【００８８】
特に、同一サブネットワーク内通信ではルート検索の結果ゲートウェイルータのアドレスが得られないが、宛先ホストへ通信可能となるまで（サーバ問い合わせ、パス発呼等）の間、このデフォルト送信エントリに指定されたデータリンク層パス情報を用いて送信することで、ルータ経由で宛先ホストにパケットを届けることが可能となり、宛先ホストへ通信可能となるまでの期間、パケットを滞留させることなく通信を行うことができる。
【００８９】
図１０は、本発明の第４の実施の形態におけるテーブル構成の１例を示す図である。図１０の構成は、前述の本発明の第３の形態のデータリンク層パス情報記憶方法に（３−１）および（３−２）の付加要件を加えた方法によって形成され、本発明の第６の形態の通信装置に（６−１）および（６−２）の付加要件を加えた通信装置が具備するテーブル構成の１例でもある。図１０において、４１はルーティングテーブル、６０はデバイステーブル、７２はデータリンク層パス情報テーブル、そして、８０はパス管理テーブルである。
【００９０】
図１０の構成を有する通信装置においてはパケット送信が生じた場合には以下の手順で送信を行う。
通信装置内で送信パケットと共に保持される送信先ネットワーク層アドレスを用いてルーティングテーブル４１を検索する。ルーティングテーブル４１の検索は宛先ホストに対するネットワーク層アドレスそのものでヒットする場合もあるし、特定のホストの集まりであるネットワークアドレスでヒットする場合もある。ルーティングテーブル４１を検索することにより宛先ホストへパケットを送信するためのインタフェース名と次ホップのゲートウェイルータのアドレスが得られる。一方で、前述の本発明の第１の形態のデータリンク層パス情報記憶方法に（１−２）の付加要件を加えた方法の特徴として、一度検索した宛先ホストに対するホストルート（宛先ホストのネットワーク層アドレスそのものに対するエントリ）を、ルートキャッシュではなく、ルーティングテーブル４１のルーティングエントリに追加登録する。そして、ルート検索する際には、先ずルーティングテーブル４１のホストルートを優先的に検索し、見つからない場合はネットルート（ネットワークのネットワーク層アドレスに対するエントリ）を検索する。
【００９１】
ルート検索により、インタフェース名（デバイス名）を取得すると、デバイステーブル６０を検索し、デバイス毎に用意されたデータリンク層パス情報テーブル７２を宛先ホストのネットワーク層アドレスをキーとして検索する。エントリが見つかった場合は、データリンク層パス情報テーブル７２のエントリ（以下データリンク層パス情報エントリと記す）が示すパスに対してパケットを送信する。データリンク層パス情報テーブル７２に宛先ホストのエントリが見つからない場合はアドレス解決サーバに対して宛先ホストのデータリンク層パス情報を問い合わせる。問い合わせを行っている間は、パケットをルート検索により得られたゲートウェイルータのネットワーク層アドレスからデータリンク層パス情報を求め送信を行う。
【００９２】
問い合わせに対する回答がサーバから戻って来た場合はデータリンク層パス情報エントリを新たに追加し、ショートカットパスを作成する。そして、作成されたパスを参照するための情報をデータリンク層パス情報エントリに書き込むようにする。その後、ルーティングテーブル４１内の宛先ホストへのホストルートエントリに、作成されたデータリンク層パス情報エントリを参照する情報（ポインタ情報（ａ））を書き込む。
【００９３】
さらに、パケット送信時には、先ずホストルートを優先的に検索するが、ヒットした場合はデータリンク層パス情報エントリへの参照情報（ポインタ情報（ａ））があるかどうかを調べ、これが存在する場合は該当するデータリンク層パス情報エントリの示すパスを利用してパケットを送信する。これにより、ルーティングテーブルの検索、及び、データリンク層パス情報テーブルの検索を省くことができるため、パケット転送性能を向上させることが可能である。
【００９４】
データリンク層パス情報エントリへの参照情報（ポインタ情報（ａ））が存在しない場合は、単にルーティングテーブル４１がヒットしたものとして、デバイステーブルの示すデータリンク層パス情報テーブル７２からゲートウェイルータのデータリンク層パス情報エントリを検索し、該当パスへパケットを送信する。図１１は、ＡＴＭネットワーク上に複数のＬＩＳが存在し、各ＬＩＳをまたがりインターネット・プロトコルによるＩＰ通信を行う時、ＮＨＲＰにより、あるホストが他のホストのＡＴＭアドレスを解決し、データリンク層のダイレクトパスによる通信を行う例を示している。図１１において、ＮＨＣ１およびＮＨＣ２は次ホップ・クライエント（Next Hop Client ）、ＮＨＳ１およびＮＨＳ２は次ホップ・サーバ（Next Hop Server ）、ＬＩＳ１、ＬＩＳ２、そしてＬＩＳ３は、論理的ＩＰサブネットワーク（Logical IP Subnet ）である。
【００９５】
本来、ＩＰ通信では、サブネットワークをまたがりホスト間で通信を行う場合、ルータを経由して通信を行わなければならない。ところが、ＡＴＭ網においてはＩＰレイヤよりも下位のレイヤで通信が行われるため、ＩＰサブネットワークという概念が本来なかった。こうしたネットワークに対して、従来のＩＰサブネットワークの概念を利用できるようにＬＩＳという論理的なサブネットワークを考え、１つのＬＩＳに含まれる端末は、同一ＬＩＳに含まれるホストとＡＴＭ上でＩＰ通信できる仕組みが考えられた（IPOA:IP over ATM）。ところが、ＩＰＯＡでは、同一ＬＩＳ内のホスト間ではダイレクトに張ったＡＴＭコネクションを通してＩＰ通信ができるものの、他のＬＩＳに含まれるホストと通信する場合は、ＬＩＳ間にルータを置き、必ずこのルータ経由で通信を行わなければならなかった。つまり、送信元のホストからルータにＡＴＭコネクション（VC:Virtual Connection ）を張り、ルータから送信先のホストにさらにＶＣを張り、この経路を使用してＩＰ通信を行う。このため、ルータの処理性能がボトルネックとなりやすかった。これは、接続先のＡＴＭアドレスをＩＰアドレスから求めることができないためダイレクトにＡＴＭコネクションを張ることができないことに対する処置であった。
【００９６】
そこで、ＬＩＳ間にまたがる通信の場合でも、送信先のＩＰアドレスからＡＴＭアドレスを調べてくることによりダイレクトにＡＴＭコネクションを張ることで、ルータを経由せずとも通信が行えるようにした仕組みがＮＨＲＰである。ＩＰＯＡが同一ＬＩＳに含まれるホストのＩＰアドレスからＡＴＭアドレスを解決するのにたいして、ＮＨＲＰは異なるＬＩＳに含まれるホストに対してもＡＴＭアドレスを解決できるようにしたプロトコルである。
【００９７】
ＮＨＲＰにおいては、各ＮＨＣ（Next Hop Client ）は、所定のＮＨＳ（Next Hop Server ）に登録（Registration）しておく。登録とは具体的には、サーバに自身のＩＰアドレスとＡＴＭアドレスの組を登録することをいう。あるＬＩＳ（Logical IP Subnet ）に含まれるＮＨＣはそのＬＩＳを管理するＮＨＳに登録する。ＮＨＳは原則としてルータであるので二つ以上のＬＩＳに含まれるかもしれない。ＮＨＣ１がＮＨＣ２にＩＰ通信を行いたい場合、（ＮＨＣ２のＩＰアドレスを知っている）ＮＨＣ１はＮＨＳ１に対して、ＮＨＣ２のＩＰアドレスからＡＴＭアドレスを解決するようＮＨＲＰ解決要求（Resolution Request）を送信する。ＮＨＳ１はＮＨＣ２についての情報を持ち合わせていない（ＮＨＣ２はＮＨＳ２に登録されている）ので、ＮＨＣ２のＩＰアドレスを参照しルーティングプロトコルに従い、転送する。ＮＨＲＰ解決要求はＬＩＳ２を経由してＮＨＳ２に到着し、ＮＨＳ２はＮＨＣ２のＡＴＭアドレスを知っているのでＮＨＲＰ解決応答（NHRP Resolution Reply ）を、来たルートを逆に辿ってＮＨＣ１に向けて送信する。ＮＨＣ１は、このＮＨＲＰ解決応答を受信することにより、ＮＨＣ２のＡＴＭアドレスを知ることができ、ＮＨＣ２に対してダイレクトに（ルータであるＮＨＳ１やＮＨＳ２を経由せずに）ＡＴＭコネクション（ＶＣ）を張りＩＰ通信することが可能となる。
【００９８】
図１２は、送信元のＮＨＣ１のルーティング処理のためのテーブル構成を示す図である。また、図１３および図１４は、送信元のＮＨＣ１のルーティング処理の手順を示す図である。図１５は、ルーティングテーブルの内容の１例を示す図である。図１６は、ルートキャッシュの内容の１例を示す図である。図１７は、ＮＨキャッシュの内容の１例を示す図である。
【００９９】
アプリケーションからのデータ送信、ＩＰパケット中継等、ＩＰパケットの送信要求が発生するとＯＳにおけるカーネル部分ではルーティング処理を行う。ルーティング処理はルートキャッシュと呼ばれる利用頻度の高い宛先ホストをキャッシュしたテーブルの検索と、到達可能な全てのルートを記述したルーティングテーブル検索とに分かれる。今、初期状態として、目的とする宛先ホストのルートキャッシュはまだできていないものとしてルーティングテーブル検索から始まる場合を考える。
図１５に示されるように、ルーティングテーブルの各エントリ（ルーティングエントリと呼ぶ）には、ネットワークアドレス及び送信インタフェース、ゲートウェイアドレスが入っている。あるいは、宛先ホストそのものが入っている場合もあるが、これはホストルートといい、ネットマスクがオール１となったケースと考えることができ、ネットマスクがオール１でない場合（ネットルートと呼ぶ）と同等に考えることが出来る。ルーティングテーブル検索時にはパケットの宛先アドレスとネットマスクを次のように演算してルーティングエントリのアドレスにヒットするかどうかを調べる。
【０１００】
（宛先アドレス）＆＆（ネットマスク値）＝＝（ネットワークアドレス）
以上の結果、ヒットするルーティングエントリの内容をルートキャッシュの１エントリとして登録する。この時、ルーティングテーブルはネットルートが入っていても、（図１６に示されるように）ルートキャッシュには宛先アドレスへのホストルートとなるように登録する。すなわち宛先アドレスとしてはネットワークアドレスではなくホストアドレスを登録する。
【０１０１】
このようにして検索したルーティングエントリには宛先ホストへ送信するための送信インタフェース及び次に送るべきゲートウェイルータのＩＰアドレスが記述してあり、このインタフェース情報を用いて、図１２に（２）として示すように、該当するデバイステーブル、（Ｃ言語の表現によれば）インタフェースのための構造体を参照する。インタフェース構造体はリスト構造となっているが、ルーティングエントリには該当する構造体へのポインタ（アドレス）が記入されているので直接（先頭から検索しなくても）参照可能である。インタフェース構造体には具体的なインタフェース名や、ＭＴＵ（Maximam Trasfer Unit）値やインタフェースの状態を示すフラグ及びそのインタフェースから到達できるホストへのハードウェアアドレス情報を格納するＮＨキャッシュへのポインタが記述されている。ＮＨキャッシュとは、ＮＨＲＰ使用時に用いる、ＩＰアドレスからＡＴＭアドレスの対応テーブルで、ＮＨＲＰプロトコルでサーバに問い合わせることで更に増える。ＮＨキャッシュ７７はＮＨエントリ構造体のリストとなっており、各エントリには宛先ホストのＩＰアドレス、ＡＴＭアドレス及びＶＣ構造体へのポインタ等が記入されている。ＶＣ構造体（図７〜図１０のパス管理テーブル８０に対応する図１２のＶＣテーブル８８）は現在張られているホスト−ホスト間あるいはホスト−ルータ間で張られているＶＣの識別子等が記述してあり、ＶＰＩ，ＶＣＩ値、トラフィッククラス、及び最終的に送信を行う関数（Ｃ言語の表現による）へのポインタが入っている。
【０１０２】
インタフェース構造体６６からＮＨキャッシュ７７の先頭アドレスを取得する（図１２の（３））と、ＮＨエントリの先頭からエントリを検索する（図１２の（４））。宛先ホストへのＩＰアドレスと一致するエントリを発見するとこのエントリ内に記述されたＶＣ構造体を参照し（図１２の（５））、指定されたＶＣへパケットを送信する。ＮＨエントリが発見できなかった場合は、宛先ＩＰアドレスに対するＡＴＭアドレスを要求する旨のＮＨＲＰ解決要求パケットを作成し、ＮＨＳへと送信する。
【０１０３】
ＮＨＳではこの解決要求に対する解決応答を作成しＡＴＭアドレスを応答する。
解決応答を受信したＮＨＣでは受信した解決応答からＡＴＭアドレスを知り、新たなＮＨエントリを作成し、このＡＴＭアドレスに対してＶＣを張る。
ここで、既に作成した宛先アドレスに対するルートキャッシュエントリ（rtable構造体と名付ける）内に予め用意しておいたメンバ（以下ショートカットポインタと呼ぶこととする）が作成したＮＨエントリを参照するようにする（図１２の（２′）のポインタを張るようにする）。
【０１０４】
その後、パケット送信が発生する毎に、ルート検索を行う（図１３のステップＳ１０１）。まず、ルートキャッシュを検索し、宛先ホストとルートキャッシュエントリのＩＰアドレスが一致したらrtable構造体中のショートカットポインタを参照する（図１３のステップＳ１０２）。ショートカットポインタがＮＨエントリを参照している場合は既にショートカットＶＣがあるかどうかを確認して（図１３のステップＳ１０３）、ＮＨエントリが示すＶＣに対してパケットを送信する（図１３のステップＳ１０４）。
【０１０５】
ルートキャッシュエントリ内のショートカットポインタがどこも参照していない（NULL）であれば、該当するＮＨエントリはまだ存在しないものとして、ＮＨＳに対して宛先ＩＰアドレスの解決要求を送信しようとする。この場合、先ず、ＮＨＳに対する問い合わせをすることがＮＨＲＰにて許されているかどうかを確認し（図１３のステップＳ１０６）、宛先ホストのＮＨエントリが存在しないことを確認し（図１３のステップＳ１０７）、これらの確認がされたときは、ＮＨＳに対する問い合わせを行う（宛先ＩＰアドレスの解決要求を送信する、図１３のステップＳ１１０）。ＮＨＳからの応答を受信するまでは、ゲートウェイルータを介して宛先ホストへパケットを送信しようとする。そこで、ゲートウェイルータのＩＰアドレスを用いてＮＨキャッシュ７７を検索する（図１４のステップＳ１１１）。これによりルータのＮＨキャッシュが見つかった場合は、このエントリが示すＶＣの存在を確認して（図１４のステップＳ１１２）パケットを送信する（図１４のステップＳ１１３）。ゲートウェイルータのＮＨエントリも見つからない場合はゲートウェイルータのＡＴＭアドレスを解決するためのＮＨＲＰ解決要求を送信する（図１４のステップＳ１１４）。この間はデータを送信出来ないため、ＮＨＳからの応答を受信するまでは、前述のデフォルトのＮＨエントリを介して宛先ホストへパケットを送信しようとする。そこで、デフォルトのＮＨエントリを求めるべくＮＨキャッシュ７７を検索する（図１４のステップＳ１１５）。これによりデフォルトのＮＨエントリが見つかった場合は、このエントリが示すＶＣの存在を確認して（図１４のステップＳ１１６）パケットを送信する（図１４のステップＳ１１７）。もし、デフォルトのＮＨエントリが求まらないときは、送信すべきデータをバッファリングして上記のＮＨＳからの応答を待つ。もし、バッファも一杯になってしまった場合はパケットを廃棄する。
【０１０６】
ＬＩＳ内通信ではルート検索を行った際に得られるゲートウェイアドレスにはゲートウェイルータのＩＰアドレスは入らず、自インタフェースのＩＰアドレス又は宛先ホストのＩＰアドレスが入る。（既存のルーティング処理では同一ＬＩＳ内通信は宛先ホストに直接パケットを送信することを前提としているためである。）
ところが、宛先ホストに該当するＮＨエントリがなかった場合、ＡＴＭアドレスをサーバに問い合わせている間、代理に送信するゲートウェイルータを知らないためどこにも送信することができない。そこで、前述のように、ＮＨキャッシュに送信先がない場合のデフォルトの送り先となるエントリを設ける。具体的には、図１２のＮＨキャッシュ７７のＮＨエントリ構造体のメンバdefault entry に１を立てる（図１５参照）。このデフォルトの送り先はＬＩＳ内のほとんどの端末とＶＣを張っているようなルータが良い。この例ではＮＨＳをデフォルトの送信先とする。ＮＨＲＰでは全てのＮＨＣはＬＩＳ内を管理するＮＨＳに対して登録を行うためにＶＣを張っているはずである。このように構成することで、宛先ホストのＡＴＭアドレスが未だ解決されていない、或いは、ＶＣが確立されていない場合でもこのデフォルトエントリの示すＶＣに対して送信可能である。デフォルトの送り先となったＮＨＳではほとんどの端末にＶＣが張られているので受信したパケットを転送することができる。
【０１０７】
図１８は、出口（Egress）ルータが存在する場合のネットワーク構成例を示す図である。
ＮＨＲＰでは、ＮＨＲＰで管理されるＡＴＭ網と既存ＬＡＮを中継するルータを出口（Egress）ルータ、入口（Ingress ）ルータと呼んでいる。EgressルータはＡＴＭ網から既存ＬＡＮへパケットを中継する時の呼び方で、Ingress ルータは既存ＬＡＮからＡＴＭ網へパケットを中継する時の呼び方であるが、多くの場合双方向通信であるためEgressルータ＝Ingress ルータである場合が多い。
【０１０８】
ＮＨＣ１がホストＨＯＳＴ３に対し通信を行う場合、ＮＨＣ１はホストＨＯＳＴ３に対するアドレス解決を要求してＮＨＲＰ解決要求をＮＨＳ１に送信する。ＮＨＳ１は既存のルーティングに従い解決要求を転送する。最終的に既存ＬＡＮがつながっているEgressルータ（ＮＨＳ３）まで解決要求が届くとＮＨＳ３は宛先ホストＨＯＳＴ３が既存ＬＡＮにあることを知り、発側ホストＮＨＣ１からEgressルータ（ＮＨＳ３）までショートカットを張れると判断する。そして、宛先ホストを含むサブネットワーク内のホスト全てに対してこのＮＨＳへのショートカットパスを利用できるように、ＮＨＲＰ解決応答には、宛先ホストアドレス、このホストの含まれるサブネットワークのネットマスク（prefix）、及び、このＮＨＳのＡＴＭアドレスを記入して送信元に送り返す。
【０１０９】
ＮＨＲＰ解決応答を受信したＮＨＣ１では既存ＬＡＮ内の宛先ホストに対するＮＨエントリを図１２に示すような内容で登録する。すなわち、宛先ホストに対するネットマスクとして、そのホストが含まれるネットワークのネットマスクを、ＡＴＭアドレスとしてはEgressルータとなるＮＨＳのＡＴＭアドレスを記入する。ＮＨエントリができると該当するＩＰアドレスを持つルートキャッシュを検索し、ＮＨエントリを参照するようにポインタを張る。ここで、ルートキャッシュエントリ内のネットマスク値をＮＨエントリで示されるネットマスクに書き換える。
【０１１０】
そして、ルートキャッシュの検索時にはパケットの宛先アドレスとネットマスクを次のように演算してルートキャッシュのエントリのアドレスにヒットするかどうかを調べる。
【０１１１】
【数１】
0003935621.tif 000002
以上のようにしてヒットした場合はショートカットポインタが示すＮＨエントリ内に記述されたＶＣにパケットを送信する。
以上、本発明のＮＨＲＰ（Next Hop Resolution Protocol）への適用の場合を例にとって説明したが、ＮＨＲＰ以外にもＩＰサブネットワーク間にショートカットパスを設定する技術が提案されており、これらの技術に対しても本発明は適用可能である。
（１）ＲＩＳＰ（Receiver Iniciated Shortcut Path）
富士通研究所がＩＥＴＦにおいて、１９９７年３月に発表したＲＩＳＰ（draft-ogawa-receiver-shortcut-path-00.txt ）においても、本発明は適用可能である。ＲＩＳＰはＮＨＲＰと異なり、ＬＩＳ間（ＩＰサブネットワーク間）のデータリンク層ショートカットパスを設定する場合に、アドレス解決手順を必要としないプロトコルである。他の方式のほとんどがアドレス解決要求をＬＩＳ間で転送するのに対し、ＲＩＳＰはショートカットの要求をＬＩＳ間で転送し、アドレス解決のサーバ設置などのコストを省いたことに特徴がある。ＮＨＲＰのようなアドレス解決プロトコルを利用して、ＬＩＳ間のショートカットパスを設定するのではなく、ＲＩＳＰではショートカットパスを要求するメッセージをＬＩＳ間に転送して行く。最終的に宛先ホストまでこの要求が到達すると、宛先ホストから発側のホストに向かってデータリンク層のショートカットパスを設定する。
（２）ＣＳＲ（Cell Switch Router）
ＣＳＲは東芝が製品化しているルータの一つであり、ＡＴＭスイッチとルータ機能が組み合わされたものである。ＣＳＲはＩＰトラフィックの初期段階はＬＩＳ間を中継するネットワーク層のルータとして動作するが、長時間持続するＩＰトラフィックなどは、途中からデータリンク層のスイッチとして動作するようにパケット転送方式を変化させる。
（３）IPswitch
IPswitchは米イプシロン・ネットワークス社が開発したショートカット方式である。動作原理は、ＣＳＲと同様に、ＩＰトラフィックをデータリンク層でスイッチングさせる方式である。
（４）FastIP
ＦａｓｔＩＰは米国３ｃｏｍ社が提唱している、Ether スイッチを用いた、データリンク層ショートカット方式である。この方式はｄＮＨＲＰ（distributed NHRP）と呼ばれるアドレス解決要求をルータに対して転送し、その結果を受けた発側から宛先へデータリンク層ショートカットを設定する方式である。FastIPの基本的な手順はすでに適用例に記載したＮＨＲＰの場合と同等のため、FastIPにおいても本発明の構成が適用できる。
【０１１２】
【発明の効果】
以上説明したように、本発明によれば、ショートカットパスができた宛先ホストに対して、ルートキャッシュ内にホストルートのエントリを作成し、これをルーティングテーブル検索よりも先に検索し、且つ、ルートキャッシュエントリからデータリンク層パス情報エントリを直接参照可能とすることで、テーブル検索の処理量をなるべく減らし高速なルーティング処理を可能としつつ、ゲートウェイルータ経由のパスよりもショートカットパスを優先的に利用するルーティング検索が可能となる。また、ルートキャッシュをネットマスクと併せて検索する仕組みを用いることで、特定サブネットワークの端に位置するルータまで張られたショートカットパスを、このサブネットワーク内の全ホストへの共通ショートカットパスとして、ゲートウェイルータ経由のパスよりも優先的に利用できる。さらに、データリンク層テーブルにデフォルト送信エントリを作成することで、ＬＩＳ内通信等において、宛先ホストへのＶＣが確立するまでの間もルータ経由で宛先ホストに対して通信を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１又は第３の形態の手順を示す図である。
【図２】本発明の第５又は第６の形態の構成を示す図である。
【図３】本発明の第７の形態による検索方法の基本手順を示す図である。
【図４】本発明の第９の形態による検索方法の基本手順を示す図である。
【図５】本発明の第１１の形態による検索方法の基本手順を示す図である。
【図６】本発明の第２３の形態の構成を示す図である。
【図７】本発明の第１の実施の形態におけるテーブル構成の１例を示す図である。
【図８】本発明の第２の実施の形態におけるテーブル構成の１例を示す図である。
【図９】本発明の第３の実施の形態におけるテーブル構成の１例を示す図である。
【図１０】本発明の第４の実施の形態におけるテーブル構成の１例を示す図である。
【図１１】本発明の実施の１形態におけるネットワーク構成例を示す図である。
【図１２】送信元のＮＨＣ１のルーティング処理のためのテーブル構成を示す図である。
【図１３】送信元のＮＨＣ１のルーティング処理の手順を示す図である。
【図１４】送信元のＮＨＣ１のルーティング処理の手順を示す図である。
【図１５】ルーティングテーブルの内容の１例を示す図である。
【図１６】ルートキャッシュの内容の１例を示す図である。
【図１７】ＮＨキャッシュの内容の１例を示す図である。
【図１８】出口（Egress）ルータが存在する場合のネットワーク構成例を示す図である。
【符号の説明】
１，１１…第１のテーブル
２，１２…第２のテーブル
４０，４１，４４…ルーティングテーブル
５０，５１，５２，５５…ルートキャッシュ
６０，６６…デバイステーブル
７０，７１，７２，７７…データリンク層パス情報テーブル
８０…パス管理テーブル
８８…ＶＣテーブル
ＮＨＣ１，ＮＨＣ２…次ホップ・クライエント（Next Hop Client ）
ＮＨＳ１，ＮＨＳ２，ＮＨＳ３…次ホップ・サーバ（Next Hop Server ）
ＬＩＳ１，ＬＩＳ２，ＬＩＳ３…論理的ＩＰサブネットワーク
ＨＯＳＴ３，ＨＯＳＴ４…ホスト
【図１】
0003935621.tif 000003
【図２】
0003935621.tif 000004
【図３】
0003935621.tif 000005
【図４】
0003935621.tif 000006
【図５】
0003935621.tif 000007
【図６】
0003935621.tif 000008
【図７】
0003935621.tif 000009
【図８】
0003935621.tif 000010
【図９】
0003935621.tif 000011
【図１０】
0003935621.tif 000012
【図１１】
0003935621.tif 000013
【図１２】
0003935621.tif 000014
【図１３】
0003935621.tif 000015
【図１４】
0003935621.tif 000016
【図１５】
0003935621.tif 000017
【図１６】
0003935621.tif 000018
【図１７】
0003935621.tif 000019
【図１８】
0003935621.tif 000020