(57)【要約】【課題】高い汎用性を持って、様々な通信装置のＩＰｖ６の利用形態を把握する技術を提供する。【解決手段】通信情報検出装置２０００は、メッセージ送信部２０２０、メッセージ受信部２０４０、及びアドレス抽出部２０６０を有し、ネットワーク４０００を介してノード３０００と接続されている。メッセージ送信部２０２０は、ネットワーク４０００上に、ノード３０００が保持するＩＰｖ６アドレスに含まれていないネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信する。メッセージ受信部２０４０は、メッセージ送信部２０２０が送信したＲＡメッセージを受信したノード３０００によって送信されたＮＳメッセージを受信する。アドレス抽出部２０６０は、メッセージ受信部２０４０が受信したＮＳメッセージから、ノード３０００のレイヤ２アドレスを抽出する。【選択図】図１
2014171017.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰｖ６のプロトコルスタックを持つＩＰｖ６ノードが接続されているネットワーク上に、ネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信するメッセージ送信手段と、
前記ＲＡメッセージを受信した前記ＩＰｖ６ノードによって送信された、該ノードのレイヤ２アドレスを示すＮＳ（Neighbor Solicitation）メッセージを受信するメッセージ受信手段と、
前記ＮＳメッセージから、前記ＩＰｖ６ノードのレイヤ２アドレスを抽出するアドレス抽出手段と、
を有する通信情報検出装置。
【請求項２】
前記メッセージ送信手段が送信するＲＡメッセージは、該ＲＡメッセージを受信した前記ＩＰｖ６ノードによって、該ＲＡメッセージに基づいて生成されるＩＰｖ６アドレスの有効期間を短くさせることを特徴とする請求項１記載の通信情報検出装置。
【請求項３】
前記メッセージ送信手段が送信するＲＡメッセージは、該ＲＡメッセージを受信した前記ＩＰｖ６ノードに、該ＲＡメッセージに基づいたＩＰｖ６アドレスを保持させないことを特徴とする請求項１記載の通信情報検出装置。
【請求項４】
前記メッセージ受信手段が受信するＮＳメッセージは、前記ＲＡメッセージを受信した前記ＩＰｖ６ノードが、該ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示し、
前記ＩＰｖ６ノードに対し、前記ＮＳメッセージに示される前記ＩＰｖ６アドレスが、別のＩＰｖ６ノードによって保持されていることを擬似的に示すＮＡ（Neighbor Advertisement）メッセージを送信するアドレス無効化手段をさらに有する請求項３記載の通信情報検出装置。
【請求項５】
前記アドレス抽出手段によって抽出されたレイヤ２アドレスを含む、ＩＰｖ６ノードリストを生成するＩＰｖ６ノードリスト生成手段をさらに有する請求項１乃至４いずれか一項に記載の通信情報検出装置。
【請求項６】
前記ネットワークと通信可能に接続されているノードのレイヤ２アドレスのリストであるノードリストを格納するノードリスト格納手段と、
前記ノードリストに含まれているレイヤ２アドレスであり、かつ、前記アドレス抽出手段によって抽出されなかったレイヤ２アドレスを含む、非ＩＰｖ６ノードリストを生成する非ＩＰｖ６ノードリスト生成手段と、
をさらに有する請求項５記載の通信情報検出装置。
【請求項７】
前記ノードが送信する前記ＮＳメッセージは、前記ノードが、前記ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示しており、
前記アドレス抽出手段は、前記ノードが、前記ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを、前記ＮＳメッセージから抽出する請求項１乃至６いずれか一項に記載の通信情報検出装置。
【請求項８】
コンピュータに、通信情報検出装置として動作する機能を持たせるプログラムであって、
前記コンピュータに、
ＩＰｖ６のプロトコルスタックを持つＩＰｖ６ノードが接続されているネットワーク上に、ネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信するメッセージ送信機能と、
前記ＲＡメッセージを受信した前記ＩＰｖ６ノードによって送信された、該ノードのレイヤ２アドレスを示すＮＳ（Neighbor Solicitation）メッセージを受信するメッセージ受信機能と、
前記ＮＳメッセージから、前記ＩＰｖ６ノードのレイヤ２アドレスを抽出するアドレス抽出機能と、
を持たせるプログラム。
【請求項９】
コンピュータが、通信情報検出装置として動作する方法であって、
前記コンピュータが、ＩＰｖ６のプロトコルスタックを持つＩＰｖ６ノードが接続されているネットワーク上に、ネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信するメッセージ送信ステップと、
前記コンピュータが、前記ＲＡメッセージを受信した前記ＩＰｖ６ノードによって送信された、該ノードのレイヤ２アドレスを示すＮＳ（Neighbor Solicitation）メッセージを受信するメッセージ受信ステップと、
前記コンピュータが、前記ＮＳメッセージから、前記ＩＰｖ６ノードのレイヤ２アドレスを抽出するアドレス抽出ステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰｖ６（Internet Protocol version 6）技術に関する。
【背景技術】
【０００２】
現在、パソコンや携帯機器等の様々な端末において、既に、ＩＰｖ６がサポートされており、ネットワークには既にＩＰｖ６パケットが流れている。また、今後新たに取得されるグローバルアドレスは、ＩＰｖ６アドレスしかなく、今後、更に急速に、ネットワークのＩＰｖ６化が進むことになる。これにより、ＩＰｖ４とＩＰｖ６とが混在する環境が今後拡大していくことになる。
【０００３】
ここで、ＩＰｖ６アドレスを扱う先行技術文献として、以下に示す特許文献１〜４がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】再表２００８−０１３２１８号公報
【特許文献２】特開２００７−１２４２１６号公報
【特許文献３】特開２００７−０５３６８１号公報
【特許文献４】特開２００６−２８７２９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
現状、公衆網だけでなく、企業網等のプライベート網においても、ＩＰｖ６の利用形態が把握されていない状況にある。例えば、或るネットワーク内における各端末に関しＩＰｖ４アドレスは管理されている可能性が高いが、各端末がＩＰｖ６をサポートしているか否か、各端末がＩＰｖ６通信を行っているか否か等については、管理されていない。
【０００６】
このような状況は、ＩＰｖ６の次のような特性により説明される。まず、ＩＰｖ６では、１つのネットワークインタフェースに複数のＩＰｖ６アドレスが設定される。ＩＰｖ６アドレスには、リンクローカルスコープ、グローバルスコープ、ユニークローカルスコープ等のようなスコープが設けられており、これらスコープに応じて、リンクローカルアドレス、グローバルアドレス、ユニークローカルアドレス等のような複数のＩＰｖ６アドレスが設定される。
【０００７】
また、ＩＰｖ６には、アドレス自動設定機能がある。例えば、リンクローカルアドレスは、ＩＰｖ６プロトコルスタック起動時に、データリンク層アドレス（ＭＡＣ（Media Access Control）アドレス等）に応じて自動的に設定される。また、グローバルアドレスは、ＲＡ（Router Advertisement）やＤＨＣＰｖ６（ＩＰｖ６用のDynamic Host Configuration Protocol）に応じて、自動的に設定される。その他、ＩＰｖ６アドレスは手動でも設定可能である。更に、ＩＰｖ６アドレスは、状態管理されており、ＲＦＣ（Request for Comments）３０４１で定義されるテンポラリアドレスのように更新されるアドレスや、期限切れで捨てられるアドレスも存在し得る。
【０００８】
このように、ＩＰｖ６環境では、各通信装置には、ユーザが意図しない状態で、複数のＩＰｖ６アドレスがそれぞれ設定され、設定されたＩＰｖ６アドレスが時間に応じて更新される。従って、ＩＰｖ６の利用形態を正確に把握することは非常に困難である。
【０００９】
しかしながら、このような非管理状態のままでＩＰｖ６の導入が進めば、或る種の混沌状態に陥る可能性がある。このような混沌状態では、通信不可、通信遅延等の通信障害が発生する可能性がある。例えば、ＩＰｖ４からＩＰｖ６へ移行するために、各端末の通信スタックは、ＩＰｖ６通信を優先実行し、ＩＰｖ６通信に失敗した場合に、ＩＰｖ４通信を行うというフォールバック処理を行う。このフォールバック処理では、通常、ＩＰｖ６通信の失敗と判断するのに待ち時間が設定されるため、これにより通信遅延が生じることになる。
【００１０】
従って、ＩＰｖ６導入において、上述のような混沌状態を正しく整理し、通信障害の影響を低減させることが重要となる。即ち、ネットワーク内のＩＰｖ６の利用形態を正しく把握することが重要となる。但し、この把握にあたり、非検出側に多くの制約を設けたのでは、現状の膨大な数かつ様々な形態のネットワークに対応することができなくなってしまう。非検出側への制約には、例えば、非検出側となる各通信装置への機能追加や機能修正の必要性、ネットワーク形態の条件等がある。
【００１１】
本発明は、このような点を考慮してなされたものであり、高い汎用性を持って、様々な通信装置のＩＰｖ６の利用形態を把握する技術を提供する。
【課題を解決するための手段】
【００１２】
本発明が提供する通信情報検出装置は、ＩＰｖ６のプロトコルスタックを持つＩＰｖ６ノードが接続されているネットワーク上に、ネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信するメッセージ送信手段と、前記ＲＡメッセージを受信した前記ＩＰｖ６ノードによって送信された、該ノードのレイヤ２アドレスを示すＮＳ（Neighbor Solicitation）メッセージを受信するメッセージ受信手段と、前記ＮＳメッセージから、前記ＩＰｖ６ノードのレイヤ２アドレスを抽出するアドレス抽出手段を有する。
【００１３】
本発明が提供するプログラムは、コンピュータに、通信情報検出装置として動作する機能を持たせるプログラムである。当該プログラムは、前記コンピュータに、本発明が提供する通信情報検出装置の各機能構成部が有する機能を持たせる。
【００１４】
本発明が提供する方法は、コンピュータが、通信情報検出装置として動作する方法である。当該方法は、前記コンピュータが、ＩＰｖ６のプロトコルスタックを持つＩＰｖ６ノードが接続されているネットワーク上に、ネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信するメッセージ送信ステップと、前記コンピュータが、前記ＲＡメッセージを受信した前記ＩＰｖ６ノードによって送信された、該ノードのレイヤ２アドレスを示すＮＳ（Neighbor Solicitation）メッセージを受信するメッセージ受信ステップと、前記コンピュータが、前記ＮＳメッセージから、前記ＩＰｖ６ノードのレイヤ２アドレスを抽出するアドレス抽出ステップを有する。
【発明の効果】
【００１５】
上記各態様によれば、高い汎用性を持って、様々な通信装置のＩＰｖ６の利用形態を把握する技術を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態１に係る通信情報検出装置を示すブロック図である。
【図２】ＩＰｖ６ルータがＲＡメッセージを送信する様子を概念的に示す図である。
【図３】ＩＰｖ６ノードが行うＤＡＤ処理を概念的に示す図である。
【図４】ＩＰｖ６ノードが行うＤＡＤ処理を概念的に示す図である。
【図５】通信情報検出装置がＲＡメッセージを送信する様子を概念的に示す図である。
【図６】実施形態１の通信情報検出装置のハードウエア構成の例を示すブロック図である。
【図７】実施形態１の通信情報検出装置によるＯｎｅ−ｓｈｏｔ  ＲＡ処理の流れを示すフローチャートである。
【図８】実施形態２に係る通信情報検出装置を示すブロック図である。
【図９】実施形態２の通信情報検出装置の動作を概念的に示す図である。
【図１０】実施形態２の通信情報検出装置によるＯｎｅ−ｓｈｏｔ  ＲＡ処理の流れを示すフローチャートである。
【図１１】実施形態３に係る通信情報検出装置を示すブロック図である。
【図１２】実施形態３の通信情報検出装置によるＯｎｅ−ｓｈｏｔ  ＲＡ処理の流れを示すフローチャートである。
【図１３】実施形態４に係る通信情報検出装置を示すブロック図である。
【図１４】実施形態４の通信情報検出装置によるＯｎｅ−ｓｈｏｔ  ＲＡ処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１８】
[実施形態１] 
図１は、実施形態１に係る通信情報検出装置２０００を示すブロック図である。図１において、矢印は情報の流れを示している。図１において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【００１９】
＜想定環境＞
通信情報検出装置２０００は、ネットワーク４０００に接続されている。ネットワーク４０００は、有線で構成されるネットワークでもよいし、無線で構成されるネットワークでもよいし、有線と無線とが混在して構成されるネットワークでもよい。
【００２０】
通信情報検出装置２０００は、ネットワーク４０００を介して、ノード３０００と通信可能に接続されている。ここで、ノードとは、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、サーバマシン、又は携帯型計算機などの計算機を指す。また、ノードは、物理的な計算機であってもよいし、仮想的な計算機であってもよい。仮想的な計算機は、例えば仮想マシンである。
【００２１】
ノード３０００は、ＩＰｖ６プロトコルスタックを持つ。以下、ＩＰｖ６プロトコルスタックを持つノードを、ＩＰｖ６ノードと表記する。したがって、ノード３０００は、ＩＰｖ６ノードである。ノード３０００は、複数存在してもよい。
【００２２】
ＩＰｖ６のプロトコルスタックを持つノード３０００は、ＩＰｖ６アドレスの生成、及び保持ができる。「ＩＰｖ６ノードがＩＰｖ６アドレスを保持する」とは、そのＩＰｖ６ノードが、そのＩＰｖ６アドレスを利用し、ネットワーク４０００上の別のノード、ルータ、又は通信情報検出装置２０００などと通信可能であることを意味する。
【００２３】
ＩＰｖ６アドレスは、ネットワークプレフィックスを含むアドレスである。２０００：０００１：００００：０００ＡというＩＰｖ６アドレスは、例えば２０００：０００１というネットワークプレフィックスを含んでいる。ネットワークプレフィックスは、ＯＳＩ（Open Systems Interconnection）参照モデルのネットワーク層（レイヤ３）レベルにおけるサブネットワークの識別子である。ネットワークプレフィックスが共通しているＩＰｖ６アドレスをそれぞれ持つ各ノードは、レイヤ３レベルで同じサブネットワークに属している。
【００２４】
ノード３０００は、レイヤ２アドレスが割り当てられたネットワークインタフェースを備える。ノード３０００は、このネットワークインタフェースを介して、ネットワーク４０００と接続されている。以下、ノード３０００が、あるレイヤ２アドレスを割り当てられているネットワークインタフェースを備えていることを、ノード３０００が、そのレイヤ２アドレスを保持しているとも表記する。
【００２５】
ノード３０００は、複数のネットワークインタフェースを有してもよい。ノード３０００が複数のネットワークインタフェースを有する場合、ノード３０００は、各ネットワークインタフェースのレイヤ２アドレスを保持する。したがってこの場合、ノード３０００は、複数のレイヤ２アドレスを保持する。
【００２６】
ここで、レイヤ２アドレスは、ＯＳＩ参照モデルのデータリンク層（レイヤ２）で扱われるアドレスである。レイヤ２アドレスは、例えばイーサネット（登録商標）プロトコルにおけるＭＡＣアドレスである。
【００２７】
ノード３０００が備えるネットワークインタフェースは、物理的なネットワークインタフェースであってもよいし、仮想的なネットワークインタフェースであってもよい。例えば、仮想的なネットワークインタフェースは、仮想マシンが備える仮想ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００２８】
上述した想定環境の下、通信情報検出装置２０００は、ネットワーク４０００上の各ノードによるＩＰｖ６の利用形態を検出する。具体的には、通信情報検出装置２０００は、ＩＰｖ６プロトコルスタックを有するノード（ノード３０００）を検出することで、ネットワーク４０００上の、どのノードによって、ＩＰｖ６が利用されているかを割り出す。
【００２９】
ここで、上述したように、各ノード３０００は、レイヤ２アドレスを保持している。そこで、通信情報検出装置２０００は、ノード３０００が保持するレイヤ２アドレスを検出することで、ノード３０００を検出する。
【００３０】
以下、通信情報検出装置２０００が、ＩＰｖ６プロトコルスタックを有するノード３０００を検出する処理を、Ｏｎｅ−ｓｈｏｔ  ＲＡ処理と表記する。ここで、ノードがＩＰｖ６プロトコルを有することは、そのノードが、ＩＰｖ６を利用して通信を行うことができることを意味する。したがって、Ｏｎｅ−ｓｈｏｔ  ＲＡ処理は、ネットワーク４０００上のノードの中から、ＩＰｖ６を利用して通信可能であるノードを検出する処理であるとも言い換えられる。
【００３１】
＜メッセージ送信部２０２０＞
通信情報検出装置２０００は、メッセージ送信部２０２０を有する。メッセージ送信部２０２０は、ネットワーク４０００上に、ノード３０００が保持するＩＰｖ６アドレスに含まれていないネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信する。具体的には、通信情報検出装置２０００は、このＲＡメッセージを、レイヤ２レベルでブロードキャストする。
【００３２】
ＲＡメッセージは、ＩＰｖ６プロトコルで規定されている。ＲＡメッセージは、例えばＩＰｖ６パケットのルーティングを行うルータによって利用される。以下、ＩＰｖ６パケットのルーティングを行うルータを、ＩＰｖ６ルータと表記する。
【００３３】
ＩＰｖ６ルータは、自身が管理するサブネットワークのネットワークプレフィックスを示すＲＡメッセージを、レイヤ２レベルでブロードキャストする。こうすることで、ＩＰｖ６ルータは、そのＩＰｖ６ルータと通信可能なノードに対し、そのＩＰｖ６ルータが管理しているサブネットワークのネットワークプレフィックスを通知する。
【００３４】
メッセージ送信部２０２０が送信するＲＡメッセージは、ノード３０００が、ＮＳ（Neighbor Solicitation）メッセージを送信することを誘発する。具体的には、ノード３０００は、メッセージ送信部２０２０が送信したＲＡメッセージを受信すると、ＮＳメッセージを、レイヤ２レベルでブロードキャストする。ノード３０００のレイヤ２アドレスは、ＮＳメッセージのソースアドレスとして格納されている。ＲＡメッセージによって、ノード３０００によるＮＳメッセージの送信が誘発される理由は、後述する。
【００３５】
＜メッセージ受信部２０４０＞
通信情報検出装置２０００は、メッセージ受信部２０４０を有する。メッセージ受信部２０４０は、メッセージ送信部２０２０が送信したＲＡメッセージを受信したノード３０００によって送信されたＮＳメッセージを受信する。
【００３６】
＜アドレス抽出部２０６０＞
通信情報検出装置２０００は、アドレス抽出部２０６０を有する。アドレス抽出部２０６０は、メッセージ受信部２０４０が受信したＮＳメッセージから、ノード３０００のレイヤ２アドレスを抽出する。上述したように、ノード３０００のレイヤ２アドレスは、ノード３０００が送信したＮＳメッセージに、ソースアドレスとして格納されている。そこで、メッセージ受信部２０４０は、受信したＮＳメッセージから、ソースアドレスとして格納されているレイヤ２アドレスを抽出する。
【００３７】
＜ＲＡメッセージによるＮＳメッセージ送信の誘発＞
上述したように、メッセージ送信部２０２０が送信するＲＡメッセージは、ノード３０００によるＮＳメッセージの送信を誘発する。以下、その理由を説明する。
【００３８】
ＩＰｖ６ノードは、ＲＡメッセージを受信した場合に、受信したＲＡメッセージが示すネットワークプレフィックスを含むＩＰｖ６アドレスを自動生成する機能を持つ。この機能は、ＳＬＡＡＣ（Stateless Address Autoconfiguration）機能と呼ばれる。
【００３９】
さらに、ＩＰｖ６ノードは、新たなＩＰｖ６アドレスを生成した後、そのＩＰｖ６アドレスを保持する前に、そのＩＰｖ６アドレスが他のノードによって保持されていないことを確認する処理を行う。この処理は、ＤＡＤ（Duplicate Address Detection）処理と呼ばれる。ＤＡＤ処理を行うことで、ＩＰｖ６ノードは、他のＩＰｖ６ノードと同じＩＰｖ６アドレスを保持することを避ける。
【００４０】
具体的には、ＤＡＤ処理は、以下に示す処理である。まず、ＤＡＤ処理を行うＩＰｖ６ノードは、新たに生成したＩＰｖ６アドレスを示すＮＳメッセージを、レイヤ２レベルでブロードキャストする。ＮＳメッセージは、ＩＰｖ６で規定されているメッセージである。上記ＩＰｖ６ノードは、上記ＩＰｖ６アドレスを、上記ＮＳメッセージに、ターゲットアドレスとして格納する。
【００４１】
ＮＳメッセージを受信したＩＰｖ６ノードは、ＮＳメッセージが示すＩＰｖ６アドレスと、そのＩＰｖ６ノードが保持しているＩＰｖ６アドレスが同一であるか否かを確認する。ＮＳメッセージを受信したＩＰｖ６ノードが保持するＩＰｖ６アドレスと、ＮＳメッセージが示すＩＰｖ６アドレスが同一である場合、このＩＰｖ６ノードは、ＮＳメッセージを送信したＩＰｖ６ノードに対して、ＮＡ（Neighbor Advertisement）メッセージを送信する。ＮＡメッセージは、ＩＰｖ６で規定されている。
【００４２】
ＤＡＤ処理を行うＩＰｖ６ノードは、他のＩＰｖ６ノードからＮＡメッセージを受信した場合、生成したＩＰｖ６アドレスが、他のＩＰｖ６ノードによって保持されていると判断する。その結果、ＤＡＤ処理を行うＩＰｖ６ノードは、生成したＩＰｖ６アドレスを保持しない。
【００４３】
一方、ＤＡＤ処理を行うＩＰｖ６ノードは、例えばＮＳメッセージを送信してから所定時間が経過しても、他のＩＰｖ６ノードからＮＡメッセージを受信しない場合、生成したＩＰｖ６アドレスが、他のＩＰｖ６ノードによって保持されていないと判断する。その結果、ＤＡＤ処理を行うＩＰｖ６ノードは、生成したＩＰｖ６アドレスを保持する。
【００４４】
図２は、ＩＰｖ６ルータがＲＡメッセージを送信する様子を概念的に示す図である。図２において、ＩＰｖ６ルータは、ＲＡメッセージをレイヤ２レベルでブロードキャストする。ノード１〜ノード４は、このＲＡメッセージを受信する。そして、ノード１〜ノード４はそれぞれ、ＤＡＤ処理のために、ＮＳメッセージを、レイヤ２レベルでブロードキャストする。
【００４５】
図３及び図４は、ＩＰｖ６ノードが行うＤＡＤ処理を概念的に示す図である。図３は、あるＩＰｖ６ノードが生成したＩＰｖ６アドレスが、他のＩＰｖ６ノードによって保持されている場合におけるＤＡＤ処理を示している。ノード１は、新たなＩＰｖ６アドレスとして、ＩＰｖ６アドレスＸを生成する。そして、ノード１は、ＩＰｖ６アドレスＸが、他のＩＰｖ６ノードによって保持されていないことを確かめるために、ＤＡＤ処理を行う。具体的には、ノード１は、ターゲットアドレスにＩＰｖ６アドレスＸを格納したＮＳメッセージを、レイヤ２レベルでブロードキャストする。 
【００４６】
ノード１と同じネットワークに接続されているノード２〜ノード４はそれぞれ、ノード１が送信したＮＳメッセージを受信する。ここで、ノード２は、ノード１がＤＡＤ処理を行う前から、ＩＰｖ６アドレスＸを保持しているノードである。したがって、ノード２は、ノード１からＮＳメッセージを受信した後、ノード１に対してＮＡメッセージを送信する。
【００４７】
ノード１は、ノード２からＮＡメッセージを受信する。これにより、ノード１は、生成したＩＰｖ６アドレスＸが、他のノードによって保持されていると判断する。その結果、ノード１は、ＩＰｖ６アドレスＸを保持しないことを決定する。
【００４８】
一方、図４は、あるＩＰｖ６ノードが生成したＩＰｖ６アドレスが、他のＩＰｖ６ノードによって保持されていない場合のＤＡＤ処理を示している。図３と同様に、ノード１は、ＩＰｖ６アドレスＸを生成した後、ターゲットアドレスにＩＰｖ６アドレスＸを格納したＮＳメッセージを、レイヤ２レベルでブロードキャストする。
【００４９】
図４の場合、ノード２〜ノード４は、ＩＰアドレスＸを保持していない。そのため、ノード１は、所定時間が経過しても、ＮＡメッセージを受信しない。これにより、ノード１は、ＩＰｖ６アドレスＸが、他のノードによって保持されていないと判断する。その結果、ノード１は、ＩＰｖ６アドレスＸを保持することを決定する。
【００５０】
以上のように、ＩＰｖ６ノードは、ＲＡメッセージを受信すると、ＳＬＡＡＣ機能によって、ＲＡメッセージが示すネットワークプレフィックスを含む新たなＩＰｖ６アドレスを生成する。さらに、ＩＰｖ６ノードは、生成したＩＰｖ６アドレスが、他のＩＰｖ６ノードによって保持されていないことを確かめるために、ＮＳメッセージを送信するＤＡＤ処理を行う。ここで、ノード３０００は、ＩＰｖ６ノードであるため、ＲＡメッセージを受信すると、上述した一連の動作をする。
【００５１】
そこで、通信情報検出装置２０００は、メッセージ送信部２０２０によって、ＲＡメッセージを、レイヤ２レベルでブロードキャストする。こうすることで、通信情報検出装置２０００は、ＲＡメッセージを受信したノード３０００が、新たなＩＰｖ６アドレスを生成した後に、そのＩＰｖ６アドレスを示すＮＳメッセージを送信することを誘発する。このように、メッセージ送信部２０２０が送信するＲＡメッセージは、ノード３０００にＮＳメッセージを送信させる「呼び水」となる。そして、通信情報検出装置２０００は、メッセージ受信部２０４０によって、ノード３０００が送信したＮＳメッセージを受信する。
【００５２】
図５は、通信情報検出装置２０００がＲＡメッセージを送信する様子を概念的に示す図である。図５において、通信情報検出装置２０００は、ＲＡメッセージを、レイヤ２レベルでブロードキャストする。ＲＡメッセージを受信したノード１〜ノード４はそれぞれ、ＤＡＤ処理のためのＮＳメッセージを、レイヤ２レベルでブロードキャストする。通信情報検出装置２０００は、これらのＮＳメッセージを受信する。
【００５３】
＜ＲＡメッセージが示すネットワークプレフィックス＞
通信情報検出装置２０００は、ノード３０００によるＮＳメッセージの送信を誘発することを目的として、ＲＡメッセージを送信する。したがって、メッセージ送信部２０２０が送信するＲＡメッセージが示すネットワークプレフィックスは、ＩＰｖ６ルータが管理するサブネットワークのプレフィックスとして用いられない、非実用的な値であることが好ましい。
【００５４】
そこで、例えばメッセージ送信部２０２０は、ノード３０００によって保持されていないと推測されるネットワークプレフィックスを、ＲＡが示すネットワークプレフィックスとする。
【００５５】
メッセージ送信部２０２０が、ノード３０００が保持するＩＰｖ６アドレスに含まれていないネットワークプレフィックスを推測する方法は様々である。例えば、通信情報検出装置２０００は、ネットワーク４０００上のＩＰｖ６ルータが管理するサブネットワークのネットワークプレフィックス以外のネットワークプレフィックスが、ノード３０００が保持するＩＰｖ６アドレスに含まれていないネットワークプレフィックスであると推測する。
【００５６】
前述したように、ＩＰｖ６ノードは、通信可能に接続されているＩＰｖ６ルータから、そのルータが管理するサブネットワークのネットワークプレフィックスを示すＲＡメッセージを受信する。そして、ＩＰｖ６ノードは、受信したＲＡメッセージが示すネットワークプレフィックスを含むＩＰｖ６アドレスを生成する。したがって、ノード３０００は、ネットワーク４０００上のＩＰｖ６ルータが管理するサブネットワークのネットワークプレフィックスを含むＩＰｖ６アドレスを生成し、保持していると考えられる。
【００５７】
そこで通信情報検出装置２０００は、例えばネットワーク４０００上の各ＩＰｖ６ルータが通知したネットワークプレフィックスを記憶する。そして、通信情報検出装置２０００は、ネットワーク４０００上のＩＰｖ６ルータによって通知されたネットワークプレフィックス以外のネットワークプレフィックスは、ノード３０００が保持するＩＰｖ６アドレスに含まれていないと推測する。
【００５８】
その他にも例えば、メッセージ送信部２０２０は、ノード３０００が保持するＩＰｖ６アドレスに含まれていないと推測されるネットワークプレフィックスを示す情報を、外部から取得してもよい。上記情報の入力は、手動による入力であってもよいし、別の装置からの入力であってもよい。また、メッセージ送信部２０２０は、ノード３０００が保持するＩＰｖ６アドレスに含まれていると推測されるネットワークプレフィックスの情報を、外部から取得してもよい。この場合、メッセージ送信部２０２０は、取得した情報に含まれていないネットワークプレフィックスが、ノード３０００によって使用されていないネットワークプレフィックスであると推測する。
【００５９】
また、メッセージ送信部２０２０は、ＲＡが示すネットワークプレフィックスとして用いる値を、外部から取得してもよい。この値の入力は、手動による入力であってもよいし、別の装置からの入力であってもよい。
【００６０】
＜ハードウエア構成＞
図６は、実施形態１に係る通信情報検出装置２０００のハードウエア構成の例を示すブロック図である。図６において、通信情報検出装置２０００は、バス１０２０、ＣＰＵ１０４０、ＲＡＭ１０６０、ストレージ１０８０、ネットワークインタフェース１１００を有する。
【００６１】
バス１０２０は、ＣＰＵ１０４０、ＲＡＭ１０６０、ストレージ１０８０、及びネットワークインタフェース１１００が相互に情報を送受信するための伝送路である。
【００６２】
ネットワークインタフェース１１００は、ネットワーク４０００を介してノード３０００と通信を行うネットワークインタフェースである。ネットワークインタフェース１１００は、無線回線を接続するネットワークインタフェースでもよいし、有線回線を接続するネットワークインタフェースでもよい。
【００６３】
ＣＰＵ１０４０は、メッセージ送信モジュール１２２０を実行することで、メッセージ送信部２０２０の機能を実現する。ＣＰＵ１０４０は、メッセージ受信モジュール１２４０を実行することで、メッセージ受信部２０４０の機能を実現する。ＣＰＵ１０４０は、アドレス抽出モジュール１２６０を実行することで、アドレス抽出部２０６０の機能を実現する。
【００６４】
メッセージ送信モジュール１２２０、メッセージ受信モジュール１２４０、及びアドレス抽出モジュール１２６０は、例えばストレージ１０８０に格納される。そして、上記各モジュールは、ＣＰＵ１０４０により、例えばＲＡＭ１０６０に読み出される。ここで、上記各モジュールは、ＲＡＭ１０６０に格納されていてもよい。また、通信情報検出装置２０００がＲＯＭを有する場合、上記各モジュールは、そのＲＯＭに格納されていてもよい。
【００６５】
ストレージ１０８０は、例えばハードディスク、ＵＳＢメモリ、又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの記憶装置である。また、ストレージ１０８０は、ＲＡＭやＲＯＭ等の記憶装置であってもよい。
【００６６】
＜Ｏｎｅ−ｓｈｏｔ  ＲＡ処理の流れ＞
図７は、実施形態１の通信情報検出装置２０００によるＯｎｅ−ｓｈｏｔ  ＲＡ処理の流れの例を示すフローチャートである。
【００６７】
ステップＳ１０２において、メッセージ送信部２０２０は、ＲＡメッセージを送信する。
【００６８】
ステップＳ１０４〜ステップＳ１１０は、所定時間が経過するまで繰り返し行うループ処理Ａである。ステップＳ１０４において、通信情報検出装置２０００は、所定時間が経過したか否かを判定する。所定時間が経過した場合、Ｏｎｅ−ｓｈｏｔ  ＲＡ処理は終了する。所定時間が経過していない場合、Ｏｎｅ−ｓｈｏｔ  ＲＡ処理は、ステップＳ１０６に進む。
【００６９】
ステップＳ１０６において、メッセージ受信部２０４０は、ＮＳメッセージを受信する。ステップＳ１０８において、アドレス抽出部２０６０は、ＮＳメッセージから、レイヤ２アドレスを抽出する。
【００７０】
ステップＳ１１０は、ループ処理Ａの終端である。Ｏｎｅ−ｓｈｏｔ  ＲＡ処理は、ステップＳ１０４に戻る。
【００７１】
実施形態１の通信情報検出装置２０００が行うＯｎｅ−ｓｈｏｔ  ＲＡ処理は、図７のフローチャートに示す処理に限られない。例えば、ステップＳ１０４において、ループ処理Ａを継続する条件は、別の条件でもよい。例えば通信情報検出装置２０００は、所定の数のＮＳメッセージを受信した場合に、ループ処理Ａを終了してもよい。また、上述した各ステップの順番は、処理に矛盾が生じない範囲で変更されてもよい。
【００７２】
＜作用・効果＞
以上のように、本実施形態の通信情報検出装置２０００は、ＩＰｖ６ルータによって利用されることを想定して規定されているＲＡメッセージを、元来の目的とは異なる目的で利用する。ＩＰｖ６ルータは、自身が管理するサブネットワークのネットワークプレフィックスを、ＩＰｖ６ノードに通知することを目的として、ＲＡメッセージを送信する。したがって、ＩＰｖ６ルータは、このＲＡメッセージを受信したＩＰｖ６ノードから、ＮＳメッセージを受信することを目的としていない。
【００７３】
一方、通信情報検出装置２０００は、ＲＡメッセージを受信したＩＰｖ６ノードによるＮＳメッセージの送信を誘発し、ＩＰｖ６ノードからＮＳメッセージを受信することを目的として、ＲＡメッセージを利用する。こうすることで、通信情報検出装置２０００は、ＮＳメッセージが示すＩＰｖ６ノードのレイヤ２アドレスを抽出する。
【００７４】
通信情報検出装置２０００によれば、ネットワーク４０００上のＩＰｖ６ノードのレイヤ２アドレスが、１つのＲＡメッセージを契機として収集される。したがって、通信情報検出装置２０００を利用すると、ネットワーク４０００上のノードによるＩＰｖ６の利用形態を把握するために必要な時間が短い。
【００７５】
また、通信情報検出装置２０００を利用すると、ネットワーク４０００上のノードによるＩＰｖ６の利用形態を収集する際に、ネットワーク４０００にかかる通信負荷が小さい。
【００７６】
さらに、通信情報検出装置２０００を利用すると、ネットワーク４０００上のノードによるＩＰｖ６の利用形態を把握するために必要な計算機リソースが少ない。
【００７７】
また、一般に、ＲＡメッセージを受信した場合に、そのＲＡメッセージに基づいて新たなＩＰｖ６アドレスを生成するＩＰｖ６ノードは、ＲＡメッセージが示す情報に基づいて、デフォルトルータを設定する。ここで、デフォルトルータを設定するＩＰｖ６ノードは、ルータを超えた外部のネットワークと通信できるＩＰｖ６ノードであると考えられる。そこで、通信情報検出装置２０００は、アドレス抽出部２０６０によってＮＳメッセージからレイヤ２アドレスを抽出することで、ルータを超えた外部のネットワークと通信できるＩＰｖ６ノードを検出してもよい。通信情報検出装置２０００を利用することで、ルータを超えた外部と通信可能なノード３０００を、短い時間で把握することができる。
【００７８】
＜変形例１−１＞
実施形態１の通信情報検出装置２０００のメッセージ送信部２０２０が生成するＲＡメッセージは、このＲＡメッセージを受信したノード３０００によって生成されるＩＰｖ６アドレスの有効期間を短くさせるという特徴を有してもよい。メッセージ送信部２０２０が生成するＲＡメッセージが上記の特徴を有する実施形態１の通信情報検出装置２０００を、変形例１−１の通信情報検出装置２０００と表記する。ここで、ＩＰｖ６アドレスの有効期間とは、通信情報検出装置２０００が、そのＩＰｖ６アドレスを保持する期間である。
【００７９】
通信情報検出装置２０００がＲＡメッセージを送信する目的は、ノード３０００によるＮＳメッセージを誘発することである。そのため、通信情報検出装置２０００がノード３０００を検出した後、そのノード３０００は、上記ＲＡメッセージに基づいて新たに生成したＩＰｖ６アドレスを保持しなくてよい。
【００８０】
そこで、上記ＲＡメッセージに基づいてノード３０００が新たに生成したＩＰｖ６アドレスは、ノード３０００によって保持されないか、もしくは、ノード３０００によって保持される期間が短いことが好ましい。
【００８１】
そこで、変形例１−１のメッセージ送信部２０２０は、ＲＡメッセージを受信したノード３０００によって生成したＩＰｖ６アドレスが、ノード３０００によって保持される期間（有効期間）が短くなるようにする。
【００８２】
例えばメッセージ送信部２０２０は、送信するＲＡメッセージのルータライフタイム（router lifetime）に、短い時間を設定する。ルータライフタイムが示す時間は、ＲＡメッセージが示すネットワークプレフィックスが有効である期間の長さを示す。ここで、ＩＰｖ６ノードは、ＩＰｖ６アドレスに含まれるネットワークプレフィックスが有効である間、そのＩＰｖ６アドレスを保持する。そのため、メッセージ送信部２０２０は、送信するＲＡメッセージのルータライフタイムに短い時間を設定することで、ノード３０００がこのＲＡメッセージに基づいて生成したＩＰｖ６アドレスの有効期間を短くする。
【００８３】
＜作用・効果＞
変形例１−１の通信情報検出装置２０００を利用することで、ノード３０００が、通信情報検出装置２０００から受信したＲＡメッセージに基づいて生成したＩＰｖ６アドレスを、長期間保持しないようにすることができる。
【００８４】
＜変形例１−２＞
通信情報検出装置２０００のメッセージ送信部２０２０が生成するＲＡメッセージは、このＲＡメッセージを受信したノード３０００に、このＲＡメッセージに基づいたＩＰｖ６アドレスを保持させないという特徴を有してもよい。メッセージ送信部２０２０が生成するＲＡメッセージが上記の特徴を持つ実施形態１の通信情報検出装置２０００を、変形例１−２の通信情報検出装置２０００と表記する。
【００８５】
メッセージ送信部２０２０は、例えば上述した、ＲＡメッセージに示すルータライフタイムに０を設定する。ルータライフタイムに０が設定されたＲＡメッセージは、このＲＡメッセージを送信した装置がデフォルトルータでないことを示す。この場合、このＲＡメッセージを受信したＩＰｖ６ノードは、このＲＡメッセージに基づくＩＰｖ６アドレスを保持しない。
【００８６】
＜作用・効果＞
変形例１−２の通信情報検出装置２０００を利用することで、ノード３０００が、通信情報検出装置２０００から受信したＲＡメッセージに基づいて生成したＩＰｖ６アドレスを、保持しないようにすることができる。
【００８７】
＜変形例１−３＞
実施形態１の通信情報検出装置２０００のアドレス抽出部２０６０は、メッセージ受信部２０４０が受信したＮＳメッセージが示すＩＰｖ６アドレスを抽出してもよい。アドレス抽出部２０６０がこの機能を有する実施形態１の通信情報検出装置２０００を、変形例１−３の通信情報検出装置２０００と表記する。
【００８８】
＜作用・効果＞
変形例１−３の通信情報検出装置２０００を利用することで、ネットワーク４０００上のノードによるＩＰｖ６の利用形態を、さらに詳細に把握することが出来る。ここで、ＩＰｖ６アドレスは、ネットワークプレフィックスに加え、インタフェースＩＤを含む。したがって、変形例１−３の通信情報検出装置２０００は、ノード３０００が送信したＮＳメッセージによって示されるＩＰｖ６アドレスを抽出することで、ノード３０００が生成したＩＰｖ６アドレスのインタフェースＩＤを抽出することが出来る。これにより、ノード３０００がＩＰｖ６アドレスにどのようなインタフェースＩＤを用いるかを把握できるため、ノード３０００によるＩＰｖ６アドレスの生成方法の特徴を把握することができる。
【００８９】
その他にも、ノード３０００が保持しているその他のＩＰｖ６アドレスを取得することで、例えばノード３０００が保持する複数のＩＰｖ６アドレスに共通する特徴を把握することができる。
【００９０】
[実施形態２]
図８は、実施形態２に係る通信情報検出装置２０００を示すブロック図である。ここで、図８に示す機能構成部のうち、図１に同符号の機能構成部が示されている機能構成部は、図１における同符号の機能構成部と同様の機能を有する。また、図８において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【００９１】
実施形態２のメッセージ受信部２０４０が受信するＮＳメッセージは、メッセージ送信部２０２０によって送信されたＲＡメッセージを受信したノード３０００が、このＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示している。具体的には、上記ＩＰｖ６アドレスは、ＮＳメッセージのターゲットアドレスに格納されている。
【００９２】
実施形態２の通信情報検出装置２０００は、アドレス無効化部２０８０を有する。アドレス無効化部２０８０は、ノード３０００から受信したＮＳメッセージによって示されるノード３０００のＩＰｖ６アドレスが、別のノードによって保持されていることを擬似的に示すＮＡメッセージを、ノード３０００に対して送信する。こうすることで、アドレス無効化部２０８０は、ノード３０００が、上記ＩＰｖ６アドレスを保持しないようにする。ここで、上記の「擬似的に」とは、ＮＳメッセージによって示されるＩＰｖ６アドレスを保持しているＩＰｖ６ノードが実際に存在するか否かに関係ないということを意味する。
【００９３】
図９は、実施形態２の通信情報検出装置２０００の動作を概念的に示す図である。通信情報検出装置２０００のメッセージ送信部２０２０は、ＲＡメッセージを、レイヤ２レベルでブロードキャストする。ノード１〜４はそれぞれ、このＲＡメッセージを受信する。そして、ノード１〜４は、このＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示すＮＳメッセージを、レイヤ２レベルでブロードキャストする。通信情報検出装置２０００のメッセージ受信部２０４０は、ノード１〜４が送信したＮＳメッセージをそれぞれ受信する。そして、通信情報検出装置２０００のアドレス無効化部２０８０は、ノード１〜４それぞれに対し、ＮＡメッセージを送信する。ＮＡメッセージを受信したノード１〜４は、ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを保持することができないと判断する。
【００９４】
＜Ｏｎｅ−ｓｈｏｔ  ＲＡ処理の流れ＞
図１０は、実施形態２の通信情報検出装置２０００が行うＯｎｅ−ｓｈｏｔ  ＲＡ処理の流れの一例である。図１０のフローチャートは、ステップＳ２０２を有することを除いて、図７のフローチャートと同様である。
【００９５】
ステップＳ２０２は、ステップＳ１０８の後に行われる。ステップＳ２０２において、アドレス無効化部２０８０は、ステップＳ１０６で受信したＮＳメッセージを送信したノード３０００に対して、ＮＡメッセージを送信する。
【００９６】
＜作用・効果＞
実施形態２の通信情報検出装置２０００を利用することで、ノード３０００が、通信情報検出装置２０００から受信したＲＡメッセージに基づいて生成したＩＰｖ６アドレスを、保持しないようにすることができる。
【００９７】
[実施形態３]
図１１は、実施形態３に係る通信情報検出装置２０００を示すブロック図である。ここで、図１１に示す機能構成部のうち、図１に同符号の機能構成部が示されている機能構成部は、図１における同符号の機能構成部と同様の機能を有する。また、図１１において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【００９８】
実施形態３の通信情報検出装置２０００は、ＩＰｖ６ノードリスト生成部２１００を有する。ＩＰｖ６ノードリスト生成部２１００は、ＩＰｖ６ノードリストを生成する。ＩＰｖ６ノードリストは、アドレス抽出部２０６０によって抽出されたノード３０００のレイヤ２アドレスを示すリストである。
【００９９】
＜Ｏｎｅ−ｓｈｏｔ  ＲＡ処理の流れ＞
図１２は、実施形態２の通信情報検出装置２０００が行うＯｎｅ−ｓｈｏｔ  ＲＡ処理の流れの一例である。図１２のフローチャートは、ステップＳ３０２及びＳ３０４を有することを除いて、図７のフローチャートと同様である。
【０１００】
ステップＳ３０２は、例えばステップＳ１０２の前に行われる。ただし、ステップＳ３０２は、ステップＳ３０４より前であれば、どの時点で行われてもよい。ステップＳ３０２において、ＩＰｖ６ノードリスト生成部２１００は、空のＩＰｖ６ノードリストを生成する。
【０１０１】
ステップＳ３０４は、ステップＳ１０８の後に行われる。ステップＳ３０４において、ＩＰｖ６ノードリスト生成部２１００は、ステップＳ１０８で抽出したレイヤ２アドレスを、ＩＰｖ６ノードリストに追加する。
【０１０２】
＜作用・効果＞
実施形態３の通信情報検出装置２０００を利用することで、ネットワーク４０００上のＩＰｖ６ノードのリストを取得することができる。
【０１０３】
[実施形態４]
図１３は、実施形態４に係る通信情報検出装置２０００を示すブロック図である。ここで、図１３に示す機能構成部のうち、図１１において同符号の機能構成部が示されている機能構成部は、図１１における同符号の機能構成部と同様の機能を有する。また、図１３において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
【０１０４】
実施形態４の通信情報検出装置２０００は、ノードリスト２１２０及び非ＩＰｖ６ノードリスト生成部２１４０を有する。
【０１０５】
ノードリスト格納部２１２０は、ノードリストを格納する。ノードリストは、ネットワーク４０００上の各ノードが保持するレイヤ２アドレスのリストである。
【０１０６】
非ＩＰｖ６ノードリスト生成部２１４０は、非ＩＰｖ６ノードリストを生成する。非ＩＰｖ６ノードリストは、ネットワーク４０００上のノードのうち、ＩＰｖ６ノード以外のノードのリストである。非ＩＰｖ６ノードリスト生成部２１４０は、ノードリストに示されるレイヤ２アドレスのうち、ＩＰｖ６ノードリスト生成部２１００が生成したＩＰｖ６ノードリストに含まれていないレイヤ２アドレスのリストを、非ＩＰｖ６ノードリストとして生成する。
【０１０７】
＜Ｏｎｅ−ｓｈｏｔ  ＲＡ処理の流れ＞
図１４は、実施形態４の通信情報検出装置２０００が行うＯｎｅ−ｓｈｏｔ  ＲＡ処理の流れの一例である。図１４のフローチャートは、ステップＳ４０２を有することを除いて、図１２のフローチャートと同様である。
【０１０８】
ステップＳ４０２は、ステップＳ１１０の後に行われる。ステップＳ４０２において、非ＩＰｖ６ノードリスト生成部２１４０は、非ＩＰｖ６ノードリストを生成する。
【０１０９】
＜作用・効果＞
実施形態４の通信情報検出装置２０００を利用することで、ネットワーク４０００上のノードが、ＩＰｖ６プロトコルスタックを有するノードと、ＩＰｖ６プロトコルスタックを有しないノードに分類される。さらに、ＩＰｖ６プロトコルスタックを有するノードのリストと、ＩＰｖ６プロトコルスタックを有しないノードのリストをそれぞれ取得することができる。
【０１１０】
以下、参考形態の例を付記する。
１．ＩＰｖ６のプロトコルスタックを持つＩＰｖ６ノードが接続されているネットワーク上に、ネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信するメッセージ送信手段と、
前記ＲＡメッセージを受信した前記ＩＰｖ６ノードによって送信された、該ノードのレイヤ２アドレスを示すＮＳ（Neighbor Solicitation）メッセージを受信するメッセージ受信手段と、
前記ＮＳメッセージから、前記ＩＰｖ６ノードのレイヤ２アドレスを抽出するアドレス抽出手段と、
を有する通信情報検出装置。
２．前記メッセージ送信手段が送信するＲＡメッセージは、該ＲＡメッセージを受信した前記ＩＰｖ６ノードによって、該ＲＡメッセージに基づいて生成されるＩＰｖ６アドレスの有効期間を短くさせることを特徴とする１．に記載の通信情報検出装置。
３．前記メッセージ送信手段が送信するＲＡメッセージは、該ＲＡメッセージを受信した前記ＩＰｖ６ノードに、該ＲＡメッセージに基づいたＩＰｖ６アドレスを生成させないことを特徴とする１．に記載の通信情報検出装置。
４．前記メッセージ受信手段が受信するＮＳメッセージは、前記ＲＡメッセージを受信した前記ＩＰｖ６ノードが、該ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示し、
前記ＩＰｖ６ノードに対し、前記ＮＳメッセージに示される前記ＩＰｖ６アドレスが、別のＩＰｖ６ノードによって保持されていることを擬似的に示すＮＡ（Neighbor Advertisement）メッセージを送信するアドレス無効化手段をさらに有する３．に記載の通信情報検出装置。
５．前記アドレス抽出手段によって抽出されたレイヤ２アドレスを含む、ＩＰｖ６ノードリストを生成するＩＰｖ６ノードリスト生成手段をさらに有する１．乃至４．いずれか１つに記載の通信情報検出装置。
６．前記ネットワークと通信可能に接続されているノードのレイヤ２アドレスのリストであるノードリストを格納するノードリスト格納手段と、
前記ノードリストに含まれているレイヤ２アドレスであり、かつ、前記アドレス抽出手段によって抽出されなかったレイヤ２アドレスを含む、非ＩＰｖ６ノードリストを生成する非ＩＰｖ６ノードリスト生成手段と、
をさらに有する５．に記載の通信情報検出装置。
７．前記ノードが送信する前記ＮＳメッセージは、前記ノードが、前記ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示しており、
前記アドレス抽出手段は、前記ノードが、前記ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを、前記ＮＳメッセージから抽出する１．乃至６．いずれか１つに記載の通信情報検出装置。
８．コンピュータに、通信情報検出装置として動作する機能を持たせるプログラムであって、
前記コンピュータに、
ＩＰｖ６のプロトコルスタックを持つＩＰｖ６ノードが接続されているネットワーク上に、ネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信するメッセージ送信機能と、
前記ＲＡメッセージを受信した前記ＩＰｖ６ノードによって送信された、該ノードのレイヤ２アドレスを示すＮＳ（Neighbor Solicitation）メッセージを受信するメッセージ受信機能と、
前記ＮＳメッセージから、前記ＩＰｖ６ノードのレイヤ２アドレスを抽出するアドレス抽出機能と、
を持たせるプログラム。
９．前記メッセージ送信機能が送信するＲＡメッセージは、該ＲＡメッセージを受信した前記ＩＰｖ６ノードによって、該ＲＡメッセージに基づいて生成されるＩＰｖ６アドレスの有効期間を短くさせることを特徴とする８．に記載のプログラム。
１０．前記メッセージ送信機能が送信するＲＡメッセージは、該ＲＡメッセージを受信した前記ＩＰｖ６ノードに、該ＲＡメッセージに基づいたＩＰｖ６アドレスを保持させないことを特徴とする８．記載のプログラム。
１１．前記メッセージ受信機能が受信するＮＳメッセージは、前記ＲＡメッセージを受信した前記ＩＰｖ６ノードが、該ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示し、
前記コンピュータに、前記ＩＰｖ６ノードに対し、前記ＮＳメッセージに示される前記ＩＰｖ６アドレスが、別のＩＰｖ６ノードによって保持されていることを擬似的に示すＮＡ（Neighbor Advertisement）メッセージを送信するアドレス無効化機能をさらに持たせる１０．に記載のプログラム。
１２．前記コンピュータに、前記アドレス抽出機能によって抽出されたレイヤ２アドレスを含む、ＩＰｖ６ノードリストを生成するＩＰｖ６ノードリスト生成機能をさらに持たせる８．乃至１１．いずれか１つに記載のプログラム。
１３．前記コンピュータに、
前記ネットワークと通信可能に接続されているノードのレイヤ２アドレスのリストであるノードリストを格納するノードリスト格納機能と、
前記ノードリストに含まれているレイヤ２アドレスであり、かつ、前記アドレス抽出機能によって抽出されなかったレイヤ２アドレスを含む、非ＩＰｖ６ノードリストを生成する非ＩＰｖ６ノードリスト生成機能と、
をさらに持たせる１２．記載のプログラム。
１４．前記ノードが送信する前記ＮＳメッセージは、前記ノードが、前記ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示しており、
前記アドレス抽出機能は、前記ノードが、前記ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを、前記ＮＳメッセージから抽出する８．乃至１３．いずれか１つに記載のプログラム。
１５．コンピュータが、通信情報検出装置として動作する方法であって、
前記コンピュータが、ＩＰｖ６のプロトコルスタックを持つＩＰｖ６ノードが接続されているネットワーク上に、ネットワークプレフィックスを示すＲＡ（Router Advertisement）メッセージを送信するメッセージ送信ステップと、
前記コンピュータが、前記ＲＡメッセージを受信した前記ＩＰｖ６ノードによって送信された、該ノードのレイヤ２アドレスを示すＮＳ（Neighbor Solicitation）メッセージを受信するメッセージ受信ステップと、
前記コンピュータが、前記ＮＳメッセージから、前記ＩＰｖ６ノードのレイヤ２アドレスを抽出するアドレス抽出ステップと、
を有する方法。
１６．前記メッセージ送信ステップが送信するＲＡメッセージは、該ＲＡメッセージを受信した前記ＩＰｖ６ノードによって、該ＲＡメッセージに基づいて生成されるＩＰｖ６アドレスの有効期間を短くさせることを特徴とする１５．に記載の方法。
１７．前記メッセージ送信ステップが送信するＲＡメッセージは、該ＲＡメッセージを受信した前記ＩＰｖ６ノードに、該ＲＡメッセージに基づいたＩＰｖ６アドレスを保持させないことを特徴とする１５．に記載の方法。
１８．前記メッセージ受信ステップが受信するＮＳメッセージは、前記ＲＡメッセージを受信した前記ＩＰｖ６ノードが、該ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示し、
前記コンピュータが、前記ＩＰｖ６ノードに対し、前記ＮＳメッセージに示される前記ＩＰｖ６アドレスが、別のＩＰｖ６ノードによって保持されていることを擬似的に示すＮＡ（Neighbor Advertisement）メッセージを送信するアドレス無効化ステップをさらに有する１７．記載の方法。
１９．前記コンピュータが、前記アドレス抽出ステップによって抽出されたレイヤ２アドレスを含む、ＩＰｖ６ノードリストを生成するＩＰｖ６ノードリスト生成ステップをさらに有する１５．乃至１８．いずれか１つに記載の方法。
２０．前記コンピュータが、前記ネットワークと通信可能に接続されているノードのレイヤ２アドレスのリストであるノードリストを格納するノードリスト格納ステップと、
前記コンピュータが、前記ノードリストに含まれているレイヤ２アドレスであり、かつ、前記アドレス抽出ステップによって抽出されなかったレイヤ２アドレスを含む、非ＩＰｖ６ノードリストを生成する非ＩＰｖ６ノードリスト生成ステップと、
をさらに有する１９．記載の方法。
２１．前記ノードが送信する前記ＮＳメッセージは、前記ノードが、前記ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを示しており、
前記アドレス抽出ステップは、前記ノードが、前記ＲＡメッセージに基づいて生成したＩＰｖ６アドレスを、前記ＮＳメッセージから抽出する１５．乃至２０．いずれか１つに記載の方法。
【符号の説明】
【０１１１】
１０２０ バス
１０４０ ＣＰＵ
１０６０ ＲＡＭ
１０８０ ストレージ
１１００ ネットワークインタフェース
１２２０ メッセージ送信モジュール
１２４０ メッセージ受信モジュール
１２６０ アドレス抽出モジュール
２０００ 通信情報検出装置
２０２０ メッセージ送信部
２０４０ メッセージ受信部
２０６０ アドレス抽出部
２０８０ アドレス無効化部
２１００ ＩＰｖ６ノードリスト生成部
２１２０ ノードリスト格納部
２１４０ 非ＩＰｖ６ノードリスト生成部
３０００ ノード
４０００ ネットワーク
【図１】
2014171017.tif 000003
【図２】
2014171017.tif 000004
【図３】
2014171017.tif 000005
【図４】
2014171017.tif 000006
【図５】
2014171017.tif 000007
【図６】
2014171017.tif 000008
【図７】
2014171017.tif 000009
【図８】
2014171017.tif 000010
【図９】
2014171017.tif 000011
【図１０】
2014171017.tif 000012
【図１１】
2014171017.tif 000013
【図１２】
2014171017.tif 000014
【図１３】
2014171017.tif 000015
【図１４】
2014171017.tif 000016