JP2006345347A - 通信装置、ネットワーク構成調査方法、およびプログラム - Google Patents

通信装置、ネットワーク構成調査方法、およびプログラム Download PDF

Info

Publication number
JP2006345347A
JP2006345347A JP2005170627A JP2005170627A JP2006345347A JP 2006345347 A JP2006345347 A JP 2006345347A JP 2005170627 A JP2005170627 A JP 2005170627A JP 2005170627 A JP2005170627 A JP 2005170627A JP 2006345347 A JP2006345347 A JP 2006345347A
Authority
JP
Japan
Prior art keywords
router
packet
network
investigation
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005170627A
Other languages
English (en)
Inventor
Takeshi Kokado
健 古門
Hector Akamine
エクトル アカミネ
Keiichi Takagaki
景一 高垣
Koji Kubota
幸司 久保田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005170627A priority Critical patent/JP2006345347A/ja
Publication of JP2006345347A publication Critical patent/JP2006345347A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】DoS攻撃の危険性を低下させた安全な宅内ネットワークの構成を調査できるようにしたい。
【解決手段】宅内ネットワークの構成調査を行う通信装置は、TTLを変化させたルータ調査用パケットを生成し、前記ルータ調査用パケットの送信先を切り替える調査用パケット作成部と、前記ルータ調査用パケットに対応してルータから返信されるICMPパケットから前記ルータのアドレスを取得する受信パケット解析部と、前記受信パケット解析部から情報を取得し、前記ルータ調査用パケット作成部を制御し、ネットワークの調査を施す制御部と、前記ルータ調査用パケットおよびICMPパケットを送受信するパケット送受信部を備える。
【選択図】図1

Description

