(57)【要約】【課題】ノードが、自律的に、状況に応じてノードを容易に探索することができるノード探索方法、ノード、通信システム及びノード探索プログラムを提供する。【解決手段】ＭＡＰを探したいＭＡＰ（ｋ）１ｋが探索ノードとなり、ＭＡＰ探索パケットを送信する。探索ノードとなったＭＡＰ（ｋ）１ｋは、探索パケット受信ノードや周辺ノードとなったＭＡＰ（ｉ）１ｉ〜ＭＡＰ（ｌ）１ｌ、ＭＡＰ（ｎ）１ｎから、そのノード探索パケットに対するノード通知パケットを受信する。そして、探索ノードとなったＭＡＰ（ｋ）１ｋは、そのノード通知パケットに基づいて、ＭＡＰの検出をする。【選択図】　　　図６
2004048503.tif 000002
【特許請求の範囲】
【請求項１】
ノードのアドレスを記憶するノード記憶手段を備える複数のノードを含む通信システムにおいて、前記ノードを探索するノード探索方法であって、
前記ノードの探索を行う探索ノードが、該探索ノードが備える前記ノード記憶手段に記憶されているアドレスに、前記ノードを探索するためのノード探索パケットを送信するステップと、
該ノード探索パケットを受信した探索パケット受信ノード又は該探索パケット受信ノード以外の周辺ノードの少なくとも１つが、前記探索ノードに、前記ノード探索パケットに対するノード通知パケットを返信するステップと、
前記探索ノードが、前記返信されたノード通知パケットに基づいて、前記ノードを検出するステップと、
前記探索ノードが、前記検出したノードに基づいて、該探索ノードが備える前記ノード記憶手段を更新するステップと
を有することを特徴とするノード探索方法。
【請求項２】
前記ノード記憶手段は、前記ノードに関するノード情報を記憶しており、
前記探索ノードが、前記検出したノードに、前記ノード情報を調査するためのデータを送信するステップと、
前記検出されたノードが、前記データに対する応答データを返信するステップと、
前記探索ノードが、前記返信された応答データに基づいて、前記ノード記憶手段を更新するステップと
を有することを特徴とする請求項１に記載のノード探索方法。
【請求項３】
前記データは、前記探索ノードと前記検出したノードとの間のパケット送信における遅延値又はホップ数の少なくとも１つを調査するデータであることを特徴とする請求項２に記載のノード探索方法。
【請求項４】
前記ノード記憶手段は、前記ノードに関するノード情報を記憶しており、
前記ノード通知パケットには、前記ノード情報が含まれており、
前記ノード記憶手段を更新するステップにおいて、前記返信されたノード通知パケットに基づいて、前記ノード記憶手段を更新することを特徴とする請求項１に記載のノード探索方法。
【請求項５】
前記ノード情報は、前記ノード自体に関するノード自体情報又は他のノードとの間に関するノード間情報の少なくとも１つであることを特徴とする請求項２乃至４のいずれか１項に記載のノード探索方法。
【請求項６】
前記ノード自体情報は、前記ノードの処理能力、トラフィック量、接続しているノード数、送信電力値、信頼性の少なくとも１つであることを特徴とする請求項５に記載のノード探索方法。
【請求項７】
前記ノード間情報は、他のノードとの間のパケット送信における遅延値、ホップ数、パケット送信におけるコスト、リンク容量、伝搬路情報の少なくとも１つであることを特徴とする請求項５又は６に記載のノード探索方法。
【請求項８】
前記ノード通知パケットを返信するステップにおいて、前記探索パケット受信ノード又は前記周辺ノードの少なくとも１つが、前記周辺ノードを経由する前記ノード通知パケットを返信することを特徴とする請求項１乃至７のいずれか１項に記載のノード探索方法。
【請求項９】
前記経由する周辺ノードは、前記探索パケット受信ノードが備える前記ノード記憶手段に記憶されているアドレスのノード又は前記周辺ノードが備える前記ノード記憶手段に記憶されているアドレスのノードの少なくとも１つであることを特徴とする請求項８に記載のノード探索方法。
【請求項１０】
前記ノード通知パケットを返信するステップは、
前記探索パケット受信ノード又は前記周辺ノードの少なくとも１つが、前記ノード通知パケットの返信を依頼するノード通知依頼パケットを前記周辺ノードに送信するステップと、
該ノード通知依頼パケットを受信した前記周辺ノードが、前記ノード通知パケットを前記探索ノードに返信するステップと
を有することを特徴とする請求項１乃至９のいずれか１項に記載のノード探索方法。
【請求項１１】
前記ノード通知依頼パケットの送信先となる前記周辺ノードは、前記探索パケット受信ノードが備える前記ノード記憶手段に記憶されているアドレスのノード又は前記周辺ノードが備える前記ノード記憶手段に記憶されているアドレスのノードの少なくとも１つであることを特徴とする請求項１０に記載のノード探索方法。
【請求項１２】
前記ノード通知パケットに基づいて、前記探索ノードと前記探索パケット受信ノードとの間のノード間情報及び前記探索パケット受信ノードと前記周辺ノードとの間のノード間情報により、前記探索ノードと前記周辺ノードとの間のノード間情報を決定するステップを有し、
前記ノード記憶手段を更新するステップにおいて、前記決定した前記探索ノードと前記周辺ノードとの間のノード間情報に基づいて、前記ノード記憶手段を更新することを特徴とする請求項４乃至１１のいずれか１項に記載のノード探索方法。
【請求項１３】
前記ノード間情報は、前記ノード間のパケット送信における遅延値又はホップ数の少なくとも１つであることを特徴とする請求項１２に記載のノード探索方法。
【請求項１４】
前記ノード情報は、前記ノード通知パケットの終点オプションヘッダに格納されていることを特徴とする請求項４乃至１３のいずれか１項に記載のノード探索方法。
【請求項１５】
前記ノード記憶手段は、前記ノードのアドレスと前記ノード情報とを、所定の基準に従って記憶していることを特徴とする請求項２乃至１４のいずれか１項に記載のノード探索方法。
【請求項１６】
前記ノードが、他のノードが備える前記ノード記憶手段への登録を要請する近隣ノード登録要請パケットを送信するステップと、
前記近隣ノード登録要請パケットを受信したノードが、該登録要請パケットに基づいて、前記ノード記憶手段を更新するステップと
を有することを特徴とする請求項１乃至１５のいずれか１項に記載のノード探索方法。
【請求項１７】
前記ノード記憶手段に、予め他のノードのアドレスを少なくとも１つ設定しておくことを特徴とする請求項１乃至１６のいずれか１項に記載のノード探索方法。
【請求項１８】
前記ノードが、利用する前記ノードを選択する選択基準に基づいて、前記ノード記憶手段を参照し、前記利用するノードを選択するステップを有することを特徴とする請求項１乃至１７のいずれか１項に記載のノード探索方法。
【請求項１９】
ノードのアドレスを記憶するノード記憶手段と、
該ノード記憶手段に記憶されているアドレスに送信する前記ノードを探索するためのノード探索パケットを作成する探索パケット作成手段と、
他のノードと通信を行い、前記探索パケット作成手段が作成したノード探索パケットを送信し、該送信したノード探索パケットに対して、該ノード探索パケットを受信した探索パケット受信ノード又は該探索パケット受信ノード以外の周辺ノードの少なくとも１つから返信されたノード通知パケットを受信する通信手段と、
該通信手段が受信した前記ノード通知パケットに基づいて、前記ノードを検出する検出手段と、
該検出手段が検出したノードに基づいて、前記ノード記憶手段を更新する更新手段と
を備えることを特徴とするノード。
【請求項２０】
前記検出手段が検出したノードに送信する前記ノードに関するノード情報を調査するためのデータを作成するデータ作成手段を備え、
前記ノード記憶手段は、前記ノード情報を記憶しており、
前記通信手段は、前記データ作成手段が作成したデータを送信し、前記検出したノードから返信された前記データに対する応答データを受信し、
前記更新手段は、前記返信された応答データに基づいて、前記ノード記憶手段を更新することを特徴とする請求項１９に記載のノード。
【請求項２１】
前記データは、前記検出したノードとの間のパケット送信における遅延値又はホップ数の少なくとも１つを調査するデータであることを特徴とする請求項２０に記載のノード。
【請求項２２】
前記ノード通知パケットには、前記ノードに関するノード情報が含まれており、
前記ノード記憶手段は、前記ノード情報を記憶しており、
前記更新手段は、前記返信されたノード通知パケットに基づいて、前記ノード記憶手段を更新することを特徴とする請求項１９に記載のノード。
【請求項２３】
前記ノード情報は、前記ノード自体に関するノード自体情報又は他のノードとの間に関するノード間情報の少なくとも１つであることを特徴とする請求項２０乃至２２のいずれか１項に記載のノード。
【請求項２４】
前記ノード自体情報は、前記ノードの処理能力、トラフィック量、接続しているノード数、送信電力値、信頼性の少なくとも１つであることを特徴とする請求項２３に記載のノード。
【請求項２５】
前記ノード間情報は、他のノードとの間のパケット送信における遅延値、ホップ数、パケット送信におけるコスト、リンク容量、伝搬路情報の少なくとも１つであることを特徴とする請求項２３又は２４に記載のノード。
【請求項２６】
前記ノード記憶手段を参照して、前記ノード通知パケットを作成する通知パケット作成手段を備え、
前記通信手段は、前記通知パケット作成手段が作成したノード通知パケットを送信することを特徴とする請求項１９乃至２５のいずれか１項に記載のノード。
【請求項２７】
前記通知パケット作成手段は、前記周辺ノードを経由する前記ノード通知パケットを作成することを特徴とする請求項２６に記載のノード。
【請求項２８】
前記経由する周辺ノードは、前記ノード記憶手段に記憶されているアドレスのノードであることを特徴とする請求項２７に記載のノード。
【請求項２９】
前記通知パケット作成手段は、前記通信手段が、前記ノード探索パケット、前記ノード通知パケット又は該ノード通知パケットの返信を依頼するノード通知依頼パケットの少なくとも１つを受信した際に、前記ノード通知パケットを作成することを特徴とする請求項２６乃至２８のいずれか１項に記載のノード。
【請求項３０】
前記ノード通知パケットの返信を、前記周辺ノードに依頼するノード通知依頼パケットを作成する依頼パケット作成手段を備え、
前記通信手段は、前記依頼パケット作成手段が作成したノード通知依頼パケットを送信することを特徴とする請求項１９乃至２９のいずれか１項に記載のノード。
【請求項３１】
前記ノード通知依頼パケットの送信先となる前記周辺ノードは、前記ノード記憶手段に記憶されているアドレスのノードであることを特徴とする請求項３０に記載のノード。
【請求項３２】
前記依頼パケット作成手段は、前記通信手段が、前記ノード探索パケット、前記ノード通知パケット又は前記ノード通知依頼パケットの少なくとも１つを受信した際に、前記ノード通知依頼パケットを作成することを特徴とする請求項３０又は３１に記載のノード。
【請求項３３】
前記ノード通知パケットに基づいて、前記探索パケット受信ノードとの間のノード間情報及び前記探索パケット受信ノードと前記周辺ノードとの間のノード間情報により、前記周辺ノードとの間のノード間情報を決定する決定手段を備え、
前記更新手段は、前記決定手段が決定した前記周辺ノードとの間のノード間情報に基づいて、前記ノード記憶手段を更新することを特徴とする請求項２２乃至３２のいずれか１項に記載のノード。
【請求項３４】
前記ノード間情報は、前記ノード間のパケット送信における遅延値又はホップ数の少なくとも１つであることを特徴とする請求項３３に記載のノード。
【請求項３５】
前記ノード情報は、前記ノード通知パケットの終点オプションヘッダに格納されていることを特徴とする請求項２２乃至３４のいずれか１項に記載のノード。
【請求項３６】
前記ノード記憶手段は、前記ノードのアドレスと前記ノード情報とを、所定の基準に従って記憶していることを特徴とする請求項２０乃至３５のいずれか１項に記載のノード。
【請求項３７】
他のノードが備える前記ノード記憶手段への登録を要請するノード登録要請パケットを作成する要請パケット作成手段を備え、
前記通信手段は、前記要請パケット作成手段が作成したノード登録要請パケットを送信することを特徴とする請求項１９乃至３６のいずれか１項に記載のノード。
【請求項３８】
前記更新手段は、前記通信手段が、他のノードが備える前記ノード記憶手段への登録を要請するノード登録要請パケットを受信した際に、該ノード登録要請パケットに基づいて、前記ノード記憶手段を更新することを特徴とする請求項１９乃至３７のいずれか１項に記載のノード。
【請求項３９】
前記ノード記憶手段は、予め他のノードのアドレスを少なくとも１つ記憶していることを特徴とする請求項１９乃至３８のいずれか１項に記載のノード。
【請求項４０】
利用する前記ノードを選択する選択基準を保持する選択基準保持手段と、
該選択基準保持手段に保持された選択基準に基づいて、前記ノード記憶手段を参照し、前記利用するノードを選択する選択手段と
を備えることを特徴とする請求項１９乃至３９のいずれか１項に記載のノード。
【請求項４１】
ノードを探索するためのノード探索パケットを送信して、前記ノードを探索する探索ノードと、
該探索ノードから送信された前記ノード探索パケットを受信する探索パケット受信ノードと、
該探索パケット受信ノード以外の周辺ノードと
を備える通信システムであって、
前記探索ノードは、
ノードのアドレスを記憶するノード記憶手段と、
該ノード記憶手段に記憶されているアドレスに送信する前記ノード探索パケットを作成する探索パケット作成手段と、
他のノードと通信を行い、前記探索パケット作成手段が作成したノード探索パケットを送信し、該送信したノード探索パケットに対して、前記パケット受信ノード又は前記周辺ノードの少なくとも１つから返信されたノード通知パケットを受信する通信手段と、
該通信手段が受信した前記ノード通知パケットに基づいて、前記ノードを検出する検出手段と、
該検出手段が検出したノードに基づいて、前記ノード記憶手段を更新する更新手段と
を備えることを特徴とする通信システム。
【請求項４２】
ノードを探索するためのノード探索プログラムであって、
コンピュータに、
ノードのアドレスを記憶する近隣ノード記憶手段と、
該ノード記憶手段に記憶されているアドレスに送信する前記ノードを探索するためのノード探索パケットを作成する探索パケット作成手段と、
他のノードと通信を行い、前記探索パケット作成手段が作成したノード探索パケットを送信し、該送信したノード探索パケットに対して、該ノード探索パケットを受信した探索パケット受信ノード又は該探索パケット受信ノード以外の周辺ノードの少なくとも１つから返信されたノード通知パケットを受信する通信手段と、
該通信手段が受信した前記ノード通知パケットに基づいて、前記ノードを検出する検出手段と、
該検出手段が検出したノードに基づいて、前記ノード記憶手段を更新する更新手段として機能させるためのノード探索プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のノードの中から、ノードを探索するノード探索方法、ノード、通信システム及びノード探索プログラムに関する。
【０００２】
【従来の技術】
従来、あるノードが、複数のノードから構成されるグループの中から、最も近隣に存在するノードを探索する方法には、エニーキャストアドレスを利用した方法がある。エニーキャストアドレスは、複数のノードの中から最も近隣に存在するノードを選択して、アクセスを可能とするアドレスである。エニーキャストアドレスは、ＩＰｖ６（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ　ｖｅｒｓｉｏｎ　６）において導入されたものである。
【０００３】
一方、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）網では、移動ノードが移動しても、その移動ノードにパケットが届くように制御するモビリティ制御ノードが存在する。例えば、モビリティ制御ノードは、移動ノード宛のパケットの転送や、バッファリングを行う。そのため、移動ノードは、近隣にあるモビリティ制御ノードを探索する必要がある。そこで、移動ノードが接続するアクセスルータに、予め、そのアクセスルータの近隣のモビリティ制御ノードを設定しておく。そして、移動ノードは、接続したアクセスルータから、設定されているモビリティ制御ノードを広告してもらい、近隣のノードを検出するという方法が行われている。
【０００４】
【発明が解決しようとする課題】
しかしながら、エニーキャストアドレスを利用して、近隣のノードを探索する方法には、次のような問題点があった。エニーキャストアドレスは、ＩＰｖ６において導入されたものであるため、ＩＰｖ４を利用するネットワークにおいては、利用できないという問題点があった。又、エニーキャストアドレスを有効としたいネットワーク内の全ルータのルーティングテーブルに、エニーキャストアドレスのエントリを追加する設定を行う必要があった。又、エニーキャストアドレスでは、ノード間の遠近の判断基準が、ネットワークが採用しているルーティングプロトコルに依存してしまうため、ノード自身が自らの判断基準で、近隣のノードを探索することができなかった。
【０００５】
更に、エニーキャストアドレスでは、グループに属するノード自身が、ノード自身を除いて最も近隣に存在するグループ内のノードを検出できないという問題点があった。又、エニーキャストアドレスでは、最も近隣のノードが、セキュリティ上や契約上の理由等、何らかの理由で利用できない場合に、それに代わる近隣のノードを検出することができないという欠点があった。即ち、状況によって、近隣のノードを発見できない場合があった。
【０００６】
又、移動ノードが、アクセスルータから近隣のモビリティ制御ノードを広告してもらう方法では、アクセスルータに、予め近隣のモビリティ制御ノードを設定しておき、広告してもらうために、次のような問題点があった。アクセスルータとモビリティ制御ノードとの間には、設定による固定関係ができてしまう。そのため、モビリティ制御ノードの追加、削除、故障等、状況の変化があった場合に、適切に近隣のノードを検出できるようにするためには、固定関係を変更する必要があり、近隣の全アクセスルータの設定を変更する必要があった。
【０００７】
更に、モビリティ制御ノードが設定されていないアクセスルータがあった場合、そのアクセスルータに接続した移動ノードは、モビリティ制御ノードを検出することができないという問題点があった。又、アクセスルータに多数の移動ノードが接続した場合であっても、移動ノードは、設定されたモビリティ制御ノードしか検出できない。そのため、そのモビリティ制御ノードが混雑してしまい、たとえ混雑が生じても、移動ノードは、他のモビリティ制御ノードを検出することができないという問題点があった。
【０００８】
そこで、本発明は、ノードが、自律的に、状況に応じてノードを容易に探索することができるノード探索方法、ノード、通信システム及びノード探索プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係るノード探索方法は、ノードのアドレスを記憶する近隣ノード記憶手段を備える複数のノードを含む通信システムにおいて、ノードを探索するノード探索方法であって、ノードの探索を行うノード（以下「探索ノード」という）が、探索ノードが備えるノード記憶手段に記憶されているアドレスに、ノードを探索するためのノード探索パケットを送信するステップと、ノード探索パケットを受信したノード（以下「探索パケット受信ノード」という）又は探索パケット受信ノード以外のノード（以下「周辺ノード」という）の少なくとも１つが、探索ノードに、ノード探索パケットに対するノード通知パケットを返信するステップと、探索ノードが、返信されたノード通知パケットに基づいて、ノードを検出するステップと、探索ノードが、検出したノードに基づいて、探索ノードが備えるノード記憶手段を更新するステップとを有することを特徴とする。
【００１０】
尚、周辺ノードは、探索パケット受信ノード以外のノードであるため、通信システムに含まれる探索パケット受信ノード以外の全てのノードが、周辺ノードに該当する。このような本発明に係るノード探索方法によれば、ノードを探したい探索ノード自身が、ノード探索パケットを送信することにより、自律的にノードを探索することができる。又、探索ノードは、ノード探索パケットを送信するだけで、探索パケット受信ノードや周辺ノードから、そのノード探索パケットに対するノード通知パケットを受け取ることができる。そして、探索ノードは、そのノード通知パケットに基づいて、ノードを検出することができる。よって、探索ノードは、容易に、通信システムに含まれる他のノードを検出できる。
【００１１】
更に、探索ノードは、ノード探索パケット送信時の状況に応じたノード通知パケットを受け取ることができる。よって、探索ノードは、その時の状況に応じたノードを検出できる。そして、探索ノードは、ノード記憶手段を、検出したノードに基づいて更新する。そのため、探索ノードは、その時の状況に応じたノードを、動的に保持することができる。
【００１２】
又、ノード記憶手段は、ノードに関するノード情報を記憶しており、探索ノードが、検出したノードに、ノード情報を調査するためのデータを送信するステップと、検出されたノードが、受信したデータに対する応答データを返信するステップと、探索ノードが、返信された応答データに基づいて、ノード記憶手段を更新するステップとを有することが好ましい。
【００１３】
これによれば、探索ノードは、検出したノードに関するノード情報を把握することができる。又、探索ノードは、データ送信時の状況に応じた応答データを受け取ることにより、その時の状況に応じたノード情報を把握できる。更に、探索ノードは、ノード記憶手段を、返信された応答データに基づいて更新するため、その時の状況に応じたノード情報を、動的に保持することができる。ノード情報を調査するためのデータとしては、例えば、ｐｉｎｇ（Ｐａｃｋｅｔ　Ｉｎｔｅｒｎｅｔ　Ｇｒｏｐｅｒ）要求等を用いることができ、応答データとしては、ｐｉｎｇ応答等を用いることができる。又、データは、探索ノードと検出したノードとの間のパケット送信における遅延値又はホップ数の少なくとも１つを調査するデータであることが好ましい。
【００１４】
ノード記憶手段は、ノードに関するノード情報を記憶しており、ノード通知パケットには、ノード情報が含まれており、探索ノードは、ノード記憶手段を更新するステップにおいて、返信されたノード通知パケットに基づいて、ノード記憶手段を更新することが好ましい。これによれば、探索ノードは、他のノードのノード情報を把握することができる。又、探索ノードは、ノード探索パケット送信時の状況に応じたノード通知パケットに基づいて、その時の状況に応じたノード情報を把握できる。更に、探索ノードは、ノード記憶手段を、返信されたノード通知パケットに基づいて更新するため、その時の状況に応じたノード情報を、動的に保持することができる。尚、ノード情報は、ノード通知パケットの終点オプションヘッダに格納することができる。
【００１５】
ノード情報は、ノード自体に関する情報（以下「ノード自体情報」という）、又は、他のノードとの間に関する情報（以下「ノード間情報」という）の少なくとも１つであることが好ましい。更に、ノード自体情報は、ノードの処理能力、トラフィック量、接続しているノード数、送信電力値、信頼性等、ノード自体の特性や状態に関する情報の少なくとも１つであることが好ましい。又、ノード間情報は、他のノードとの間のパケット送信における遅延値、ホップ数、パケット送信におけるコスト、リンク容量、伝搬路情報の少なくとも１つであることが好ましい。
【００１６】
これによれば、探索ノードは、応答データや、ノード通知パケットから、様々なノード自体情報や、ノード間情報を把握することができる。更に、探索ノードは、把握した様々なノード自体情報や、ノード間情報を、ノード記憶手段に保持しておくことができる。そのため、探索ノードは、様々なノード情報やノード間情報を利用することができる。例えば、ノード情報やノード間情報は、利用するノードを選択する際の判断材料や、ノード記憶手段を更新する際の判断材料等として、利用することができる。
【００１７】
更に、ノード通知パケットを返信するステップにおいて、探索パケット受信ノード又は周辺ノードの少なくとも１つが、周辺ノードを経由するノード通知パケットを返信することが好ましい。これによれば、ノード通知パケットは、経由した周辺ノードに関する情報を含んだものとなり、探索ノードは、より多くのノードに関する情報を把握することができる。又、このとき、経由する周辺ノードは、探索パケット受信ノードが備えるノード記憶手段に記憶されているアドレスのノード又は周辺ノードが備えるノード記憶手段に記憶されているアドレスのノードの少なくとも１つとすることができる。
【００１８】
又、ノード通知パケットを返信するステップは、探索パケット受信ノード又は周辺ノードの少なくとも１つが、ノード通知パケットの返信を依頼するノード通知依頼パケットを周辺ノードに送信するステップと、ノード通知依頼パケットを受信した周辺ノードが、ノード通知パケットを探索ノードに返信するステップとを有するようにしてもよい。
【００１９】
これによれば、探索パケット受信ノードが、周辺ノードに、ノード通知依頼パケットを送信することによって、探索ノードは、多くの周辺ノードから、ノード通知パケットの返信を受けることができる。よって、探索ノードは、より多くのノードに関する情報を把握することができる。又、このとき、ノード通知依頼パケットの送信先となる周辺ノードは、探索パケット受信ノードが備えるノード記憶手段に記憶されているアドレスのノード又は周辺ノードが備えるノード記憶手段に記憶されているアドレスのノードの少なくとも１つとすることができる。
【００２０】
更に、ノード通知パケットに基づいて、探索ノードと探索パケット受信ノードとの間のノード間情報及び探索パケット受信ノードと周辺ノードとの間のノード間情報により、探索ノードと周辺ノードとの間のノード間情報を決定するステップを有し、ノード記憶手段を更新するステップにおいて、決定した探索ノードと周辺ノードとの間のノード間情報に基づいて、ノード記憶手段を更新することが好ましい。
【００２１】
これによれば、探索ノードは、探索ノードと探索パケット受信ノードとの間のノード間情報や、探索パケット受信ノードと周辺ノードとの間のノード間情報から、周辺ノードとの間のノード間情報を、容易に把握することができる。又、ノード間で同期をとる必要もなくなる。尚、探索ノードと周辺ノードとの間のノード間情報を決定するステップにおいて用いるノード間情報は、ノード間のパケット送信における遅延値又はホップ数の少なくとも１つであることが好ましい。
【００２２】
又、ノード記憶手段は、ノードのアドレスとノード情報とを、所定の基準に従って記憶していることが好ましい。これによれば、ノードは、アドレスやノード情報を管理したり、更新したり、利用したりする作業を容易にすることができる。
【００２３】
更に、ノードが、他のノードが備えるノード記憶手段への登録を要請するノード登録要請パケットを送信するステップと、ノード登録要請パケットを受信したノードが、登録要請パケットに基づいて、ノード記憶手段を更新するステップとを有することが好ましい。これによれば、ノードは、ノード登録要請パケットを送信することにより、他のノードのノード記憶手段に登録してもらうことができる。そのため、ノードは、他のノードから検出されるようにすることができる。
【００２４】
例えば、ネットワークトポロジーの関係上、他のノードから離れており、そのままでは、他のノードが検出し得ないようなノードが存在する場合がある。そのようなノードであっても、ノード登録要請パケットを送信することにより、他のノードから検出されるようになる。又、たとえ近隣にノードが存在するノードであっても、ノードを探索し、ノード記憶手段を更新する課程で、一瞬でもいずれのノードのノード記憶手段にも記憶されない時があると、他のノードから検出されなくなる。ノード登録要請パケットを送信することにより、このような事態を防止することができる。又、新しく配置されたノードが、ノード登録要請パケットを送信することにより、他のノードから検出されることができる。
【００２５】
又、ノード記憶手段に、予め他のノードのアドレスを少なくとも１つ設定しておくことが好ましい。これによれば、ノードは、少なくとも１つのノードにノード探索パケットを送信することができ、ノード探索を開始することができる。
【００２６】
更に、ノードが、利用するノード（以下「利用ノード」という）を選択する選択基準に基づいて、ノード記憶手段を参照し、利用ノードを選択するステップを有することが好ましい。これによれば、ノードが、自律的に、ノード記憶手段から、選択基準にあった最適な利用ノードを選択することができる。
【００２７】
又、本発明に係るノードは、ノードのアドレスを記憶するノード記憶手段と、ノード記憶手段に記憶されているアドレスに送信するノードを探索するためのノード探索パケットを作成する探索パケット作成手段と、他のノードと通信を行い、探索パケット作成手段が作成したノード探索パケットを送信し、その送信したノード探索パケットに対して、探索パケット受信ノード又は周辺ノードの少なくとも１つから返信されたノード通知パケットを受信する通信手段と、通信手段が受信したノード通知パケットに基づいて、ノードを検出する検出手段と、検出手段が検出したノードに基づいて、ノード記憶手段を更新する更新手段とを備えることを特徴とする。
【００２８】
このような本発明に係るノードによれば、探索パケット作成手段が、ノード記憶手段に記憶されているアドレスに送信するノード探索パケットを作成する。通信手段が、そのノード探索パケットを送信し、そのノード探索パケットに対するノード通知パケットを受信する。そして、検出手段が、ノード通知パケットに基づいて、ノード検出する。そのため、ノードは、自律的にノードを探索することができる。又、ノードは、探索パケット受信ノードや周辺ノードから、そのノード探索パケットに対するノード通知パケットを受け取ることができ、そのノード通知パケットに基づいて、ノードを検出することができる。よって、ノードは、容易に、通信システムに含まれる他のノードを検出できる。又、ノードは、ノード探索パケット送信時の状況に応じたノード通知パケットを受け取ることができる。よって、ノードは、その時の状況に応じたノードを検出できる。更に、更新手段が、ノード記憶手段を、検出したノードに基づいて更新する。そのため、ノードは、その時の状況に応じたノードを、動的に保持することができる。
【００２９】
又、ノードは、検出手段が検出したノードに送信するノード情報を調査するためのデータを作成するデータ作成手段を備え、ノード記憶手段は、ノード情報を記憶しており、通信手段は、データ作成手段が作成したデータを送信し、検出したノードから返信されたデータに対する応答データを受信し、更新手段は、返信された応答データに基づいて、ノード記憶手段を更新することが好ましい。
【００３０】
これによれば、データ作成手段が、検出したノードのノード情報を調査するためのデータを作成する。通信手段が、そのデータを送信し、そのデータに対する応答データを受信する。そして、更新手段が、返信された応答データに基づいて、ノード記憶手段を更新する。そのため、ノードは、検出したノードに関するノード情報を把握することができる。又、ノードは、データ送信時の状況に応じた応答データを受け取ることにより、その時の状況に応じたノード情報を把握できる。更に、ノードは、その時の状況に応じたノード情報を、動的に保持することができる。又、データは、検出したノードとの間のパケット送信における遅延値又はホップ数の少なくとも１つを調査するデータであることが好ましい。
【００３１】
又、ノード通知パケットには、ノード情報が含まれており、ノード記憶手段は、ノード情報を記憶しており、更新手段は、返信されたノード通知パケットに基づいて、ノード記憶手段を更新するようにしてもよい。これによれば、ノードは、他のノードのノード情報を把握することができる。又、ノードは、ノード探索パケット送信時の状況に応じたノード通知パケットに基づいて、その時の状況に応じたノード情報を把握できる。更に、ノードは、その時の状況に応じたノード情報を、動的に保持することができる。尚、ノード情報は、ノード探索方法と同様ものを用いることができ、ノード通知パケットの終点オプションヘッダに格納することができる。
【００３２】
又、ノードは、ノード記憶手段を参照して、ノード通知パケットを作成する通知パケット作成手段を備え、通信手段は、通知パケット作成手段が作成したノード通知パケットを送信することが好ましい。これによれば、ノードは、ノード記憶手段に記憶している情報を基に、ノード通知パケットを作成して、他のノードに送信することができる。そのため、ノードは、探索パケット受信ノードや周辺ノードとなり、他のノードに、ノード自身が把握している情報を提供することができる。
【００３３】
更に、通知パケット作成手段は、周辺ノードを経由するノード通知パケットを作成することが好ましい。これによれば、ノード通知パケットは、経由するノードに関する情報を含んだものとなる。そのため、ノードは、ノード記憶手段に記憶しているノードに関するより多くの情報を、他のノードに提供することができる。このとき、経由する周辺ノードは、ノード記憶手段に記憶されているアドレスのノードとすることができる。又、通知パケット作成手段は、通信手段が、ノード探索パケット、ノード通知パケット又はノード通知パケットの返信を依頼するノード通知依頼パケットの少なくとも１つを受信した際に、ノード通知パケットを作成することが好ましい。
【００３４】
又、ノードは、ノード通知パケットの返信を、周辺ノードに依頼するノード通知依頼パケットを作成する依頼パケット作成手段を備え、通信手段は、パケット作成手段が作成したノード通知依頼パケットを送信するようにしてもよい。これによれば、ノードが、ノード記憶手段に記憶しているノードに、ノード通知パケットの返信を依頼することができる。そのため、ノード探索パケットを送信したノードは、多くのノードから、ノード通知パケットの返信を受けることができ、より多くのノードに関する情報を把握することができる。このとき、ノード通知依頼パケットの送信先となる周辺ノードは、ノード記憶手段に記憶されているアドレスのノードとすることができる。又、依頼パケット作成手段は、通信手段が、ノード探索パケット、ノード通知パケット又はノード通知依頼パケットの少なくとも１つを受信した際に、ノード通知依頼パケットを作成することが好ましい。
【００３５】
更に、ノードは、ノード通知パケットに基づいて、探索パケット受信ノードとの間のノード間情報及び探索パケット受信ノードと周辺ノードとの間のノード間情報により、周辺ノードとの間のノード情報を決定する決定手段を備え、更新手段は、決定手段が決定した周辺ノードとの間のノード間情報に基づいて、ノード記憶手段を更新することが好ましい。これによれば、ノードは、探索パケット受信ノードとの間のノード間情報や、探索パケット受信ノードと周辺ノードとの間のノード間情報から、周辺ノードとの間のノード間情報を、容易に把握することができる。又、ノード間で同期をとる必要もなくなる。尚、周辺ノードとの間のノード間情報を決定するステップにおいて用いるノード間情報は、ノード間のパケット送信における遅延値又はホップ数の少なくとも１つであることが好ましい。
【００３６】
又、ノードは、他のノードが備えるノード記憶手段への登録を要請するノード登録要請パケットを作成する要請パケット作成手段を備え、通信手段は、要請パケット作成手段が作成したノード登録要請パケットを送信することが好ましい。これによれば、ノードは、ノード登録要請パケットを送信することにより、他のノードのノード記憶手段に登録してもらうことができる。そのため、ノードは、他のノードから検出されるようにすることができる。又、更新手段は、通信手段が、ノード登録要請パケットを受信した際に、そのノード登録要請パケットに基づいて、ノード記憶手段を更新することが好ましい。
【００３７】
又、ノード記憶手段は、予め他のノードのアドレスを少なくとも１つ記憶していることが好ましい。これによれば、ノードは、少なくとも１つのノードにノード探索パケットを送信することができ、ノード探索を開始することができる。
【００３８】
又、ノードは、利用ノードを選択する選択基準を保持する選択基準保持手段と、選択基準保持手段に保持された選択基準に基づいて、ノード記憶手段を参照し、利用ノードを選択する選択手段とを備えることが好ましい。これによれば、ノードが、自律的に、ノード記憶手段から、選択基準にあった最適な利用ノードを選択することができる。尚、ノード探索方法の場合と同様に、ノード記憶手段は、ノードのアドレスとノード情報とを、所定の基準に従って記憶していることが好ましい。
【００３９】
【発明の実施の形態】
［第１の実施の形態］
次に、図面を参照して、本発明の第１の実施の形態について説明する。
【００４０】
〔通信システム〕
（通信システムの全体構成）
通信システムは、ＨＭＩＰ（Ｈｉｅｒａｒｃｈｉｃａｌ　Ｍｏｂｉｌｅ　ＩＰｖ６）と呼ばれるモビリティ制御方式を利用している。ＨＭＩＰは、Ｍｏｂｉｌｅ　ＩＰｖ６を拡張したものである。ＨＭＩＰは、移動ノード（Ｍｏｂｉｌｅ　Ｎｏｄｅ、以下「ＭＮ」という）のホームアドレス宛に送信されたパケットを、ホームエージェント（Ｈｏｍｅ　Ａｇｅｎｔ、以下「ＨＡ」という）と、モビリティ・アンカー・ポイント（Ｍｏｂｉｌｉｔｙ　Ａｎｃｈｏｒ　Ｐｏｉｎｔ、以下「ＭＡＰ」という）と呼ばれるノードを経由して、ＭＮに転送するというモビリティ制御方式である。
【００４１】
図１は、通信システムの構成を示す図である。図１に示すように、通信システムは、複数のＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎと、複数のＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂという、複数のノードから構成される。複数のＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎは、グループを形成する。各ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎは、他のＭＡＰを探索することにより、自身の近隣のＭＡＰ（以下「近隣ＭＡＰ」という）を把握している。ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎは、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂから、ホームアドレスと気付アドレスの登録を受け付ける。そして、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎは、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂのホームアドレス宛に送信されたパケットを、ＨＡを介して受信し、そのパケットのバッファリングや、気付アドレスへの転送を行う。
【００４２】
ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、ＭＡＰを探索し、近隣ＭＡＰを把握している。そして、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、利用する近隣ＭＡＰを選択して、その近隣ＭＡＰに、ホームアドレスと気付アドレスの登録を行う。又、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、ＨＡに、ホームアドレスと利用する近隣ＭＡＰのアドレスの登録を行う。尚、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは複数あるため、以下の説明において、括弧内のアルファベットを、ＭＡＰやＭＮを区別するためのＭＡＰ記号、ＭＮ記号として利用する。
【００４３】
ここで、ノード間の遠近（遠い、近い）を判断する判断基準には、様々なものがある。よって、近隣ＭＡＰとは、近隣（近く）のＭＡＰをいうが、判断基準によって異なってくる。例えば、ノード間の遠近の判断基準には、ノード間のパケット送信における遅延値が小さい方が近い、ノード間のホップ数が小さい方が近い、ノード間のパケット送信におけるコストが小さい方が近い、ノード間のリンク容量が大きい方が近い、ノード間の伝搬路状況が良好な方が近い、ノードの処理能力が大きい方が近い、ノードのトラフィック量が小さい方が近い、接続しているノード数が少ない方が近い、ノードの送信電力値が小さい方が近い等、様々なものがある。又、判断条件は、これらの条件のパラメータを複数組み合わせることもできる。尚、遠近を判断する判断基準は、ノードにとって、適切なものを用いることができる。又、遠近の判断基準は、通信システムが採用しているルーティングプロトコルによっては、様々なものを用いることができる。
【００４４】
又、ノード間の遠近の判断基準に様々なものがある結果、ノード間の遠近の判断に必要な情報（以下「遠近判断情報」という）にも、様々なものがある。例えば、遠近判断情報には、ノード間のパケット送信における遅延値、ノード間のホップ数、ノード間のパケット送信におけるコスト、ノード間のリンク容量、ノード間の伝搬路情報、ノードの処理能力、トラフィック量、接続しているノード数、送信電力値、信頼性等がある。本実施形態では、ノード間の遠近を判断する判断基準として、ノード間のパケット送信における遅延値が小さい方が近いという判断基準を用いる。又、遠近判断情報として、ノード間のパケット送信における遅延値を用いる。
【００４５】
（ＭＡＰの構成）
次に、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎの構成について、図２に示すＭＡＰ１のブロック図を用いて説明する。図２に示すように、ＭＡＰ１は、アプリケーション部１１と、ＴＣＰ／ＵＤＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／ＵｓｅｒＤａｔａ　ｇｒａｍ　　Ｐｒｏｔｏｃｏｌ）部１２と、ＩＰレイヤ部１３と、モビリティ制御部１４と、ＮＭＤＰ（Ｎｅｉｇｈｂｏｒ　ＭＡＰ　Ｄｉｓｃｏｖｅｒｙ　Ｐｒｏｔｏｃｏｌ）部１５と、近隣ＭＡＰテーブル１６と、第２テーブル１７と、リンクレイヤ部１８と、インターフェース１９とから構成される。
【００４６】
アプリケーション部１１は、様々なアプリケーションを搭載している。アプリケーション部１１は、ＴＣＰ／ＵＤＰ部１２と接続している。アプリケーション部１１は、ＴＣＰ／ＵＤＰ部１２にデータを提供したり、ＴＣＰ／ＵＤＰ部１２からデータを取得したりする。ＴＣＰ／ＵＤＰ部１２は、ＴＣＰ／ＵＤＰレベルの制御を行う。ＴＣＰ／ＵＤＰ部１２は、アプリケーション部１１、ＩＰレイヤ部１３と接続している。ＴＣＰ／ＵＤＰ部１２は、アプリケーション部１１から取得したデータに、ＴＣＰ／ＵＤＰヘッダを付加して、ＩＰレイヤ部１３に提供する。又、ＴＣＰ／ＵＤＰ部１２は、ＩＰレイヤ部１３から取得したデータのＴＣＰ／ＵＤＰヘッダを外して、アプリケーション部１１の適切なアプリケーションに提供する。
【００４７】
ＩＰレイヤ部１３は、ＩＰレベルの制御を行う。ＩＰレイヤ部１３は、ＴＣＰ／ＵＤＰ部１２、モビリティ制御部１４、ＮＭＤＰ部１５と接続している。ＩＰレイヤ部１３は、ＴＣＰ／ＵＤＰ部１２から取得したＴＣＰ／ＵＤＰヘッダが付加されたデータに、ＩＰヘッダを付加して、リンクレイヤ部１８に提供する。又、ＩＰレイヤ部１３は、リンクレイヤ部１８から取得したデータのＩＰヘッダを外して、ＴＣＰ／ＵＤＰ部１２に提供する。
【００４８】
又、ＩＰレイヤ部１３は、ＭＮからＭＡＰへのバインディングアップデートパケット（Ｂｉｎｄｉｎｇ　Ｕｐｄａｔｅ　Ｐａｃｋｅｔ、ホームアドレスと気付アドレスの登録を要求するパケット）等のモビリティ制御のためのパケットや、ＭＮのホームアドレス宛のパケットを、リンクレイヤ部１８から取得した場合には、それらをモビリティ制御部１４に提供する。又、ＩＰレイヤ部１３は、モビリティ制御部１４から、ＭＡＰからＭＮへのバインディングアップデート応答パケット（Ｂｉｎｄｉｎｇ　Ｕｐｄａｔｅ　Ｐａｃｋｅｔ　ＡＣＫ、ホームアドレスと気付アドレスの登録要求に対する応答）等のモビリティ制御のためのパケットや、ＭＮの気付アドレス宛のパケットを取得し、リンクレイヤ部１８に提供する。
【００４９】
又、ＩＰレイヤ部１３は、ＭＡＰの探索に関わるパケットを、リンクレイヤ部１８から取得した場合には、それらをＭＮＤＰ部１５に提供する。又、ＩＰレイヤ部１３は、ＭＮＤＰ部１５から、ＭＡＰの探索に関わるパケットを取得し、リンクレイヤ部１８に提供する。
【００５０】
ここで、ＭＡＰの探索に関わるパケットには、ＭＡＰ探索のためのＭＡＰ探索パケット（ノード探索パケットに相当する）、ＭＡＰ探索パケットに対して返信されるＭＡＰ通知パケット（ノード通知パケットに相当する）、ＭＡＰ通知パケットの返信を依頼するＭＡＰ通知依頼パケット（ノード通知依頼パケットに相当する）、他のノードへの登録を要請する近隣ＭＡＰ登録要請パケット（ノード登録要請パケットに相当する）、近隣ＭＡＰ登録要請パケットに対して返信される近隣ＭＡＰ登録確認パケット等がある。
【００５１】
モビリティ制御部１４は、モビリティ制御を行う。即ち、モビリティ制御部１４は、ＨＭＩＰにおいてＭＡＰ１が行うモビリティ制御に関する処理を行う。又、モビリティ制御部１４は、ＩＰレイヤ部１３と接続している。具体的には、モビリティ制御部１４は、モビリティ制御に必要なパケットの作成や処理を行う。例えば、モビリティ制御部１４は、ＩＰレイヤ部１３から取得したバインディングアップデートパケットを処理して、ＭＮのホームアドレスと気付アドレスを取得する。又、モビリティ制御部１４は、バインディングアップデートパケットに対するバインディングアップデート応答パケットを作成し、ＩＰレイヤ部１３に提供する。
【００５２】
又、モビリティ制御部１４は、バインディングアップデートパケットから取得したＭＮのホームアドレスと気付アドレスを対応付けて管理するバインディング管理を行う。又、モビリティ制御部１４は、ＭＮ宛のパケットのデカプセル化や、カプセル化等を行う。例えば、モビリティ制御部１４は、ＩＰレイヤ部１３から取得したＭＮのホームアドレス宛のパケットを、そのホームアドレスに対応する気付アドレスでカプセル化して、ＩＰレイヤ部１３に提供する。
【００５３】
ＮＭＤＰ部１５は、ＭＡＰ探索の制御を行う。即ち、ＮＭＤＰ部１５は、ＭＡＰ１が行うＭＡＰ探索に関する処理を行う。又、ＮＭＤＰ部１５は、ＩＰレイヤ部１３、近隣ＭＡＰテーブル１６、第２テーブル１７と接続している。具体的には、ＮＭＤＰ部１５は、ＭＡＰの探索に関わるパケットの作成や処理を行う。例えば、ＮＭＤＰ部１５は、ＩＰレイヤ部１３から取得したＭＡＰ探索パケット、ＭＡＰ通知パケット、ＭＡＰ通知依頼パケット、近隣ＭＡＰ登録要請パケット、近隣ＭＡＰ登録確認パケット等を処理して、これらのパケットに含まれる情報を取得する。
【００５４】
又、ＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６や第２テーブル１７を参照し、ＭＡＰ探索パケット、ＭＡＰ通知パケット、ＭＡＰ通知依頼パケット、近隣ＭＡＰ登録要請パケット、近隣ＭＡＰ登録確認パケット等のＭＡＰ探索に関わるパケットを作成して、ＩＰレイヤ部１３に提供する。即ち、ＮＭＤＰ部１５は、ＭＡＰ探索パケットを作成する探索パケット作成手段、ＭＡＰ通知パケットを作成する通知パケット作成手段、ＭＡＰ通知依頼パケットを作成する依頼パケット作成手段、近隣ＭＡＰ登録要請パケットを作成する要請パケット作成手段、近隣ＭＡＰ登録確認パケットを作成する確認パケット作成手段等として機能する。
【００５５】
又、ＮＭＤＰ部１５は、ＭＡＰの探索に関わるパケットから取得した情報や近隣ＭＡＰテーブル１６、第２テーブル１７等に基づいて、ＭＡＰの検出、他のＭＡＰとの間のノード間情報の決定、近隣ＭＡＰテーブル１６や第２テーブル１７の更新等を行う。即ち、ＮＭＤＰ部１５は、ＭＡＰの検出を行う検出手段や、他のＭＡＰとの間のノード間情報の決定を行う決定手段、近隣ＭＡＰテーブル１６や第２テーブル１７の更新を行う更新手段として機能する。
【００５６】
近隣ＭＡＰテーブル１６は、ノードのアドレスを記憶するノード記憶手段である。近隣ＭＡＰテーブル１６は、原則として、複数の近隣ＭＡＰに関する情報を記憶している。又、近隣ＭＡＰテーブル１６は、近隣ＭＡＰに関する情報の生存時間等も記憶している。又、近隣ＭＡＰテーブル１６は、ＮＭＤＰ部１５と接続している。以下、図３に示す図１におけるＭＡＰ（ｋ）１ｋが持つ近隣ＭＡＰテーブル１６ｋを例にとって、近隣ＭＡＰテーブル１６を説明する。図３に示すように、近隣ＭＡＰテーブル１６ｋには、予め定められた一定数（以下「最大ノード登録数」という）の近隣ＭＡＰに関する情報が保持されている。近隣ＭＡＰテーブル１６では、最大ノード登録数は、５に設定されている。このように、最大ノード登録数を設定することにより、ＭＡＰ１の記憶容量の圧迫を防止できる。又、近隣ＭＡＰテーブル１６ｋでは、近隣ＭＡＰとして、ＭＡＰ（ｋ）１ｋ自身も含んでいる。これによれば、近隣ＭＡＰテーブル１６ｋを備えるＭＡＰ（ｋ）１ｋ自身を、近隣ＭＡＰテーブル１６ｋから外すという例外処理を行う必要がなく、簡便である。但し、ＭＡＰ１の記憶容量の圧迫を防止するために、近隣ＭＡＰテーブル１６ｋを備えるＭＡＰ（ｋ）１ｋ自身は、近隣ＭＡＰテーブル１６ｋに登録しないように設定してもよい。
【００５７】
図３に示すように、近隣ＭＡＰテーブル１６ｋは、各近隣ＭＡＰについて、ＩＰアドレス、遅延値（単位はｍｓｅｃ：ミリ秒）、処理能力、生存時間（単位はｓｅｃ：秒）、シーケンスナンバ１、強制登録生存時間（単位はｓｅｃ）、シーケンスナンバ２を記憶している。図３においては、説明を簡単にするために、ＩＰアドレスとしてＭＡＰ記号を用いる。以下、ＩＰアドレスは、ＭＡＰ記号、ＭＮ記号を用いて表すこととする。
【００５８】
遅延値は、近隣ＭＡＰテーブル１６ｋを備えるＭＡＰ（ｋ）１ｋ自身と各近隣ＭＡＰとの間の片道伝送遅延値である。このように、近隣ＭＡＰテーブル１６ｋは、ノード間情報であり、遠近判断情報として利用できる遅延値を記憶している。近隣ＭＡＰテーブル１６ｋは、原則として、遅延値の最も小さい近隣ＭＡＰから順番に上位５つの近隣ＭＡＰを、遅延値の小さい順番に記憶するという基準に従って、各近隣ＭＡＰに関する情報を記憶している。そのため、ＭＡＰ１は、記憶している情報を管理したり、更新したり、利用したりする作業を容易にすることができる。
【００５９】
処理能力は、各近隣ＭＡＰのＭＡＰとしての処理能力である。又、処理能力は、ＭＡＰ自体の特性を表すノード情報である。処理能力は、４段階に分けられた処理能力の高さ、最高（「００」で表す）、高い（「０１」で表す）、中程度（「１０」で表す）、低い（「０１」で表す）によって示される。ＭＡＰの処理能力の高さは、ＭＡＰの処理速度、ＭＡＰに接続し、そのＭＡＰを利用しているＭＮの数、ＭＡＰの記憶容量やＣＰＵ速度等のハードウェアスペック等を基準に判断する。
【００６０】
生存時間は、各近隣ＭＡＰに関する情報の近隣ＭＡＰテーブル１６ｋ内の生存時間である。生存時間は、ＮＭＤＰ部１５によって、毎秒デクリメント（減少）される。生存時間が０に到達すると、その近隣ＭＡＰに関する情報は、原則として、ＮＭＤＰ部１５によって、近隣ＭＡＰテーブル１６ｋから消去される。強制登録生存時間は、各近隣ＭＡＰに関する情報を、近隣ＭＡＰテーブル１６ｋ内に、強制的に登録しておくことができる生存時間である。そのため、近隣ＭＡＰテーブル１６ｋは、強制登録生存時間が０でない近隣ＭＡＰに関する情報を、その遅延値や生存時間の値に関係なく、記憶し続ける。即ち、強制登録生存時間が０でない近隣ＭＡＰに関する情報は、生存時間が０になっても、遅延値が大きくなっても、例外的にＮＭＤＰ部１５によって消去されない。尚、強制登録生存時間も、ＮＭＤＰ部１５によって、毎秒デクリメント（減少）される。そして、強制登録生存時間が０に到達した以降は、その近隣ＭＡＰに関する情報は、例外的に扱われなくなる。又、強制登録生存時間は、初期設定において、０に設定される。
【００６１】
シーケンスナンバ１は、各近隣ＭＡＰに関する遅延値、処理能力、生存時間を、更新する基準となったＭＡＰ通知パケットのシーケンスナンバである。シーケンスナンバ２は、各近隣ＭＡＰに関する強制登録制損時間を更新する基準となった近隣ＭＡＰ登録要請パケットのシーケンスナンバである。
【００６２】
第２テーブル１７は、ノード自身の情報を記憶するノード記憶手段である。即ち、第２テーブル１７は、ＭＡＰ１自身に関する情報や、ＭＡＰ１がＭＡＰ探索や近隣ＭＡＰテーブル１６の更新を行うために必要な情報を記憶している。又、第２テーブル１７は、ＮＭＤＰ部１５と接続している。以下、図３に示す図１におけるＭＡＰ（ｋ）１ｋが持つ第２テーブル１７ｋを例にとって、第２テーブル１７を説明する。図３に示すように、第２テーブル１７ｋは、シーケンスナンバ３、初期生存時間（単位はｓｅｃ）、探索生存時間（単位はｓｅｃ）、シーケンスナンバ４、強制登録初期生存時間（単位はｓｅｃ）、強制登録要請送信タイマの時間（単位はｓｅｃ）、処理能力、タイマの時間（単位はｓｅｃ）、平滑化係数αを記憶している。
【００６３】
シーケンスナンバ３は、ＭＡＰ（ｋ）１ｋが最後に送信したＭＡＰ探索パケットのシーケンスナンバである。シーケンスナンバ３は、ＮＭＤＰ部１５によって、ＭＡＰ探索パケットを作成する際に、インクリメント（増加）される。初期生存時間は、近隣ＭＡＰテーブル１６ｋの生存時間を更新する際に、設定する生存時間である。探索生存時間は、ＭＡＰの探索を開始する基準となる時間である。近隣ＭＡＰテーブル１６ｋの生存時間が、第２テーブル１７ｋの探索生存時間に達すると、ＮＭＤＰ部１５によってその近隣ＭＡＰに対するＭＡＰ探索が開始される。
【００６４】
シーケンスナンバ４は、ＭＡＰ（ｋ）１ｋが最後に送信した近隣ＭＡＰ登録要請パケットのシーケンスナンバである。シーケンスナンバ４は、ＮＭＤＰ部１５によって、近隣ＭＡＰ登録要請パケットを作成する際に、インクリメント（増加）される。強制登録初期生存時間は、他のＭＡＰの近隣ＭＡＰテーブル１６内に強制的に登録しておいてもらう強制登録生存時間の初期値である。強制登録要請送信タイマの時間は、他のＭＡＰへの登録の要請を開始する基準となる時間である。強制登録要請送信タイマの時間は、ＮＭＤＰ部１５によって、毎秒デクリメントされる。強制登録要請送信タイマの時間が０に達すると、ＮＭＤＰ部１５によって、他のＭＡＰへの登録の要請が開始される。
【００６５】
処理能力は、ＭＡＰｋ（１ｋ）自身のＭＡＰとしての処理能力である。処理能力は、近隣ＭＡＰテーブル１７ｋと同様に、４段階に分けられた処理能力の高さによって示される。タイマの時間は、ＭＡＰｋ（１ｋ）が遅延値を計測するためのタイマの時間である。遅延値計測の精度を向上させるために、タイマの時間は、ＮＭＤＰ部１５によって、ミリ秒単位で更新されることが好ましい。平滑化係数αは、遅延値を決定する際に、計測した遅延値と以前の遅延値との平滑化を図るために用いる。平滑化係数は、０以上１以下の任意の値を設定することができる。本実施形態では、平滑化係数αは、０．５に設定されている。
【００６６】
図２に戻り、リンクレイヤ部１８は、データリンクレベルの制御を行う。リンクレイヤ部１８は、ＩＰレイヤ部１３と、インターフェース１９と接続している。リンクレイヤ部１８は、ＩＰレイヤ部１３から取得したＩＰヘッダが付加されたデータに、データリンクレベルのヘッダを付加して、インターフェース部１９に提供する。又、リンクレイヤ部１８は、インターフェースから取得したデータのデータリンクレベルのヘッダを外して、ＩＰレイヤ部１３に提供する。
【００６７】
インターフェース１９は、他のノードと通信を行う通信手段である。インターフェース１９は、他のＭＡＰやＭＮ、ＨＡと通信を行う。具体的には、インターフェース１９は、リンクレイヤ部１８から取得したモビリティ制御に関するパケット、ＭＮ宛のパケット、ＭＡＰ探索に関するパケットを、他のＭＡＰやＭＮに送信する。又、インターフェース１９は、他のＭＡＰやＭＮ、ＨＡから受信したモビリティ制御に関するパケット、ＭＮ宛のパケット、ＭＡＰ探索に関するパケットを、リンクレイヤ部１８に提供する。
【００６８】
（ＭＮの構成）
次に、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂの構成について、図４に示すＭＮ２のブロック図を用いて説明する。図４に示すように、ＭＮ２は、アプリケーション部２１と、ＴＣＰ／ＵＤＰ部２２と、ＩＰレイヤ部２３と、モビリティ制御部２４と、ＮＭＤＰ部２５と、近隣ＭＡＰテーブル２６と、第２テーブル２７と、リンクレイヤ部２８と、インターフェース２９と、ＭＡＰ選択ポリシー保持部３０とから構成される。
【００６９】
アプリケーション部２１は、ＭＡＰ２のアプリケーション部１１とほぼ同様である。但し、アプリケーション部２１は、ＭＡＰ選択ポリシー保持部３０と接続している。そして、アプリケーション部２１は、ＭＡＰ選択ポリシーの設定を行う。ここで、ＭＡＰ選択ポリシーとは、ＭＮ２が利用するＭＡＰを選択する選択基準である。アプリケーション部２１は、ＭＮ２が利用する上で最も適するＭＡＰが選択されるように、ＭＡＰ選択ポリシーを設定する。ＭＡＰ選択ポリシーは、利用するアプリケーションや状況等に応じて、自由に設定することができる。
【００７０】
例えば、ＭＡＰ選択ポリシーは、ＭＡＰの信頼性、処理能力、トラフィック量、接続しているノード数、送信電力値、遠近の程度（遠近の判断基準によって、遠近の程度の判断基準も異なってくる）、ＭＮ２とのパケット送信における遅延値、ＭＮ２との間のホップ数、ＭＮ２とのパケット送信におけるコスト、ＭＮ２との間のリンク容量、ＭＮ２との間の伝搬路情報等のパラメータについて定めることができる。又、ＭＡＰ選択ポリシーは、これらのパラメータのうち単独のパラメータについて定めてもよく、複数のパラメータを組み合わせて定めてもよい。又、これらのパラメータの程度も、自由に定めることができる。アプリケーション部２１は、定めたＭＡＰ選択ポリシーを、ＭＡＰ選択ポリシー保持部３０に格納して、設定する。又、アプリケーション部２１は、新たにＭＡＰ選択ポリシーを定めた場合には、ＭＡＰ選択ポリシー保持部３０に格納されているＭＡＰ選択ポリシーを更新して、再設定する。尚、ＭＡＰ選択ポリシーは、ユーザやシステム設計者等により設定されるようにしてもよい。
【００７１】
ＭＡＰ選択ポリシー保持部３０は、利用ノードを選択する選択基準を保持する選択基準保持手段である。ＭＡＰ選択ポリシー保持部３０は、ＭＮ２が利用するＭＡＰを選択する選択基準であるＭＡＰ選択ポリシーを保持する。又、ＭＡＰ選択ポリシー保持部３０は、アプリケーション部２１、ＮＭＤＰ部２５と接続している。そして、ＭＡＰ選択ポリシー保持部３０は、アプリケーション部２１により設定されたＭＡＰ選択ポリシーを保持する。尚、ＭＡＰ選択ポリシー保持部３０は、ユーザやシステム設計者等により設定されたＭＡＰ選択ポリシーを、予め保持しておいてもよい。本実施形態では、ＭＡＰ選択ポリシー保持部３０には、処理能力が、高い「０１」以上のＭＡＰのうち、最も近隣にあるもの（ノード間のパケット送信における遅延値が最も小さいもの）というＭＡＰ選択ポリシーが保持されている。
【００７２】
又、ＴＣＰ／ＵＤＰ部２２は、ＭＡＰ２のＴＣＰ／ＵＤＰ部１２と実質的に同様である。又、ＩＰレイヤ部２３も、ＭＡＰ２のＩＰレイヤ部１３とほぼ同様である。但し、ＩＰレイヤ部２３は、ＭＡＰからのバインディングアップデートＡＣＫパケット、ＨＡからのバインディングアップデート応答パケット（ホームアドレスと利用する近隣ＭＡＰのアドレスの登録要求に対する応答）等のモビリティ制御のためのパケットや、ＭＮの気付アドレス宛のパケットを、リンクレイヤ部２８から取得し、それらをモビリティ制御部２４に提供する。又、ＩＰレイヤ部２３は、モビリティ制御部２４から、ＭＡＰへのバインディングアップデートパケット、ＨＡへのバインディングアップデートパケット（ホームアドレスと利用する近隣ＭＡＰのアドレスの登録を要求するパケット）等のモビリティ制御のためのパケットや、ＭＮ宛のパケットを取得し、リンクレイヤ部２８に提供する。又、ＩＰレイヤ部２３は、ＭＡＰ通知パケット等のＭＡＰの探索に関わるパケットを、リンクレイヤ部２８から取得し、ＭＮＤＰ部２５に提供する。又、ＩＰレイヤ部２３は、ＭＮＤＰ部２５から、ＭＡＰ探索パケット等のＭＡＰの探索に関わるパケットを取得し、リンクレイヤ部２８に提供する。
【００７３】
モビリティ制御部２４は、モビリティ制御を行う。即ち、モビリティ制御部２４は、ＨＭＩＰにおいてＭＮ２が行うモビリティ制御に関する処理を行う。又、モビリティ制御部２４は、ＩＰレイヤ部２３、ＮＭＤＰ部２５と接続している。具体的には、モビリティ制御部２４は、モビリティ制御に必要なパケットの作成や処理を行う。例えば、モビリティ制御部２４は、ＩＰレイヤ部２３から取得したＭＡＰやＨＡからのバインディングアップデートＡＣＫパケットを処理し、ＭＡＰ１へのホームアドレスと気付アドレスの登録の完了を把握する。
【００７４】
又、モビリティ制御部２４は、ＭＡＰやＨＡへのバインディングアップデートパケットを作成し、ＩＰレイヤ部２３に提供する。ここで、モビリティ制御部２４は、ＮＭＤＰ部２５から、利用に最も適する近隣ＭＡＰのアドレスの通知を受ける。そのため、モビリティ制御部２４は、ＮＭＤＰ部２５から通知された近隣ＭＡＰに、ホームアドレスと、気付アドレスの登録を行うバインディングアップデートパケットを作成する。又、モビリティ制御部２４は、ＨＡに、ホームアドレスと、ＮＭＤＰ部２５から通知された近隣ＭＡＰのアドレスの登録を行うバインディングアップデートパケットを作成する。又、モビリティ制御部２４は、ＭＮ宛のパケットのデカプセル化や、カプセル化等を行う。例えば、モビリティ制御部２４は、ＩＰレイヤ部２３から取得したＭＮ２の気付アドレス宛のパケットをデカプセル化して、ＩＰレイヤ部２３に提供する。
【００７５】
ＮＭＤＰ部２５は、ＭＡＰ探索の制御を行う。即ち、ＮＭＤＰ部２５は、ＭＮ２が行うＭＡＰ探索に関する処理を行う。又、ＮＭＤＰ部２５は、ＩＰレイヤ部２３、モビリティ制御部２４、近隣ＭＡＰテーブル２６、第２テーブル２７、ＭＡＰ選択ポリシー保持部３０と接続している。
【００７６】
具体的には、ＮＭＤＰ部２５は、ＭＡＰの探索に関わるパケットの作成や処理を行う。例えば、ＮＭＤＰ部２５は、ＩＰレイヤ部２３から取得したＭＡＰ通知パケット等を処理して、パケットに含まれる情報を取得する。又、ＮＭＤＰ部２５は、近隣ＭＡＰテーブル２６や第２テーブル２７を参照して、ＭＡＰ探索パケットを作成する。そして、ＮＭＤＰ部２５は、作成したＭＡＰ探索パケットを、ＩＰレイヤ部２３に提供する。即ち、ＮＭＤＰ部２５は、探索パケット作成手段として機能する。
【００７７】
又、ＮＭＤＰ部２５は、ＭＡＰ探索パケットから取得した情報や近隣ＭＡＰテーブル２６等に基づいて、ＭＡＰの検出、ＭＮ２とＭＡＰとの間のノード間情報の決定、近隣ＭＡＰテーブル２６や第２テーブル２７の更新等を行う。即ち、ＮＭＤＰ部２５は、ＭＡＰの検出を行う検出手段や、ＭＡＰとの間のノード情報の決定を行う決定手段、近隣ＭＡＰテーブル２６や第２テーブル２７の更新を行う更新手段として機能する。
【００７８】
又、ＮＭＤＰ部２５は、利用ノードを選択する選択手段としても機能する。ＮＭＤＰ部２５は、ＮＭ２が利用するために最も適するＭＡＰを選択する。ＮＭＤＰ部２５は、ＭＡＰ選択ポリシー保持部３０に保持されたＭＡＰ選択ポリシーに基づいて、近隣ＭＡＰテーブル２６を参照し、最適な近隣ＭＡＰを選択する。即ち、ＮＭＤＰ部２５は、近隣ＭＡＰテーブル２６が記憶している情報に、ＭＡＰ選択ポリシー保持部３０に保持されているＭＡＰ選択ポリシーを照らし合わせて、最適な近隣ＭＡＰを選択する。ＮＭＤＰ部２５は、選択した近隣ＭＡＰのアドレスを、モビリティ制御部２４に通知する。
【００７９】
近隣ＭＡＰテーブル２６は、近隣ノード記憶手段であり、複数の近隣ＭＡＰに関する情報を記憶している。又、近隣ＭＡＰテーブル２６は、近隣ＭＡＰに関する情報の生存時間等も記憶している。又、近隣ＭＡＰテーブル２６は、ＮＭＤＰ部２５と接続している。以下、図５に示す図１におけるＭＮ（ａ）２ａが持つ近隣ＭＡＰテーブル２６ａを例にとって、近隣ＭＡＰテーブル２６を説明する。図５に示すように、近隣ＭＡＰテーブル２６ａには、最大ノード登録数の近隣ＭＡＰに関する情報が保持されている。近隣ＭＡＰテーブル２６では、最大ノード登録数は、５に設定されている。このように、最大ノード登録数を設定することにより、ＭＮ２の記憶容量の圧迫を防止できる。
【００８０】
図５に示すように、近隣ＭＡＰテーブル２６ａは、各近隣ＭＡＰについて、ＩＰアドレス、遅延値（単位はｍｓｅｃ）、処理能力、生存時間（単位はｓｅｃ）、シーケンスナンバ１を記憶している。遅延値は、ＭＮ２と各近隣ＭＡＰとの間の片道伝送遅延値である。近隣ＭＡＰテーブル２６ａは、遅延値の最も小さい近隣ＭＡＰから順番に上位５つの近隣ＭＡＰを、遅延値の小さい順番に記憶するという基準に従って、各近隣ＭＡＰに関する情報を記憶している。そのため、ＭＮ２は、記憶している情報を管理したり、更新したりする作業を容易にすることができる。
【００８１】
処理能力、生存時間、シーケンスナンバ１は、ＭＡＰ（ｋ）１ｋの近隣ＭＡＰテーブル１６ｋとほぼ同様である。但し、生存時間が０に到達すると、その近隣ＭＡＰに関する情報は、ＮＭＤＰ部２５によって、例外なく近隣ＭＡＰテーブル２６ａから消去される。
【００８２】
第２テーブル２７は、ＭＮ２がＭＡＰ探索や近隣ＭＡＰテーブル２６の更新を行うために必要な情報を記憶している。又、第２テーブル２７は、ＮＭＤＰ部２５と接続している。以下、図５に示す図１におけるＭＮ（ａ）２ａが持つ第２テーブル２７ａを例にとって、第２テーブル２７を説明する。図５に示すように、第２テーブル２７ａは、シーケンスナンバ３、初期生存時間（単位はｓｅｃ）、探索生存時間（単位はｓｅｃ）、タイマの時間（単位はｓｅｃ）、平滑化係数βを記憶している。これらは、ＭＡＰ（ｋ）１ｋの第２テーブル１７ｋとほぼ同様である。
【００８３】
但し、第２テーブル２７ａにおいては、第２テーブル１７ｋに比べて、初期生存時間は、短く設定され、それに伴い探索生存時間も短く設定されることが好ましい。これによれば、ＭＮ２は、高頻度にＭＡＰ探索を行うことができる。そのため、ＭＮ２は、移動に伴い変化する近隣ＭＡＰに関する情報を、高頻度にアップデートすることができ、移動に応じたＭＡＰに関する情報を、適切に把握することができる。更に、第２テーブル２７ａの平滑化係数βは、第２テーブル１７ｋの平滑化係数αに比べて、小さく設定されることが好ましい。これによれば、ＭＮ２は、移動に伴い変化する近隣ＭＡＰとの間の遅延値を、適切に把握することができる。平滑化係数βは、０に設定されている。
【００８４】
尚、ＭＮ２は、ＭＡＰから登録の要請を受けることがないため、近隣ＭＡＰテーブル２７ａは、図３に示す近隣ＭＡＰテーブル１６ｋの強制登録生存時間、シーケンスナンバ２のフィールを持たず、第２テーブル２７ｂも、図３に示す第２テーブル１７ｋのシーケンスナンバ４、強制登録初期生存時間、強制登録要請送信タイマのフィールドを持たない。又、ＭＮ２は、自身の処理能力をＭＡＰや他のＭＮに通知する必要もないため、第２テーブル２７ｂは、処理能力のフィールドを持たない。図４に戻り、リンクレイヤ部２８、インターフェース２９は、ＭＡＰ１のリンクレイヤ部１８、インターフェース部１９とほぼ同様である。但し、インターフェース２９は、他のＭＡＰやＨＡと通信を行う。
【００８５】
〔ノード探索方法〕
次に、上記通信システムにおいて、ノード（ＭＡＰ）を探索するノード探索方法について説明する。
【００８６】
（ＭＡＰによるＭＡＰの探索）
図６〜図１１、図３を用いて、ＭＡＰによるＭＡＰの探索について説明する。図６では、図１に示した通信システムにおけるＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂの記載を省略している。又、図６では、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎが備えている近隣ＭＡＰテーブル１６ａ〜１６ｎを、各ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎとともに示している。但し、説明を簡単にするために、近隣ＭＡＰのＩＰアドレスと、近隣ＭＡＰテーブル１６ａ〜１６ｎを備えているＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎと、各近隣ＭＡＰとの遅延値（小数点以下の記載を省略）のみを記載している。図６に示すように、各ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｎ）１ｎには、近隣ＭＡＰテーブル１６ａ〜１６ｎが形成されている。
【００８７】
ＭＡＰ（ｋ）１ｋが備える近隣ＭＡＰテーブル１６ｋが、図３に示す状態になっている場合を例にとって説明する。図３に示す第２テーブル１７ｋの探索生存時間は、６０（ｓｅｃ）に設定されている。又、図３に示す近隣ＭＡＰテーブル１６ｋに近隣ＭＡＰとして登録されているＭＡＰ（ｎ）１ｎの生存時間は、現在６１（ｓｅｃ）であり、毎秒デクリメントされる。そして、１秒後に、近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｎ）１ｎの生存時間が探索生存時間である６０（ｓｅｃ）に達し、生存時間と探索生存時間が一致すると、ＭＡＰ（ｋ）１ｋは、ＭＡＰ（ｎ）１ｎに対して、ＭＡＰの探索を開始する。
【００８８】
１．ＭＡＰ探索パケット、ＭＡＰ通知依頼パケット、ＭＡＰ通知パケットの送受信
まず、図６に示すように、ＭＡＰ（ｋ）１ｋは、ＭＡＰ（ｎ）１ｎに、ＭＡＰ探索パケットを送信し、それをＭＡＰ（ｎ）１ｎが受信する（図６中実線の矢印で示す）。よって、ここでは、ＭＡＰ（ｋ）１ｋが探索ノードとなり、ＭＡＰ（ｎ）１ｎが探索パケット受信ノードとなる。具体的には、ＭＡＰ（ｋ）１ｋのＮＭＤＰ部１５が、図７に示すＭＡＰ探索パケット３を作成し、インターフェース１９が送信する。
【００８９】
図７に示すように、ＭＡＰ探索パケット３は、ＩＰｖ６ヘッダ３１と、終点オプションヘッダ３２とから構成される。ＩＰｖ６ヘッダ３１には、ＩＰのバージョンを示すバージョン、ＭＡＰ探索パケット３の送信元を示す始点アドレス、ＭＡＰ探索パケット３の宛先を示す終点アドレス等が格納されている。尚、ここでは、本発明に関連するものだけを説明するが、ＩＰｖ６ヘッダには、他にも様々な情報が格納されている。終点オプションヘッダ３２は、ＩＰｖ６のオプションの拡張ヘッダの１つである。終点オプションヘッダ３２は、パケットの種類を示すタイプ、ＭＡＰ探索パケット３を管理するシーケンスナンバ、ＭＡＰ探索を開始する時刻（ＭＡＰ探索パケット３を送信する時刻）を示す探索開始時刻、探索ノードと探索パケット受信ノードとの間のパケット送信における遅延値が格納されている。
【００９０】
ここで、タイプは、上記のように、パケットの種類を示す。よって、タイプによって、パケットが、ＭＡＰ探索パケットであるか、ＭＡＰ通知依頼パケットであるか、ＭＡＰ通知パケットであるか、近隣ＭＡＰ登録要請パケットであるか、近隣ＭＡＰ登録確認パケットであるかを示すことができ、判断できる。本実施形態では、タイプ３１が、ＭＡＰ探索パケット３を示す。
【００９１】
ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ３１の始点アドレスに、ＭＡＰ（ｋ）のＩＰアドレス「ｋ」を、終点アドレスに、ＭＡＰ（ｎ）のＩＰアドレス「ｎ」を設定する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ３２のタイプに、「３１」を設定する。又、ＭＡＰ（ｋ）のＮＭＤＰ部は、終点オプションヘッダ３２のシーケンスナンバに、図３に示す第２テーブル１７ｋのシーケンスナンバ３の値「１６５３」に１を加算した「１６５４」を設定する。このとき、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、第２テーブル１７ｋのシーケンスナンバ３の値も「１６５４」に更新する。
【００９２】
又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ３２の探索開始時刻に、第２テーブル１７ｋのタイマのＭＡＰ探索パケット３作成時の時間「１１２．５２６５」（図３に示す「１１１．５２６５」の状態から１秒後にＭＡＰ探索は開始されている）をコピーして、設定する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ３２の遅延値に、探索ノードであるＭＡＰ（ｋ）と、探索パケット受信ノードであるＭＡＰ（ｎ）との間の遅延値を、図３に示す近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｎ）との遅延値「７．３」をコピーして、設定する。このようにして、ＭＡＰ（ｋ）のＭＮＤＰ部１５は、ＭＡＰ探索パケット３を作成し、探索パケット作成手段として機能する。
【００９３】
次に、図６に示すように、ＭＡＰ探索パケット３を受信したＭＡＰ（ｎ）１ｎが、ＭＡＰ（ｎ）１ｎの近隣ＭＡＰテーブル１６ｎが記憶している全ての近隣ＭＡＰ、即ち、ＭＡＰ（ｎ）１ｎ、ＭＡＰ（ｉ）１ｉ、ＭＡＰ（ｋ）１ｋ、ＭＡＰ（ｌ）１ｌ、ＭＡＰ（ｊ）１ｊに対して、ＭＡＰ通知依頼パケットを送信する（図６中一点鎖線の矢印で示す）。このように、探索パケット受信ノードとなったＭＡＰ（ｎ）１ｎは、ＭＡＰ（ｎ）１ｎ自身以外のＭＡＰ（ｉ）１ｉ〜ＭＡＰ（ｌ）１ｌに、ＭＡＰ通知依頼パケットを送信する。よって、ここでは、ＭＡＰ（ｉ）１ｉ〜ＭＡＰ（ｌ）１ｌが周辺ノードとなる。
【００９４】
尚、ＭＡＰ（ｎ）１ｎは、上記したように、近隣ＭＡＰテーブル１６ｎに記憶されている全ての近隣ＭＡＰに対して、一律にＭＡＰ通知依頼パケットを送信する。これによれば、探索パケット受信ノードであるＭＡＰ（ｎ）１ｎの動作を簡単にできる。しかし、この場合には、ＭＡＰ（ｎ）１ｎ自身や、ＭＡＰ探索パケット３の送信元であるＭＡＰ（ｋ）１ｋに対しても、ＭＡＰ通知依頼パケットを送信してしまう。そのため、ＭＡＰ（ｎ）１ｎは、探索ノードであるＭＡＰ（ｋ）１ｋや探索パケット受信ノードであるＭＡＰ（ｎ）１ｎを、ＭＡＰ通知依頼パケットの送信先から例外的に外すようにしてもよい。これによれば、余計なパケットの送信を防止することができる。
【００９５】
具体的には、ＭＡＰ（ｎ）１ｎのＮＭＤＰ部１５が、ＭＡＰ通知依頼パケットを作成し、インターフェース１９が送信する。以下、ＭＡＰ（ｉ）１ｉと、ＭＡＰ（ｊ）１ｊへのＭＡＰ通知依頼パケットの送信を例にとって説明する。図８（ａ）は、ＭＡＰ（ｉ）に送信するＭＡＰ通知依頼パケット４ｉを示し、図８（ｂ）は、ＭＡＰ（ｊ）に送信するＭＡＰ通知依頼パケット４ｊを示す。
【００９６】
図８に示すように、ＭＡＰ通知依頼パケット４ｉ，４ｊは、ＩＰｖ６ヘッダ４１ｉ，４１ｊと、終点オプションヘッダ４２ｉ，４２ｊとから構成される。ＩＰｖ６ヘッダ４１ｉ，４１ｊには、ＩＰのバージョンを示すバージョン、ＭＡＰ通知依頼パケット４ｉ，４ｊの送信元を示す始点アドレス、ＭＡＰ通知依頼パケット４ｉ，４ｊの宛先を示す終点アドレス等が格納されている。終点オプションヘッダ４２ｉ，４２ｊには、タイプ、探索ノードを示す探索元アドレス、ＭＡＰ通知依頼パケット４ｉ，４ｊを管理するシーケンスナンバ、探索開始時刻、探索ノードと探索パケット受信ノードとの間のパケット送信における遅延値１、探索パケット受信ノードと周辺ノードとの間のパケット送信における遅延値２が格納されている。
【００９７】
図８（ａ）に示すように、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ４１ｉの始点アドレスに、ＭＡＰ（ｎ）のＩＰアドレス「ｎ」を、終点アドレスに、ＭＡＰ（ｉ）のＩＰアドレス「ｉ」を設定する。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ４２ｉのタイプに、「３２」を設定する。本実施形態では、タイプ３２が、ＭＡＰ通知依頼パケットを示す。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ４２ｉの探索元アドレスに、受信した図７に示すＭＡＰ探索パケット３の始点アドレスであるＭＡＰ（ｋ）のＩＰアドレス「ｋ」をコピーして、設定する。
【００９８】
又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ４２ｉのシーケンスナンバ、探索開始時刻に、受信した図７に示すＭＡＰ探索パケット３のシーケンスナンバの値「１６５４」、探索開始時刻の値「１１２．５２６５」をコピーして設定する。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ４２ｉの遅延値１に、探索ノードであるＭＡＰ（ｋ）と、探索パケット受信ノードであるＭＡＰ（ｎ）との間の遅延値を、図７に示すＭＡＰ探索パケット３の遅延値「７．３」をコピーして、設定する。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ４２ｉの遅延値２に、探索パケット受信ノードであるＭＡＰ（ｎ）と、周辺ノードであるＭＡＰ（ｉ）との間の遅延値を、図６に示す近隣ＭＡＰテーブル１６ｎのＭＡＰ（ｉ）との遅延値「６．３」（図６では、小数点以下が省略されている）をコピーして、設定する。このようにして、ＭＡＰ（ｎ）のＭＮＤＰ部１５は、ＭＡＰ通知依頼パケット４ｉを作成し、依頼パケット作成手段として機能する。
【００９９】
同様にして、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、図８（ｂ）に示すＭＡＰ（ｊ）へのＭＡＰ通知依頼パケット４ｊを作成する。但し、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ４１ｊの終点アドレスに、ＭＡＰ（ｊ）のＩＰアドレス「ｊ」を設定する。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ４２ｊの遅延値２に、図６に示す近隣ＭＡＰテーブル１６ｎのＭＡＰ（ｊ）との遅延値「８．３」（図６では、小数点以下が省略されている）をコピーして、設定する。
【０１００】
次に、図６に示すように、ＭＡＰ通知依頼パケットを受信したＭＡＰ（ｉ）１ｉ〜ＭＡＰ（ｌ）１ｌ，ＭＡＰ（ｎ）１ｎが、ＭＡＰ（ｋ）１ｋに対して、ＭＡＰ通知パケットを送信する（図６中点線の矢印で示す）。このように、周辺ノードとなったＭＡＰ（ｉ）１ｉ〜ＭＡＰ（ｌ）１ｌ、探索パケット受信ノードとなったＭＡＰ（ｎ）１ｎは、探索ノードであるＭＡＰ（ｋ）１ｋに、ＭＡＰ通知パケットを返信する。尚、上記したように、ＭＡＰ（ｎ）１ｎが、近隣ＭＡＰテーブル１６ｎに記憶されている全ての近隣ＭＡＰに対して、一律にＭＡＰ通知依頼パケットを送信したため、探索ノードであるＭＡＰ（ｋ）１ｋも、ＭＡＰ通知依頼パケットを受信してしまう。そのため、ＭＡＰ（ｋ）１ｋも、ＭＡＰ通知パケットの送信を行う。
【０１０１】
具体的には、ＭＡＰ（ｉ）１ｉ〜ＭＡＰ（ｌ）１ｌ，ＭＡＰ（ｎ）１ｎのＮＭＤＰ部１５が、ＭＡＰ通知パケットを作成し、インターフェース１９が送信する。以下、ＭＡＰ（ｉ）１ｉと、ＭＡＰ（ｊ）１ｊからのＭＡＰ通知パケットの返信を例にとって説明する。図９（ａ）は、ＭＡＰ（ｉ）１ｉから返信されるＭＡＰ通知パケット５ｉを示し、図９（ｂ）は、ＭＡＰ（ｊ）１ｊから返信されるＭＡＰ通知パケット５ｊを示す。
【０１０２】
図９に示すように、ＭＡＰ通知パケット５ｉ，５ｊは、ＩＰｖ６ヘッダ５１ｉ，５１ｊと、終点オプションヘッダ５２ｉ，５２ｊとから構成される。ＩＰｖ６ヘッダ５１ｉ，５１ｊには、ＩＰのバージョンを示すバージョン、ＭＡＰ通知パケット５ｉ，５ｊの送信元を示す始点アドレス、ＭＡＰ通知パケット５ｉ，５ｊの宛先を示す終点アドレス等が格納されている。終点オプションヘッダ５２ｉ，５２ｊには、タイプ、ＭＡＰ通知パケット５ｉ，５ｊを管理するシーケンスナンバ、探索開始時刻、探索ノードと探索パケット受信ノードとの間のパケット送信における遅延値１、探索パケット受信ノードと周辺ノードとの間のパケット送信における遅延値２と、周辺ノードの処理能力が格納されている。
【０１０３】
図９（ａ）に示すように、ＭＡＰ（ｉ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ５１ｉの始点アドレスに、ＭＡＰ（ｉ）のＩＰアドレス「ｉ」を設定する。又、ＭＡＰ（ｉ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ５１ｉの終点アドレスに、受信した図８（ａ）に示すＭＡＰ通知依頼パケット４ｉの探索元アドレスであるＭＡＰ（ｋ）のＩＰアドレス「ｋ」をコピーして、設定する。又、ＭＡＰ（ｉ）のＮＭＤＰ部１５は、終点オプションヘッダ５２ｉのタイプに、「３３」を設定する。本実施形態では、タイプ３３が、ＭＡＰ通知パケットを示す。
【０１０４】
又、ＭＡＰ（ｉ）のＮＭＤＰ部１５は、終点オプションヘッダ５２ｉのシーケンスナンバ、探索開始時刻に、受信した図８（ａ）に示すＭＡＰ通知依頼パケット４ｉのシーケンスナンバの値「１６５４」、探索開始時刻の値「１１２．５２６５」をコピーして設定する。又、ＭＡＰ（ｉ）のＮＭＤＰ部１５は、終点オプションヘッダ５２ｉの遅延値１に、探索ノードであるＭＡＰ（ｋ）と、探索パケット受信ノードであるＭＡＰ（ｎ）との間の遅延値を、図８（ａ）に示すＭＡＰ通知依頼パケット４ｉの遅延値１「７．３」をコピーして、設定する。又、ＭＡＰ（ｉ）のＮＭＤＰ部１５は、終点オプションヘッダ５２ｉの遅延値２に、探索パケット受信ノードであるＭＡＰ（ｎ）と、周辺ノードであるＭＡＰ（ｉ）との間の遅延値を、図８（ａ）に示すＭＡＰ通知依頼パケット４ｉの遅延値２「６．３」をコピーして、設定する。
【０１０５】
又、ＭＡＰ（ｉ）のＮＭＤＰ部１５は、終点オプションヘッダ５２ｉの処理能力に、周辺ノードであるＭＡＰ（ｉ）自身の処理能力を、ＭＡＰ（ｉ）が備える第２テーブルの処理能力「０１」（高い）をコピーして、設定する。このようにして、ＭＡＰ（ｉ）のＭＮＤＰ部１５は、ＭＡＰ通知パケット５ｉを作成し、通知パケット作成手段として機能する。
【０１０６】
同様にして、ＭＡＰ（ｊ）のＮＭＤＰ部１５は、図９（ｂ）に示すＭＡＰ（ｊ）からのＭＡＰ通知パケット５ｊを作成する。但し、ＭＡＰ（ｊ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ５１ｊの終点アドレスに、ＭＡＰ（ｊ）のＩＰアドレス「ｊ」を設定する。又、ＭＡＰ（ｊ）のＮＭＤＰ部１５は、終点オプションヘッダ５２ｊの遅延値２に、図８（ｂ）に示すＭＡＰ通知依頼パケット４ｊの遅延値２「８．３」をコピーして、設定する。又、ＭＡＰ（ｊ）のＮＭＤＰ部１５は、終点オプションヘッダ５２ｊの処理能力に、ＭＡＰ（ｊ）が備える第２テーブルの処理能力「０１」（高い）をコピーして、設定する。
【０１０７】
２．ノード間情報の決定、ＭＡＰの検出、近隣ＭＡＰテーブルの更新
次に、ＭＡＰ通知パケットを受信した探索ノードであるＭＡＰ（ｋ）１ｋは、返信されたＭＡＰ通知に基づいて、ノード間情報の決定、ＭＡＰの検出、近隣ＭＡＰテーブルの更新を行う。以下、ＭＡＰ（ｉ）１ｉと、ＭＡＰ（ｊ）１ｊから返信されたＭＡＰ通知パケットを例にとって説明する。図１０は、ＭＡＰ（ｋ）１ｋが、ＭＡＰ（ｉ）１ｉから返信されたＭＡＰ通知パケット５ｉを受信した時の近隣ＭＡＰテーブル１６ｋ、第２テーブル１７ｋの状態を示す。又、図１１は、ＭＡＰ（ｋ）１ｋが、ＭＡＰ（ｊ）１ｊから返信されたＭＡＰ通知パケット５ｊを受信した時の近隣ＭＡＰテーブル１６ｋ、第２テーブル１７ｋの状態を示す。尚、図１０、図１１に示す近隣ＭＡＰテーブル１６ｋ、第２テーブル１７ｋでは、図３に示したＭＡＰ探索を開始する直前の状態から、既に更新されている箇所もある。
【０１０８】
まず、ＭＡＰ（ｋ）が、ＭＡＰ（ｉ）から返信されたＭＡＰ通知パケット５ｉを受信した場合を説明する。探索ノードであるＭＡＰ（ｋ）は、ＭＡＰ通知パケット５ｉを受信すると、まず、探索ノードであるＭＡＰ（ｋ）と、周辺ノードであるＭＡＰ（ｉ）との間の遅延値を計測する。具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｉ受信時の第２テーブル１７ｋ（図１０）のタイマの時間を参照し、ＭＡＰ通知パケット５ｉの到着時刻「１１２．５４６５」を取得する。次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、受信したＭＡＰ通知パケット５ｉ（図９（ａ））から、探索開始時刻「１１２．５２６５」、探索ノードと探索パケット受信ノードとの間の遅延値１「７．３」、探索パケット受信ノードと周辺ノードとの間の遅延値２「６．３」を取得する。
【０１０９】
そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、到着時刻から、探索開始時刻、遅延値１、遅延値２を減じる計算を行い、ＭＡＰ（ｋ）と、ＭＡＰ（ｉ）との間の遅延値を求める。計算結果は、１１２．５４６５―（１１２．５２６５＋０．００７３＋０．００６３）＝０．００６４となった。このように、ＭＡＰ（ｋ）において新たに計測されたＭＡＰ（ｉ）との間の遅延値は、０．００６４（ｓｅｃ）、即ち、６．４（ｍｓｅｃ）となった。
【０１１０】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｉ（図９（ａ））の始点アドレス「ｉ」が、近隣ＭＡＰテーブル１６ｋ（図１０）のＩＰアドレスにあるか否かを検索する。ＭＡＰ（ｋ）のＮＭＤＰ部１５は、新たに受信したＭＡＰ通知パケット５ｉの始点アドレス「ｉ」が、近隣ＭＡＰテーブル１６ｋに存在すれば、ＭＡＰ通知パケット５ｉの送信元であるＭＡＰ（ｉ）は、既に検出しているＭＡＰであると判断する。そのため、この場合、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｉを、既に近隣ＭＡＰとして登録しているＭＡＰ（ｉ）に関する情報の更新に利用すると判断する。図１０の場合、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｋのＩＰアドレスに、始点アドレス「ｉ」があるため、ＭＡＰ通知パケット５ｉを、ＭＡＰ（ｉ）に関する情報の更新に利用すると判断する。
【０１１１】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、受信したＭＡＰ通知パケット５ｉに基づく、近隣ＭＡＰテーブル１６ｋの既存のＭＡＰ（ｉ）に関する情報の更新を実行すべきか否かを判断する。具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、受信したＭＡＰ通知パケット５ｉのシーケンスナンバ「１６５４」と、ＭＡＰ通知パケット５ｉ受信時の近隣ＭＡＰテーブル１６ｋ（図１０）のＭＡＰ（ｉ）についてのシーケンスナンバ１「１６５０」とを比較する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｉのシーケンスナンバが大きい場合には、そのＭＡＰ通知パケット５ｉに基づく情報は、最新の情報であり、情報の更新を実行すると判断する。図１０の場合、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｉのシーケンスナンバの方が大きいため、情報の更新を実行すると判断する。
【０１１２】
一方、ＭＡＰ（ｋ）が、前回近隣ＭＡＰテーブル１６ｋを更新した時に用いたＭＡＰ通知パケットに対応するＭＡＰ探索パケットよりも、以前に送信したＭＡＰ探索パケットに対するＭＡＰ通知パケットが、何らかの理由で遅れてＭＡＰ（ｋ）に到着する場合がある。そのため、ＭＡＰ通知パケット５ｉのシーケンスナンバが、近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｉ）についてのシーケンスナンバ１よりも小さい場合には、そのＭＡＰ通知パケット５ｉに含まれる情報は、最新の情報や適切な情報ではない可能性がある。よって、この場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、情報の更新を実行しないと判断する。
【０１１３】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｉ）に関する情報の更新を実行する。まず、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、計測した遅延値の平滑化を行う。具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、図１０に示すＭＡＰ通知パケット５ｉ受信時の近隣ＭＡＰテーブル１６ｋ、第２テーブル１７ｋを参照し、ＭＡＰ（ｉ）についての既存の遅延値「６．８」、平滑化係数α「０．５」を取得する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、以下に示す（１）式に、上記の計測した遅延値、既存の遅延値、平滑化係数αを代入して、遅延値の平滑化を行う。代入結果は、（２）式に示すようになった。
【０１１４】
既存の遅延値×α＋計測した遅延値×（１―α）　　（１）
６．８×０．５＋６．４×（１―０．５）＝６．６　（２）
このように平滑化された遅延値は、６．６（ｓｅｃ）となった。ＭＡＰ（ｋ）のＮＭＤＰ部１５は、このように、探索ノードであるＭＡＰ（ｋ）と、周辺ノードであるＭＡＰ（ｉ）との間の遅延値を計測したり、平滑化したりすることによって遅延値を決定し、ノード間情報を決定する決定手段として機能する。尚、遅延値の平滑化は、必ずしも行う必要はない。
【０１１５】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｉ（図９（ａ））から、処理能力「０１」（高い）、シーケンスナンバ「１６５４」を取得する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、第２テーブル１７ｋ（図１０）から初期生存時間「９００」を取得する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｋ（図１０）のＭＡＰ（ｉ）に関する既存の遅延値「６．８」を、決定した遅延値「６．６」に、既存の処理能力「０１」（高い）を、取得した処理能力「０１」（高い）に、既存の生存時間「１２２」を、取得した初期生存時間「９００」に、既存のシーケンスナンバ１「１６５０」を、取得したシーケンスナンバ「１６５４」に、それぞれ更新して、最新の情報とする。
【０１１６】
このような更新を行った結果、近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｉ）に関する情報は、図１１に示す近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｉ）に関する情報のようになり、最新の情報となる。このようにして、ＭＡＰ（ｋ）１ｋのＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｋを更新し、更新手段として機能する。
【０１１７】
次に、ＭＡＰ（ｋ）が、ＭＡＰ（ｊ）から返信されたＭＡＰ通知パケット５ｊを受信した場合を説明する。探索ノードであるＭＡＰ（ｋ）は、ＭＡＰ通知パケット５ｊを受信すると、まず、探索ノードであるＭＡＰ（ｋ）と、周辺ノードであるＭＡＰ（ｊ）との間の遅延値を計測する。具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｊ受信時の第２テーブル１７ｋ（図１１）のタイマの時間を参照し、ＭＡＰ通知パケット５ｊの到着時刻「１１２．５５５４」を取得する。次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、受信したＭＡＰ通知パケット５ｊ（図９（ｂ））から、探索開始時刻「１１２．５２６５」、探索ノードと探索パケット受信ノードとの間の遅延値１「７．３」、探索パケット受信ノードと周辺ノードとの間の遅延値２「８．３」を取得する。
【０１１８】
そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｉの場合と同様の計算を行い、ＭＡＰ（ｋ）と、ＭＡＰ（ｊ）との間の遅延値を求める。計算結果は、１１２．５５５４―（１１２．５２６５＋０．００７３＋０．００８３）＝０．０１３３となった。このように、ＭＡＰ（ｋ）において新たに計測されたＭＡＰ（ｊ）との間の遅延値は、０．０１３３（ｓｅｃ）、即ち、１３．３（ｍｓｅｃ）となった。
【０１１９】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｊ（図９（ｂ））の始点アドレス「ｊ」が、近隣ＭＡＰテーブル１６ｋ（図１１）のＩＰアドレスにあるか否かを検索する。ＭＡＰ（ｋ）のＮＭＤＰ部１５は、新たに受信したＭＡＰ通知パケット５ｊの始点アドレス「ｊ」が、近隣ＭＡＰテーブル１６ｋに存在しなければ、ＭＡＰ通知パケット５ｊの送信元であるＭＡＰ（ｊ）は、新たに検出したＭＡＰであると判断する。即ち、ＭＡＰ（ｊ）は、近隣ＭＡＰテーブル１６ｋに、ＭＡＰ（ｋ）の近隣ＭＡＰとして新規に登録される可能性があると判断する。図１１の場合、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｋのＩＰアドレスに、始点アドレス「ｊ」がないため、ＭＡＰ（ｊ）は、新たに検出したＭＡＰであると判断する。
【０１２０】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、検出したＭＡＰ（ｊ）を、ＭＡＰ（ｋ）の近隣ＭＡＰとして、近隣ＭＡＰテーブル１６ｋに新規に登録するか否かを判断する。まず、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｊに基づいて計測したＭＡＰ（ｊ）の遅延値が、ＭＡＰ通知パケット５ｊ受信時の近隣ＭＡＰテーブル１６ｋ（図１１）に記憶さている近隣ＭＡＰのいずれかの遅延値よりも小さいか否かを比較する。このとき、近隣ＭＡＰテーブル１６ｋは、遅延値の小さい順に近隣ＭＡＰに関する情報を記憶しているため、ＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｋの中で遅延値の最も大きい最後の近隣ＭＡＰの遅延値との比較から開始すればよい。
【０１２１】
ＭＡＰ（ｊ）の遅延値が、近隣ＭＡＰテーブル１６ｋ（図１１）のいずれの遅延値よりも大きい場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｊ）を、ＭＡＰ（ｋ）の近隣ＭＡＰとして、近隣ＭＡＰテーブル１６ｋに新規に登録することはしないと判断する。図１１の場合、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、計測したＭＡＰ（ｊ）の遅延値「１３．３」が、近隣ＭＡＰテーブル１６ｋのいずれの遅延値よりも大きいため、ＭＡＰ（ｊ）を、近隣ＭＡＰテーブル１６ｋに新規に登録することはしないと判断する。この場合、ＭＡＰ（ｋ）は、ＭＡＰ通知パケット５ｊに基づく、近隣ＭＡＰテーブル１６ｋの更新を行わない。
【０１２２】
一方、ＭＡＰ（ｊ）の遅延値が、ＭＡＰ通知パケット５ｊ受信時の近隣ＭＡＰテーブル１６ｋのいずれかの遅延値よりも小さい場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｊ受信時の近隣ＭＡＰテーブル１６ｋの中で、ＭＡＰ（ｊ）の遅延値よりも大きい遅延値を持つ近隣ＭＡＰの強制登録生存時間が、０であるか否かを判断する。
【０１２３】
ＭＡＰ（ｊ）の遅延値よりも大きい遅延値を持つ全ての近隣ＭＡＰの強制登録時間が０でない場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｊ）を、ＭＡＰ（ｋ）の近隣ＭＡＰとして、近隣ＭＡＰテーブル１６ｋに新規に登録することはしないと判断する。この場合、ＭＡＰ（ｋ）は、ＭＡＰ通知パケット５ｊに基づく、近隣ＭＡＰテーブル１６ｋの更新を行わない。
【０１２４】
一方、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｊ）の遅延値よりも大きい遅延値を持つ近隣ＭＡＰで、強制登録時間が０の近隣ＭＡＰがある場合には、ＭＡＰ（ｊ）を、ＭＡＰ（ｋ）の近隣ＭＡＰとして、近隣ＭＡＰテーブル１６ｋに新規に登録すると判断する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｊ）の近隣ＭＡＰテーブル１６ｋへの登録を実行する。
【０１２５】
まず、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｊ）の遅延値よりも大きい遅延値を持つ近隣ＭＡＰで、強制登録時間が０の近隣ＭＡＰの中で、最も遅延値の大きい近隣ＭＡＰに関する情報を消去する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｊに基づいて、近隣ＭＡＰテーブル１６ｋを更新する。これにより、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｊ）を、新たなＭＡＰ（ｋ）の近隣ＭＡＰとして、近隣ＭＡＰテーブル１６ｋに登録する。
【０１２６】
具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｊ）は新規に登録されるＭＡＰであるため、計測した遅延値をそのまま、近隣ＭＡＰテーブル１６ｋに格納する遅延値と決定する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット５ｊから、始点アドレス、処理能力、シーケンスナンバを取得し、第２テーブル１７ｋから初期生存時間を取得する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｋが遅延値の小さい順番に近隣ＭＡＰに関する情報を記憶するという基準に従う位置に、ＭＡＰ（ｊ）に関する情報を格納する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｊ）に関する情報として、決定した遅延値、取得した始点アドレス、処理能力、初期生存時間、シーケンスナンバ、強制登録生存時間の初期値０を、近隣ＭＡＰテーブル１６ｋに格納する。
【０１２７】
このようにして、新たに検出したＭＡＰ（ｊ）を、ＭＡＰ（ｋ）の近隣ＭＡＰとして近隣ＭＡＰテーブル１６ｋに登録することができる。又、近隣ＭＡＰテーブル１６ｋは、強制登録生存時間が０でない近隣ＭＡＰを例外とし、遅延値の小さい順に上位一定数の近隣ＭＡＰを、近隣ＭＡＰテーブル１６ｋに記憶することができる。
【０１２８】
ＭＡＰ（ｋ）１ｋのＮＭＤＰ部１５は、このようにして、ノード通知パケット６ｊに基づいて、新たなＭＡＰを検出し、検出手段として機能する。又、ＭＡＰ（ｋ）１ｋのＮＭＤＰ部１５は、決定した遅延値や、新たに検出したＭＡＰに基づいて、近隣ＭＡＰテーブル１６ｋを更新し、更新手段として機能する。
【０１２９】
３．近隣ＭＡＰの消去
図６では、ＭＡＰ（ｋ）１ｋが送信したＭＡＰ探索パケットに対して、探索パケット受信ノードであるＭＡＰ（ｎ）１ｎから、ＭＡＰ通知パケットが返信されている。しかし、ＭＡＰ（ｎ）１ｎが、故障により機能不全に陥った場合や、撤去された場合には、ＭＡＰ（ｋ）１ｋが送信したＭＡＰ探索パケットに対して、ＭＡＰ（ｎ）１ｎから、ＭＡＰ通知パケットの返信がされてくることはない。
【０１３０】
ここで、上述した通り、ＭＡＰ探索は、図３に示した近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｎ）についての生存時間のように、近隣ＭＡＰに関する情報の生存時間が、短くなってきたときに開始される。又、生存時間は、毎秒デクリメントされる。そして、ＭＡＰ（ｎ）１ｎからのＭＡＰ通知パケットの返信がない場合には、近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｎ）についての情報は更新されず、生存時間も更新されない。その結果、近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｎ）の情報の生存時間は、０に到達してしまう。この場合、ＭＡＰ（ｋ）１ｋのＮＭＤＰ部１５は、ＭＡＰ（ｎ）に関する情報を、原則として、近隣ＭＡＰテーブル１６ｋから消去する。
【０１３１】
又、上記したように、ＭＡＰ（ｎ）１ｎから返信されたＭＡＰ通知パケットのシーケンスナンバが、近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｎ）のシーケンスナンバ１よりも小さい場合にも、ＭＡＰ通知パケットに基づく、情報の更新がされず、生存時間も更新されない。よって、この場合も同様に、近隣ＭＡＰテーブル１６ｋのＭＡＰ（ｎ）の情報の生存時間が０に到達し、ＭＡＰ（ｋ）１ｋのＮＭＤＰ部１５は、ＭＡＰ（ｎ）に関する情報を、原則として、近隣ＭＡＰテーブル１６ｋから消去する。
【０１３２】
但し、いずれの場合にも、例外として、ＭＡＰ（ｎ）の情報の強制登録生存時間が０でないには、たとえ、ＭＡＰ（ｎ）の情報の生存時間が０に到達した場合であっても、ＭＡＰ（ｋ）１ｋのＮＭＤＰ部１５は、ＭＡＰ（ｎ）の情報を消去しない。
【０１３３】
（登録要請）
次に、図１２〜図１４、図３を用いて、ＭＡＰによる他のＭＡＰの近隣ＭＡＰテーブルへの登録の要請について説明する。ＭＡＰ（ｋ）が備える近隣ＭＡＰテーブル１６ｋが、図３に示す状態になっている場合を例にとって説明する。図３に示す第２テーブル１７ｋの強制登録要請送信タイマの時間が、１１６３から毎秒デクリメントされ、０に達すると、ＭＡＰ（ｋ）は、他のＭＡＰへの登録の要請を開始する。
【０１３４】
まず、ＭＡＰ（ｋ）は、近隣ＭＡＰテーブル１６ｋ中で、ＭＡＰ（ｋ）自身を除いて、最も近隣の（最も遅延値の小さい）ＭＡＰ（ｆ）に、近隣ＭＡＰ登録要請パケットを送信する。具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５が、図１２に示す近隣ＭＡＰ登録要請パケット６を作成し、インターフェース１９が送信する。尚、ＭＡＰ（ｋ）は、最も近隣のＭＡＰに限らず、近隣ＭＡＰテーブル１６ｋ中で、比較的遅延値の小さいＭＡＰ（ｉ）等に、近隣ＭＡＰ登録要請パケットを送信してもよい。又、ＭＡＰ（ｋ）は、近隣ＭＡＰテーブル１６ｋ中の複数のＭＡＰに、近隣ＭＡＰ登録要請パケットを送信し、複数のＭＡＰに登録されるようにしてもよい。
【０１３５】
図１２に示すように、近隣ＭＡＰ登録要請パケット６は、ＩＰｖ６ヘッダ６１と、終点オプションヘッダ６２とから構成される。ＩＰｖ６ヘッダ６１には、ＩＰのバージョンを示すバージョン、近隣ＭＡＰ登録要請パケット６の送信元を示す始点アドレス、近隣ＭＡＰ登録要請パケット６の宛先を示す終点アドレス等が格納されている。終点オプションヘッダ６２には、タイプ、ＡＣＫ要求フラグ（Ａ―ｆｌａｇ）、近隣ＭＡＰ登録要請パケット６を管理するシーケンスナンバ、強制登録生存時間が格納されている。
【０１３６】
ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ６１の始点アドレスに、ＭＡＰ（ｋ）のＩＰアドレス「ｋ」を、終点アドレスに、ＭＡＰ（ｆ）のＩＰアドレス「ｆ」を設定する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ６２のタイプに、「３５」を設定する。本実施形態では、タイプ３５が、近隣ＭＡＰ登録要請パケットを示す。
【０１３７】
又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ６２のＡＣＫ要求フラグ（Ａ―ｆｌａｇ）をセット（ｓｅｔ）する。ＡＣＫ要求フラグは、近隣ＭＡＰ登録要請パケットに対する近隣ＭＡＰ登録確認パケットの返信の要求の有無を示す。近隣ＭＡＰ登録確認パケットとは、近隣ＭＡＰ登録要請パケット６を送信したＭＡＰ（ｋ）が、近隣ＭＡＰ登録要請パケットに対する近隣ＭＡＰテーブルへの登録が完了したことを確認するためのパケットである。ＡＣＫ要求フラグがセットされた状態は、近隣ＭＡＰ登録確認パケットの返信を要求していることを示す。
【０１３８】
又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ６２のシーケンスナンバに、図３に示す第２テーブル１７ｋのシーケンスナンバ４の値「２２３２」に１を加算した「２２３３」を設定する。このとき、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、第２テーブル１７ｋのシーケンスナンバ４の値も「２２３３」に更新する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ６２の強制登録生存時間に、第２テーブル１７ｋの強制登録初期生存時間「１８００」をコピーして、設定する。このようにして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰ登録要請パケット６を作成し、要請パケット作成手段として機能する。
【０１３９】
次に、ＭＡＰ（ｋ）から、近隣ＭＡＰ登録要請パケット６を受信したＭＡＰ（ｆ）のＮＭＤＰ部１５は、近隣ＭＡＰ登録要請パケット６の始点アドレス「ｋ」が、図１３に示す近隣ＭＡＰテーブル１６ｆのＩＰアドレスにあるか否かを検索する。図１３は、ＭＡＰ（ｆ）が備える近隣ＭＡＰテーブル１６ｆ、第２テーブル１７ｆを示している。ＭＡＰ（ｆ）のＮＭＤＰ部１５は、受信した近隣近隣ＭＡＰ登録要請パケット６の始点アドレス「ｋ」が、近隣ＭＡＰテーブル１６ｆに存在すれば、近隣ＭＡＰ登録要請パケット６を、既にＭＡＰ（ｆ）の近隣ＭＡＰとして登録されているＭＡＰ（ｋ）に関する情報の更新に利用すると判断する。図１３の場合、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｆのＩＰアドレスに、始点アドレス「ｋ」があるため、近隣ＭＡＰ登録要請パケット６を、ＭＡＰ（ｋ）に関する情報の更新に利用すると判断する。
【０１４０】
次に、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、受信した近隣ＭＡＰ登録要請パケット６に基づく、近隣ＭＡＰテーブル１６ｆの既存のＭＡＰ（ｋ）に関する情報の更新を実行すべきか否かを判断する。具体的には、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、受信した近隣ＭＡＰ登録要請パケット６のシーケンスナンバ「２２３３」と、近隣ＭＡＰ登録要請パケット６受信時の近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）についてのシーケンスナンバ２とを比較する。
【０１４１】
そして、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、近隣ＭＡＰ登録要請パケット６のシーケンスナンバが大きい場合には、その近隣ＭＡＰ登録要請パケット６に基づく情報の更新を実行すると判断する。一方、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、近隣ＭＡＰ登録要請パケット６のシーケンスナンバが、近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）についてのシーケンスナンバ２よりも小さい場合には、その近隣ＭＡＰ登録要請パケット６に基づく情報の更新を実行しないと判断する。
【０１４２】
ＭＡＰ（ｆ）のＮＭＤＰ部１５は、近隣ＭＡＰ登録要請パケット６のシーケンスナンバが大きく、情報の更新を実行すると判断した場合、近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）に関する情報の更新を実行する。ＭＡＰ（ｆ）のＮＭＤＰ部１５は、近隣ＭＡＰ登録要請パケット６から、強制登録生存時間「１８００」、シーケンスナンバ「２２３３」を取得する。そして、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）に関する既存の強制登録生存時間を、取得した「１８００」に、既存のシーケンスナンバ２を、取得したシーケンスナンバ「２２３３」に、それぞれ更新する。このような更新を行った結果、近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）に関する情報は、図１３中、丸で囲んだ部分のようになる。
【０１４３】
次に、近隣ＭＡＰ登録要請パケット６を受信したＭＡＰ（ｆ）は、受信した近隣ＭＡＰ登録要請パケット６に、ＡＣＫ要求フラグ（Ａ―ｆｌａｇ）がセット（ｓｅｔ）されており、その近隣ＭＡＰ登録要請パケット６に基づく情報の更新を実行した場合には、近隣ＭＡＰ登録確認パケットを、登録要請元のＭＡＰ（ｋ）に送信する。具体的には、ＭＡＰ（ｆ）のＮＭＤＰ部１５が、図１４に示す近隣ＭＡＰ登録確認パケット７を作成し、インターフェース１９が送信する。
【０１４４】
図１４に示すように、近隣ＭＡＰ登録確認パケット７は、ＩＰｖ６ヘッダ７１と、終点オプションヘッダ７２とから構成される。ＩＰｖ６ヘッダ７１には、ＩＰのバージョンを示すバージョン、近隣ＭＡＰ登録確認パケット７の送信元を示す始点アドレス、近隣ＭＡＰ登録確認パケット７の宛先を示す終点アドレス等が格納されている。終点オプションヘッダ７２には、タイプ、近隣ＭＡＰ登録確認パケット７を管理するシーケンスナンバが格納されている。
【０１４５】
図１４に示すように、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ７１の始点アドレスに、ＭＡＰ（ｆ）のＩＰアドレス「ｆ」を設定する。又、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ７１の終点アドレスに、受信した図１２に示す近隣ＭＡＰ登録要請パケット６の始点アドレスであるＭＡＰ（ｋ）のＩＰアドレス「ｋ」をコピーして、設定する。
【０１４６】
又、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、終点オプションヘッダ７２のタイプに、「３６」を設定する。本実施形態では、タイプ３６が、近隣ＭＡＰ登録確認パケットを示す。又、ＭＡＰ（ｆ）のＮＭＤＰ部１５は、終点オプションヘッダ７２のシーケンスナンバに、受信した図１２に示す近隣ＭＡＰ登録要請パケット６のシーケンスナンバの値「２２３３」をコピーして設定する。このようにして、ＭＡＰ（ｆ）のＭＮＤＰ部１５は、近隣ＭＡＰ登録確認パケット７を作成し、確認パケット作成手段として機能する。
【０１４７】
ＭＡＰ（ｋ）は、ＭＡＰ（ｆ）から近隣ＭＡＰ登録確認パケット７を受信した場合には、自らが送信した近隣ＭＡＰ登録要請パケット６に対する近隣ＭＡＰテーブルへの登録が完了したことを確認する。具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、受信した近隣ＭＡＰ登録確認パケット７のシーケンスナンバ「２２３３」と、ＭＡＰ確認パケット７受信時の近隣ＭＡＰテーブル１６ｋのシーケンスナンバ４とが一致するか否かを判断する。両者が一致する場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、自らが送信した近隣ＭＡＰ登録要請パケット６に対する近隣ＭＡＰ登録確認パケット７が到着したことを確認でき、近隣ＭＡＰテーブルへの登録が完了したことを確認できる。尚、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、この近隣ＭＡＰテーブルへの登録が完了したことの確認後に、強制登録要請送信タイマを、初期値に戻す。
【０１４８】
一方、ＭＡＰ（ｋ）は、近隣ＭＡＰ登録要請パケット６送信後、所定時間内に、ＭＡＰ（ｆ）からの近隣ＭＡＰ登録確認パケット７が受信できない場合や、近隣ＭＡＰ登録確認パケット７受信したが、そのシーケンスナンバと近隣ＭＡＰテーブル１６ｋのシーケンスナンバ４とが一致しない場合には、近隣ＭＡＰテーブルへの登録が完了したことを確認できない。そのため、ＭＡＰ（ｋ）は、近隣ＭＡＰ登録要請パケット６を再送する。尚、所定時間内か否かについては、例えば、強制登録要請送信タイマの時間で判断できる。
【０１４９】
このようにして、ＭＡＰ（ｋ）は、図１３に示すように、ＭＡＰ（ｆ）の近隣ＭＡＰテーブル１６ｆに近隣ＭＡＰとして登録してもらうことができる。そして、強制登録生存時間が０にならない限り、ＭＡＰ（ｋ）の情報は、近隣ＭＡＰテーブル１６ｆにおいて、遅延値や生存時間に関係なく、例外的に維持され続ける。そのため、ＭＡＰ（ｋ）は、他のＭＡＰから常に検出されるようにすることができ、他のＭＡＰから検出されなくなることを防止できる。同様にして、各ＭＡＰが、近隣ＭＡＰ登録要請パケット６を送信し合うことにより、いずれかのＭＡＰの近隣ＭＡＰテーブルに登録され、お互いに検出し合うことができる。
【０１５０】
例えば、ネットワークトポロジーの関係上、他のＭＡＰから離れており、そのままでは、他のＭＡＰが検出し得ないようなＭＡＰが存在する場合がある。そのようなＭＡＰであっても、近隣ＭＡＰ登録要請パケットを送信することにより、他のＭＡＰから検出されるようになる。又、たとえ近隣にＭＡＰが存在するＭＡＰであっても、ＭＡＰを探索し、近隣ＭＡＰテーブルを更新する課程で、一瞬でもいずれのＭＡＰの近隣ＭＡＰテーブルにも記憶されない時があると、他のＭＡＰから検出されなくなる。近隣ノード登録要請パケットを送信することにより、このような事態を防止することができる。
【０１５１】
又、上記したように、ＭＡＰ（ｋ）は、第２テーブル１７ｋの強制登録要請送信タイマの時間が０になる毎に定期的に、近隣ＭＡＰ登録要請パケット６をＭＡＰ（ｆ）に送信する。そのため、ＭＡＰ（ｆ）は、ＭＡＰ（ｋ）から定期的に近隣ＭＡＰ登録要請パケットを受信し、強制登録生存時間を更新する。よって、ＭＡＰ（ｋ）の強制登録生存時間は０にならず、ＭＡＰ（ｋ）の情報は、近隣ＭＡＰテーブル１６ｆにおいて、例外的に維持され続ける。
【０１５２】
しかし、ＭＡＰ（ｋ）が、故障により機能不全に陥った場合や、撤去された場合には、ＭＡＰ（ｆ）は、ＭＡＰ（ｋ）からの近隣ＭＡＰ登録要請パケットを受信しなくなる。又、強制登録生存時間は、毎秒デクリメントされる。そのため、近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）についての強制登録生存時間は、更新されなくなる。その結果、近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）についての強制登録生存時間は０に到達し、それ以降、ＭＡＰ（ｋ）に関する情報は例外的に扱われなくなる。よって、ＭＡＰ（ｆ）は、故障により機能不全に陥ったり撤去されたりしたＭＡＰ（ｋ）に関する情報を、維持し続けることを防止できる。
【０１５３】
同様に、上記したように、ＭＡＰ（ｋ）から送信された近隣ＭＡＰ登録要請パケット６のシーケンスナンバが、近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）についてのシーケンスナンバ２よりも小さい場合にも、近隣ＭＡＰ登録要請パケット６に基づく、強制登録生存時間の更新は行われない。よって、この場合も同様に、近隣ＭＡＰテーブル１６ｆのＭＡＰ（ｋ）についての強制登録生存時間が０に到達し、それ以降は、ＭＡＰ（ｋ）に関する情報は例外的に扱われなくなる。
【０１５４】
又、既に他のＭＡＰから登録要請を受けているＭＡＰは、新たに、他のＭＡＰから近隣ＭＡＰ登録要請パケット６を受信した場合には、その新たに登録を要請してきたＭＡＰを近隣ＭＡＰテーブルに登録せず、近隣ＭＡＰ登録確認パケット７を送信しないようにしてもよい。これによれば、近隣ＭＡＰテーブルが、強制登録生存時間が０でないＭＡＰばかりになってしまい、遅延値の小さい本来の近隣ＭＡＰの登録数が少なくなってしまうことを防止できる。但し、処理能力や記憶容量が高く、近隣ＭＡＰテーブルの最大近隣ノード登録数を大きくできるＭＡＰであれば、多数のＭＡＰから登録要請を受けてもよい。
【０１５５】
又、ＭＡＰ（ｋ）は、近隣ＭＡＰ登録要請パケット６を、所定回数再送しても、ＭＡＰ（ｆ）から、近隣ＭＡＰ登録確認パケット７を受信できない場合には、ＭＡＰ（ｆ）に故障や撤去、或いは、上述のように既に他のＭＡＰから登録要請を受けている等、何らかの問題がある可能性が高い。そのため、ＭＡＰ（ｋ）は、ＭＡＰ（ｆ）以外のＭＡＰに、近隣ＭＡＰ登録要請パケット６を送信するようにしてもよい。
【０１５６】
又、ネットワークトポロジーの関係上、他のＭＡＰから離れており、そのままでは、他のＭＡＰが検出し得ないようなＭＡＰに関する情報等を、近隣ＭＡＰテーブルから消去させないために、登録先の近隣ＭＡＰテーブルにおいて、そのＭＡＰに関する情報の強制登録生存時間を非常に大きくしたり、そのＭＡＰに関する情報の消去禁止を示すフィールドを設定したりすることができる。このような近隣ＭＡＰテーブルは、近隣ＭＡＰ登録要請パケット６に含まれる強制登録生存時間を非常に大きくしたり、近隣ＭＡＰ登録要請パケット６に、ＭＡＰに関する情報の消去禁止を要求するフラグをセットしたりすることや、予め設定しておくことにより、実現できる。
【０１５７】
（新たなＭＡＰの配置）
次に、図６、図１５〜図１８を用いて、新たなＭＡＰの配置について説明する。図６に示す状態の通信システムに、新たにＭＡＰ（ｏ）を配置する場合を説明する。図１５に示すように、ＭＡＰ（ｏ）１ｏを配置する。このとき、新たに配置するＭＡＰ（ｏ）１ｏが備える近隣ＭＡＰテーブル１６ｏには、予めＭＡＰ（ｏ）１ｏ自身と、ＭＡＰ（ｏ）１ｏ以外の他のＭＡＰ（ｅ）１ｅのＩＰアドレスと遅延値を設定しておく。
【０１５８】
ＭＡＰ（ｏ）１ｏは、近隣ＭＡＰテーブル１６ｏのＭＡＰ（ｅ）についての生存時間が探索生存時間に到達すると、図１５に示すように、ＭＡＰ（ｅ）１ｅに対して、ＭＡＰ探索パケットを送信する（図１５中実線の矢印で示す）。次に、ＭＡＰ探索パケットを受信したＭＡＰ（ｅ）１ｅは、図１５に示すように、ＭＡＰ（ｅ）１ｅの近隣ＭＡＰテーブル１６ｅが記憶している全ての近隣ＭＡＰ、即ち、ＭＡＰ（ｅ）１ｅ、ＭＡＰ（ｌ）１ｌ、ＭＡＰ（ｄ）１ｄ、ＭＡＰ（ｎ）１ｎ、ＭＡＰ（ｋ）１ｋに対して、ＭＡＰ通知依頼パケットを送信する（図１５中一点鎖線の矢印で示す）。次に、ＭＡＰ通知依頼パケットを受信したＭＡＰ（ｅ）１ｅ、ＭＡＰ（ｌ）１ｌ、ＭＡＰ（ｄ）１ｄ、ＭＡＰ（ｎ）１ｎ、ＭＡＰ（ｋ）１ｋは、図１５に示すように、ＭＡＰ（ｏ）１ｏに対して、ＭＡＰ通知パケットを返信する（図１５中点線の矢印で示す）。
【０１５９】
その結果、ＭＡＰ（ｏ）１ｏは、受信したＭＡＰ通知パケットに基づいて、予め設定されていたＭＡＰ（ｅ）１ｅ以外の新たなＭＡＰを検出し、近隣ＭＡＰテーブル１６ｏを更新する。そして、ＭＡＰ（ｏ）１ｏは、遅延値の小さい順に上位５つの近隣ＭＡＰに関する情報を、近隣ＭＡＰテーブル１６ｏに登録する。その結果、図１６に示すように、ＭＡＰ（ｏ）、ＭＡＰ（ｋ）、ＭＡＰ（ｎ）、ＭＡＰ（ｌ）、ＭＡＰ（ｅ）に関する情報が近隣ＭＡＰテーブル１６ｏに登録される。
【０１６０】
時間が経過し、近隣ＭＡＰテーブル１６ｏのＭＡＰ（ｋ）についての生存時間が探索生存時間に到達すると、ＭＡＰ（ｏ）１ｏは、図１６に示すように、ＭＡＰ（ｋ）１ｋに対して、ＭＡＰ探索パケットを送信する（図１６中実線の矢印で示す）。次に、ＭＡＰ探索パケットを受信したＭＡＰ（ｋ）１ｋは、図１６に示すように、ＭＡＰ（ｋ）１ｋの近隣ＭＡＰテーブル１６ｋが記憶している全ての近隣ＭＡＰ、即ち、ＭＡＰ（ｋ）１ｋ、ＭＡＰ（ｆ）１ｆ、ＭＡＰ（ｉ）１ｉ、ＭＡＰ（ｎ）１ｎ、ＭＡＰ（ｇ）１ｇに対して、ＭＡＰ通知依頼パケットを送信する（図１６中一点鎖線の矢印で示す）。次に、ＭＡＰ通知依頼パケットを受信したＭＡＰ（ｋ）１ｋ、ＭＡＰ（ｆ）１ｆ、ＭＡＰ（ｉ）１ｉ、ＭＡＰ（ｎ）１ｎ、ＭＡＰ（ｇ）１ｇは、図１６に示すように、ＭＡＰ（ｏ）１ｏに対して、ＭＡＰ通知パケットを返信する（図１６中点線の矢印で示す）。
【０１６１】
その結果、ＭＡＰ（ｏ）１ｏは、受信したＭＡＰ通知パケットに基づいて、新たなＭＡＰを検出し、既存の近隣ＭＡＰに関する最新の情報を取得して、近隣ＭＡＰテーブル１６ｏを更新する。このとき、ＭＡＰ（ｏ）１ｏは、遅延値の小さい順に上位５つの近隣ＭＡＰに関する情報が登録されるように、遅延値の大きいＭＡＰ（ｌ）、ＭＡＰ（ｅ）に関する情報を消去し、遅延値の小さいＭＡＰ（ｇ）、ＭＡＰ（ｉ）に関する情報を新規に登録する。その結果、図１７に示すように、より遅延値が小さく近隣に存在するＭＡＰ（ｏ）、ＭＡＰ（ｇ）、ＭＡＰ（ｉ）、ＭＡＰ（ｋ）、ＭＡＰ（ｎ）に関する情報が近隣ＭＡＰテーブル１６ｏに登録される。
【０１６２】
又、ＭＡＰ（ｏ）１ｏは、第２テーブルの強制登録要請送信タイマの時間が、０に達すると、図１７に示すように、近隣ＭＡＰテーブル１６ｏ中で、ＭＡＰ（ｏ）自身を除いて、最も近隣の（最も遅延値の小さい）ＭＡＰ（ｇ）に、近隣ＭＡＰ登録要請パケットを送信する（図１７中二重線の矢印で示す）。そして、ＭＡＰ（ｇ）１ｇは、受信した近隣ＭＡＰ登録要請パケットに基づいて、近隣ＭＡＰテーブル１６ｇを更新する。
【０１６３】
具体的には、ＭＡＰ（ｇ）１ｇのＮＭＤＰ部１５が、近隣ＭＡＰ登録要請パケットの始点アドレス「ｏ」が、近隣ＭＡＰ登録要請パケット受信時の近隣ＭＡＰテーブル１６ｇ（図１６）のＩＰアドレスにあるか否かを検索する。ＭＡＰ（ｇ）１ｇのＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｇ（図１６）のＩＰアドレスに「ｏ」がないため、ＭＡＰ（ｏ）を新たに登録要請をしてきたＭＡＰであると判断する。次に、ＭＡＰ（ｇ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１６ｇ中（図１６）で、最も遅延値の大きいＭＡＰ（ｋ）に関する情報を消去する（但し、ＭＡＰ（ｋ）についての強制登録生存時間は０であるとする）。そして、ＭＡＰ（ｇ）１ｇのＮＭＤＰ部１５は、図１７に示すように、ＭＡＰ（ｏ）に関する情報を、近隣ＭＡＰテーブル１６ｇに新規に登録する（図１７中、丸で囲んだ部分）。
【０１６４】
このようにして、ＭＡＰ（ｇ）１ｇの近隣ＭＡＰテーブル１６ｇに、ＭＡＰ（ｏ）に関する情報が登録される。その後、図１７に示すように、ＭＡＰ（ｈ）１ｈやＭＡＰ（ｃ）１ｃが、ＭＡＰ（ｇ）１ｇに対して、ＭＡＰ探索パケットを送信する（図１７中実線の矢印で示す）。そして、ＭＡＰ探索パケットを受信したＭＡＰ（ｇ）１ｇが、図１７に示すように、ＭＡＰ（ｇ）１ｇの近隣ＭＡＰテーブル１６ｇに記憶されているＭＡＰ（ｏ）１ｏに対して、ＭＡＰ通知依頼パケットを送信する（図１７中一点鎖線の矢印で示す）。次に、ＭＡＰ通知依頼パケットを受信したＭＡＰ（ｏ）１ｏが、図１７に示すように、ＭＡＰ（ｈ）１ｈやＭＡＰ（ｃ）１ｃに対して、ＭＡＰ通知パケットを返信する（図１７中点線の矢印で示す）。その結果、ＭＡＰ（ｈ）１ｈやＭＡＰ（ｃ）１ｃ等、登録要請を行ったＭＡＰ（ｇ）１ｇ以外のＭＡＰ（ｏ）１ｏ周辺のＭＡＰにも、ＭＡＰ（ｏ）１ｏの存在が知られることとなる。
【０１６５】
以降、ＭＡＰ同士のＭＡＰ探索が繰り返されることにより、最終的には、新たに配置されたＭＡＰ（ｏ）１ｏも含めたＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏのグループは、図１８に示すように、定常的な近隣ＭＡＰテーブル１６ａ〜１６ｏを備えた安定状態に落ち着く。
【０１６６】
このように、通信システムに新たに配置するＭＡＰ（ｏ）１ｏが備える近隣ＭＡＰテーブル１６ｏに、予め他のＭＡＰ（ｅ）１ｅのアドレスを少なくとも１つ設定しておくだけで、ＭＡＰ（ｏ）１ｏは、少なくとも１つのＭＡＰ（ｅ）１ｅにＭＡＰ探索パケットを送信して、ＭＡＰ探索を開始することができる。その結果、新たに配置されたＭＡＰ（ｏ）１ｏは、最初に設定されたＭＡＰ（ｅ）１ｅ以外の新しいＭＡＰを検出することができる。又、ＭＡＰ（ｏ）１ｏは、ＭＡＰ探索を繰り返すことにより、より遅延値の小さい、近隣のＭＡＰに関する情報を、近隣ＭＡＰテーブル１６ｏに保持することができる。
【０１６７】
更に、新たに配置されたＭＡＰ（ｏ）１ｏが、ＭＡＰ（ｏ）１ｏの近隣ＭＡＰであるＭＡＰ（ｇ）１ｇに、近隣ＭＡＰ登録要請パケットを送信することにより、ＭＡＰ（ｇ）１ｇに自分の存在を知らせることができる。そして、ＭＡＰ（ｇ）１ｇの近隣ＭＡＰテーブル１６ｇに登録してもらうことができる。そのため、ＭＡＰ（ｏ）１ｏは、近隣の他のＭＡＰ（ｈ）１ｈやＭＡＰ（ｃ）１ｃからも検出されるようにできる。従って、通信システムに、新たなＭＡＰを容易に配置することができる。
【０１６８】
（ＭＮによるＭＡＰの探索）
次に、図１９、図５を用いて、ＭＮによるＭＡＰの探索について説明する。図１９は、図１に示した通信システムに、上記したように、ＭＡＰ（ｏ）１ｏを新たに配置した後の通信システムを示している。又、図１９では、ＭＮ（ａ）２ａ、ＭＮ（ｂ）２ｂが備えている近隣ＭＡＰテーブル２６ａ，２６ｂを、各ＭＮ（ａ）２ａ、ＭＮ（ｂ）２ｂとともに示している。但し、説明を簡単にするために、近隣ＭＡＰのＩＰアドレスと、ＭＮ（ａ）２ａ、ＭＮ（ｂ）２ｂと各近隣ＭＡＰとの遅延値（小数点以下の記載を省略）のみを記載している。
【０１６９】
１．ＭＡＰの探索
まず、ＭＮ（ｂ）２ｂが、図１９中矢印Ｄで示す移動経路上を移動しながら、ＭＡＰを探索する様子を説明する。ＭＮ（ｂ）２ｂは、ＭＡＰによるＭＡＰ探索の場合と同様にして、ＭＡＰを探索する。即ち、ＭＮ（ｂ）２ｂのＮＭＤＰ部２５が、ＭＡＰ探索パケットを作成する探索パケット作成手段として機能し、ＭＡＰ通知パケットに基づいてＭＡＰの検出を行う検出手段として機能し、ＭＡＰ通知パケットに基づいて遅延値（ノード間情報）の決定を行う決定手段として機能し、ＭＡＰ通知パケットに基づいて近隣ＭＡＰテーブル２６ｂの更新を行う更新手段として機能して、ＭＡＰ探索を行う。
【０１７０】
ＭＮ（ｂ）２ｂが、図１９中矢印Ａで示す位置にいるときに、ＭＮ（ｂ）２ｂの近隣ＭＡＰテーブル２６ｂのいずれかのＭＡＰに関する情報についての生存時間が探索生存時間に到達すると、ＭＮ（ｂ）２ｂは、ＭＡＰ探索を開始する。ＭＮ（ｂ）２ｂのＮＭＤＰ部２５は、そのＭＡＰに対して、ＭＡＰ探索パケットを送信する。次に、ＭＮ（ｂ）２ｂのＮＭＤＰ部２５は、周辺ノードとなったＭＡＰから返信されたＭＡＰ探索パケットに対するＭＡＰ通知パケットを受信する。次に、ＭＮ（ｂ）２ｂのＮＭＤＰ部２５は、受信したＭＡＰ通知パケットに基づいて、新たなＭＡＰを検出し、既存の近隣ＭＡＰに関する最新の情報を取得して、近隣ＭＡＰテーブル２６ｂを更新する。
【０１７１】
その結果、図１９に示すように、図１９中矢印Ａで示す位置にいるＭＮ（ｂ）２ｂとの間の遅延値が小さい近隣ＭＡＰ、ＭＡＰ（ｏ）１ｏ、ＭＡＰ（ｇ）１ｇ、ＭＡＰ（ｉ）１ｉ、ＭＡＰ（ｋ）１ｋ、ＭＡＰ（ｈ）１ｈに関する情報が、近隣ＭＡＰテーブル２６ｂに登録される。
【０１７２】
図５を用いて、ＭＮが備える第２テーブルについて説明した際に記載した通り、ＭＮの初期生存時間、探索生存時間は短く設定されている。そのため、ＭＮ（ｂ）２ｂが、図１９中矢印Ａで示す位置から矢印Ｂで示す位置を経由して、矢印Ｃで示す位置まで、矢印Ｄで示す移動経路上を進む間、近隣ＭＡＰテーブル２６ｂの各ＭＡＰに関する情報についての生存時間が、次々に探索生存時間に到達し、ＭＮ（ｂ）２ｂは、ＭＡＰ探索を繰り返し行う。
【０１７３】
その結果、図１９に示すように、図１９中矢印Ｂで示す位置では、矢印Ｂで示す位置にいるＭＮ（ｂ）２ｂとの間の遅延値が小さい近隣ＭＡＰ、ＭＡＰ（ｋ）１ｋ、ＭＡＰ（ｉ）１ｉ、ＭＡＰ（ｏ）１ｏ、ＭＡＰ（ｎ）１ｎ、ＭＡＰ（ｈ）１ｈに関する情報が、近隣ＭＡＰテーブル２６ｂに登録される。又、図１９中矢印Ｃで示す位置では、矢印Ｃで示す位置にいるＭＮ（ｂ）２ｂとの間の遅延値が小さい近隣ＭＡＰ、ＭＡＰ（ｎ）１ｎ、ＭＡＰ（ｋ）１ｋ、ＭＡＰ（ｉ）１ｉ、ＭＡＰ（ｌ）１ｌ、ＭＡＰ（ｅ）１ｅに関する情報が、近隣ＭＡＰテーブル２６ｂに登録される。
【０１７４】
尚、ＭＮ（ｂ）２ｂが備える近隣ＭＡＰテーブル２６ｂに、初期設定として、予め、通信システムを構成しているＭＡＰのアドレスと、遅延値を少なくとも１つ設定しておくことが好ましい。これによれば、ＭＮ（ｂ）２ｂは、少なくとも１つのＭＡＰにＭＡＰ探索パケットを送信して、ＭＡＰ探索を開始することができる。尚、設定するＭＡＰのアドレスは、任意のＭＡＰのものでよいが、ＭＮのユーザが通信システムを利用する地域等を考慮して、ユーザが利用する地域のＭＡＰのアドレス等を設定することが好ましい。
【０１７５】
２．ＭＡＰの選択
次に、ＭＡＰの選択について説明する。ＭＮ（ａ）２ａが、利用するために最も適するＭＡＰを選択する場合を例にとって説明する。上記したように、ＭＮ（ａ）２ａは、図５に示す近隣ＭＡＰテーブル２６ａを備えている。又、ＭＮ（ａ）２ａが備えるＭＡＰ選択ポリシー保持部３０には、処理能力が、高い「０１」以上のＭＡＰのうち、最も近隣にあるもの（ノード間のパケット送信における遅延値が最も小さいもの）というＭＡＰ選択ポリシーが保持されている。
【０１７６】
そのため、ＭＮ（ａ）２ａのＮＭＤＰ部２５は、図５に示す近隣ＭＡＰテーブル２６ａが記憶している近隣ＭＡＰに関する情報に、ＭＡＰ選択ポリシー保持部３０に保持されている上記ＭＡＰ選択ポリシーを照らし合わせて、最適な近隣ＭＡＰを選択する。その結果、ＭＮ（ａ）２ａのＮＭＤＰ部２５は、ＭＡＰ（ｂ）を、実際に利用する近隣ＭＡＰとして選択する。このようにして、ＭＮ（ａ）２ａのＮＭＤＰ部２５は、選択手段として機能する。そして、ＭＮ（ａ）２ａのＮＭＤＰ部２５は、選択した近隣ＭＡＰ、ＭＡＰ（ｂ）のアドレスを、モビリティ制御部２４に通知する。
【０１７７】
そして、ＭＮ（ａ）２ａは、ＭＡＰ（ｂ）１ｂに、ホームアドレスと現在使用中の気付アドレスの登録を行う。又、ＭＮ（ａ）２ａは、ＨＡに、ホームアドレスとＭＡＰ（ｂ）のアドレスの登録を行う。具体的には、ＭＮ（ａ）２ａのモビリティ制御部２４が、ＭＡＰ（ｂ）１ｂに、ホームアドレスと気付アドレスの登録を行うバインディングアップデートパケットを作成する。又、ＭＮ（ａ）２ａのモビリティ制御部２４が、ＨＡに、ホームアドレスとＭＡＰ（ｂ）のアドレスの登録を行うバインディングアップデートパケットを作成する。そして、ＭＮ（ａ）２ａのインターフェース２９が、それらのバインディングアップデートパケットを、ＭＡＰ（ｂ）１ｂやＨＡに送信する。このようにして、ＭＮ（ａ）２ａは、ＨＡ、ＭＡＰ（ｂ）１ｂによるＭＮ（ａ）２ａのホームアドレス宛に送信されたパケットの転送サービスを享受することができる。
【０１７８】
〔ノード探索プログラム〕
上述したＭＡＰ１は、コンピュータに、上記したようなノード記憶手段、探索パケット作成手段、依頼パケット作成手段、通知パケット作成手段、要請パケット作成手段、確認パケット作成手段、通信手段、検出手段、決定手段、更新手段として機能させるノード探索プログラムを実行させることにより、実現できる。又、上述したＭＮ２は、コンピュータに、上記したようなノード記憶手段、探索パケット作成手段、通信手段、検出手段、決定手段、更新手段、選択手段として機能させるノード探索プログラムを実行させることにより、実現できる。
【０１７９】
〔効果〕
このような第１の実施の形態に係る通信システム、ＭＡＰ、ＭＮ、ノード探索方法、ノード探索プログラムによれば、ＭＡＰを探したいＭＡＰ（ｋ）１ｋ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂ自身が探索ノードとなり、ＭＡＰ探索パケット３を送信することにより、自律的にＭＡＰを探索することができる。又、探索ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、ＭＡＰ探索パケット３を送信するだけで、探索パケット受信ノードや周辺ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏから、そのノード探索パケット３に対するノード通知パケットを受け取ることができる。
【０１８０】
そして、探索ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、そのノード通知パケットに基づいて、ＭＡＰを検出できる。よって、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、他のノード（ＭＡＰ）から情報をもらうことにより、容易にＭＡＰを検出できる。
【０１８１】
更に、ＭＡＰ通知パケットには、処理能力、遅延値等のノード自体情報やノード間情報が含まれている。よって、探索ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、ＭＡＰ通知パケットから、ＭＡＰに関するノード情報を把握することができる。
【０１８２】
又、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、ＭＡＰ探索パケット３送信時の状況に応じたＭＡＰ通知パケットを受け取ることができる。よって、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、その時の状況に応じたＭＡＰを検出でき、遅延値（ノード間情報）や処理能力（ノード自体情報）を把握できる。そして、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、近隣ＭＡＰテーブル１６ａ〜１６ｏ，２６ａ，２６ｂを、検出したＭＡＰやその遅延値、処理能力等に基づいて更新する。そのため、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、その時の状況に応じた最新の情報を、動的に、自律的に保持していくことができる。
【０１８３】
よって、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏは、新しいＭＡＰの配置、既存のＭＡＰの削除、故障等の状況の変化に応じた情報を、自律的に把握して、ＭＡＰを検出でき、最新の情報を保持することができる。又、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、移動に応じた情報を、アクセスルータからの広告に頼らずに、自律的に把握して、そのときのＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂの位置にとって近隣のＭＡＰを検出でき、その近隣ＭＡＰの最新情報を保持することができる。よって、このノード探索方法をＭＮのモビリティ制御に活かすことができる。又、ＭＮとＭＡＰとの中間に存在するアクセスルータ等に対する設定等を、一切必要としない。もちろん、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、移動だけでなく、新しいＭＡＰの配置、既存のＭＡＰの削除、故障等のＭＡＰに関する状況の変化に応じた情報を把握して、ＭＡＰを検出することもできる。
【０１８４】
又、このように、各ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏや各ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂが、自律的にＭＡＰを検出する自律分散制御を行っているため、耐障害性が高く、新たなＭＡＰの配置や、ＭＡＰの削除等、ＭＡＰ配置の変更も容易に行うことができる。
【０１８５】
又、探索ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、自身と探索パケット受信ノードとなったＭＡＰとの間の遅延値（ノード間情報）や、探索パケット受信ノードとなったＭＡＰと周辺ノードとなったＭＡＰとの間の遅延値（ノード間情報）から、探索ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂ自身と周辺ノードとなったＭＡＰとの間の遅延値（ノード間情報）を、容易に把握することができる。特に、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏ同士や、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂとＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏとの間で、同期をとる必要がなくなる。
【０１８６】
又、近隣ＭＡＰテーブルは、処理能力、遅延値等のノード自体情報やノード間情報を記憶している。そのため、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、近隣ＭＡＰテーブルを参照することにより、近隣ＭＡＰに関するノード情報を把握することができる。そのため、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、ＭＡＰに関する様々なノード情報を、近隣ＭＡＰテーブルを更新する際の判断材料や、利用するＭＡＰを選択する際の判断材料等として、利用することができる。
【０１８７】
更に、近隣ＭＡＰテーブルは、遅延値の最も小さい近隣ＭＡＰから順番に上位５つの近隣ＭＡＰを記憶している。そして、探索ノードとなるＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、自身の近隣ＭＡＰテーブルに登録されている近隣ＭＡＰにノード探索パケットを送信する。そのノード探索パケットを受信し、探索パケット受信ノードとなったＭＡＰも、自身の近隣ＭＡＰテーブルに登録されている近隣ＭＡＰにノード通知依頼パケットを送信する。そして、ノード通知依頼パケットを受信し、周辺ノードとなったＭＡＰが、ノード通知パケットを返信する。
【０１８８】
その結果、探索ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、多くのＭＡＰから、ＭＡＰ通知パケットの返信を受けることができる。よって、探索ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、より多くのＭＡＰに関する情報を把握することができる。しかも、探索ノードとなったＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏやＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、比較的近隣に存在するＭＡＰに関する情報を得ることができ、遅延値の小さい近隣ＭＡＰを、効率よく検出することができる。
【０１８９】
又、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏは、ＮＭＤＰ部１５、近隣ＭＡＰテーブル１６ａ〜１６ｏ、インターフェース１９を備える。そのため、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏは、近隣ＭＡＰテーブル１６ａ〜１６ｏに記憶している情報を基に、ＭＡＰ通知パケットを作成して、他のＭＡＰに送信することができる。よって、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏは、探索パケット受信ノードや周辺ノードとなり、他のＭＡＰに、自身が把握している情報を提供することができる。又、ＭＡＰ（ａ）１ａ〜ＭＡＰ（ｏ）１ｏは、近隣ＭＡＰテーブル１６ａ〜１６ｏに記憶している近隣ＭＡＰに、ＭＡＰ通知パケットの返信を依頼することもできる。
【０１９０】
又、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、ＮＭＤＰ部２５と、ＭＡＰ選択ポリシー保持部３０を備える。そのため、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、ＭＡＰ選択ポリシーに基づいて、近隣ＭＡＰテーブル２６ａ，２６ｂを参照し、自律的に、近隣ＭＡＰテーブル２６ａ，２６ｂから、ＭＡＰ選択ポリシーにあった最適な近隣ＭＡＰを選択することができる。
【０１９１】
更に、本実施形態では、遅延値を、ＭＡＰ選択ポリシーのパラメータの１つに用いている。遅延値は、ＭＡＰ間のリンク容量やホップ数、ＭＡＰ自身の処理能力やトラフィック量等の様々なパラメータの影響を受けて決まるものである。そのため、遅延値をＭＡＰ選択ポリシーのパラメータの１つに用いることにより、より最適なＭＡＰを選択することができる。又、本実施形態では、遠近判断情報以外の情報である処理能力を、ＭＡＰ選択ポリシーのパラメータの１つに用いている。そのため、遠近だけでなく、ＭＡＰ自体の状態をも考慮して、より最適なＭＡＰを選択することができる。
【０１９２】
更に、近隣ＭＡＰテーブルには、遅延値の最も小さい近隣ＭＡＰから順番に上位５つの近隣ＭＡＰが登録されている。よって、ＭＮ（ａ）２ａ，ＭＮ（ｂ）２ｂは、エニーキャストアドレス等を用いることことなく、容易にＭＡＰ選択ポリシーにあった近隣ＭＡＰを検出することができる。
【０１９３】
［第２の実施の形態］
次に、図面を参照して、本発明の第２の実施の形態について説明する。
【０１９４】
〔通信システム〕
（通信システムの全体構成）
通信システムは、第１の実施の形態と同様に、ＨＭＩＰを利用しており、複数のＭＡＰと、複数のＭＮから構成される。本実施形態では、ノード間の遠近を判断する判断基準として、ノード間のホップ数が小さい方が近いという判断基準を用いる。又、遠近判断情報として、ノード間のホップ数を用いる。
【０１９５】
（ＭＡＰの構成）
ＭＡＰは、第１の実施の形態とほぼ同様である。但し、ＮＭＤＰ部１５が行うＭＡＰ探索に関する処理が異なる。又、ＭＡＰが備える近隣ＭＡＰテーブル、第２テーブルが異なる。本実施形態に係るＭＡＰが備える近隣ＭＡＰテーブル、第２テーブルを、図２０に示すＭＡＰ（ｋ）が持つ近隣ＭＡＰテーブル１１６ｋ、第２テーブル１１７ｋを例にとって説明する。図２０に示すように、近隣ＭＡＰテーブル１１６ｋは、各近隣ＭＡＰについて、ＩＰアドレス、ホップ数、生存時間（単位はｓｅｃ）、シーケンスナンバ１、強制登録生存時間（単位はｓｅｃ）、シーケンスナンバ２を記憶している。又、近隣ＭＡＰテーブル１１６ｋの最大ノード登録数は、５に設定されている。
ホップ数は、近隣ＭＡＰテーブル１１６ｋを備えるＭＡＰ（ｋ）自身と各近隣ＭＡＰとの間のホップ数である。近隣ＭＡＰテーブル１６ｋは、原則として、ホップ数の最も小さい近隣ＭＡＰから順番に上位５つの近隣ＭＡＰを、ホップ数の小さい順番に記憶するという基準に従って、各近隣ＭＡＰに関する情報を記憶している。生存時間、シーケンスナンバ１、強制登録生存時間、シーケンスナンバ２は、第１の実施の形態と同様である。
【０１９６】
図２０に示すように、第２テーブル１７ｋは、シーケンスナンバ３、初期生存時間（単位はｓｅｃ）、探索生存時間（単位はｓｅｃ）、シーケンスナンバ４、強制登録初期生存時間（単位はｓｅｃ）、強制登録要請送信タイマの時間（単位はｓｅｃ）、初期ＨＬ（Ｈｏｐ　Ｌｉｍｉｔ）を記憶している。シーケンスナンバ３、初期生存時間、探索生存時間、シーケンスナンバ４、強制登録初期生存時間、強制登録要請送信タイマの時間は、第１の実施の形態と同様である。
【０１９７】
初期ＨＬの値は、ＭＡＰ（ｋ）自身と他のＭＡＰとの間のホップ数を決定するための基準値となるホップ数である。初期ＨＬは、ＭＡＰ通知パケットのＨＬの初期値に設定される。ＭＡＰの初期ＨＬは、図２０に示すように、近隣ＭＡＰテーブル１１６ｋに記憶されている各近隣ＭＡＰのホップ数の最大値が設定される。そのため、第２テーブル１１７ｋは、ＭＡＰ（ｋ）とＭＡＰ（ｇ）との間のホップ数「１３」を、初期ＨＬとして記憶する。尚、初期ＨＬは、近隣ＭＡＰテーブル１１６ｋに記憶されている各近隣ＭＡＰのホップ数の最大値ではなく、予め第２テーブル１１７ｋに一定値を設定しておいてもよい。又、初期ＨＬは、近隣ＭＡＰテーブル１１６ｋに記憶されている各近隣ＭＡＰのホップ数の最大値に、予め設定されている一定値を加算した値を設定するようにしてもよい。
【０１９８】
（ＭＮの構成）
ＭＮは、第１の実施の形態とほぼ同様である。但し、ＮＭＤＰ部２５が行うＭＡＰ探索に関する処理が異なる。又、ＭＮが備える近隣ＭＡＰテーブル、第２テーブルが異なる。本実施形態に係るＭＮが備える近隣ＭＡＰテーブル、第２テーブルを、図２１に示すＭＮ（ａ）が持つ近隣ＭＡＰテーブル１２６ａ、第２テーブル１２７ａを例にとって説明する。図２１に示すように、近隣ＭＡＰテーブル１２６ｋは、各近隣ＭＡＰについて、ＩＰアドレス、ホップ数、生存時間（単位はｓｅｃ）、シーケンスナンバ１を記憶している。又、近隣ＭＡＰテーブル１１６ｋの最大ノード登録数は、５に設定されている。
【０１９９】
ホップ数は、ＭＮと各近隣ＭＡＰとの間のホップ数である。近隣ＭＡＰテーブル１２６ａは、ホップ数の最も小さい近隣ＭＡＰから順番に上位５つの近隣ＭＡＰを、ホップ数の小さい順番に記憶するという基準に従って、各近隣ＭＡＰに関する情報を記憶している。生存時間、シーケンスナンバ１は、第１の実施の形態と同様である。
【０２００】
図２１に示すように、第２テーブル１２７ａは、シーケンスナンバ３、初期生存時間（単位はｓｅｃ）、探索生存時間（単位はｓｅｃ）、初期ＨＬを記憶している。シーケンスナンバ３、初期生存時間、探索生存時間は、第１の実施の形態と同様である。又、初期生存時間は、短く設定され、それに伴い探索生存時間も短く設定されることが好ましい。これによれば、ＭＮは、高頻度にＭＡＰ探索を行うことができる。そのため、ＭＮは、移動に伴い変化する近隣ＭＡＰに関する情報を、高頻度にアップデートすることができ、移動に応じた近隣ＭＡＰに関する情報を、適切に把握することができる。
【０２０１】
又、初期ＨＬは、ＭＮ（ａ）とＭＡＰとの間のホップ数を決定するための基準値となるホップ数である。初期ＨＬは、ＭＡＰ通知パケットのＨＬの初期値に設定される。ＭＮの初期ＨＬは、図２１に示すように、十分に大きな値で、一定である。これによれば、ＭＮは、近隣ＭＡＰとの間のホップ数が、移動に伴い大きく変動した場合に、ＭＡＰ通知パケットがＭＮに全く到着しないという事態を防止することができる。
【０２０２】
又、本実施形態に係るＭＮは、ＭＡＰ選択ポリシー部３０に保持されているＭＡＰ選択ポリシーも、第１の実施の形態と異なる。本実施形態では、ＭＡＰ選択ポリシー保持部３０には、最も近隣にあるもの（ノード間のホップ数が最も小さいもの）というＭＡＰ選択ポリシーが保持されている。
【０２０３】
〔ノード探索方法〕
次に、上記通信システムにおいて、ノード（ＭＡＰ）を探索するノード探索方法について説明する。
【０２０４】
（ＭＡＰによるＭＡＰの探索）
図２２、図２０を用いて、ＭＡＰによるＭＡＰの探索について説明する。図２２は、通信システムを構成する複数のＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｎ）１０１ｎがグループを形成している様子を示す。図２２では、ＭＮの記載を省略している。又、図２２では、ＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｎ）１０１ｎが備えている近隣ＭＡＰテーブル１１６ａ〜１１６ｎを、各ＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｎ）１０１ｎとともに示している。但し、説明を簡単にするために、近隣ＭＡＰのＩＰアドレスと、近隣ＭＡＰテーブル１１６ａ〜１１６ｎを備えているＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｎ）１０１ｎと、各近隣ＭＡＰとのホップ数のみを記載している。図２２に示すように、各ＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｎ）１０１ｎには、近隣ＭＡＰテーブル１１６ａ〜１１６ｎが形成されている。
【０２０５】
ＭＡＰ（ｋ）１０１ｋが備える近隣ＭＡＰテーブル１１６ｋが、図２０に示す状態になっている場合を例にとって説明する。図２０に示す第２テーブル１１７ｋの探索生存時間は、６０（ｓｅｃ）に設定されている。又、図２０に示す近隣ＭＡＰテーブル１１６ｋに近隣ＭＡＰとして登録されているＭＡＰ（ｎ）の生存時間は、現在６１（ｓｅｃ）であり、毎秒デクリメントされる。そして、１秒後に、近隣ＭＡＰテーブル１１６ｋのＭＡＰ（ｎ）の生存時間が探索生存時間である６０（ｓｅｃ）に達すると、ＭＡＰ（ｋ）１０１ｋは、ＭＡＰ（ｎ）１０１ｎに対して、ＭＡＰの探索を開始する。
【０２０６】
１．ＭＡＰ探索パケット、ＭＡＰ通知パケットの送受信
まず、図２２に示すように、ＭＡＰ（ｋ）１０１ｋは、ＭＡＰ（ｎ）１０１ｎに、ＭＡＰ探索パケットを送信し、それをＭＡＰ（ｎ）１０１ｎが受信する（図２２中実線の矢印で示す）。よって、ここでは、ＭＡＰ（ｋ）１０１ｋが探索ノードとなり、ＭＡＰ（ｎ）１０１ｎが探索パケット受信ノードとなる。具体的には、ＭＡＰ（ｋ）１０１ｋのＮＭＤＰ部１５が、図２３に示すＭＡＰ探索パケット１０３を作成し、インターフェース１９が送信する。
【０２０７】
図２３に示すように、ＭＡＰ探索パケット１０３は、ＩＰｖ６ヘッダ１３１と、終点オプションヘッダ１３２とから構成される。ＩＰｖ６ヘッダ１３１には、ＩＰのバージョンを示すバージョン、ＭＡＰ探索パケット１０３の送信元を示す始点アドレス、ＭＡＰ探索パケット１０３の宛先を示す終点アドレス等が格納されている。終点オプションヘッダ１３２には、タイプ、ＭＡＰ探索パケット１０３を管理するシーケンスナンバ、初期ＨＬが格納されている。
【０２０８】
ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ１３１の始点アドレスに、ＭＡＰ（ｋ）のＩＰアドレス「ｋ」を、終点アドレスに、ＭＡＰ（ｎ）のＩＰアドレス「ｎ」を設定する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ１３２のタイプに、「４１」を設定する。本実施形態では、タイプ４１が、ＭＡＰ探索パケット１０３を示す。又、ＭＡＰ（ｋ）のＮＭＤＰ部は、終点オプションヘッダ１３２のシーケンスナンバに、図２０に示す第２テーブル１１７ｋのシーケンスナンバ３の値「１６５３」に１を加算した「１６５４」を設定する。このとき、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、第２テーブル１１７ｋのシーケンスナンバ３の値も「１６５４」に更新する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、終点オプションヘッダ１３２の初期ＨＬに、第２テーブル１１７ｋの初期ＨＬ「１３」をコピーして、設定する。
【０２０９】
次に、図２２に示すように、ＭＡＰ探索パケット１０３を受信したＭＡＰ（ｎ）１０１ｎが、ＭＡＰ（ｎ）１０１ｎの近隣ＭＡＰテーブル１１６ｎが記憶している全ての近隣ＭＡＰ、即ち、ＭＡＰ（ｎ）１０１ｎ、ＭＡＰ（ｉ）１０１ｉ、ＭＡＰ（ｋ）１０１ｋ、ＭＡＰ（ｌ）１０１ｌ、ＭＡＰ（ｊ）１０１ｊに対して、カプセル化ＭＡＰ通知パケットを送信する（図２２中一点鎖線の矢印で示す）。カプセル化ＭＡＰ通知パケットとは、探索パケット受信ノードであるＭＡＰ（ｎ）１０１ｎから、探索ノードであるＭＡＰ（ｋ）１ｋに返信するＭＡＰ通知パケットをカプセル化したパケットをいう。
【０２１０】
即ち、探索パケット受信ノードとなったＭＡＰ（ｎ）１０１ｎは、ＭＡＰ（ｎ）１０１ｎ自身に近隣するＭＡＰ（ｉ）１０１ｉ〜ＭＡＰ（ｌ）１０１ｌを宛先としたヘッダで、ＭＡＰ通知パケットをカプセル化して送信する。よって、ここでは、ＭＡＰ（ｉ）１０１ｉ〜ＭＡＰ（ｌ）１０１ｌが周辺ノードとなる。
【０２１１】
具体的には、ＭＡＰ（ｎ）１０１ｎのＮＭＤＰ部１５が、カプセル化ＭＡＰ通知パケットを作成し、インターフェース１９が送信する。以下、ＭＡＰ（ｉ）１０１ｉと、ＭＡＰ（ｊ）１０１ｊへのカプセル化ＭＡＰ通知パケットの送信を例にとって説明する。図２４（ａ）は、ＭＡＰ（ｉ）に送信するカプセル化ＭＡＰ通知パケット１０４ｉを示し、図２４（ｂ）は、ＭＡＰ（ｊ）に送信するＭＡＰ通知パケット１０４ｊを示す。
【０２１２】
図２４に示すように、カプセル化ＭＡＰ通知パケット１０４ｉ，１０４ｊは、ＩＰｖ６ヘッダ１４１ｉ，１４１ｊと、ＭＡＰ通知パケット１０５ｉ，１０５ｊとから構成される。ＩＰｖ６ヘッダ１４１ｉ，１４１ｊは、探索パケット受信ノードであるＭＡＰ（ｎ）１０１ｎから、探索ノードであるＭＡＰ（ｋ）１ｋに返信するＭＡＰ通知パケット１０５ｉ，１０５ｊをカプセル化するヘッダである。ＩＰｖ６ヘッダ１４１ｉ，１４１ｊには、ＩＰのバージョンを示すバージョン、カプセル化ＭＡＰ通知パケット１０４ｉ，１０４ｊの送信元を示す始点アドレス、カプセル化ＭＡＰ通知パケット１０４ｉ，１０４ｊの宛先を示す終点アドレス等が格納されている。
【０２１３】
ＭＡＰ通知パケット１０５ｉ，１０５ｊは、ＩＰｖ６ヘッダ１５１ｉ，１５１ｊと、終点オプションヘッダ１５２ｉ，１５２ｊとから構成される。ＩＰｖ６ヘッダ１５１ｉ，１５１ｊには、ＩＰのバージョンを示すバージョン、ＨＬ、ＭＡＰ通知パケットの送信元を示す始点アドレス、ＭＡＰ通知パケットの宛先を示す終点アドレス等が格納されている。終点オプションヘッダ１５２ｉ，１５２ｊには、タイプ、経由ＭＡＰアドレス、ＭＡＰ通知パケット１０５ｉ，１０５ｊを管理するシーケンスナンバ、初期ＨＬが格納されている。ここで、経由ＭＡＰアドレスとは、ＭＡＰ通知パケット１０５ｉ，１０５ｊが経由する周辺ノードのアドレスである。
【０２１４】
図２４（ａ）に示すように、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ１４１ｉの始点アドレスに、ＭＡＰ（ｎ）のＩＰアドレス「ｎ」を、終点アドレスに、ＭＡＰ（ｉ）のＩＰアドレス「ｉ」を設定する。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ１５１ｉのＨＬに、受信した図２３に示すＭＡＰ探索パケット１０３の初期ＨＬ「１３」コピーして、設定する。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ１５１ｉの始点アドレスに、ＭＡＰ（ｎ）のＩＰアドレス「ｎ」を、終点アドレスに、ＭＡＰ（ｋ）のＩＰアドレス「ｋ」を設定する。
【０２１５】
又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ１５２ｉのタイプに、「４２」を設定する。本実施形態では、タイプ４２が、ＭＡＰ通知パケットを示す。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ１５２ｉの経由ＭＡＰアドレスに、ＭＡＰ通知パケット１０５ｉをカプセル化して送信する宛先であるＩＰｖ６ヘッダ１４１ｉの終点アドレス「ｉ」をコピーして、設定する。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ１５２ｉのシーケンスナンバ、初期ＨＬに、受信した図２３に示すＭＡＰ探索パケット１０３のシーケンスナンバの値「１６５４」、初期ＨＬの値「１３」をコピーして設定する。
【０２１６】
同様にして、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、図２４（ｂ）に示すＭＡＰ（ｊ）へのカプセル化ＭＡＰ通知パケット１０４ｊを作成する。但し、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、ＩＰｖ６ヘッダ１４１ｊの終点アドレスに、ＭＡＰ（ｊ）のＩＰアドレス「ｊ」を設定する。又、ＭＡＰ（ｎ）のＮＭＤＰ部１５は、終点オプションヘッダ１５２ｊの経由ＭＡＰアドレスに、ＭＡＰ通知パケット１０５ｊをカプセル化して送信する宛先であるＩＰｖ６ヘッダ１４１ｊの終点アドレス「ｊ」をコピーして、設定する。
【０２１７】
次に、図２２に示すように、カプセル化ＭＡＰ通知パケットを受信したＭＡＰ（ｉ）１０１ｉ〜ＭＡＰ（ｌ）１０１ｌ，ＭＡＰ（ｎ）１０１ｎが、デカプセル化を行い（最外部のＩＰｖ６ヘッダをとる）、探索パケット受信ノードであるＭＡＰ（ｎ）１０１ｎから、探索ノードであるＭＡＰ（ｋ）１ｋに返信するＭＡＰ通知パケットを取り出す。そして、ＭＡＰ（ｉ）１０１ｉ〜ＭＡＰ（ｌ）１０１ｌ，ＭＡＰ（ｎ）１０１ｎが、ＭＡＰ（ｋ）１０１ｋに対して、取り出したＭＡＰ通知パケットを送信する（図２２中点線の矢印で示す）。このようにして、探索パケット受信ノードであるＭＡＰ（ｎ）１０１ｎは、周辺ノードであるＭＡＰ（ｉ）１ｉ〜ＭＡＰ（ｌ）１ｌを経由して、探索ノードであるＭＡＰ（ｋ）１０１ｋに、ＭＡＰ通知パケットを返信する。具体的には、ＭＡＰ（ｉ）１０１ｉ〜ＭＡＰ（ｌ）１０１ｌ，ＭＡＰ（ｎ）１０１ｎのＩＰレイヤ部１３が、カプセル化ＭＡＰパケットをデカプセル化し、取り出したＭＡＰ通知パケットを、インターフェース１９が送信するだけである。
【０２１８】
このように、探索パケット受信ノードであるＭＡＰ（ｎ）１ｎが、近隣ＭＡＰテーブル１６ｎに記憶されている近隣ＭＡＰ（周辺ノード）のアドレスを宛先とするＩＰｖ６ヘッダで、ＭＡＰ通知パケットをカプセル化し、トンネル転送を行うことにより、周辺ノードであるＭＡＰ（ｉ）１０１ｉ〜ＭＡＰ（ｌ）１０１ｌを経由して、ＭＡＰ通知パケットを、探索ノードであるＭＡＰ（ｋ）１ｋに返信することができる。尚、このようなトンネル転送以外に、ＩＰｖ６のオプションの拡張ヘッダである経路制御ヘッダを用いることによっても、探索パケット受信ノードとなったＭＡＰは、周辺ノードであるＭＡＰを経由して、ＭＡＰ通知パケットを、探索ノードであるＭＡＰに返信することができる。
【０２１９】
２．ノード間情報の決定、ＭＡＰの検出、近隣ＭＡＰテーブルの更新
次に、ＭＡＰ通知パケットを受信した探索ノードであるＭＡＰ（ｋ）１０１ｋは、返信されたＭＡＰ通知に基づいて、ノード間情報の決定、ＭＡＰの検出、近隣ＭＡＰテーブルの更新を行う。以下、ＭＡＰ（ｉ）１０１ｉと、ＭＡＰ（ｊ）１０１ｊが送信するＭＡＰ通知パケットを例にとって説明する。
【０２２０】
まず、ＭＡＰ（ｉ）がＭＡＰ通知パケット１０５ｉを送信した場合を説明する。探索ノードであるＭＡＰ（ｋ）は、図２５に示すＭＡＰ通知パケット１０５ｉを受信する。ＭＡＰ（ｋ）は、探索ノードであるＭＡＰ（ｋ）と、ＭＡＰ通知パケット１０５ｉが経由した周辺ノードであるＭＡＰ（ｉ）（ＭＡＰ通知パケット１０５ｉに、経由ＭＡＰアドレスが記載されているＭＡＰ）との間のホップ数を決定する。具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、受信したＭＡＰ通知パケット１０５ｉから、ＩＰｖ６ヘッダ１５１ｉに含まれるＨＬの値「７」、終点オプションヘッダ１５２ｉに含まれる初期ＨＬの値「１３」を取得する。
【０２２１】
ここで、ＭＡＰ（ｉ）が受信したカプセル化ＭＡＰ通知パケット１０４ｉから、デカプセル化（ＩＰｖ６ヘッダ１４１ｉをとる）によって取り出されたＭＡＰ通知パケット１０５ｉのＨＬの値は、図２４（ａ）に示すように、「１３」である。これに対し、ＭＡＰ（ｋ）が受信した図２５に示すＭＡＰ通知パケット１０５ｉのＨＬの値は「７」となっている（図２５中、丸で囲んだ部分）。これは、ＭＡＰ通知パケット１０５ｉが、ＭＡＰ（ｉ）からＭＡＰ（ｋ）まで送信されてくる間に、ＭＡＰ通知パケット１０５ｉのＨＬの値が、転送の度に１減じられたためである。
【０２２２】
ＭＡＰ（ｋ）のＮＭＤＰ部１５は、取得した初期ＨＬの値「１３」から、ＨＬの値「７」を減じる計算を行い、ＭＡＰ（ｋ）とＭＡＰ（ｉ）との間のホップ数を求める。計算結果は、１３−７＝６となった。このように、ＭＡＰ（ｋ）において新たに決定されたＭＡＰ（ｉ）（ＭＡＰ通知パケット１０５ｉに、経由ＭＡＰアドレスが記載されているＭＡＰ）との間のホップ数は、「６」となった。
【０２２３】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉの経由ＭＡＰアドレス「ｉ」が、図２６に示す近隣ＭＡＰテーブル１１６ｋのＩＰアドレスにあるか否かを検索する。図２６は、ＭＡＰ（ｋ）が、図２５に示すＭＡＰ通知パケット１０５ｉを受信した時のＭＡＰ（ｋ）の近隣ＭＡＰテーブル１１６ｋ、第２テーブル１１７ｋの状態を示す。尚、図２６に示す近隣ＭＡＰテーブル１１６ｋ、第２テーブル１１７ｋでは、図２０に示したＭＡＰ探索を開始する直前の状態から、既に更新されている箇所もある。
【０２２４】
ＭＡＰ（ｋ）のＮＭＤＰ部１５は、新たに受信したＭＡＰ通知パケット１０５ｉの経由ＭＡＰアドレス「ｉ」が、近隣ＭＡＰテーブル１１６ｋに存在すれば、ＭＡＰ通知パケット１０５ｉが経由したＭＡＰ（ｉ）は、既に検出しているＭＡＰであると判断する。そのため、この場合、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉを、既に近隣ＭＡＰとして登録しているＭＡＰ（ｉ）に関する情報の更新に利用すると判断する。図２６の場合、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１１６ｋのＩＰアドレスに、経由ＭＡＰアドレス「ｉ」があるため、ＭＡＰ通知パケット１０５ｉを、ＭＡＰ（ｉ）に関する情報の更新に利用すると判断する。
【０２２５】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、受信したＭＡＰ通知パケット１０５ｉに基づく、近隣ＭＡＰテーブル１１６ｋの既存のＭＡＰ（ｉ）に関する情報の更新を実行すべきか否かを判断する。具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、受信したＭＡＰ通知パケット１０５ｉのシーケンスナンバ「１６５４」と、ＭＡＰ通知パケット１０５ｉ受信時の近隣ＭＡＰテーブル１１６ｋ（図２６）のＭＡＰ（ｉ）についてのシーケンスナンバ１「１６５０」とを比較する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉのシーケンスナンバが大きい場合には、そのＭＡＰ通知パケット５１０ｉに基づく情報は、最新の情報であり、情報の更新を実行すると判断する。図２６の場合、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉのシーケンスナンバの方が大きいため、情報の更新を実行すると判断する。
【０２２６】
一方、ＭＡＰ通知パケット１０５ｉのシーケンスナンバが、近隣ＭＡＰテーブル１１６ｋのＭＡＰ（ｉ）についてのシーケンスナンバ１よりも小さい場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、そのＭＡＰ通知パケット１０５ｉに基づく情報の更新を実行しないと判断する。
【０２２７】
次に、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１１６ｋのＭＡＰ（ｉ）に関する情報の更新を実行する。ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉ（図２５）から、シーケンスナンバ「１６５４」を取得する。又、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、第２テーブル１１７ｋ（図２６）から初期生存時間「９００」を取得する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、近隣ＭＡＰテーブル１１６ｋ（図２６）のＭＡＰ（ｉ）に関する既存のホップ数「６」を、決定したホップ数「６」に、既存の生存時間「１２２」を、取得した初期生存時間「９００」に、既存のシーケンスナンバ１「１６５０」を、取得したシーケンスナンバ「１６５４」に、それぞれ更新して、最新の情報とする。
【０２２８】
尚、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、新たに受信したＭＡＰ通知パケット１０５ｉの経由ＭＡＰアドレス「ｉ」が、探索ノードであるＭＡＰ（ｋ）の近隣ＭＡＰテーブルに存在しない場合には、ＭＡＰ通知パケット１０５ｉが経由したＭＡＰ（ｉ）は、新たに検出したＭＡＰであると判断する。即ち、ＭＡＰ（ｉ）は、ＭＡＰ（ｋ）の近隣ＭＡＰテーブルに、ＭＡＰ（ｋ）の近隣ＭＡＰとして新規に登録される可能性があると判断する。
【０２２９】
この場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉに基づいて決定したＭＡＰ（ｋ）とＭＡＰ（ｉ）との間のホップ数が、ＭＡＰ通知パケット１０５ｉ受信時のＭＡＰ（ｋ）の近隣ＭＡＰテーブルに記憶さている近隣ＭＡＰのホップ数の最大値よりも小さいか否かを比較する。そして、ＭＡＰ（ｋ）とＭＡＰ（ｉ）との間のホップ数が、ＭＡＰ（ｋ）の近隣ＭＡＰテーブルのホップ数の最大値と等しい場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｉ）を、ＭＡＰ（ｋ）の近隣ＭＡＰとして、近隣ＭＡＰテーブルに新規に登録することはしないと判断する。
【０２３０】
一方、ＭＡＰ（ｉ）のホップ数が、ＭＡＰ通知パケット１０５ｉ受信時のＭＡＰ（ｋ）の近隣ＭＡＰテーブルのホップ数の最大値よりも小さい場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉ受信時の近隣ＭＡＰテーブルの中で、ＭＡＰ（ｉ）のホップ数よりも大きいホップ数を持つ近隣ＭＡＰの強制登録生存時間が、０であるか否かを判断する。
【０２３１】
ＭＡＰ（ｉ）のホップ数よりも大きいホップ数を持つ全ての近隣ＭＡＰの強制登録時間が０でない場合には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｉ）を、ＭＡＰ（ｋ）の近隣ＭＡＰとして、ＭＡＰ（ｋ）の近隣ＭＡＰテーブルに新規に登録することはしないと判断する。
【０２３２】
一方、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｉ）のホップ数よりも大きいホップ数を持つ近隣ＭＡＰで、強制登録時間が０の近隣ＭＡＰがある場合には、ＭＡＰ（ｉ）を、ＭＡＰ（ｋ）の近隣ＭＡＰとして、ＭＡＰ（ｋ）の近隣ＭＡＰテーブルに新規に登録すると判断する。まず、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｉ）のホップ数よりも大きいホップ数を持つ近隣ＭＡＰで、強制登録時間が０の近隣ＭＡＰの中で、最もホップ数の大きい近隣ＭＡＰに関する情報を消去する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉに基づいて、近隣ＭＡＰテーブルを更新する。
【０２３３】
具体的には、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ通知パケット１０５ｉから、経由ＭＡＰアドレス、シーケンスナンバを取得し、第２テーブルから初期生存時間を取得する。そして、ＭＡＰ（ｋ）のＮＭＤＰ部１５は、ＭＡＰ（ｉ）に関する情報として、決定したホップ数、取得した経由ＭＡＰアドレス、初期生存時間、シーケンスナンバ、強制登録生存時間の初期値０を、ＭＡＰ（ｋ）の近隣ＭＡＰテーブルに格納する。このようにして、新たに検出されたＭＡＰ（ｋ）の近隣ＭＡＰであるＭＡＰ（ｉ）は、近隣ＭＡＰテーブル１１６ｋに登録される。
【０２３４】
次に、ＭＡＰ（ｊ）がＭＡＰ通知パケット１０５ｊを送信した場合を説明する。ＭＡＰ（ｊ）は受信したカプセル化ＭＡＰ通知パケット１０４ｊをデカプセル化し（ＩＰｖ６ヘッダ１４１ｊをとる）、図２７に示すＭＡＰ通知パケット１０５ｊを、ＭＡＰ（ｋ）に宛てて送信する。
【０２３５】
このとき、ＭＡＰ（ｊ）１ｊとＭＡＰ（ｋ）１ｋとの間のホップ数が１５であるとする。図２７に示すＭＡＰ通知パケット１０５ｊは、ＩＰｖ６ヘッダ１５１ｊのＨＬの値が、「１３」である。そのため、ＭＡＰ通知パケット１０５ｊが、ＭＡＰ（ｊ）からＭＡＰ（ｋ）に到着する前に、ＭＡＰ通知パケット１０５ｊのＨＬの値が、転送の度に１減じられて、０になってしまう。即ち、ＭＡＰ通知パケット１０５ｊは、ＨＬの値が小さすぎて、ＭＡＰ（ｊ）からＭＡＰ（ｋ）の経路上で、ＨＬの値が０になり、消滅してしまう。そのため、ＭＡＰ通知パケット１０５ｊは、ＭＡＰ（ｋ）まで到達しない。その結果、ＭＡＰ（ｋ）において、ＭＡＰ通知パケット１０５ｊに基づく、近隣ＭＡＰテーブル１１６ｋの更新は行われない。
【０２３６】
このように、ＭＡＰ通知パケット１０５ｊのＩＰｖ６ヘッダ１５１ｊに設定されるＨＬの初期値は、近隣ＭＡＰテーブル１１６ｋに記憶されている各近隣ＭＡＰのホップ数の最大値を設定することが好ましい。即ち、ＩＰｖ６ヘッダ１５１ｊに設定されるＨＬの初期値となる第２テーブル１１７ｋの初期ＨＬに、図２０に示したように、近隣ＭＡＰテーブル１１６ｋに記憶されている各近隣ＭＡＰのホップ数の最大値を設定しておくことが好ましい。これによれば、近隣ＭＡＰテーブル１１６ｋに登録され得ない程遠くにあるＭＡＰ（ｊ）１ｊ（周辺ノード）からのＭＡＰ通知パケット１０５ｊを、そのＭＡＰとＭＡＰ（ｋ）１ｋ（探索ノード）との間の経路上で消滅させてしまうことができる。即ち、現在の近隣ＭＡＰテーブル１１６ｋの各近隣ＭＡＰのホップ数よりも大きいホップ数を持つＭＡＰ（ｊ）は、近隣ＭＡＰテーブル１１６ｋに登録されない。そのようなＭＡＰ（ｊ）からのＭＡＰ通知パケットを、ＭＡＰ（ｋ）に受信させずに、消滅させてしまうことができる。そのため、探索ノードであるＭＡＰ（ｋ）の制御負荷を軽減でき、又、余計なパケットの転送を防止することもできる。
【０２３７】
尚、第２の実施の形態に係るノード探索方法においても、ＭＡＰ通知パケットの返信がない場合等における近隣ＭＡＰの消去、ＭＡＰによる他のＭＡＰの近隣ＭＡＰテーブルへの登録の要請、新たなＭＡＰの配置については、第１の実施の形態と同様に行うことができる。
【０２３８】
（ＭＮによるＭＡＰの探索）
次に、図２８、図２１を用いて、ＭＮによるＭＡＰの探索について説明する。通信システムを構成する複数のＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｏ）１０１ｏと、ＭＮ（ａ）１０２ａ，ＭＮ（ｂ）１０２ｂを示す。又、図２８では、ＭＮ（ａ）１０２ａ、ＭＮ（ｂ）１０２ｂが備えている近隣ＭＡＰテーブル１２６ａ，１２６ｂを、各ＭＮ（ａ）１０２ａ、ＭＮ（ｂ）１０２ｂとともに示している。但し、説明を簡単にするために、近隣ＭＡＰのＩＰアドレスと、ＭＮ（ａ）１０２ａ、ＭＮ（ｂ）１０２ｂと各近隣ＭＡＰとの間のホップ数のみを記載している。
【０２３９】
１．ＭＡＰの探索
まず、ＭＮ（ｂ）１０２ｂが、図２８中矢印Ｄで示す移動経路上を移動しながら、ＭＡＰを探索する様子を説明する。ＭＮ（ｂ）１０２ｂは、ＭＡＰによるＭＡＰ探索の場合と同様にして、ＭＡＰを探索する。ＭＮ（ｂ）１０２ｂが、図２８中矢印Ａで示す位置にいるときに、ＭＮ（ｂ）１０２ｂの近隣ＭＡＰテーブル１２６ｂのいずれかのＭＡＰに関する情報についての生存時間が探索生存時間に到達すると、ＭＮ（ｂ）１０２ｂは、ＭＡＰ探索を開始する。ＭＮ（ｂ）１０２ｂのＮＭＤＰ部２５は、そのＭＡＰに対して、ＭＡＰ探索パケットを送信する。次に、ＭＮ（ｂ）１０２ｂのＮＭＤＰ部２５は、探索パケット受信ノードとなったＭＡＰから、周辺ノードとなったＭＡＰを経由して返信されたＭＡＰ探索パケットに対するＭＡＰ通知パケットを受信する。次に、ＭＮ（ｂ）１０２ｂのＮＭＤＰ部２５は、受信したＭＡＰ通知パケットに基づいて、新たなＭＡＰを検出し、既存の近隣ＭＡＰに関する最新の情報を取得して、近隣ＭＡＰテーブル１２６ｂを更新する。
【０２４０】
その結果、図２８に示すように、図２８中矢印Ａで示す位置にいるＭＮ（ｂ）１０２ｂとの間の遅延値が小さい近隣ＭＡＰ、ＭＡＰ（ｏ）１０１ｏ、ＭＡＰ（ｇ）１０１ｇ、ＭＡＰ（ｉ）１０１ｉ、ＭＡＰ（ｋ）１０１ｋ、ＭＡＰ（ｈ）１０１ｈに関する情報が、近隣ＭＡＰテーブル１２６ｂに登録される。
【０２４１】
同様に、ＭＮ（ｂ）１０２ｂが、図２８中矢印Ａで示す位置から矢印Ｂで示す位置を経由して、矢印Ｃで示す位置まで、矢印Ｄで示す移動経路上を進む間、近隣ＭＡＰテーブル１２６ｂの各ＭＡＰに関する情報についての生存時間が、次々に探索生存時間に到達し、ＭＮ（ｂ）１０２ｂは、ＭＡＰ探索を繰り返し行う。
【０２４２】
その結果、図２８に示すように、図２８中矢印Ｂで示す位置では、矢印Ｂで示す位置にいるＭＮ（ｂ）１０２ｂとの間のホップ数が小さい近隣ＭＡＰ、ＭＡＰ（ｋ）１０１ｋ、ＭＡＰ（ｉ）１０１ｉ、ＭＡＰ（ｏ）１０１ｏ、ＭＡＰ（ｎ）１０１ｎ、ＭＡＰ（ｈ）１０１ｈに関する情報が、近隣ＭＡＰテーブル１２６ｂに登録される。又、図２８中矢印Ｃで示す位置では、矢印Ｃで示す位置にいるＭＮ（ｂ）１０２ｂとの間のホップ数が小さい近隣ＭＡＰ、ＭＡＰ（ｎ）１０１ｎ、ＭＡＰ（ｋ）１０１ｋ、ＭＡＰ（ｉ）１０１ｉ、ＭＡＰ（ｌ）１０１ｌ、ＭＡＰ（ｅ）１０１ｅに関する情報が、近隣ＭＡＰテーブル１２６ｂに登録される。
【０２４３】
２．ＭＡＰの選択
次に、ＭＡＰの選択について説明する。ＭＮ（ａ）１０２ａが、利用するために最も適するＭＡＰを選択する場合を例にとって説明する。上記したように、ＭＮ（ａ）１０２ａは、図２１に示す近隣ＭＡＰテーブル１２６ａを備えている。又、ＭＮ（ａ）１０２ａが備えるＭＡＰ選択ポリシー保持部３０には、最も近隣にあるもの（ノード間のホップ数が最も小さいもの）というＭＡＰ選択ポリシーが保持されている。
【０２４４】
そのため、ＭＮ（ａ）１０２ａのＮＭＤＰ部２５は、図２１示す近隣ＭＡＰテーブル１２６ａが記憶している近隣ＭＡＰに関する情報に、ＭＡＰ選択ポリシー保持部３０に保持されている上記ＭＡＰ選択ポリシーを照らし合わせて、最適な近隣ＭＡＰを選択する。その結果、ＭＮ（ａ）１０２ａのＮＭＤＰ部２５は、ＭＡＰ（ｆ）を、実際に利用する近隣ＭＡＰとして選択する。そして、ＭＮ（ａ）１０２ａのＮＭＤＰ部２５は、選択した近隣ＭＡＰ、ＭＡＰ（ｆ）のアドレスを、モビリティ制御部２４に通知する。
【０２４５】
そして、ＭＮ（ａ）１０２ａは、ＭＡＰ（ｆ）１０１ｆに、ホームアドレスと現在使用中の気付アドレスの登録を行う。又、ＭＮ（ａ）１０２ａは、ＨＡに、ホームアドレスとＭＡＰ（ｆ）のアドレスの登録を行う。このようにして、ＭＮ（ａ）２ａは、ＨＡ、ＭＡＰ（ｂ）１ｂによるＭＮ（ａ）２ａのホームアドレス宛に送信されたパケットの転送サービスを享受することができる。
【０２４６】
〔効果〕
このような第２の実施の形態に係る通信システム、ＭＡＰ、ＭＮ、ノード探索方法によれば、第１の実施の形態に係る通信システム、ＭＡＰ、ＭＮ、ノード探索方法によって得られる効果に加えて、次のような効果が得られる。近隣ＭＡＰテーブルは、ホップ数の最も小さい近隣ＭＡＰから順番に上位５つの近隣ＭＡＰを記憶している。そして、探索ノードとなるＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｏ）１０１ｏやＭＮ（ａ）１０２ａ，ＭＮ（ｂ）１０２ｂは、自身の近隣ＭＡＰテーブルに登録されている近隣ＭＡＰにノード探索パケットを送信する。そのノード探索パケットを受信し、探索パケット受信ノードとなったＭＡＰは、自身の近隣ＭＡＰテーブルに記憶されている近隣ＭＡＰを経由して、ＭＡＰ通知パケットを、探索ノードであるＭＡＰに返信する。そのため、ＭＡＰ通知パケットは、経由したＭＡＰに関するホップ数等のノード情報を含んだものとなる。
【０２４７】
よって、探索パケット受信ノードとなったＭＡＰは、自身の近隣ＭＡＰテーブルに記憶されている近隣ＭＡＰに関するホップ数等の情報を、探索ノードとなったＭＡＰに提供することができる。そのため、探索ノードとなったＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｏ）１０１ｏやＭＮ（ａ）１０２ａ，ＭＮ（ｂ）１０２ｂは、ＭＡＰに関するより多くの情報を把握することができる。しかも、探索ノードとなったＭＡＰ（ａ）１０１ａ〜ＭＡＰ（ｏ）１０１ｏやＭＮ（ａ）１０２ａ，ＭＮ（ｂ）１０２ｂは、比較的近隣に存在するＭＡＰに関する情報を得ることができ、ホップ数の小さい近隣ＭＡＰを、効率よく検出することができる。
【０２４８】
［変更例］
本発明は、上記実施形態に限定されるものではなく、種々の変更が可能である。
【０２４９】
〔変更例１〕
本発明に係るノードは、通常のパケット処理を行うルータ等のノードだけでなく、プリンタサーバ、ＦＴＰ（Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）サーバ、電化製品等の固定ノードや、移動端末、ＰＤＡ（携帯情報端末）、自動車等の移動ノードを含む。そのため、移動ノードの場合には、送信先である移動ノードに対して、パケットを中継するノードとして働き、アドホック技術又はマルチホップ接続技術が適応可能である。
【０２５０】
又、例えば、複数のノードとして、複数のＦＴＰサーバがグループを形成しており、クライアントのノードが、いずれかのＦＴＰサーバから、ファイルをダウンロードする場合や、いずれかのＦＴＰサーバへファイルをアップロードする場合に、本発明に係るノードやノード探索方法を適用することが可能である。これにより、クライアントのノードは、検出したＦＴＰサーバの中から、最適なサーバを選択して利用することができる。具体的には、利用ノードを選択する選択基準として、ＦＴＰサーバの処理能力やトラフィック量等のノード自体情報や、ＦＴＰサーバとの間のパケット送信における遅延値やホップ数等のノード間情報について規定すれば、これらを考慮して適切なＦＴＰサーバを選択することができる。例えば、最も遅延値の小さいＦＴＰサーバを選択するという選択基準に基づいて、ＦＴＰサーバを選択すれば、クライアントのノードは、ダウンロードやアップロードに係る時間を短縮でき、伝送路を有効利用することができる。このように、本発明に係るノードやノード探索方法は、他のノードを把握する必要がある様々な技術に適用可能である。
【０２５１】
又、上記実施形態では、ＭＡＰがグループを形成しているだけであるが、複数のグループから構成される通信システムとすることもできる。即ち、同じ機能を持つノードが集合して形成したグループ（例えば、ＦＴＰサーバのグループ、プリンタサーバのグループ、移動ノードのグループ）が、複数集合して通信システムを構成できる。尚、この場合、遠近を判断する判断基準として、各グループにとって、適切なものをそれぞれ採用することができる。又、１つのノードが複数のグループに属してもよい。
【０２５２】
〔変更例２〕
上記実施形態では、遅延値やホップ数、処理能力等のノード情報を含むＭＡＰ通知パケットを用いているが、探索パケット受信ノードや、周辺ノードとなったＭＡＰは、自身の近隣ＭＡＰテーブルに記憶されている近隣ＭＡＰのＩＰアドレスを含むＭＡＰ通知パケットを作成し、探索ノードであるＭＡＰやＭＮに返信するようにしてもよい。これによっても、探索ノードであるＭＡＰやＭＮは、他のＭＡＰのＩＰアドレスを把握でき、ＭＡＰを検出して、近隣ＭＡＰテーブルに登録することができる。更に、ＭＡＰ通知パケットに含まれる情報を少なくでき、パケットの伝送や、パケットの処理を効率化できる。
【０２５３】
この場合、探索ノードであるＭＡＰやＭＮは、ＭＡＰ通知パケットに基づいて検出したＭＡＰのＩＰアドレスに、遅延値やホップ数を調べるｐｉｎｇ要求を送信する。ｐｉｎｇ要求を受信した検出されたＭＡＰは、ｐｉｎｇ要求に対するｐｉｎｇ応答を返信する。そして、探索ノードであるＭＡＰやＭＮは、受信したｐｉｎｇ応答に基づいて、近隣ＭＡＰテーブルを更新する。この場合、ＭＡＰのＮＭＤＰ部１５やＭＮのＮＭＤＰ部２５が、ｐｉｎｇ要求を作成するデータ作成手段として機能する。
【０２５４】
このようにｐｉｎｇ要求、ｐｉｎｇ応答を用いても、探索ノードであるＭＡＰやＭＮは、検出したＭＡＰに関するノード情報を把握することができる。又、探索ノードであるＭＡＰやＭＮは、ｐｉｎｇ要求送信時の状況に応じたｐｉｎｇ応答を受け取ることにより、その時の状況に応じたノード情報を把握でき、動的に保持することができる。
【０２５５】
又、ＭＡＰやＭＮは、近隣ＭＡＰテーブルに近隣ＭＡＰとして登録した後に、随時、ｐｉｎｇ要求とｐｉｎｇ応答等のノード情報を調査するデータとその応答データを用いて、既に検出している近隣ＭＡＰとの間の遅延値やホップ数等のノード情報を、調査することができる。そして、それらのノード情報に基づいて、近隣ＭＡＰテーブルを更新して、最新情報を保持しておくことができる。
【０２５６】
〔変更例３〕
上記実施形態では、ＩＰｖ６を利用しているが、ＩＰｖ４を利用することもできる。ＩＰｖ４を利用する場合、ＭＡＰ探索パケット、ＭＡＰ通知依頼パケット、ＭＡＰ通知パケット、近隣ＭＡＰ登録要請パケット、近隣ＭＡＰ登録確認パケットの終点オプションヘッダに格納されていた情報を、ＩＰｖ４のパケットのデータ部に格納したパケットを用いる。又、終点オプションヘッダのタイプが示していたパケットの種類は、ＵＤＰヘッダのポート番号を用いて示す。
【０２５７】
図２９に、ＩＰｖ４を利用する場合のＭＡＰ３０１の構成を示す。ＭＡＰ３０１は、アプリケーション部３１１と、ＴＣＰ／ＵＤＰ部３１２と、ＩＰレイヤ部３１３と、モビリティ制御部３１４と、ＮＭＤＰ部３１５と、近隣ＭＡＰテーブル３１６と、第２テーブル３１７と、リンクレイヤ部３１８と、インターフェース３１９とから構成される。アプリケーション部３１１、モビリティ制御部３１４、リンクレイヤ部３１８、インターフェース３１９は、図２に示すＭＡＰ１のアプリケーション部１１、モビリティ制御部１４、リンクレイヤ部１８、インターフェース１９と実質的に同様である。
【０２５８】
ＴＣＰ／ＵＤＰ部３１２は、ＮＭＤＰ部３１５と接続している。ＴＣＰ／ＵＤＰ部３１２は、近隣ＭＡＰの探索に関わるパケットを、ＩＰレイヤ部３１３から取得した場合には、それらをＭＮＤＰ部３１５に提供する。又、ＴＣＰ／ＵＤＰ部３１２は、ＭＮＤＰ部３１５から、近隣ＭＡＰの探索に関わるパケットを取得し、ＩＰレイヤ部３１３に提供する。尚、ＴＣＰ／ＵＤＰ部３１２は、ＴＣＰヘッダのポート番号により、ＭＡＰの探索に関わるパケットの種類を判断する。ＴＣＰ／ＵＤＰ部３１２は、これらの点以外は、図２に示すＭＡＰ１のＴＣＰ／ＵＤＰ部１２と同様である。
【０２５９】
又、ＮＭＤＰ部３１５は、ＴＣＰ／ＵＤＰ部３１２と接続する。ＮＭＤＰ部３１５は、ＴＣＰ／ＵＤＰ部３１２から取得したＭＡＰ探索に関するパケットを処理する。又、ＮＭＤＰ部３１５は、近隣ＭＡＰテーブル３１６や第２テーブル３１７を参照し、ＭＡＰ探索に関するパケットを作成して、ＴＣＰ／ＵＤＰ部３１２に提供する。このように、ＮＭＤＰ部３１５、近隣ＭＡＰテーブル３１６、第２テーブル３１７は、ＴＣＰ／ＵＤＰレベルで処理を行う以外は、図２に示すＭＡＰ１のＮＭＤＰ部１５、近隣ＭＡＰテーブル１６、第２テーブル１７と、実質的に同様である。又、ＩＰレイヤ部３１３は、ＮＭＤＰ部３１５と接続せずに、ＭＡＰの探索に関わるパケットの処理を行わない以外は、図２に示すＩＰレイヤ部１３と、実質的に同様である。
【０２６０】
図３０に、ＩＰｖ４を利用する場合のＭＮ３０２の構成を示す。ＭＮ３０２は、アプリケーション部３２１と、ＴＣＰ／ＵＤＰ部３２２と、ＩＰレイヤ部３２３と、モビリティ制御部３２４と、ＮＭＤＰ部３２５と、近隣ＭＡＰテーブル３２６と、第２テーブル３２７と、リンクレイヤ部３２８と、インターフェース３２９と、ＭＡＰ選択ポリシー保持部３３０とから構成される。
【０２６１】
アプリケーション部３２１、モビリティ制御部３２４、リンクレイヤ部３２８、インターフェース３２９は、図４に示すＭＮ２のアプリケーション２１、モビリティ制御部２４、リンクレイヤ部２８、インターフェース２９と、実質的に同様である。
【０２６２】
ＴＣＰ／ＵＤＰ部３２２は、ＮＭＤＰ部３２５と接続している。ＴＣＰ／ＵＤＰ部３２２は、ＭＡＰの探索に関わるパケットを、ＩＰレイヤ部３２３から取得した場合には、それらをＭＮＤＰ部３２５に提供する。又、ＴＣＰ／ＵＤＰ部３２２は、ＭＮＤＰ部３２５から、ＭＡＰの探索に関わるパケットを取得し、ＩＰレイヤ部３２３に提供する。尚、ＴＣＰ／ＵＤＰ部３２２は、ＴＣＰヘッダのポート番号により、ＭＡＰの探索に関わるパケットの種類を判断する。ＴＣＰ／ＵＤＰ部３２２は、これらの点以外は、図４に示すＭＮ２のＴＣＰ／ＵＤＰ部１２と同様である。
【０２６３】
又、ＮＭＤＰ部３２５は、ＴＣＰ／ＵＤＰ部３２２と接続する。ＮＭＤＰ部３２５は、ＴＣＰ／ＵＤＰ部３２２から取得したＭＡＰ探索に関するパケットを処理する。又、ＮＭＤＰ部３２５は、近隣ＭＡＰテーブル３２６や第２テーブル３２７を参照し、ＭＡＰ探索に関するパケットを作成して、ＴＣＰ／ＵＤＰ部３２２に提供する。このように、ＮＭＤＰ部３２５、近隣ＭＡＰテーブル３２６、第２テーブル３２７、ＭＡＰ選択ポリシー保持部３３０は、ＴＣＰ／ＵＤＰレベルで処理を行う以外は、図４に示すＭＮ２のＮＭＤＰ部２５、近隣ＭＡＰテーブル２６、第２テーブル２７、ＭＡＰ選択ポリシー保持部３０と、実質的に同様である。又、ＩＰレイヤ部３２３は、ＮＭＤＰ部３２５に接続せず、ＭＡＰの探索に関わるパケットの処理を行わない以外は、図４に示すＩＰレイヤ部２３と、実質的に同様である。
【０２６４】
〔変更例４〕
上記実施形態において、周辺ノードには、探索パケット受信ノードであるＭＡＰに直接的に近隣するＭＡＰと、探索パケット受信ノードであるＭＡＰに間接的に近隣するＭＡＰがある。例えば、探索パケット受信ノードであるＭＡＰに直接的に近隣するノードを第１近隣ＭＡＰとすると、第１近隣ＭＡＰに直接的に近隣する第２近隣ＭＡＰや第２近隣ＭＡＰに直接的に近隣する第３近隣ＭＡＰが、探索パケット受信ノードに間接的に近隣するＭＡＰとなる。
【０２６５】
上記実施形態では、探索パケット受信ノードであるＭＡＰに直接的に近隣する周辺ノードであるＭＡＰが、ＭＡＰ通知依頼パケットを受信した場合、ＭＡＰパケット通知を送信するだけであった。しかし、探索パケット受信ノードに直接的に近隣する周辺ノードであるＭＡＰが、更に、ＭＡＰ通知依頼パケットを、自身の近隣ＭＡＰテーブルに登録されているＭＡＰに送信するようにしてもよい。これによれば、探索ノードであるＭＡＰは、探索パケット受信ノードに間接的に近隣する周辺ノードであるＭＡＰからも、ＭＡＰ通知パケットを受信することができる。同様にして、ＭＡＰ通知依頼パケットを受信したＭＡＰが、次々に、そのＭＡＰが備える近隣ＭＡＰテーブルに登録されているＭＡＰに、ＭＡＰ通知依頼パケットを送信するようにしてもよい。
【０２６６】
又、ＭＡＰ通知パケットが経由する経路上にあるＭＡＰが、ＭＡＰ通知パケットを受信した際に、自身が備える近隣ＭＡＰテーブルに登録されているＭＡＰに関する情報を含むＭＡＰ通知パケットを作成し、探索ノードであるＭＡＰに送信するようにしてもよい。又、ＭＡＰ通知パケットが経由する経路上にあるＭＡＰが、ＭＡＰ通知パケットを受信した際に、自身が備える近隣ＭＡＰテーブルに登録されているＭＡＰに関する情報を、受信したＭＡＰ通知パケットに格納していくようにしてもよい。又、近隣ＭＡＰ登録要請パケットを受信したＭＡＰが、更に、他のＭＡＰに近隣ＭＡＰ登録要請パケットを送信するようにしてもよい。
【０２６７】
このように、各ＭＡＰが、ＭＡＰ探索に関するパケットを、自身に近隣するＭＡＰに、次々に送信していくことにより、周囲に伝搬させていくようにしてもよい。これによれば、各ＭＡＰは、より多くのＭＡＰに関する情報を把握することができる。
【０２６８】
〔変更例５〕
ＭＡＰ間の遅延値やホップ数の決定方法は、上記実施形態に限定されない。上記実施形態では、探索ノードとなったＭＡＰやＭＮは、自身と探索パケット受信ノードとなったＭＡＰとの間の遅延値や、探索パケット受信ノードとなったＭＡＰと周辺ノードとなったＭＡＰとの間の遅延値から、探索ノードとなったＭＡＰやＭＮ自身と周辺ノードとなったＭＡＰとの間のノード間情報を決定していた。しかし、ＭＡＰ同士や、ＭＡＰとＭＮが、同期している場合には、探索ノードとなったＭＡＰやＭＮ自身と、周辺ノードとなったＭＡＰとの間の遅延値自体を直接計測できる。例えば、周辺ノードとなったＭＡＰが、ＭＡＰ通知パケットを送信する際に、その送信時刻を、ＭＡＰ通知パケットに格納するだけでよい。又、ＭＡＰ探索パケットやＭＡＰ通知依頼パケット、ＭＡＰ通知パケットに、探索開始時刻を格納する必要もない。
【０２６９】
更に、ＭＡＰ同士や、ＭＡＰとＭＮが、同期している場合には、ＭＡＰ通知パケットが経由する経路上にある各ＭＡＰが、ＭＡＰ通知パケットを受信した際に、自身のＩＰアドレスと、ＭＡＰ通知パケットの送信時刻を、ＭＡＰ通知パケットに格納していくようにしてもよい。即ち、各ＭＡＰが、ＭＡＰ通知パケットに、送信時刻のタイムスタンプを押していってもよい。これによれば、探索ノードであるＭＡＰは、一度により多くのＭＡＰに関する情報を把握することができる。
【０２７０】
又、ＭＡＰ同士や、ＭＡＰとＭＮが、同期している場合には、探索ノードであるＭＡＰやＭＮは、ＭＡＰ探索パケットのシーケンスナンバと、その探索開始時刻とを対応付けたテーブルを保持するようにしてもよい。そして、返信されてきたＭＡＰ通知パケットのシーケンスナンバに基づいて、そのテーブルを参照することにより、その探索開始時刻を把握することができる。これによれば、ＭＡＰ探索パケットやＭＡＰ通知依頼パケット、ＭＡＰ通知パケットに、探索開始時刻を格納する必要がない。
【０２７１】
又、ホップ数についても、探索ノードとなったＭＡＰやＭＮ自身と周辺ノードとなったＭＡＰとの間のホップ数自体を直接計測してもよく、各ＭＡＰ間のホップ数から、探索ノードとなったＭＡＰやＭＮ自身と、周辺ノードとなったＭＡＰとの間のホップ数を計算するようにしてもよい。
【０２７２】
〔変更例６〕
ＭＡＰ通知パケットに含まれる情報や、近隣ＭＡＰテーブルが記憶する情報は、上記実施形態に限定されない。ＭＡＰ通知パケットに含まれる情報や、近隣ＭＡＰテーブルが記憶する情報は、通信システムやノードが使用する遠近の判断基準や、ＭＡＰ選択ポリシーに応じて異なってくる。遠近の判断基準のパラメータとして、遅延値やホップ数以外に、例えば、ノード間のパケット送信におけるコスト、リンク容量等のノード間情報やトラフィック量等のノード自体情報を用いる場合には、ＭＡＰ通知パケットは、これらのノード間情報やノード自体情報を含み、近隣ＭＡＰテーブルは、これらのノード間情報やノード自体情報を記憶する。又、ＭＡＰ選択ポリシーのパラメータとして、処理能力以外に、ノード間の伝搬路状況等のノード間情報や、信頼性（ミラー化されているか等）、トラフィック量、接続しているノード数、送信電力値等のノード自体情報を用いる場合には、ＭＡＰ通知パケットは、これらのノード間情報やノード自体情報を含み、近隣ＭＡＰテーブルは、これらのノード間情報やノード自体情報を記憶する。
【０２７３】
又、近隣ＭＡＰテーブルは、複数のノード自体情報やノード間情報を記憶しておくようにし、ＮＭＤＰ部は、状況に応じて採用する遠近の判断基準を変更したり、使用するＭＡＰ選択ポリシーを変更したりしてもよい。又、近隣ＭＡＰテーブルが情報を記憶する基準も、上記実施形態に限定されない。例えば、最大ノード登録数を設定せずに、遅延値やホップ数が一定値以下のＭＡＰに関する情報を記憶するようにしてもよい。又、生存時間順や他のノード情報やノード間情報により定められた順番に従って、ＭＡＰに関する情報を記憶するようにしてもよい。尚、近隣ＭＡＰテーブルが情報を記憶する基準は、ＭＡＰ選択ポリシーに基づいて設定することが好ましい。ＭＡＰ選択ポリシーにあうＭＡＰを、近隣ＭＡＰテーブルに登録しておくことにより、効率よく利用ノードを選択することができる。
【０２７４】
【発明の効果】
以上説明したように、本発明によれば、ノードが、自律的に、状況に応じてノードを容易に探索することができるノード探索方法、ノード、通信システム及びノード探索プログラムを提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る通信システムの構成を示す図である。
【図２】本発明の第１の実施の形態に係るＭＡＰの構成を示すブロック図である。
【図３】本発明の第１の実施の形態に係るＭＡＰ（ｋ）の近隣ＭＡＰテーブル及び第２テーブルを示す図である。
【図４】本発明の第１の実施の形態に係るＭＮの構成を示すブロック図である。
【図５】本発明の第１の実施の形態に係るＭＮ（ａ）の近隣ＭＡＰテーブル及び第２テーブルを示す図である。
【図６】本発明の第１の実施の形態に係るＭＡＰによるＭＡＰ探索を説明する説明図である。
【図７】本発明の第１の実施の形態に係るＭＡＰ探索パケットを示す図である。
【図８】本発明の第１の実施の形態に係るＭＡＰ通知依頼パケットを示す図である。
【図９】本発明の第１の実施の形態に係るＭＡＰ通知パケットを示す図である。
【図１０】本発明の第１の実施の形態に係るＭＡＰ（ｉ）からのＭＡＰ通知パケット受信時のＭＡＰ（ｋ）の近隣ＭＡＰテーブル及び第２テーブルを示す図である。
【図１１】本発明の第１の実施の形態に係るＭＡＰ（ｊ）からのＭＡＰ通知パケット受信時のＭＡＰ（ｋ）の近隣ＭＡＰテーブル及び第２テーブルを示す図である。
【図１２】本発明の第１の実施の形態に係る近隣ＭＡＰ登録要請パケットを示す図である。
【図１３】本発明の第１の実施の形態に係るＭＡＰ（ｆ）の近隣ＭＡＰテーブル及び第２テーブルを示す図である。
【図１４】本発明の第１の実施の形態に係る近隣ＭＡＰ登録確認パケットを示す図である。
【図１５】本発明の第１の実施の形態に係るＭＡＰ（ｏ）を新たに配置した時の通信システムを示す図である。
【図１６】本発明の第１の実施の形態に係るＭＡＰ（ｏ）がより近隣のＭＡＰを探索する様子を示す図である。
【図１７】本発明の第１の実施の形態に係るＭＡＰ（ｏ）による登録要請以後の様子を示す図である。
【図１８】本発明の第１の実施の形態に係るＭＡＰ（ｏ）配置後の通信システムを示す図である。
【図１９】本発明の第１の実施の形態に係るＭＮによるＭＡＰ探索を説明する説明図である。
【図２０】本発明の第２の実施の形態に係るＭＡＰ（ｋ）の近隣ＭＡＰテーブル及び第２テーブルを示す図である。
【図２１】本発明の第２の実施の形態に係るＭＮの近隣ＭＡＰテーブル及び第２テーブルを示す図である。
【図２２】本発明の第２の実施の形態に係るＭＡＰによるＭＡＰ探索を説明する説明図である。
【図２３】本発明の第２の実施の形態に係るＭＡＰ探索パケットを示す図である。
【図２４】本発明の第２の実施の形態に係るカプセル化ＭＡＰ通知パケットを示す図である。
【図２５】本発明の第２の実施の形態に係るＭＡＰ（ｉ）が送信するＭＡＰ通知パケットを示す図である。
【図２６】本発明の第２の実施の形態に係るＭＡＰ（ｉ）からのＭＡＰ通知パケット受信時のＭＡＰ（ｋ）の近隣ＭＡＰテーブル及び第２テーブルを示す図である。
【図２７】本発明の第２の実施の形態に係るＭＡＰ（ｊ）が送信するＭＡＰ通知パケットを示す図である。
【図２８】本発明の第２の実施の形態に係るＭＮによるＭＡＰ探索を説明する説明図である。
【図２９】本発明の変更例に係るＭＡＰの構成を示すブロック図である。
【図３０】本発明の変更例に係るＭＮの構成を示すブロック図である。
【符号の説明】
１，３０１　ＭＡＰ
１ａ〜１ｏ　ＭＡＰ（ａ）〜ＭＡＰ（ｏ）
２　ＭＮ
２ａ，１０２ａ　ＭＮ（ａ）
２ｂ，１０２ｂ　ＭＮ（ｂ）
３，１０３　ＭＡＰ探索パケット
４ｉ，４ｊ　ＭＡＰ通知依頼パケット
５ｉ，５ｊ，１０５ｉ，１０５ｊ　ＭＡＰ通知パケット
６　近隣ＭＡＰ登録要請パケット
７　近隣ＭＡＰ登録確認パケット
１１，２１，３１１，３２１　アプリケーション部
１２，２２，３１２，３２２　ＴＣＰ／ＵＤＰ部
１３，２３，３１３，３２３　ＩＰレイヤ部
１４，２４，３１４，３２４　モビリティ制御部
１５，２５，３１５，３２５　ＮＭＤＰ部
１６，１６ａ〜１６ｏ，２６，２６ａ，２６ｂ，１１６ａ〜１１６ｏ，１２６ａ，１２６ｂ，３１６，３２６　近隣ＭＡＰテーブル
１７，１７ｋ，１７ｆ，２７，２７ａ，１１７ｋ，１２７ｋ，３１７，３２７第２テーブル
１８，２８，３１８，３２８　リンクレイヤ部
１９，２９，３１９，３２９　インターフェース
３０，３３０　ＭＡＰ選択ポリシー保持部
１０１ａ〜１０１ｏ　ＭＡＰ（ａ）〜ＭＡＰ（ｏ）
１０４ｉ，１０４ｊ　カプセル化ＭＡＰ通知パケット
【図１】
2004048503.tif 000003
【図２】
2004048503.tif 000004
【図３】
2004048503.tif 000005
【図４】
2004048503.tif 000006
【図５】
2004048503.tif 000007
【図６】
2004048503.tif 000008
【図７】
2004048503.tif 000009
【図８】
2004048503.tif 000010
【図９】
2004048503.tif 000011
【図１０】
2004048503.tif 000012
【図１１】
2004048503.tif 000013
【図１２】
2004048503.tif 000014
【図１３】
2004048503.tif 000015
【図１４】
2004048503.tif 000016
【図１５】
2004048503.tif 000017
【図１６】
2004048503.tif 000018
【図１７】
2004048503.tif 000019
【図１８】
2004048503.tif 000020
【図１９】
2004048503.tif 000021
【図２０】
2004048503.tif 000022
【図２１】
2004048503.tif 000023
【図２２】
2004048503.tif 000024
【図２３】
2004048503.tif 000025
【図２４】
2004048503.tif 000026
【図２５】
2004048503.tif 000027
【図２６】
2004048503.tif 000028
【図２７】
2004048503.tif 000029
【図２８】
2004048503.tif 000030
【図２９】
2004048503.tif 000031
【図３０】
2004048503.tif 000032