本発明は、複数の通信装置がNATデバイスを通じて1つのグローバルアドレスを共有する家庭内などのローカルネットワーク(以下、宅内ネットワークと称す)において、ローカルネットワークを構成するルータのアドレス情報を安全に調査する通信装置に関するものである。
インターネットへのブロードバンドアクセスの普及で、家庭内においても複数の通信装置がインターネットに接続することが普通になってきた。
通常、家庭において契約するISP(Internet Service Provider)から割り当てられるIPアドレスは1つである。このため、家庭内の複数の通信装置が同時に直接インターネットに接続することはできない。実際には、複数の通信装置をインターネットに接続する際には、各通信装置が接続される宅内ネットワークとISPへのアクセス回線をNAT(Network Address Translation)機能を搭載したルータを介して接続するのが一般的である。この場合、各通信装置は、ISPから割り当てられたIPアドレスを共有して利用することにより、インターネットへ接続することが可能となる。
[NAT機能のメカニズムの説明]
一般のNAT機能搭載ルータはLAN側とWAN側という2つの通信インターフェースを備える。通常、LAN側インターフェースにはプライベートアドレスが割当てられ、ローカルネットワークに接続される。一方、WAN側インターフェースには、グローバルアドレスが割当てられ、インターネットのようなグローバルアドレス空間のネットワークに接続される。NAT機能搭載ルータのLAN側のローカルネットワークに接続される1つ以上の通信装置はNAT機能搭載ルータのWAN側アドレスを共有することで、WAN側通信インターフェースを通じてアクセスできるネットワークとの間でデータを送受信できる。
NAT機能搭載ルータはLAN側に接続される複数の通信装置によりWAN側アドレスが共有できるように、中継するデータパケットの送信先または送信元情報を変換するアドレス変換機能を持つ。また、変換するアドレスの対応付けを管理するアドレス変換テーブルを持つ。
NAT機能による変換方法は、アドレス情報だけを変換するものと、アドレスに加えてポート情報を変換するもの(NATと区別してNAPTと呼ぶこともある)の2種類ある。以降は後者について述べるが、前者のメカニズムもポート番号が変換されないことを除いて同様である。
図13(A)にNAT機能のメカニズムを説明するための、典型的なネットワーク構成を示す。あるNAT機能搭載ルータRのLAN側通信インターフェースにTAとTBという2つの通信装置が接続され、RのWAN側通信インターフェースはインターネットに接続され、TAとTBはインターネットにあるサーバSと通信する場面を仮定する。RのLAN側通信インターフェースのアドレスをRLadd、WAN側インターフェースアドレスをRWaddとする。TAとTBは宅内でしか利用できないプライベートアドレスAadd、Baddを、SはグローバルアドレスSaddをそれぞれ保有する。
まず、TAがはじめてSにデータパケットを送信する場合の処理について説明する。このとき、TAが送信するパケットの送信元アドレスはAaddであり、送信元ポートがPA1であるとする。RはこのパケットをLAN側インターフェースから受信し、パケットヘッダの送信元アドレスをRWaddに、送信元ポートをRが現在使用していないポート番号PA2に変換し、WAN側インターフェースを通じてSに中継する。また、Rはこのような変換の識別できる情報(プロトコル、送信先アドレスとポート番号、送信元アドレスとポート番号)を持つエントリを図13(B)のように自身のアドレス変換テーブルに追加する。このように生成されたアドレス変換テーブルにおけるエントリをNATマッピングと称する。以降、TAは同じ送信元ポートから同じ送信先アドレスSに同じプロトコルを用いるパケットを送った場合、該当エントリは同じであるため、エントリを新しく追加する必要はない。
次に、上記パケットを受け取ったSがTAにパケットを返信する際の処理について説明する。Sがデータパケットを受信して、返信パケットを送信する場合、パケットヘッダの送信先アドレスはRWadd、送信先ポート番号はPA2となる。RはSからのパケットをWAN側インターフェースで受信し、パケットのプロトコル、送信元アドレスとポート番号、送信先ポート番号情報を用いて、アドレス変換テーブルを参照する。TAがSに送信した時に生成されたエントリが該当するので、このエントリの情報を用いて、パケットヘッダの送信先アドレスとポートをそれぞれAaddとPA1に変更し、LAN側インターフェースを通じてTAに中継する。このようにして、NAT機能搭載ルータはプライベートアドレスを保有する通信装置とWAN側ネットワークとの間の通信を可能にする。
また、TBはSにデータパケットを送信する場合、上記と同様のメカニズムにより、Rがパケットのアドレス変換とアドレス変換テーブルのエントリ(変換後の送信元ポート番号としてPA2以外のポート番号を使用)を追加する。このようにして、NAT機能搭載ルータは複数の通信装置で1つのアドレスを共有できることを可能にする。
なお、上記のように追加されたアドレス変換テーブルのエントリは有効期限があり、NAT機能搭載ルータはしばらく(通常は30秒程度)このエントリに該当するパケットを中継しなければ、エントリを削除する。
[NAT機能搭載ルータにおけるNATマッピングの設定]
上記の説明から分かるように、NAT機能搭載ルータのWAN側インターフェースからのパケットがLAN側インターフェースまで通過するためには、事前にNATマッピングの生成が必要となる。すなわち、上記のメカニズムだけを利用する場合、TAからSへのパケットを事前に送出しなければ、SからTAへデータを送ることができない。
インターネット電話などのようなアプリケーションにおいては、LAN側通信インターフェースから事前にデータを送信することなく、WAN側通信インターフェースからのパケットをLAN側通信インターフェースが接続しているローカルネットワーク内の通信装置に中継しなければならないことがある。このような通信ができるための方法として、NAT機能搭載ルータに静的NATマッピングという設定をNAT機能搭載ルータに手動で行うという方法がある。静的NATマッピングを設定することにより、NAT機能搭載ルータのWAN側インターフェースから、特定のプロトコル、送信先アドレスとしてルータアドレス、送信先ポートとして特定のポート番号を持つパケットを、LAN側通信インターフェースの特定のホストに中継させることができる。また、UPnPなどのようなプロトコルを用いて、ローカルネットワーク内の通信装置からルータのLAN側インターフェースに適切なUPnPメッセージを送ることで、同様の設定ができる方法もある。
[宅内におけるルータの多段構成および宅内構成の監視の必要性]
ここまでは、宅内に存在するNAT機能搭載ルータが1つであることを前提に説明してきたが、実際には宅内ネットワークにおいて、複数のNAT機能搭載ルータが多段構成(直列接続)になることがある。例えば、無線装置を利用するため、有線専用のNAT機能搭載ルータのLAN側通信インターフェースに、無線ルータ(NAT機能搭載)を接続するというケースが挙げられる。また、複数の家庭が1つのグローバルアドレスを共有する集合住宅のネットワークにおいて、各家庭内にNAT機能搭載ルータを設置するケースも挙げられる。
家庭内のネットワークにおいて、NAT機能搭載ルータが多段構成となっている場合も、外部から通信を開始する場合がある一部のアプリケーション(インターネット電話における着信など)を利用する場合、各ルータを手動やUPnPなどで設定する必要があることは既に述べた。また、一度設定を行ったとしても、家庭内でのルータの置き換え、追加などが行なわれた場合、新たに導入されたルータではNATマッピングが未設定であるため、外部からの通信が行なえなくなるという問題がある。
そのため、上記のような問題の発生を検出する必要がある。すなわち、家庭内の通信装置は家庭内のNAT機能搭載ルータの構成を監視する必要がある。具体的には、宅内ネットワークのNAT機能搭載ルータアドレス情報を取得し、変化しているかどうかを検出する。家庭内の通信装置は宅内NAT機能搭載ルータの構成の変化を検出できれば、ユーザに新たに導入されたルータへの設定を促したり、または自動的にルータの設定を行ったりすることが可能となる。
なお、ここではグローバルアドレス空間を持つネットワークから宅内ネットワークの装置への通信のために宅内ネットワーク構成を調査する場合について述べたが、本発明はその他の目的のために宅内ネットワークの構成を調査する場合にも利用可能である。
[従来技術]
ネットワークの構成の変化を検出する方法として、特許文献1がある。ここでは、tracerouteを用いて、ネットワーク構成を調査することによりルータの障害を検出する方法が開示されている。
tracerouteはネットワーク接続に関する問題の原因を調べるためによく使われるプログラムである。tracerouteを利用すると、このプログラムが実行される通信装置からある特定の通信装置へ送られるデータパケットの使用する経路、すなわち、データパケットが経由する各ルータのアドレス、を得ることができる。
tracerouteプログラムが各ルータのアドレスを取得する仕組みについて以下で説明する。IPパケットはTTL(time to live:有効期限)というフィールドを有する。通信経路上の各ルータはIPパケットを中継する際、TTLフィールドの値を1つ減少させ、その結果の値がゼロ以外であればパケットを宛先への経路上の次のルータに中継する。値がゼロであれば、そのパケットを破棄し、送信元にICMP time exceeded(ICMP時間超過)というエラーメッセージを送る。tracerouteではこのICMPメッセージの送信元アドレスから各中継ルータのアドレスを知ることができる。
ある特定のホストに向けてtracerouteを実行すると、プログラムはそのホストにTTLを1から1つずつ増加させた調査用のデータパケットを送出する。これにより、宛先までの通信経路情報の各ルータから、ICMP time exceededメッセージを受け取ることができ、これらのルータのアドレス情報を取得できる。TTLの値は十分に大きくなると、調査用のパケットが送信先に到着してしまい、この場合送信先からICMP port unreachableというメッセージを送られ、tracerouteはこれを受信すると調査を終了する。
特許文献1では、監視端末からローカルエリアネットワーク内の端末に向けてtracerouteを実行し、その中継ルータが変更された(すなわち、ルータ障害により通信経路が変更された)ことを検出することにより障害の発生したルータを特定している。
また、特許文献1の他に、宅内端末がtracerouteをインターネット上のサーバに対して行なうことによって、宅内ネットワーク構成の変化を検出する従来技術がある。ここでは、宅内端末は定期的に特定のサーバに向けてtracerouteを実行して、宅内端末とサーバの間の各ルータのアドレス情報を取得することで宅内のルータ構成を監視している。
特開2002−111665号公報
しかし、特許文献1の方法は、ルータの障害を検出することが目的のため、あらかじめ定められたローカルエリアネットワーク内の端末に対してtracerouteを実行する。このため、本発明の目的の1つである新たなルータ追加時のルータの検出に利用することはできない。
また、インターネット上の特定のサーバに定期的にtracerouteを実行する方法では、DoS攻撃の危険性が発生するという問題がある。この問題が発生する仕組みを以下に説明する。まず、tracerouteの実行で、定期的に既知のアドレスを持つサーバに調査用のデータパケットを送ることとなり、上記のNAT機能の説明に記載した通り、宅内のNAT機能搭載ルータのアドレス変換テーブルでの該当エントリが半永久的に保持され続ける。このため、送信元アドレスとしてサーバアドレス、送信先アドレスとして宅内の端末をヘッダに持つ宅外から送られたデータパケットはNAT機能搭載ルータを通過し、宅内の端末に到着できるようになる。悪意の第3者は、サーバになりすまして、送信元アドレスとしてサーバのアドレスを持つパケットを大量に宅内の端末へ送ると、DoS攻撃を実行することができる。サーバアドレスは既知であるため、悪意の第3者がこのような攻撃を行なうことは比較的容易である。
上記DoS攻撃の問題を防止するため、グローバルアドレス空間ネットワークにあるサーバに向けて調査パケットを送信することなく、例えば図2の構成例のルータB250のように、グローバルアドレスネットワークに接続している宅内のルータに向けて調査パケットを送信することを考えられる。しかし、この場合だと、ルータBの上位に新しく宅内ルータが追加された時の構成の変更が検出できない。
本発明では、新たにルータが追加された場合にも適用可能で、かつDoS攻撃の危険性を低下させた、ネットワーク構成調査装置を提供する。
本発明の請求項1に係る通信装置は、第1のネットワークと第1のネットワークと異なる第2のネットワークを接続するルータを含む第1のネットワークにおいて、第1のネットワークに接続され、ルータ調査用パケットを第1のネットワーク上のルータに対して送出し、ルータ調査用パケットを受信したルータから送出されるルータ調査用パケットに対する応答パケットにより、第1のネットワークの構成を調査する通信装置であって、応答パケットの内容に応じて、ルータ調査用パケットの作成を制御し、ネットワークの調査を施す制御部と、ルータ調査用パケットの送信先を切り替える送信切り替え部と、送信先切り替え部が選んだルータ調査用パケットの送信先または応答パケットから取得したルータのアドレスを記憶する記憶部と、を備えている。
本構成によって、前記ルータ調査用パケットの送信先を切り替えることで、宅内ネットワークのルータにおいて半永久的なNATマッピングを生成されなくなり、DoS攻撃のリスクを軽減することができる。
本発明の請求項2に係る通信装置は、請求項1に記載の通信装置であって、制御部は、第1のネットワーク調査を定期的に行う。
本構成によって、宅内ネットワークの構成の調査を定期的に行うことでルータの入れ替えなどの宅内ネットワーク構成の変更を調査間隔の粒度で検出することができる。
本発明の請求項3に係る通信装置は、請求項1に記載の通信装置であって、第1および第2のネットワークはIP(インターネットプロトコル)ネットワークであって、応答パケットはICMP(Internet Control Message Protocol)パケットであって、制御部は、TTL(Time to Live)を変化させた前記ルータ調査用パケットの作成を制御する。
本構成によって、本発明はIPネットワークで使用する既存のプロトコルで実施でき、新しいプロトコルの作成は不要である。
本発明の請求項4に係る通信装置は、請求項3に記載の通信装置であって、第1のネットワークはプライベートアドレスを利用するネットワークであり、第2のネットワークはグローバルアドレスを利用するネットワークであって、制御部は、ルータ調査用パケットのTTLを1つずつ増加させるように指示し調査を行って、制御部は、応答パケットから取得したルータのアドレスから、送信したルータ調査用パケットが第2のネットワークまで届いたことを判別したら、第1のネットワークの構成の調査を終了する。
本構成によって、TTLを徐々に増加してルータ調査用パケットを送信することで、通信装置と第2ネットワークの間の全ての宅内ルータアドレスを取得でき、さらにルータ調査用パケットの送出をできるだけ宅内ネットワーク(第1のネットワーク)に限定して、第2のネットワークに存在し得る悪意の第3者によりルータ調査用パケットのなりすましの可能性を軽減し、ルータ調査用パケットの情報を攻撃のために使われる可能性を低くすることができる。
本発明の請求項5に係る通信装置は、請求項1に記載の通信装置であって、第1のネットワークはプライベートアドレスを利用するネットワークであり、第2のネットワークはグローバルアドレスを利用するネットワークであって、制御部は、送信先切り替え部に、送信するルータ調査用パケットの送信先をグローバルアドレスの集合から選んで切り替えるように指示し調査を行う。
本構成によって、ルータ調査用パケットの送信先をグローバルアドレスの集合から選択して切り替え、不特定の相手に送信することなく、予めネットワーク調査の目的で利用することを許されたアドレスにのみ送信することで、無関係のホストに攻撃と誤解されるような調査パケットを送信しない。
本発明の請求項6に係る通信装置は、請求項1また請求項2に記載の通信装置であって、制御部は、進行中または以前の第1のネットワークの構成の調査において、応答パケットから取得したルータのアドレスまたは送信先切り替え部が選んだ送信先に基づいて、送信先切り替え部に送信するルータ調査用パケットの送信先を選んで切り替えるように指示し調査を行う。
本構成によって、今まで検出した宅内ネットワークの部分の構成によりルータ調査用パケットの送信先を選ぶことで、残りの部分の構成をより効率的に調査することができる。また、悪意の第3者からの攻撃の可能性を軽減するために、以前の宅内ネットワーク調査で使われたルータ調査用パケットの宛先を考慮して、今回のルータ調査用パケットの宛先を選択できる。
本発明の請求項7に係る通信装置は、請求項6に記載の通信装置であって、制御部は、送信先切り替え部に送信するルータ調査用パケットの送信先をアドレス空間の除外集合に属さないアドレスから選んで切り替えるようにして、送信する指示処理と、応答パケットの送信元のアドレスが、応答パケットに対応するルータ調査用パケットの送信先と同じアドレス空間であれば、アドレス空間を除外集合に追加する除外集合更新処理を繰り返し行う。
本構成によって、今まで検出した宅内ネットワークの部分の構成によりルータ調査用パケットの送信先を適切なプライベートアドレスにすることで、ルータ調査用パケットの送信先として攻撃を受けやすいグローバルアドレスを宛先としたNATマッピングを生成せずに、宅内ネットワークの全体の構成を調査することができる。
本発明の請求項8に係るネットワーク調査方法は、第1のネットワークと前記第1のネットワークと異なる第2のネットワークを接続するルータを含む前記第1のネットワークにおいて、第1のネットワークに接続され、ルータ調査用パケットを用いて第1のネットワークを調査する通信装置が行う方法であって、複数のルータ調査用パケットを生成し、ルータ調査用パケットの送信先を切り替え、送信するステップと、ルータ調査用パケットに対応してルータから返信される応答パケットからルータのアドレスを取得するステップとを備える。
本発明の請求項9に係るプログラムは、第1のネットワークと前記第1のネットワークと異なる第2のネットワークを接続するルータを含む前記第1のネットワークにおいて、第1のネットワークに接続され、ルータ調査用パケットを用いて第1のネットワークを調査する処理を実行するプログラムであって、複数のルータ調査用パケットを生成し、ルータ調査用パケットの送信先を切り替え、送信するステップと、ルータ調査用パケットに対応してルータから返信される応答パケットからルータのアドレスを取得するステップとを備える。
本発明の通信装置によれば、NAT機能搭載ルータにおいてDoS攻撃に使われやすいNATマッピングを生成しなくても、宅内ネットワークのルータアドレス情報を取得することができる。
(実施の形態1)
以下本発明の実施の形態1について、図面を参照しながら説明する。
図2は、本発明の実施の形態1における第1のネットワークの構成を示している。
図2において、第1のネットワークであるところの宅内ネットワーク210内にルータA240とルータB250があり、ルータA240とルータB250はNAT機能を搭載している。ルータB250が第2のネットワークであるところのインターネット220との境界に配置されており、このルータB250が、グローバルアドレスを用いて通信を行うインターネット220内のルータC260との間で接続を行うことにより、宅内ネットワーク210とインターネット220との接続が確立される。ルータB250は、LAN側通信インターフェース252とWAN側通信インターフェース251を有しており、LAN側通信インターフェース252にはプライベートアドレスが割り当てられ、WAN側通信インターフェース251にはグローバルアドレスが割り当てられている。ルータCは通信インターフェース262を介してルータB251と接続している。
宅内ネットワーク210内には、ルータA240が配置されており、LAN側通信インターフェース242及びWAN側通信インターフェース241にはプライベートアドレスが割り当てられている。ルータA240には、本発明の通信装置100が接続されている。通信装置100は通信インターフェース111を有する。
ルータA240のLAN側通信インターフェース242に割当てられているIPアドレスと通信装置100の通信インターフェース111に割当てられるIPアドレスは、同じアドレス空間245に属する(すなわち、ネットワークアドレスが同じである)。同じく、ルータA240のWAN側通信インターフェースとルータB250のLAN側通信インターフェースに割当てられているIPアドレスは同じアドレス空間255に属する。
通信装置100は宅内ネットワーク210を調査する本発明の通信装置である。
図1は、通信装置100の構成を示している。この通信装置100は、各機能部に処理の指示を行う制御部101、ルータを調査するためのパケット(ルータ調査用パケット)を作成して送信指示を行うルータ調査用パケット作成部102、ルータ調査用パケット作成部102が作成するルータ調査用パケットの送信先を切り替える送信先切り替え部107、ルータ調査用パケットに対してルータから送信されたICMPパケットを解析し、各ルータのアドレスを把握する受信パケット解析部103、送信先切り替え部107が選んだ送信先および受信パケット解析部103が取得したルータのアドレスを記憶する記憶部106、通信部105に対してパケットの送信処理を指示し、通信部105で受信したパケットを解析し、受信パケットに対応する機能部へ引き渡すパケット送受信部104、通信インターフェース機能を内蔵しネットワークへのパケット送受信を可能とする通信部105を備えている。図1においては、送信切り替え部107は制御部101の構成の一部であると示すが、そうではなくてもよい。
図3は、本実施の形態における通信装置100が実行するネットワーク構成調査用パケットの送受信処理シーケンスを示している。簡単に本シーケンスで行なう処理の概要を説明する。まず、本発明の通信装置100は宅内ネットワークに存在しないアドレス空間のプライベートアドレス向けに調査パケットを送信する(なお、グローバルアドレス宛に調査パケットを送信する方法については、実施の形態2において説明する)。宅内ルータに到着する調査用パケットの送信先がLAN側インターフェースのアドレス空間に属しないため、宅内ルータは調査パケットを受信すると、WAN側インターフェースを介して直接接続されている上位のルータに中継しようとする。このようにして、宅内ネットワークに存在しないアドレス空間のアドレス向けに調査パケットを送信することで、通信装置100はインターネットに送信するパケットが通過する宅内ネットワークのルータ情報を取得できる。しかし、予め宅内ネットワークにおいてどのアドレス空間が存在するか分からないため、試行錯誤による方法を行う必要がある。本シーケンスの詳細な処理について次に説明する。
図3で示す具体的な送受信処理は以下のように実行される。
まず、通信装置100の制御部101が、記憶部106に記憶されている調査用の変数の初期化を行う(S301)。ここではmaxTTLとExcLstという変数を用いる。maxTTLはルータ調査用パケットの有効期限を制限するための変数である。ExcLstは調査パケットの宛先除外リストであり、調査を行う時に調査パケットの宛先として用いるべきではないアドレス空間の集合を保管する変数である。通信装置100は直接接続されている上位のルータA240の情報を常に所有しているため、調査をその上のルータから開始するように、maxTTLを2で初期化する。また、通信装置100が属するアドレス空間245を除外アドレスリストExcLstに登録する。これにより、調査パケットの宛先にはアドレス空間245上のIPアドレスが設定されることはない。それゆえ、調査パケットを受信したルータA240は、調査パケットをWAN側インターフェース241から送出する。
次に、通信装置100の制御部101は、送信先切り替え部107に調査パケットの送信先を選ぶように指示する(S302)。送信先切り替え部107は、送信先を、制御部101が設定したExcLst変数に載っているアドレス空間に属しないアドレスにする。送信先アドレスとして、例えばIANA(Internet Assigned Numbers Authority)が規定しているプライベートのネットワークアドレスのリストを作成し、リストからExcLstに載っているネットワークアドレスを外し、リストの冒頭のエントリに属するホストアドレスにすることができるが、別の選択方法を用いてもよい。また、制御部101が、ルータ調査用パケット作成部102に調査パケットを生成するように指示する(S302)。ルータ調査用パケット作成部102は、ルータ調査用パケットの有効期限を制御部101が設定したmaxTTL変数の値にし、送信先を送信先切り替え部107が選んだ送信先にし、ルータ調査用パケットを作成する。
ルータ調査用パケット作成部102は調査用パケットを作成した後、パケット送受信部104にパケット送信を依頼する。パケット送受信部104は、通信部105を通じて、ルータ調査用パケットを送信する。
パケット送受信部104が調査用パケットを送信した後、返信されるICMPメッセージにより、制御部101は調査の次のステップを決定する(S303、S304)。
ステップS303においては、通信装置100の制御部101はまず、調査用パケットの送信に対してICMP time exceededメッセージが返信されたかを確認する。ICMP time exceededメッセージが返信されなかった場合、以下2つの理由がある:
理由1:調査用パケットの送信先アドレスは宅内ネットワークのアドレス空間245または255に属する(ICMP port unreachableメッセージが返信された場合を含む)
理由2:ルータが動作していなかったり、ネットワークと接続していなかったりなど異常な状態
理由1であった場合、調査用パケットの送信先アドレスを変更すれば、調査を続けることができるが、理由2であった場合、これ以上調査ができないため、調査を終了する。また、このときユーザにネットワーク構成に異常があることを通知してもよい。
上記の理由を判別するために、通信装置100は、ステップS302の説明で記載されている方法を用いて、異なるアドレス空間(サブネット)に属する2つのプライベートアドレス向けにルータ調査用パケットを送信する。これにより、少なくとも1つのルータ調査用パケットの送信先が調査中の宅内ルータのLAN側アドレス空間と重ならないことにし、正常な状態の場合、必ずICMP time exceededメッセージが返ってくる。通信装置100が異なる2つのプライベートアドレスにルータ調査用パケットを連続送信しても、ICMP time exceededメッセージが返ってこない場合が、理由2であって、2回連続で返ってこないかどうかを判別するためにfailというフラグを用いる。調査用パケットの1回目の送信に対してICMP time exceededメッセージが返信されなかった場合、制御部101はfailフラグをセットし(S307)、使用した送信先アドレスのアドレス空間(ネットワークアドレス)を推定(通常、送信先のIPアドレスの上位24ビット)し、アドレス空間を除外リストExcLstに追加して(S308)、異なるアドレスでもう一度調査用パケットの送信を指示する(S302)が、調査用パケットの2回目の送信に対してもICMP time exceededメッセージが返信されなかった場合、異常な状態が発生したことが分かり、これ以上調査ができないため、調査を終了する(S306)。
ステップS303の説明に戻るが、ルータ調査用パケットの送信に対してICMP time exceededメッセージが返信された場合、通信装置100はステップS304を行う。
ステップS304においては、受信パケット解析部103は通信部105およびパケット送受信部104経由でICMPパケットを受信し、送信元アドレスを制御部101に渡す。制御部101は送信元アドレスはグローバルアドレスであるかを確認する。グローバルアドレスでない場合、取得したアドレスは宅内ネットワークにあるルータのアドレスであるため、記憶部106にアドレスを記録し、maxTTLを1インクリメントして(S305)、もう一段上位のルータを調査する(S302)。
また、ステップS304においては、制御部101はICMPパケットのアドレスがグローバルアドレスであれば宅内ネットワークの全てのルータは既に調査済みであることが分かったので、調査を終了し、調査で得られたルータのアドレスを記憶部106に記憶させる。今回の調査は2回目以降であった場合、記憶部106に記憶された今回と前回の調査結果(取得した宅内ルータアドレス)を比較し、宅内ネットワークにおける構成の変更があったかどうかを確認する(S309、S310)。
図4と図6は、既に説明した通信装置100の動きに視点をおいた図3のフローチャートの各ステップにおけるネットワーク上でのパケットの動きを説明する。
図4は、ルータ調査用パケットの送信先が宅内ネットワークのアドレス空間に属さない場合の、ルータ調査用パケットと、それに対応してルータから送信されるICMP time exceededメッセージの関係を示している。通信装置100はTTL=2に設定されたルータ調査用パケットを宅内ネットワークに存在しないアドレス空間のアドレスに向けて送信すると、ルータB250においてWAN側通信インターフェースを介して送信しようとした時にTTL=0となり、この調査用パケットが廃棄された上、ルータB250からICMP time exceededメッセージが通信装置100に送信される。このICMP time exceededメッセージの送信元アドレスは、ルータB250のLAN側アドレスとなる。よって、このICMP time exceededメッセージの送信元アドレスを確認することで、通信装置100はルータB250のLAN側アドレスを知ることが可能となる。次に、通信装置100はルータB250のアドレスがグローバルアドレスであるかを比較し(図3のS304)、グローバルアドレスでないためルータアドレスを記録し(図3のS305)、ルータB250より1段上位のルータを調査する。このため、通信装置100は、宛先を今まで見つけた宅内ネットワークのアドレス空間に属さないアドレス(この場合、送信したTTL=2のルータ調査用パケットの宛先をもう一度使用してもよい)にし、TTL=3に設定したルータ調査用パケットを送信する。送信した調査用パケットに対応するICMP time exceededメッセージから、ルータC260のアドレスを取得することができ、グローバルアドレスを持つことが分かり、図3のS304における比較によって宅内ネットワーク調査を終了する。図4から分かるように、ルータ調査用パケットのTTLを1つずつ増加させることで、インターネット220に無駄なルータ調査用パケットを送出せず、宅内ネットワーク210の構成が取得できる。よって、インターネット220に存在し得る悪意の第3者によりルータ調査用パケットのなりすましの可能性を軽減し、ルータ調査用パケットの情報を攻撃のために使われる可能性を低くすることができる。
図4ではルータ調査用パケットの送信先が宅内ネットワークのアドレス空間に属さない場合について説明したが、図6において、ルータ調査用パケットの送信先がプライベートアドレス空間と重なった場合に、重ならないアドレスを宛先としてやりなおすことにより、宅内ネットワーク調査が成功するまでのパケットの流れ、および通信装置100の内部動作を説明する。ここでは、通信装置100はTTL=2に設定された最初のルータ調査用パケットを192.168.2.50というアドレスに向けて送信する。しかし、このアドレスはルータB250のLAN側通信インターフェースのアドレス空間に属するため、ルータB250はWAN側通信インターフェースを介して中継しようとしない。したがって、このルータ調査用パケットの送信に対するICMP time exceededメッセージの返信がない(前述の「理由1」に対応)。そのため、以前説明した図3のステップS303において、通信装置100は利用した送信先のアドレス空間を除外リストに追加(S308)し、異なるアドレス向けのルータ調査用パケットを送信する(S302)。除外リストのアドレス空間に属さない新しく選んだアドレス(192.168.45.1)は宅内ネットワークに存在しないため、ルータB250からICMP time exceededメッセージを受け取ることになり調査を継続することができる。次に、通信装置100はTTLを3に増加させた調査用パケットを送り、返信されるICMP time exceededメッセージからルータC260のアドレスを取得する。
図5はルータB250のアドレス変換テーブルエントリを表す。TTL=2に設定した調査用パケットはルータB250のWAN側インターフェースから中継されないため、ルータB250にアドレス変換テーブルが生成されない。図5で示すエントリは、通信装置100が図4におけるTTL=3に設定したルータ調査用パケットを送信した後、ルータB250はルータC260にパケットを中継した時に生成したものである。送信したルータ調査用パケットの送信元アドレスは、ルータA240で変換されたため、192.168.2.100で、送信元ポート番号は45678で、送信先アドレスは192.168.45.1で、送信先ポートは33437である。また、ルータB250のWAN側通信インターフェースのアドレスは180.130.22.100で、ルータB250が割当てたポート番号は35675である。このアドレス変換テーブルエントリが存在する限り、ルータB250はWAN側通信インターフェースから、送信元としてアドレス変換テーブルエントリの送信先アドレス:ポート(192.168.45.1:33437)、送信先としてルータB250のWAN側インターフェースアドレス:割当てたポート(180.130.22.100:35675)、を持つパケットの通過を許容する(同様に、ルータ調査用パケットがルータA240からルータB250に中継された時に、ルータA240においてもアドレス変換テーブルのエントリが生成されたため、ルータA240もパケットの通過を許容する)。悪意の第3者は送信元を偽ることができるが、ISPなどのファイアウォールにより送信元アドレスがプライベートアドレスのパケットは不正なパケットとしてフィルタリングされる場合が多い。このため、ルータB250のアドレス変換テーブルエントリにWAN側からプライベートアドレスを送信元とするパケットを許容するエントリが含まれていても、その前にファイアウォールのパケットフィルタリング機能によって第3者からの攻撃パケットは廃棄される。よって、このテーブルエントリを悪用しDoS攻撃を犯すことが困難となる。
このようにして、DoS攻撃の可能性を低くした宅内ネットワークのルータのアドレスの取得方法が実現できる。また、シーケンスを定期的に行うことにより、宅内ネットワーク構成の変更を検出することができる(なお、ある調査においてルータ調査用パケットの送信先のある特定のアドレスで無事終了した場合、宅内構成が変わったかどうかの判別が分かりやすいため、次回の調査においても同じ送信先アドレスを使ってもよい)。通信装置100は宅内ネットワーク構成の変更を検出すると、ユーザに宅内ルータへの設定を促したり、または自動的にルータの設定を行ったりすることが可能となり、通信に必要な宅内ルータにおけるNATマッピングが生成できるようになる。
なお、ここまでの説明では、本実施の形態は宅内ネットワークにもっとも近いグローバルアドレスを持つルータC260がルータ調査用パケットに対して、必要に応じてICMPメッセージの返信を行うことを仮定していたが、本発明はそうでない場合にも適用できる。そのため、例えばルータ調査用パケットに対するICMPパケットを返信するルータを探すため、ルータ調査用パケットのTTLを増加させてもよい。
なお、本実施の形態ではネットワークのプロトコルをIPネットワークとし、IPヘッダ上のTTLを変化させたルータ調査用パケットを送信し、ICMPプロトコルによる応答パケットを用いて宅内のネットワーク構成を調査する場合について説明したが、ネットワーク上のルータのアドレスを知るための調査用パケットを送出でき、その応答パケットによってネットワーク構成を知ることが出来るようなネットワークであれば本発明が適用可能である。従って、それらを本発明から除外するものではない。
(実施の形態2)
以下本発明の第2実施の形態について、図面を参照しながら説明する。
図7は、本実施の形態における第1のネットワークの構成を示している。図7(A)は、第1のネットワークであるところの宅内ネットワークの一構成例を示しており、図7(B)は、図7(A)の宅内ネットワークに新しいルータが導入されたときの構成を示す。
図7(A)において、宅内ネットワーク210内のルータT720が第2のネットワークであるところのインターネット220との境界に配置されており、このルータT720が、グローバルアドレスを用いて通信を行うインターネット220内のルータG750との間で接続を行うことにより、宅内ネットワーク210とインターネット220との接続が確立される。
宅内ネットワーク210内には、ルータU710が配置されている。ルータU710には、通信装置100が接続されている。ルータU710とルータT720はNAT機能を搭載している。
また、グローバルアドレスを用いてインターネット220に接続しているサーバS770がある。
図7(B)は、図7(A)に示すネットワーク構成において、ルータT720の上位に新しいルータX730が追加されている。ルータX730はNAT機能を搭載している。
本発明の通信装置100の構成は、第1の実施形態と同様であり、図1に示す。
図8は、通信装置100が実行するネットワーク構成調査のシーケンスを示している。
このシーケンスで行っている処理の特長は、ルータ調査用パケットの宛先として、あまり知られていないグローバルアドレスを利用することである。そのために、まず図8(A)で示すように、知られていないルータのグローバルアドレスを探し、次に図8(B)で示すように、見つけたアドレスに向けてルータ調査用パケットを送信して宅内ネットワークを調査する。これにより、知られているサーバに向けてルータ調査用パケットを送信する場合と比べてDoS攻撃の可能性の軽減という効果が得られる。
本実施の形態において、通信装置100はまず図8(A)で示すシーケンスを行う。ステップS801においては、通信装置100はよく知られているグローバルアドレスを持つサーバS770に向けて、ルータ調査用パケットを送信して、インターネット220にあるグローバルアドレスを持つ宅内ネットワークに最も近いルータG750を探す。
図8(A)の示すシーケンスでルータG750を見つけたら、通信装置100は図8(B)で示すシーケンスを定期的に実行して、宅内ネットワーク210を調査し、宅内ネットワーク210の構成の変更を検出する。ステップS802においては、通信装置100はステップS801で見つかったルータG750のアドレス向けに、ルータ調査用パケットを送信して、宅内ネットワーク210の構成を調査する。ステップS802で行った調査が失敗していなければ、および行った宅内ネットワーク調査が2回目以降の調査であれば、今回と前回の宅内ネットワーク調査を比べ、構成変更があったかどうかを検出する(S805)。
図8におけるシーケンスの詳細は図9と図10に示す。
まず、図9は宅内ネットワーク210に最も近いインターネットにあるグローバルアドレスを持つルータG750を探すためのシーケンス(図8のステップS801)の詳細を示す。図9で示すシーケンスにおいては、まず制御部101はルータ調査用パケットの有効期限の設定のために使われる変数、maxTTLを、最初のルータ調査用パケットで通信装置100の上位2段目のルータから調査を開始するために、2に初期化する(S901)。次いで、制御部101は、送信切り替え部107にルータ調査用パケットの送信先をサーバS770にするように指示し、ルータ調査用パケット作成部102に有効期限としてmaxTTLに設定したルータ調査用パケットを作成するように指示する(S902)。
ルータ調査用パケット作成部102は調査用パケットを作成した後、パケット送受信部104にパケット送信を依頼する。パケット送受信部104は、通信部105を通じて、ルータ調査用パケットを送信する。
そして、制御部101は送信されたルータ調査用パケットに対応するICMP time exceededまたはICMP port unreachableメッセージが返ってきたかどうかを確認し(S903)、返ってこなかった場合調査失敗というエラーを返し、調査を終了する(S906)。また、ICMP time exceededまたはICMP port unreachableメッセージが返ってきた場合、受信パケット解析部103は返ってきたICMPパケットの送信元アドレスを制御部101に渡し、制御部101はグローバルアドレスであるかをチェックする(S904)。アドレスはグローバルアドレスでなければ、maxTTLを増加させ(S905)、もう一回ルータ調査用パケット送信のステップ(S902)に戻る。アドレスはグローバルアドレスであれば、このアドレスは宅内ネットワークに最も近いグローバルアドレスを持つルータ750のアドレスとなり、このアドレスを記録し、シーケンスを終了する。なお、グローバルアドレスになった時点でシーケンスを終了するのでなく、サーバSまでに経由するその他のルータのアドレスも調査し、記憶しておいてもよい。
次に、図10は宅内ネットワークに最も近いグローバルアドレスを持つルータアドレスを利用した宅内ネットワークの調査のシーケンス(図8のステップS802)の詳細を示す。図10で示すシーケンスにおいては、まず、制御部101はルータ調査用パケットの有効期限の設定のために使われる変数、maxTTLを、最初のルータ調査用パケットで通信装置100の上位2段目のルータから調査を開始するために、2に初期化する(S1001)。次いで、制御部101はステップS801で調べた宅内ネットワークに最も近いグローバルアドレスを持つルータG750に向けて、有効期限としてmaxTTLに設定したルータ調査用パケットを送信する(S1002)ように指示する。そして、送信したルータ調査用パケットに対応するICMP time exceededまたはICMP port unreachableメッセージが返ってきたかどうかを確認し(S1003)、返ってこなかった場合調査失敗というエラーを返し、調査を終了する(S1006)。また、返ってきた場合、制御部101は受信パケット解析103から返ってきたICMPパケットの送信元アドレスを取得し、グローバルであるかをチェックする(S1004)。アドレスはグローバルアドレスでなければ、宅内ルータのアドレスであるため記録し、maxTTLを増加し(S1005)、もう一回ルータ調査用パケット送信のステップ(S1002)に戻る。アドレスはグローバルアドレスであれば、宅内ネットワークの調査を終了する。
図11は、既に説明した通信装置の動きに視点をおいた図8、図9、と図10のフローチャートの各ステップにおけるネットワーク上でのパケットの動きを説明する。図11においては、通信装置100が送信するルータ調査用パケットと、それに対応してルータから送信されるICMPメッセージの関係を示している。図11(A)は図9でのシーケンス(図8のステップS801)の送信パケットを示し、図11(B)は、新しいルータX730が導入された場合における、図10でのシーケンス(図8のステップS802)の送信パケットの動きを示す。
まず、図11(A)において、図9で示すシーケンスの通り、アドレスがよく知られているサーバS770にむけてルータ調査用パケットを送信し、グローバルアドレスを持つ最も近いルータG750を探す。そのため、グローバルアドレスを持つルータが見つかるまで、通信装置は、TTLを増加しながらルータ調査用パケットを送信する。まず、TTL=2に設定されたルータ調査用パケットをサーバS770(IPアドレス202.224.12.12)に向けて送信する。これで、ルータT720からICMP time exceededメッセージパケットが通信装置100に送信される。このICMP time exceededメッセージの送信元アドレスを確認し、通信装置100はルータT720のLAN側アドレスを知ることが可能となる。ルータT720のアドレス(192.168.1.1)はプライベートアドレスであるため、通信装置は調査を継続する。今度、TTL=3に設定されたルータ調査用パケットをサーバS770に向けて送信する。これで、ルータG750からICMP time exceededメッセージパケットが通信装置100に送信される。ルータG750のアドレス(180.130.22.50)はグローバルアドレスであるため、通信装置100は図8のS801に対応して、シーケンスを終了する。
次に、図11(B)において、図10で示すシーケンスの通り、図11(A)における調査シーケンスで見つかったルータG750のアドレスにむけてルータ調査用パケット送信と、それに対応してルータから送信されるICMP time exceededパケットの関係を示す。まず、TTL=2に設定されたルータ調査用パケットをルータG750(IPアドレス180.130.22.50)に向けて送信する。これで、ルータT720からICMP time exceededメッセージが通信装置100に送信される。このICMP time exceededメッセージの送信元アドレスを確認し、通信装置100はルータT720のLAN側アドレスを知ることが可能となる。ルータT720のアドレス(192.168.1.1)はプライベートアドレスであるため、通信装置100は調査を続ける。同様に、TTL=3、TTL=4に設定したルータ調査用パケットを送信し、ルータX730、ルータG750のアドレス情報を得る。ルータG750のアドレス(180.130.22.50)はグローバルアドレスであるため、通信装置100は調査を終了する。このようにして、通信装置100は宅内ネットワークを調査し、構成の変更(ルータX730の導入)が検出できる。
図11から分かるように、ルータ調査用パケットのTTLを1つずつ増加させることで、インターネット220に無駄なルータ調査用パケットを送出せず、宅内ネットワーク210の構成が取得できる。よって、インターネット220に存在し得る悪意の第3者によりルータ調査用パケットのなりすましの可能性を軽減し、ルータ調査用パケットの情報を攻撃のために使われる可能性を低くすることができる。
図12(A)と図12(B)はルータT720とルータX730におけるルータ調査用パケットの中継で生成されたそれぞれのアドレス変換テーブルエントリを示す。図12(A)は、図11(A)におけるTTL=3に設定したルータ調査用パケットを送信した後、ルータT720はルータG750にパケットを中継した時に生成したものである(TTL=2に設定したルータ調査用パケットは、ルータT720のWAN側インターフェースから中継されないため、ルータT720のアドレス変換テーブルにエントリを生成しない)。このエントリが存在する限り、ルータT720はWAN側通信インターフェースから、送信元としてテーブルエントリの送信先アドレス:ポート(202.224.12.12:33437)、送信先としてルータT720のWAN側インターフェースアドレス:割当てたポート(180.130.22.100:35694)、を持つパケットの通過を許容する(同様に、ルータ調査用パケットがルータU710からルータT720に中継された時に、ルータU710においてもアドレス変換テーブルのエントリが生成されたため、ルータU710もパケットの通過を許容する)。アドレス202.224.12.12はよく知られているアドレスであるため、悪意の第3者はこのエントリを利用して、DoS攻撃を犯す可能性が高い。しかし、通信装置100がアドレス202.224.12.12向けにルータ調査用パケットを送信することが1回だけで、このアドレス変換テーブルエントリは生成された後、ある特定の有効期限後(通常30秒〜数分)に削除される。
図12(B)は、図11(B)におけるTTL=4に設定したルータ調査用パケットを送信した後、ルータX730はルータG750にパケットを中継した時に生成したものである。このエントリが存在する限り、ルータ730はWAN側通信インターフェースから、送信元としてテーブルエントリの送信先アドレス:ポート(180.130.22.50:33438)、送信先としてルータ730のWAN側インターフェースアドレス:割当てたポート(180.130.22.111:45323)、を持つパケットの通過を許容する。通信装置100が定期的にルータ750(180.130.22.50)向けにルータ調査用パケットを送信するので、これで生成されたNATエントリをDoS攻撃に使われる危険性があるが、サーバS770のアドレスと比べると、ルータG750のアドレスはあまり知られていないので、攻撃の可能性が減少する。
このようにして、本実施の形態において、知られていないグローバルアドレスに向けてルータ調査用パケットを送信し、返信されたICMPメッセージを受信し、分析することで、通信装置100はDoS攻撃の可能性を低くした宅内ネットワークのルータのアドレスを取得し、宅内ネットワークの構成の変更を検出することができる。通信装置100は宅内ルータのアドレスを取得すれば、ユーザに宅内ルータへの設定を促したり、または自動的にルータの設定を行ったりすることが可能となり、通信に必要な宅内ルータにおけるNATマッピングが生成できるようになる。
本実施の形態は、ネットワークにもっとも近いグローバルアドレスを持つルータむけにルータ調査用パケットを送ることにしているが、このルータアドレスでなくても、別の知られていないグローバルアドレスを持つルータ向けにルータ調査用パケットを送り、宅内ネットワーク調査を行ってもよい。また、第3者に対して使用しているアドレスを予測しにくくするように、調査ごとに知られていないグローバルアドレスを持つ異なるルータ向けにルータ調査用パケットを送り調査を行ってもよい。ただし、通信装置100から近いルータにしておくほど、ルータ調査用パケットがインターネットに流れないため、第3者が攻撃のために必要なアドレス情報、ポート情報などを入手しにくくなり、安全である。
なお、ルータGを宛先とした調査に失敗した場合、その原因がルータGの置き換え(もしくはIPアドレスの変化)などであった場合には、再度図8のS801を実施することにより、調査を成功させることができる場合があるため、そのような処理を行なっても良い。
前記実施の形態1および2の他に、本発明を用いて様々な実施の形態が可能である。例えば、実施の形態2の場合、グローバルアドレスを持つサーバ770を一台だけ利用しているが、それぞれ異なるグローバルアドレスを持つ複数のサーバを用意してもよい。この場合、通信装置100がルータ調査用パケットを送信する時、宛先をその中からランダムに選ぶため、実施形態2と比べて、さらにDoS攻撃の可能性を低くすることができる。
本発明に係る通信装置は、安全に宅内ネットワークの構成調査を行うことができるので、p2p通信のコネクション確立において有用である。また、通信における問題の原因究明などの用途にも応用できる。
本発明の実施の形態1と2における通信装置の構成を示すブロック図 本発明の実施の形態1における通信装置が適用されるネットワークシステムの構成を示すブロック図 本発明の実施の形態1における通信装置の動作を示すフローチャート 本発明の実施の形態1における調査シーケンスのパケットの流れを示す図 本発明の実施の形態1における調査シーケンスの実施で生成されたルータ250のアドレス変換テーブルエントリを示す図 本発明の実施の形態1における調査シーケンスのパケットの流れを示す図 本発明の実施の形態2における通信装置が適用されるネットワークシステムの構成を示すブロック図 本発明の実施の形態2における通信装置の動作を示すフローチャート 本発明の実施の形態2における通信装置の動作を示すフローチャート 本発明の実施の形態2における通信装置の動作を示すフローチャート 本発明の実施の形態2における調査シーケンスのパケットの流れを示す図 本発明の実施の形態2における調査シーケンスの実施で生成されたルータ250のアドレス変換テーブルエントリを示す図 NAT機能搭載ルータのメカニズムを示す図
符号の説明
100 通信装置
101 制御部
102 ルータ調査用パケット作成部
103 受信パケット解析部
104 パケット送受信部
105 通信部
106 記憶部
107 送信先切り替え部
210 宅内ネットワーク
220 インターネット
240 ルータA
250 ルータB
260 ルータC
710 ルータU
720 ルータT
750 ルータG
770 サーバS

Claims (9)

  1. 第1のネットワークと前記第1のネットワークと異なる第2のネットワークを接続するルータを含む前記第1のネットワークにおいて、
    前記第1のネットワークに接続され、ルータ調査用パケットを前記第1のネットワーク上のルータに対して送出し、前記ルータ調査用パケットを受信したルータから送出される前記ルータ調査用パケットに対する応答パケットにより、前記第1のネットワークの構成を調査する通信装置であって、
    前記応答パケットの内容に応じて、前記ルータ調査用パケットの作成を制御し、ネットワークの調査を施す制御部と、
    前記ルータ調査用パケットの送信先を切り替える送信先切り替え部と、
    前記送信先切り替え部が選んだルータ調査用パケットの送信先または前記応答パケットから取得したルータのアドレスを記憶する記憶部と、
    を備えたことを特徴とする通信装置。
  2. 前記制御部は、前記第1のネットワーク調査を定期的に行うこと、
    を特徴とする請求項1に記載の通信装置。
  3. 前記第1および第2のネットワークはIP(インターネットプロトコル)ネットワークであって、
    前記応答パケットはICMP(Internet Control Message Protocol)パケットであって、
    前記制御部は、TTL(Time to Live)を変化させた前記ルータ調査用パケットの作成を制御すること、
    を特徴とする請求項1に記載の通信装置。
  4. 前記第1のネットワークはプライベートアドレスを利用するネットワークであり、前記第2のネットワークはグローバルアドレスを利用するネットワークであって、
    前記制御部は、前記ルータ調査用パケットのTTLを1つずつ増加させるように指示し調査を行って、
    前記制御部は、前記応答パケットから取得したルータのアドレスから、送信した前記ルータ調査用パケットが第2のネットワークまで届いたことを判別したら、前記第1のネットワークの構成の調査を終了すること、
    を特徴とする請求項3に記載の通信装置。
  5. 前記第1のネットワークはプライベートアドレスを利用するネットワークであり、前記第2のネットワークはグローバルアドレスを利用するネットワークであって、
    前記制御部は、前記送信先切り替え部に、送信する前記ルータ調査用パケットの送信先を前記記憶部に記憶されたグローバルアドレスの集合から選んで切り替えるように指示し調査を行うこと
    を特徴とする請求項1に記載の通信装置。
  6. 前記制御部は、進行中または以前の前記第1のネットワークの構成の調査において、
    前記応答パケットから取得したルータのアドレスまたは前記送信先切り替え部が選んだ送信先に基づいて、
    前記送信先切り替え部に送信するルータ調査用パケットの送信先を選んで切り替えるように指示し調査を行うこと、
    を特徴とする請求項1または請求項2に記載の通信装置。
  7. 前記制御部は、前記送信先切り替え部に送信する前記ルータ調査用パケットの送信先をアドレス空間の除外集合に属さないアドレスから選んで切り替えるようにして、送信する指示処理と、前記応答パケットの送信元のアドレスが、前記応答パケットに対応する前記ルータ調査用パケットの送信先と同じアドレス空間であれば、前記アドレス空間を前記除外集合に追加する除外集合更新処理を繰り返し行うこと、
    を特徴とする請求項6に記載の通信装置。
  8. 第1のネットワークと前記第1のネットワークと異なる第2のネットワークを接続するルータを含む前記第1のネットワークにおいて、
    前記第1のネットワークに接続され、ルータ調査用パケットを用いて前記第1のネットワークを調査する通信装置が行う調査方法であって、
    複数のルータ調査用パケットを生成し、前記ルータ調査用パケットの送信先を切り替え、送信するステップと、
    前記ルータ調査用パケットに対応してルータから返信される応答パケットから前記ルータのアドレスを記憶するステップと、
    を備えたことを特徴とするネットワーク調査方法。
  9. 第1のネットワークと前記第1のネットワークと異なる第2のネットワークを接続するルータを含む前記第1のネットワークにおいて、
    前記第1のネットワークに接続され、ルータ調査用パケットを用いて前記第1のネットワークを調査する処理を実行するプログラムであって、
    複数のルータ調査用パケットを生成し、前記ルータ調査用パケットの送信先を切り替え、送信するステップと、
    前記ルータ調査用パケットに対応してルータから返信される応答パケットから前記ルータのアドレスを記憶するステップと、
    を実行させるためのプログラム。
JP2005170627A 2005-06-10 2005-06-10 通信装置、ネットワーク構成調査方法、およびプログラム Pending JP2006345347A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005170627A JP2006345347A (ja) 2005-06-10 2005-06-10 通信装置、ネットワーク構成調査方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005170627A JP2006345347A (ja) 2005-06-10 2005-06-10 通信装置、ネットワーク構成調査方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2006345347A true JP2006345347A (ja) 2006-12-21

Family

ID=37641945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005170627A Pending JP2006345347A (ja) 2005-06-10 2005-06-10 通信装置、ネットワーク構成調査方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2006345347A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012054636A (ja) * 2010-08-31 2012-03-15 Brother Ind Ltd 支援装置及びコンピュータプログラム
US8638694B2 (en) 2010-09-06 2014-01-28 Fujitsu Limited Network exploration method and network exploration apparatus
US9331924B2 (en) 2011-12-21 2016-05-03 Fujitsu Limited Distribution route construction method and terminal device
WO2016177131A1 (zh) * 2015-08-17 2016-11-10 中兴通讯股份有限公司 防止dos攻击方法、装置和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012054636A (ja) * 2010-08-31 2012-03-15 Brother Ind Ltd 支援装置及びコンピュータプログラム
US8638694B2 (en) 2010-09-06 2014-01-28 Fujitsu Limited Network exploration method and network exploration apparatus
US9331924B2 (en) 2011-12-21 2016-05-03 Fujitsu Limited Distribution route construction method and terminal device
WO2016177131A1 (zh) * 2015-08-17 2016-11-10 中兴通讯股份有限公司 防止dos攻击方法、装置和系统

Similar Documents

Publication Publication Date Title
US9191362B2 (en) Determining the type of upstream network address translation from a home gateway
US8949459B1 (en) Methods and apparatus for distributed backbone internet DDOS mitigation via transit providers
US8635697B2 (en) Method and system for operating system identification in a network based security monitoring solution
JP4405360B2 (ja) ファイアウォールシステム及びファイアウォール制御方法
Keranen et al. Interactive connectivity establishment (ICE): A protocol for network address translator (NAT) traversal
US20150188882A1 (en) Method and apparatus for network address translation and firewall traversal
Nordmark et al. FCFS SAVI: First-Come, first-served source address validation improvement for locally assigned IPv6 addresses
US20060182100A1 (en) Automated NAT traversal for peer-to-peer networks
US20040078485A1 (en) Method and apparatus for providing automatic ingress filtering
US8254286B2 (en) Method and system for detection of NAT devices in a network
US8867553B2 (en) Performing interactive connectivity checks in a mobility environment
US20190215308A1 (en) Selectively securing a premises network
JP2011503973A (ja) クライアント間のデータ伝送の選択的ルーティング
MacDonald et al. NAT behavior discovery using session traversal utilities for NAT (STUN)
US20140294009A1 (en) Communication apparatus, communication system, control method of communication apparatus and program
JP6574057B2 (ja) 自動構成サーバおよび方法
US8305933B2 (en) Method and apparatus for detecting devices on a local area network
JP2008306726A (ja) ネットワークにおけるエンドポイント間の接続性の確定
JP2006345347A (ja) 通信装置、ネットワーク構成調査方法、およびプログラム
EP2690832B1 (en) Communication device, communication system, and communication method
US10015179B2 (en) Interrogating malware
JP4677501B2 (ja) 中継装置および中継方法
CN113014682A (zh) 实现网络动态性的方法、系统、终端设备及存储介质
Bajpai et al. Flow-based identification of failures caused by IPv6 transition mechanisms
CN114363083B (zh) 智能网关的安全防范方法、装置、设备