JP4883325B2 - ネットワーク情報検出装置および方法 - Google Patents

ネットワーク情報検出装置および方法 Download PDF

Info

Publication number
JP4883325B2
JP4883325B2 JP2008269618A JP2008269618A JP4883325B2 JP 4883325 B2 JP4883325 B2 JP 4883325B2 JP 2008269618 A JP2008269618 A JP 2008269618A JP 2008269618 A JP2008269618 A JP 2008269618A JP 4883325 B2 JP4883325 B2 JP 4883325B2
Authority
JP
Japan
Prior art keywords
address
network
subnet mask
icmp echo
network device
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.)
Expired - Fee Related
Application number
JP2008269618A
Other languages
English (en)
Other versions
JP2009017605A (ja
Inventor
昌生 嶋田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008269618A priority Critical patent/JP4883325B2/ja
Publication of JP2009017605A publication Critical patent/JP2009017605A/ja
Application granted granted Critical
Publication of JP4883325B2 publication Critical patent/JP4883325B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はネットワークシステムにおけるネットワーク情報の自動取得技術に係り、特にサブネットマスクやルータIPアドレスなどのネットワーク情報を検出する装置および方法に関する。
コンピュータをネットワークに接続するには、サブネットマスク、IPアドレス、ルータアドレス等のネットワーク情報を取得してコンピュータに設定する必要がある。このようなネットワーク情報は手動で設定することもできるが、人手による設定にはネットワークの知識を必要とし、ネットワーク情報を調査する手間もかかる。また、誤ってネットワーク情報を設定した場合はネットワーク全体を混乱させることもありうる。
他方、DHCP(Dynamic Host Configuration Protocol)サーバが存在する場合には、ネットワーク情報をDHCPサーバから自動的に取得することができる。しかしながら、ネットワーク情報の自動取得を行うには、ネットワーク情報の提供を目的としたサーバを構築しなければならない。
特開2002−190811号公報(特許文献1)には、ネットワーク上の装置のIPアドレスやサブネットマスクなどを自動的に取得する方法が開示されている。この従来の方法では、ネットワーク情報をDHCPサーバから取得できない場合に、ICMP(Internet Control Message Protocol)アドレスマスク要求を送信し、その応答およびネットワーク・トラフィックから有効なサブネットを決定する(段落番号0018〜0021)。そして、決定されたサブネット内で、未使用IPアドレスの検出やICMPルータ選択メッセージを用いたデフォルトルータの検出を実行する(段落番号0025〜0027)。
特開2002−190811号公報(段落番号0025〜0027、要約、図3〜5)。
しかしながら、特許文献1に開示されたIP構成自動取得方法では、ICMPアドレスマスク要求をネットワークに送信し、それに対する応答を用いてサブネットマスクを検出しているために、ネットワークの負荷が増大するだけでなくサブネットマスク検出を高速化することができない。また、従来のルータ検出方法では、RFC1256に記述されているルータのIPアドレス検出方法をそのまま用いているだけであり、ルータ検出の高速化については考慮されていない。また、ICMPルータ選択メッセージをサポートしていないルータが存在するために、従来の方法ではルータを検出できない場合がある。
本発明の目的は、ネットワーク情報を提供するサーバ機能を必要とせずに、ネットワーク情報を自動かつ高速で取得することができるネットワーク情報検出装置及び方法を提供することにある。
本発明の他の目的は、サブネットマスクを高速検出可能なネットワーク情報検出装置及び方法を提供することにある。
本発明のさらに他の目的は、ルータIPアドレスを高速検出可能なネットワーク情報検出装置及び方法を提供することにある。
数のネットワーク機器が接続されたローカルネットワークのネットワーク情報を検出する装置において、前記ローカルネットワーク上のパケットをモニタするパケットモニタ手段と、前記パケットモニタ手段によりモニタされた少なくとも1個のパケットに含まれるIP(Internet Protocol)アドレスに基づいて、前記モニタされたパケットに関係するネットワーク機器に設定されたサブネットマスクを検出するサブネットマスク検出手段と、を有する。
前記サブネットマスク検出手段の第1形態は、前記モニタされた少なくとも1個のパケットに含まれる送信元IPアドレスおよび送信先IPアドレスの最大IPアドレスと最小IPアドレスとを求め、前記最大IPアドレスおよび前記最小IPアドレスのサブネットホスト部における異なるビットの最上位を特定することで前記サブネットマスクを検出する。
前記サブネットマスク検出手段の第2形態は、モニタされた複数のパケットの各々に含まれる送信元IPアドレスおよび送信先IPアドレスから各パケットのIP領域を求め、前記モニタされた複数のパケットのIP領域が重なる場合にはそれらを1つのIP領域とし、最終的に求められた少なくとも1個のIP領域から最大IPアドレスと最小IPアドレスとを求め、前記最大IPアドレスおよび前記最小IPアドレスのサブネットホスト部における異なるビットの最上位を特定することで前記サブネットマスクを検出する。
前記サブネットマスク検出手段の第3形態は、モニタされた1個のパケットに含まれるIPアドレスとネットワーク層で通信可能な他のIPアドレスの範囲を求め、当該IPアドレス範囲に従って前記サブネットマスクを検出する。
さらに、前記サブネットマスク検出手段により検出されたサブネットマスクにより示されるサブネット内のIPアドレスに対してARP要求を送信し、ARP応答が返信されないIPアドレスを割当可能なIPアドレスとして決定するIPアドレス決定手段を有することが望ましい。さらに、前記サブネットマスク検出手段により検出されたサブネットマスクにより示されるサブネット内のIPアドレスに対してICMPエコー要求を順次送信し、それに対するICMP応答からルータのIPアドレスを検出するルータ検出手段を有することが望ましい。
さらに、前記パケットモニタ手段によりモニタされたパケットに含まれる送信先IPアドレスと送信先MACアドレスとが同一のネットワーク機器を指示しない場合、当該送信先MACアドレスに対応するIPアドレスをルータのIPアドレスとして検出するルータ検出手段を有する。
本発明によれば、さらに、ICMP(Internet Control Message Protocol)のエコー要求およびエコー応答機能を用いて、モニタされたIPアドレスを使用している他のネットワーク機器のサブネットマスクと自己のサブネットマスクとの同一性を判定するサブネットマスク同一性判定手段を有し、前記他のネットワーク機器のサブネットマスクと前記自己のサブネットマスクとが異なる場合、前記サブネットマスク検出手段により当該他のネットワーク機器のサブネットマスクを検出することが望ましい。
本発明によれば、ローカルネットワーク上のパケットをモニタするパケットモニタ手段と、前記パケットモニタ手段によりモニタされたパケットに含まれる送信先IPアドレスと送信先MACアドレスとが同一のネットワーク機器を指示しない場合、当該送信先MACアドレスに対応するIPアドレスをルータのIPアドレスとして検出するルータ検出手段と、を有することを特徴とする。本発明のさらに他の側面によれば、複数のネットワーク機器が接続されたローカルネットワークにおけるネットワーク情報を検出する方法において、a)前記ローカルネットワーク上のパケットをモニタするステップと、b)モニタされたパケットのIPアドレス(以下、モニタIPアドレスという。)のネットワークアドレスと自己のネットワークアドレスとを比較するステップと、c)ネットワークアドレスが同一の場合、ICMP(Internet Control Message Protocol)のエコー要求およびエコー応答機能を用いて、前記モニタIPアドレスを使用している他のネットワーク機器のサブネットマスクと自己のサブネットマスクとの同一性を判定するステップと、を有することを特徴とする。
本発明によれば、ルータIPアドレスを高速で検出可能となる。
図1は本発明によるネットワーク情報検出装置を含むネットワークの一例を示す概略的構成図である。この例では、ネットワーク(LAN)伝送路10に、ネットワーク情報検出装置20、ホストA30、 ホストB40、ホスト50、および、ルータ60などの複数のネットワーク機器が接続されている。本発明によるネットワーク情報検出装置20は、後述するように、ネットワークで通信されるIPパケットやARP(Address Resolution Protocol)パケットを利用して、サブネットマスクの検出、IPアドレスの決定、ルータの検出、あるいは、ネットワーク情報の設定などを実行する。
1.第1実施形態
図2は本発明の第1実施形態によるネットワーク情報検出装置を示すブロック構成図である。本実施形態によるネットワーク情報検出装置20は、ネットワーク伝送路10に接続するためのネットワークインタフェース部21を有する。ネットワークインタフェース部21はパケットモニタ23、サブネットマスク検出部24、IPアドレス決定部25、ルータ検出部26、および、ネットワーク情報送信部28に接続され、LAN伝送路10との間でIPパケットまたはARP パケットの送信または受信を行う。ネットワークインタフェース部21は、LAN 伝送路10上の全てのパケットをパケットモニタ23に流す。
パケットモニタ23はサブネットマスク検出部24に接続され、ネットワークインタフェース部21から入力したIPパケットまたはARPパケットをモニタする。また、サブネットマスク検出部24、IPアドレス決定部25、ルータ検出部26およびネットワーク情報送信部28はネットワーク情報設定部27にそれぞれ接続されている。また、ネットワーク情報検出装置20の全体的動作は制御部22により制御される。
LAN伝送路10上を流れるパケットは、例えばLANがEthernet(登録商標、IEEE802.3 )であれば、図3に示すフォーマットを有するデータリンク層のパケットであり、IPパケットであれば図4に示すフォーマットを有し、ARP パケットであれば図5に示すフォーマットを有する。
サブネットマスク検出部24は、パケットモニタ23によりモニタされたIPパケットまたはARPパケットを解析し、当該パケットの送信元あるいは送信先IPアドレスのホストに設定されたサブネットマスク情報の検出および/またはサブネットの判定を行う(詳しくは、図8〜図12を参照しながら詳述する)。なお、IPアドレスの一般的な構成を図6に示しておく。
IPアドレス決定部25は、サブネットマスク検出部24で検出したサブネットマスクにおいて未だ割り当てられていないIPアドレスを検出し、ネットワーク情報検出装置に設定すべきIPアドレスを決定する(詳しくは、図13を参照しながら詳述する)。
ルータ検出部26は、パケットモニタ23でモニタしたIPパケットがルータ60へ送信されるIPパケットの特徴を持っているか否かを判定してルータ60を検出する(詳しくは、図14〜図15を参照しながら詳述する)。あるいは、ルータ検出部26は、サブネットマスク検出部24で検出したサブネット内のIPアドレスに対して図7(A)に示すフォーマットのICMP(Internet Control Message Protocol )エコー要求を順次送信し、図7(B)に示すフォーマットのICMP時間切れメッセージ、あるいは、図7(C)に示すフォーマットのICMP経路変更要求メッセージを受信することによりルータ60を検出する(詳しくは、図16を参照しながら詳述する)。
ネットワーク情報設定部27は、サブネットマスク検出部24により検出したサブネットマスク、IPアドレス決定部25により検出した未割り当てIPアドレス、および、ルータ検出部26により検出したルータIPアドレスの少なくとも1つからなるネットワーク情報を受け取り、自己の装置に設定するか、あるいは他の装置で利用可能とするためにネットワーク情報送信部28に送信する。
ネットワーク情報送信部28は、ネットワーク情報設定部27から取得したネットワーク情報を他の装置で利用可能とするためにネットワークインタフェース部21を通してLAN伝送路10へ送出する。
(ネットワーク情報検出動作)
以下、本実施形態の動作を図3〜図7に示すパケットフォーマットおよび図8〜図16に示すフローチャートを参照しながら詳細に説明する。
(1)サブネットマスク検出処理(第1例)
図8は、本実施形態におけるサブネットマスク検出処理の第1例を示すフローチャートである。まずパケットモニタ23は、制御部22の制御の下で、規定の時間、ARPパケットまたはIPパケットをモニタする(ステップS2401)。パケットの種類は、図3に示すように、イーサヘッダが含むタイプが0x806であればARPパケット、0x800であればIPパケットであると判断される。規定時間内に一つ以上のARPまたはIPパケットをモニタした場合には(ステップS2402のYES)、サブネットマスク検出部24にモニタしたパケットを渡す。ARPパケットおよびIPパケットのいずれもモニタしなかった場合には(ステップS2402のNO)、ステップS2401へ戻る。
サブネットマスク検出部24は、パケットモニタ23から受け取ったIPパケット(図4参照)あるいはARPパケット(図5参照)から送信元IPアドレスおよび送信先IPアドレスを読み出し、それらの最大値を最大IPとし(ステップS2403)、最小値を最小IPとして設定する(ステップS2404)。続いて、最大IPと最小IPとを比較し、値が異なる最上位ビットをサブネットのホスト部の最上位ビットとして設定する(ステップS2405)。そして、サブネットのホスト部の最上位ビット〜最下位ビットをセットし、その他のビットをリセットして32ビット値を計算し、その1の補数をとることでサブネットマスクを検出する(ステップS2406)。
例えば、最大IP=“10.56.88.5”、最小IP=“10.56.88.3”であった場合、下位8ビットは最大IPで“00000101”、最小IPで“00000011”である。最大IPおよび最小IPの上位24ビットは同一であるから、値の異なる最上位ビットは下線で示した最下位から3ビット目のビット2となり、サブネットのホスト部の最上位ビットはビット2であることがわかる。検出されたサブネットのホスト部の最上位ビット(ビット2)より上位のすべてのビットをリセットし、ビット2〜ビット0までをセットすることで32ビットの値“0.0.0.7”を得る。その1の補数を計算してサブネットマスク“255.255.255.248”=“11111111.11111111.11111111.11111000”を得ることができる。
次に、一例として4個のARPまたはIPパケットをモニタした場合を取り上げ、サブネットマスク検出処理について具体的に説明する。
図9は、4個のARPまたはIPパケットをモニタした場合の各パケットが含むIPアドレスとIP領域と示す模式図である。ここでは、ARP/IPパケットNo.1〜No.4がモニタされたものとする。図8に示すサブネットマスク検出処理によれば、IP領域Aがサブネットと判断される。IP領域Aの最小IPアドレスはNo.1パケットの最小IPアドレス、IP領域Aの最大IPアドレスはNo4パケットの最大IPアドレスとなる。
(2)サブネットマスク検出処理(第2例)
図10は、本実施形態におけるサブネットマスク検出処理の第2例を示すフローチャートである。まずパケットモニタ23は、制御部22の制御の下で、規定の時間、ARPパケットまたはIPパケットをモニタする(ステップS2411)。規定時間内に2つ以上のARPまたはIPパケットをモニタした場合には(ステップS2412のYES)、サブネットマスク検出部24にモニタしたパケットを渡す。2つ以上のARPあるいはIPパケットをモニタしなかった場合には(ステップS2412のNO)、ステップS2401へ戻る。
サブネットマスク検出部24は、モニタされたパケットのそれぞれについて、送信元IPアドレスおよび送信先IPアドレスにより定まるIP領域を検出し(ステップS2413)、続いて、これらIP領域の重なりを検出する(ステップS2414〜S2416)。
具体的には、あるIP領域αの最大IPアドレスをMAXα, 最小IPアドレスをMINαとすると、任意の2つのIP領域AおよびBに関して、MINa≦MAXb、かつ、MAXa≧MINbという条件が満たされるか否かを判定する(ステップS2414)。この条件を満たす場合(ステップS2414のYES)、IP領域AおよびBを合わせて単一のIP領域とする(ステップS2415)。例えば、IP領域AがMAXa=“192.168.0.40”、MINa=“192.168.0.20”、IP領域BがMAXb=“192.168.0.30”、MINb=“192.168.0.10”である場合、上記判定条件は満足されるから、IP領域AおよびBはそれらを合わせた1つの新たなIP領域と判断される。その結果、新たなIP領域の最大IPは“192.168.0.40”、最小IPは“192.168.0.10”となる。
全てのIP領域の組み合わせに関して上記重なり検出処理(ステップS2414〜S2416)を繰り返し、重なり検出が完了すると(ステップS2416のYES)、最終的に決定された少なくとも1つのIP領域の最大値を最大IPとし(ステップS2417)、最小値を最小IPとして設定する(ステップS2418)。続いて、図8に示した第1例と同様に、最大IPと最小IPとを比較し、値が異なる最上位ビットをサブネットのホスト部の最上位ビットとして設定する(ステップS2419)。そして、サブネットのホスト部の最上位ビット〜最下位ビットをセットし、その他のビットをリセットして32ビット値を計算し、その1の補数をとることでサブネットマスクを検出する(ステップS2420)。上記ステップS2417〜S2420をすべてのIP領域についてサブネットマスクを検出するまで繰り返す(ステップS2421のNO)。
すべてのIP領域についてサブネットマスク検出が終了すると(ステップS2421のYES)、サブネットマスク検出部24は、検出されたサブネットマスクを用いてネットワーク部およびサブネット部が同一の値のサブネットを同一のサブネットと判断する(ステップS2422)。
このサブネットマスク検出処理の第2例を図9に示す4個のARPまたはIPパケットをモニタした場合に適用すると、次のようになる。すなわち、サブネットマスク検出部24は、パケットNo.2〜No.4のIP領域が重なっていることからこれらを1つのIP領域Cと判定する。したがって、モニタされた4つのパケットに基づいて、サブネットマスク検出部24はIP領域BおよびIP領域Cをそれぞれサブネットと判断する。図9に示すように、IP領域Bの最小IPアドレスおよび最大IPアドレスは、それぞれパケットNo.1の最小IPアドレスおよび最大IPアドレスとなる。IP領域Cの最小IPアドレスはパケットNo.2の最小IPアドレス、最大IPアドレスはパケットNo.4の最大IPアドレスとなる。
(3)サブネットマスク検出処理(第3例)
図11は、本実施形態におけるサブネットマスク検出処理の第3例を示すフローチャートである。まずパケットモニタ23は、制御部22の制御の下で、ARPパケットまたはIPパケットをモニタする(ステップS2441)。ARPまたはIPパケットをモニタした場合には(ステップS2441のYES)、サブネットマスク検出部24にモニタしたパケットを渡す。
サブネットマスク検出部24は、パケットモニタ23から受け取ったモニタパケットから送信元IPアドレスあるいは送信先IPアドレスを読み出し、それをモニタIPとするとともに、そのモニタIPを検査IPとし、ビットカウンタを0に設定し、セットビットを1に設定する(ステップS2442)。続いて、検査IPとセットビットとのOR(論理和)を計算して、その結果を検査IPに設定するとともに、ビットカウンタに1を加算し、セットビットを1ビットだけ左シフトする(ステップS2443)。
続いて、サブネットマスク検出部24は、送信元IPアドレスに上記検査IPを設定し、送信先IPアドレスに上記モニタIPを設定したICMPエコー要求(図7(A)参照)を生成し、ネットワークインタフェース部21を通してネットワークへ送信する(ステップS2444)。
ICMPエコー要求パケットを送信すると、サブネットマスク検出部24は、イーサヘッダの送信先MACアドレスにブロードキャストアドレスを使用していないICMPエコー応答(図7(A)参照)を受信したか否かを判定する(ステップS2445)。受信したICMPエコー応答が送信先MACアドレスにブロードキャストアドレスを使用していない場合は(ステップS2445のYES)、当該検査IPアドレスとモニタアドレスとはMACアドレスにブロードキャストを使用することなくネットワーク層で通信可能であると判断し、ステップS2443へ戻る。
これに対して、イーサヘッダの送信先MACアドレスにブロードキャストアドレスを使用していないICMPエコー応答を受信しなかった場合には(ステップS2445のNO)、MACアドレスにブロードキャストを使用せずにネットワーク層で通信することができないと判断し、ビットカウンタから1を減算した値をビット番号Aに設定し(ステップS2446)、ビットカウンタに0を設定し、リセットビットに1を設定する(ステップS2447)。
続いて、サブネットマスク検出部24は、検査IPとリセットビットの1の補数との論理積(AND)を計算し、その結果を検査IPに設定するとともに、ビットカウンタに1を加算し、リセットビットを1ビットだけ左シフトする(ステップS2448)。
続いて、サブネットマスク検出部24は、送信元IPアドレスに上記検査IPを設定し、送信先IPアドレスに上記モニタIPを設定したICMPエコー要求(図7(A)参照)を生成し、ネットワークインタフェース部21を通してネットワークへ送信する(ステップS2449)。
ICMPエコー要求パケットを送信すると、サブネットマスク検出部24は、イーサヘッダの送信先MACアドレスにブロードキャストアドレスを使用していないICMPエコー応答を受信したか否かを判定する(ステップS2450)。受信したICMPエコー応答が送信先MACアドレスにブロードキャストアドレスを使用していない場合は(ステップS2450のYES)、当該検査IPアドレスとモニタアドレスとはMACアドレスにブロードキャストを使用することなくネットワーク層で通信可能であると判断し、ステップS2448へ戻る。
これに対して、イーサヘッダの送信先MACアドレスにブロードキャストアドレスを使用していないICMPエコー応答を受信しなかった場合には(ステップS2450のNO)、MACアドレスにブロードキャストを使用せずにネットワーク層で通信することができないと判断し、ビットカウンタから1を減算した値をビット番号Bに設定する(ステップS2451)。このビット番号Bをサブネットのホスト部の最上位ビット番号として設定する(ステップS2452)。
続いて、ビット番号Aがビット番号Bより大きいか否か判定し(ステップS2453)、ビット番号A>ビット番号Bであった場合は(ステップS2453のYES)、サブネットのホスト部の最上位ビット番号にビット番号Aの値を設定し(ステップS2454)、ステップS2455を実行する。ビット番号A≦ビット番号Bであった場合は(ステップS2453のNO)、ステップS2454をスキップしてステップS2455を実行する。ステップS2455では、すでに述べたように、サブネットのホスト部の最上位ビット〜最下位ビットをセットし、その他のビットをリセットして32ビット値を計算し、その1の補数をとることでサブネットマスクを検出する。
上述したように、図11に示すサブネットマスク検出処理では、モニタIPアドレスに基づいて検査IPアドレスを順次生成し、生成された検査IPアドレスとモニタIPアドレスとの間でブロードキャストアドレスを使用せずに通信可能であるか否かを判定することでサブネットの範囲を特定する。一例として、モニタされたARP/IPパケットの送信元あるいは送信先IPアドレスに基づいて4個の検査IPアドレスを生成してサブネットマスク検出を行う場合を説明する。
図12は、4つの検査IPアドレスを生成した場合のサブネットマスク検出処理を示す模式図である。ここでは、検査IPアドレスNo.1およびNo.2が隣接したIPアドレスであり、検査IPアドレスNo.3およびNo.4が隣接したIPアドレスであるとする。図12には、モニタIPアドレスから検査IPアドレスNo.2およびNo.3に対してMACアドレスにブロードキャストアドレスを使用しないICMPエコー応答が返送され(通信OK)、検査IPアドレスNo.1およびNo.4に対しては返送されなかった(通信NG)場合が示されている。
この場合、検査IPアドレスNo.1およびNo.4は、サブネット内の最大または最小のIPアドレス、すなわち装置に割り当てることは出来ないブロードキャストアドレスであると判定される。言い換えれば、モニタIPアドレスと検査IPアドレスNo.2およびNo.3との間はMACアドレスにブロードキャストアドレスを使用せずにネットワーク層で通信可能であるが、モニタIPアドレスと検査IPアドレスNo.1およびNo.4との間はMACアドレスにブロードキャストアドレスを使用せずにネットワーク層で通信できず、従って、MACアドレスにブロードキャストアドレスを使用せずにICMPエコー通信も行えない。これにより、サブネットの範囲は検査IPアドレスNo.1〜No.4で示す範囲であると判断される。
(4)割当可能IPアドレス決定処理
上述したサブネットマスク検出処理によりサブネットマスクが検出されると、IPアドレス決定部25はサブネット内で割当可能なIPアドレスを決定する。
図13は、IPアドレス決定部25における割当可能IPアドレス決定処理を示すフローチャートである。まず、IPアドレス決定部25は、検査IPアドレスにサブネット最小IPアドレスを設定し(ステップS2591)、検査IPアドレスに1を加算する(ステップS2592)。
続いて、IPアドレス決定部25は、検査IPアドレスとサブネットの最大IPアドレスとが等しいか否かを判定し(ステップS2593)、検査IPアドレス=サブネット最大IPアドレスであれば(ステップS2593のYES)、割り当て可能なIPアドレスは存在しないと判断して処理を終了する。検査IPアドレスがサブネット最大IPアドレスでない場合は(ステップS2593のNO)、ターゲットIPアドレスを検査IPアドレスとしたARP要求を生成し、ネットワークインタフェース部21を通してネットワーク10へ送信する(ステップS2594)。
ARP要求を送信すると、IPアドレス決定部25は、規定時間内に当該ARP要求に対するARP応答を受信したかどうかを判定し(ステップS2595)、受信した場合は(ステップS2595のYES)、すでに割り当てられたIPアドレスであるから、ステップS2592へ戻って次のIPアドレスの検査を行う。規定時間内に当該ARP要求に対するARP応答を受信しなかった場合は(ステップS2595のNO)、当該検査IPアドレスはどのネットワーク装置にも割り当てられていないと判断され、IPアドレス決定部25はこのIPアドレスを割当て可能IPアドレスとして決定する(ステップS2596)。
(5)ルータ検出処理(第1例)
図14はルータ検出部26におけるルータの検出動作の第1例を示すフローチャートである。パケットモニタ23によりIPパケットがモニタされると(ステップS2681のYES)、ルータ検出部26は、当該モニタIPアドレスがサブネット外か否かを判断し(ステップS2682)、サブネット内であれば(ステップS2682のNO)、ステップS2681に戻る。サブネット外か否かの判断については後述する。
当該モニタIPアドレスがサブネット外のアドレスであれば(ステップS2682のYES)、ルータ検出部26は当該モニタIPパケットの送信先MACアドレスをルータのMACアドレスとして設定し(ステップS2683)、このルータMACアドレスをターゲットのハードウェアアドレスとしたInARP(Inverse Address Resolution Protocol)要求をネットワークインタフェース部21を通してネットワーク10へ送信する(ステップS2684)。
InARP要求を送信すると、ルータ検出部26は、規定時間内にInARP応答を受信したか否かを判定する(ステップS2685)。規定時間内にInARP応答を受信しなかった場合は(ステップS2685のNO)、ステップS2681へ戻る。規定時間内にInARP応答を受信した場合は(ステップS2685のYES)、受信したInARP応答パケットに含まれる送信元プロトコルアドレスをルータのIPアドレスとして決定し(ステップS2686)、処理を終了する。
このようにサブネットの外部にあるホストへ送信されるIPパケットをモニタすることで当該サブネットのルータのIPアドレスを検出することができる。以下、図15を用いてサブネットの外部へ送信されるIPパケットの特徴について説明する。
図15は、サブネット外のネットワークに接続されたホストに送信するIPパケットの特徴を説明するためのネットワークを示す模式図である。同じサブネット内のホストBからホストAに送信するIPパケット(1)の場合、送信先IPアドレスは当該IPパケット(1)を次に受信するホストAのIPアドレスである。これに対して、ホストBからサブネット外のネットワークに接続されたホストZにIPパケット(2)を送信する場合、その送信先IPアドレスは当該IPパケットを次に受信するルータのIPアドレスではなく、外部のホストZのIPアドレスである。したがって、IPパケット(2)の送信先IPアドレスはサブネット外のIPアドレスであると判断することができ、ルータのMACアドレスは当該IPパケット(2)の送信先MACアドレスであると判断される。したがって、InARP要求および応答プロセスにより当該ルータのIPアドレスを検出することができる。
(6)ルータ検出処理(第2例)
図16はルータ検出部26におけるルータの検出動作の第2例を示すフローチャートである。まず、検査IPアドレスにサブネット最小IPアドレスを設定し(ステップS2691)、検査IPアドレスに1を加算する(ステップS2692)。続いて、ルータ検出部26は検査IPアドレスとサブネット最大IPアドレスとが等しいか否かを判定する(ステップS2693)。検査IPアドレス=サブネット最大IPアドレスの場合には(ステップS2693のYES)、サブネットにルータが存在しないと判断して処理を終了する。
検査IPアドレスとサブネット最大IPアドレスとが異なる場合には(ステップS2693のNO)、検査IPアドレスを送信先IPアドレスに、所望の値をTTL(Time To Live)にそれぞれ設定したICMPエコー要求パケット(図7(A)参照)を送信する(ステップS2694)。ここでは、TTL=2、すなわち通過可能ルータ段数が2であるとする。
ICMPエコー要求パケットを送信すると、ルータ検出部26は、規定時間内に当該ICMPエコー要求に対するICMP経路変更要求メッセージ(図7(C)参照)を受信したかどうかを判定する(ステップS2695)。
ICMP経路変更要求メッセージを受信しなかった場合は(ステップS2695のNO)、規定時間内に当該ICMPエコー要求に対するICMP時間切れメッセージ(図7(B))を受信したかどうかを判定する(ステップS2696)。ICMP時間切れメッセージを受信しなかった場合は(ステップS2696のNo)、ステップS2692に戻る。規定時間内にICMP時間切れメッセージを受信した場合は(ステップS2696のYES)、当該時間切れメッセージパケットが含む送信元IPアドレスをルータのIPアドレスであると判断して(ステップS2697)、ルータ検出動作を終了する。
一方、ICMP経路変更要求メッセージを受信した場合は(ステップS2695のYES)、当該経路変更要求メッセージが含むルータIPアドレスをルータのIPアドレスであると判断して(ステップS2698)、ルータ検出動作を終了する。このようにしてルータのIPアドレスを検出する。
上述したサブネットマスク検出処理、IPアドレス決定処理、および、ルータ検出処理により、ネットワーク情報として、サブネットマスク、割り当て可能なIPアドレス、および、ルータIPアドレスをそれぞれ検出することができる。これらのネットワーク情報がネットワーク情報設定部27へ出力される。
2.第2実施形態
図17は本発明の第2実施形態によるネットワーク情報検出装置を示すブロック構成図である。本実施形態によるネットワーク情報検出装置20は、制御部22により制御されるサブネットマスク同一性判定部29を有する点が図2に示す第1実施形態とは異なっている。したがって、ここでは第1実施形態と同じ構成および機能を有する回路ブロックには同じ参照番号21〜28を付して説明は省略し、サブネットマスク同一性判定部29の動作について詳細に説明する。
(1)サブネットマスク同一性検査(第1例)
図18(A)および(B)は、第2実施形態におけるサブネットマスク同一性検査方法の第1例を示すシーケンス図である。以下、説明を簡単にするために、サブネットマスク値の比較を行うネットワーク装置を「装置1」とし、比較対象となるネットワーク装置を「装置2」とする。
まず、図18(A)に示すように、装置1は、装置1あるいは装置2のIPアドレスのホスト部を0(すべて0)または−1(すべて1)としたIPアドレス(詳しくは後述する。)を送信元IPアドレスとしたICMPエコー要求を装置2へ送信する。装置1のサブネットマスクが装置2のそれよりも大きい場合は、装置2は装置1にユニキャストのICMPエコー応答を返送し、装置1のサブネットマスクが装置2のそれ以下の場合は、装置2は装置1にユニキャストのICMPエコー応答を送信しないか、または、ブロードキャストで応答する。
ユニキャストのICMPエコー応答がなかった場合には、図18(B)に示すように、装置1は、装置2に対して、装置2のホスト部の各ビットを反転させたIPアドレスを送信元IPアドレスとしたICMPエコー要求を送信する。装置1のサブネットマスクが装置2のそれと等しい場合は、装置2は装置1にユニキャストのICMPエコー応答を返送し、装置1のサブネットマスクが装置2のそれより小さい場合は、装置2は装置1にエコー応答を送信しない。
図19は、本実施形態におけるサブネットマスク同一性検査動作の第1例を示すフローチャートである。このサブネットマスク同一性検査プロセスは、図17におけるサブネットマスク同一性判定部29により実行される。ここでは、図18の「装置1」および「装置2」がそれぞれ「自装置」および「モニタIPアドレス使用装置」に対応する。
図19において、まずパケットモニタ23は、制御部22の制御の下で、LAN10を流れるパケットをモニタし(ステップS3001)、ARPパケットか否かを判定する(ステップS3002)。ARPパケットでなければ(ステップS3002のNO)、続いてIPパケットか否かを判定する(ステップS3003)。IPパケットでもなければ(ステップS3003のNO)、ステップS3001へ戻る。
モニタされたパケットがIPパケットである場合には(ステップS3003のYES)、サブネットマスク同一性判定部29は、送信元IPアドレスを自装置のIPアドレスに、送信先IPアドレスをモニタIPアドレスにそれぞれ設定したARP要求を生成して送信し(ステップS3004)、その応答を待つ。
規定時間内に当該ARP要求に対するARP応答がなければ(ステップS3005のNO)、当該モニタIPアドレスはLAN10の外部にあると判断され、ステップS3001へ戻る。
規定時間内に当該ARP要求に対するARP応答を受信した場合(ステップS3005のYES)、あるいは、ステップS3002においてARPパケットをモニタした場合には(ステップS3002のYES)、サブネットマスク同一性判定部29は、当該モニタIPアドレスはLAN10の内部にあると判断し、当該モニタIPアドレスのネットワークアドレス(ネットワーク部+サブネット部)と自装置のそれとが等しいか否かを判断する(ステップS3006)。モニタIPアドレスのネットワークアドレスと自装置のそれとが異なる場合には(ステップS3006のNO)、この検査処理を終了する。
モニタIPアドレスのネットワークアドレスと自装置のそれとが等しい場合は(ステップS3006のYES)、自装置のIPアドレスまたはモニタIPアドレスのホスト部を0または−1とした値を送信元IPアドレスとし、モニタIPアドレスを送信先IPアドレスとしたICMPエコー要求を生成して送信する(ステップS3007)。ここで、ホスト部を0にするとはホスト部の全てのビットを0にすることであり、ホスト部を−1にするとは全てのビットを1にすることである。ホスト部を0にするのは自装置IPアドレスのネットワークアドレスのLSBが1の場合であり、ホスト部を−1にするのは自装置IPアドレスのネットワークアドレスのLSBが0の場合である。例えば、自装置のIPアドレスが“10.56.88.1”、サブネットマスクが“255.255.255.0”の場合には、ICMPエコー要求の送信元IPアドレスは“10.56.88.255”に設定される。自装置のIPアドレスが“10.56.89.1”、サブネットマスクが“255.255.255.0”の場合には、ICMPエコー要求の送信元IPアドレスは“10.56.89.0”に設定される。
ICMPエコー要求を送信すると、サブネットマスク同一性判定部29は、モニタIPアドレスの装置(モニタIPアドレス使用装置)からユニキャストのICMPエコー応答があったか否かを判断する(ステップS3008)。
ユニキャストのICMPエコー応答がなかった場合には(ステップS3008のNO)、サブネットマスク同一性判定部29は、モニタIPアドレスのホスト部の各ビットを反転した値を送信元IPアドレスに、モニタIPアドレスを送信先IPアドレスにそれぞれ設定したICMPエコー要求を生成して送信する(ステップS3009)。ここで、ICMPエコー要求の送信元IPアドレスは、モニタIPアドレスのホスト部の最上位ビット(MSB)を反転し、他のビットはホスト部全体が0または−1とならないどんな値でも良い。例えば、モニタIPアドレスが“10.56.88.2”、自装置のサブネットマスクが“255.255.255.0”の場合には、ICMPエコー要求の送信元IPアドレスは“10.56.88.254”〜“10.56.88.128”のどれでもよい。
続いて、サブネットマスク同一性判定部29は、このICMPエコー要求に対してモニタIPアドレス使用装置からユニキャストのエコー応答があったか否かを判断する(ステップS3010)。ユニキャストのエコー応答があった場合は(ステップS3010のYES)、自装置のサブネットマスク値がモニタIPアドレス使用装置のそれよりも小さいと判定し(ステップS3011)、処理を終了する。逆に、ユニキャストのエコー応答がなかった場合は(ステップS3010のNO)、自装置のサブネットマスク値とモニタIPアドレス使用装置のそれとが等しいと判定し(ステップS3013)、処理を終了する。
また、ステップS3008において、ユニキャストのICMPエコー応答があった場合には(ステップS3008のYES)、自装置のサブネットマスク値がモニタIPアドレス使用装置のそれよりも大きいと判定し(ステップS3012)、処理を終了する。
このように、二つの装置で使用するサブネットマスクの同一性を検証することができる。そして、これらのサブネットマスクが異なると判定された場合には、制御部22は、サブネットマスク検出部24、IPアドレス決定部25、および、ルータ検出部26を制御して、上述したように、所望のサブネットマスク、未割り当てIPアドレスおよびルータIPアドレスの検出、これらネットワーク情報のネットワーク情報設定部27への転送、ネットワーク情報設定部27からネットワーク情報送信部28への転送、および、ネットワーク情報送信部28からネットワークインタフェース部21への転送を、必要に応じて選択的に実行あるいは再実行する。
また、サブネットマスクが異なると判定されたネットワーク機器またはネットワークアドレスが異なると判定されたネットワーク機器に対して、電子メールなどの通信手段を通してネットワークアドレスやサブネットマスクの設定が間違っている旨を通知してもよい。その際、ネットワークアドレスやサブネットマスクを自動設定するために、必要なネットワーク情報をネットワーク情報送信部28から送信してもよい。
(2)サブネットマスク同一性検査(第2例)
図20(A)および(B)は、第2実施形態におけるサブネットマスク同一性検査方法の第2例を示すシーケンス図である。以下、説明を簡単にするために、サブネットマスク値の比較を行うネットワーク装置を「装置1」とし、比較対象となるネットワーク装置を「装置2」とする。
まず、図20(A)に示すように、装置1は、装置2に対して、装置2のホスト部の各ビットを反転させたIPアドレスを送信元IPアドレスとしたICMPエコー要求を送信する。装置1のサブネットマスクが装置2のそれ以上の場合は、装置2は装置1にユニキャストのICMPエコー応答を返送し、装置1のサブネットマスクが装置2のそれより小さい場合は、装置2は装置1にユニキャストのICMPエコー応答を送信しない。
ユニキャストのICMPエコー応答があった場合には、図20(B)に示すように、装置1は、装置1あるいは装置2のIPアドレスのホスト部を0(すべて0)または−1(すべて1)としたIPアドレスを送信元IPアドレスとしたICMPエコー要求を装置2へ送信する。装置1のサブネットマスクが装置2のそれよりも大きい場合は、装置2は装置1にユニキャストのICMPエコー応答を返送し、装置1のサブネットマスクと装置2のそれが等しい場合は、装置2は装置1にユニキャストのICMPエコー応答を送信しないか、または、ブロードキャストで応答する。
図21は、本実施形態におけるサブネットマスク同一性検査動作の第2例を示すフローチャートである。このサブネットマスク同一性検査プロセスは、図17におけるサブネットマスク同一性判定部29により実行される。ここでは、図20の「装置1」および「装置2」がそれぞれ「自装置」および「モニタIPアドレス使用装置」に対応する。なお、図21において、ステップS4001〜S4006は、図19のステップS3001〜S3006にそれぞれ対応するので、説明は省略する。
ステップS4006において、モニタIPアドレスのネットワークアドレスと自装置のそれとが等しい場合は(ステップS4006のYES)、サブネットマスク同一性判定部29は、モニタIPアドレスのホスト部の各ビットを反転した値を送信元IPアドレスに、モニタIPアドレスを送信先IPアドレスにそれぞれ設定したICMPエコー要求を生成して送信する(ステップS4007)。ここで、ICMPエコー要求の送信元IPアドレスは、モニタIPアドレスのホスト部の最上位ビット(MSB)を反転し、他のビットはホスト部全体が0または−1とならないどんな値でも良い。例えば、モニタIPアドレスが“10.56.88.2”、自装置のサブネットマスクが“255.255.255.0”の場合には、ICMPエコー要求の送信元IPアドレスは“10.56.88.254”〜“10.56.88.128”のどれでもよい。
ICMPエコー要求を送信すると、サブネットマスク同一性判定部29は、モニタIPアドレスの装置(モニタIPアドレス使用装置)からユニキャストのICMPエコー応答があったか否かを判断する(ステップS4008)。
ユニキャストのICMPエコー応答があった場合には(ステップS4008のYES)、サブネットマスク同一性判定部29は、自装置のIPアドレスまたはモニタIPアドレスのホスト部を0または−1とした値を送信元IPアドレスとし、モニタIPアドレスを送信先IPアドレスとしたICMPエコー要求を生成して送信する(ステップS4009)。ここで、ホスト部を0にするとは、上述したように、ホスト部の全てのビットを0にすることであり、ホスト部を−1にするとは全てのビットを1にすることである。また、ホスト部を0にするのは自装置IPアドレスのネットワークアドレスのLSBが1の場合であり、ホスト部を−1にするのは自装置IPアドレスのネットワークアドレスのLSBが0の場合である。
続いて、サブネットマスク同一性判定部29は、このICMPエコー要求に対してモニタIPアドレス使用装置からユニキャストのエコー応答があったか否かを判断する(ステップS4010)。ユニキャストのエコー応答があった場合は(ステップS4010のYES)、自装置のサブネットマスク値がモニタIPアドレス使用装置のそれよりも大きいと判定し(ステップS4011)、処理を終了する。逆に、ユニキャストのエコー応答がなかった場合は(ステップS4010のNO)、自装置のサブネットマスク値とモニタIPアドレス使用装置のそれとが等しいと判定し(ステップS4013)、処理を終了する。
また、ステップS4008において、ユニキャストのICMPエコー応答がなかった場合には(ステップS4008のNO)、自装置のサブネットマスク値がモニタIPアドレス使用装置のそれよりも小さいと判定し(ステップS4012)、処理を終了する。
このように、二つの装置で使用するサブネットマスクの同一性を検証することができる。そして、これらのサブネットマスクが異なると判定された場合には、制御部22は、サブネットマスク検出部24、IPアドレス決定部25、および、ルータ検出部26を制御して、上述したように、所望のサブネットマスク、未割り当てIPアドレスおよびルータIPアドレスの検出、これらネットワーク情報のネットワーク情報設定部27への転送、ネットワーク情報設定部27からネットワーク情報送信部28への転送、および、ネットワーク情報送信部28からネットワークインタフェース部21への転送を、必要に応じて選択的に実行あるいは再実行する。
また、サブネットマスクが異なると判定されたネットワーク機器またはネットワークアドレスが異なると判定されたネットワーク機器に対して、電子メールなどの通信手段を通してネットワークアドレスやサブネットマスクの設定が間違っている旨を通知してもよい。その際、ネットワークアドレスやサブネットマスクを自動設定するために、必要なネットワーク情報をネットワーク情報送信部28から送信してもよい。
(3)サブネットマスク同一性検査(第3例)
図22(A)および(B)は、第2実施形態におけるサブネットマスク同一性検査方法の第3例を示すシーケンス図である。以下、説明を簡単にするために、サブネットマスク値の比較を行うネットワーク装置を「装置1」とし、比較対象となるネットワーク装置を「装置2」とする。
まず、図22(A)に示すように、装置1は、装置2に対して、装置2のホスト部の各ビットを反転させたIPアドレスを送信元IPアドレスとしたICMPエコー要求を送信する。装置1のサブネットマスクが装置2のそれ以上の場合は、装置2は装置1にユニキャストのICMPエコー応答を返送し、装置1のサブネットマスクが装置2のそれより小さい場合は、装置2は装置1にユニキャストのICMPエコー応答を送信しない。
ユニキャストのICMPエコー応答があった場合には、図22(B)に示すように、装置1は、装置1あるいは装置2のIPアドレスにおけるネットワークアドレスのLSBを反転したものを送信元IPアドレスとしたICMPエコー要求を装置2へ送信する。装置1のサブネットマスクが装置2のそれよりも大きい場合は、装置2は装置1にユニキャストのICMPエコー応答を返送し、装置1のサブネットマスクと装置2のそれが等しい場合は、装置2は装置1にユニキャストのICMPエコー応答を送信しない。
図23は、本実施形態におけるサブネットマスク同一性検査動作の第3例を示すフローチャートである。このサブネットマスク同一性検査プロセスは、図17におけるサブネットマスク同一性判定部29により実行される。ここでは、図22の「装置1」および「装置2」がそれぞれ「自装置」および「モニタIPアドレス使用装置」に対応する。なお、図23において、ステップS5001〜S5006は、図19のステップS3001〜S3006にそれぞれ対応するので、説明は省略する。
ステップS5006において、モニタIPアドレスのネットワークアドレスと自装置のそれとが等しい場合は(ステップS5006のYES)、サブネットマスク同一性判定部29は、モニタIPアドレスのホスト部の各ビットを反転した値を送信元IPアドレスに、モニタIPアドレスを送信先IPアドレスにそれぞれ設定したICMPエコー要求を生成して送信する(ステップS5007)。ここで、ICMPエコー要求の送信元IPアドレスは、モニタIPアドレスのホスト部の最上位ビット(MSB)を反転し、他のビットはホスト部全体が0または−1とならないどんな値でも良い。例えば、モニタIPアドレスが“10.56.88.2”、自装置のサブネットマスクが“255.255.255.0”の場合には、ICMPエコー要求の送信元IPアドレスは“10.56.88.254”〜“10.56.88.128”のどれでもよい。
ICMPエコー要求を送信すると、サブネットマスク同一性判定部29は、モニタIPアドレスの装置(モニタIPアドレス使用装置)からユニキャストのICMPエコー応答があったか否かを判断する(ステップS5008)。
ユニキャストのICMPエコー応答があった場合には(ステップS5008のYES)、自装置IPアドレスまたはモニタIPアドレスにおける自装置のサブネットマスクが示すネットワークアドレスのLSBを反転した値を送信元IPアドレスとし、モニタIPアドレスを送信先IPアドレスとしたICMPエコー要求を生成して送信する(ステップS5009)。
続いて、サブネットマスク同一性判定部29は、このICMPエコー要求に対してモニタIPアドレス使用装置からユニキャストのエコー応答があったか否かを判断する(ステップS5010)。ユニキャストのエコー応答があった場合は(ステップS5010のYES)、自装置のサブネットマスク値がモニタIPアドレス使用装置のそれよりも大きいと判定し(ステップS5011)、処理を終了する。逆に、ユニキャストのエコー応答がなかった場合は(ステップS5010のNO)、自装置のサブネットマスク値とモニタIPアドレス使用装置のそれとが等しいと判定し(ステップS5013)、処理を終了する。
また、ステップS5008において、ユニキャストのICMPエコー応答がなかった場合には(ステップS5008のNO)、自装置のサブネットマスク値がモニタIPアドレス使用装置のそれよりも小さいと判定し(ステップS5012)、処理を終了する。
このように、二つの装置で使用するサブネットマスクの同一性を検証することができる。そして、これらのサブネットマスクが異なると判定された場合には、制御部22は、サブネットマスク検出部24、IPアドレス決定部25、および、ルータ検出部26を制御して、上述したように、所望のサブネットマスク、未割り当てIPアドレスおよびルータIPアドレスの検出、これらネットワーク情報のネットワーク情報設定部27への転送、ネットワーク情報設定部27からネットワーク情報送信部28への転送、および、ネットワーク情報送信部28からネットワークインタフェース部21への転送を、必要に応じて選択的に実行あるいは再実行する。
また、サブネットマスクが異なると判定されたネットワーク機器またはネットワークアドレスが異なると判定されたネットワーク機器に対して、電子メールなどの通信手段を通してネットワークアドレスやサブネットマスクの設定が間違っている旨を通知してもよい。その際、ネットワークアドレスやサブネットマスクを自動設定するために、必要なネットワーク情報をネットワーク情報送信部28から送信してもよい。
(4)サブネットマスク同一性検査(第4例)
図24(A)および(B)は、第2実施形態におけるサブネットマスク同一性検査方法の第4例を示すシーケンス図である。以下、説明を簡単にするために、サブネットマスク値の比較を行うネットワーク装置を「装置1」とし、比較対象となるネットワーク装置を「装置2」とする。
まず、図24(A)に示すように、装置1は、装置1あるいは装置2のIPアドレスにおけるネットワークアドレスのLSBを反転したものを送信元IPアドレスとしたICMPエコー要求を装置2へ送信する。装置1のサブネットマスクが装置2のそれよりも大きい場合は、装置2は装置1にユニキャストのICMPエコー応答を返送し、装置1のサブネットマスクが装置2のそれ以下の場合は、装置2は装置1にユニキャストのICMPエコー応答を送信しない。
ユニキャストのICMPエコー応答がなかった場合には、図24(B)に示すように、装置1は、装置2に対して、装置2のホスト部の各ビットを反転させたIPアドレスを送信元IPアドレスとしたICMPエコー要求を送信する。装置1のサブネットマスクと装置2のそれとが等しい場合は、装置2は装置1にユニキャストのICMPエコー応答を返送し、装置1のサブネットマスクが装置2のそれより小さい場合は、装置2は装置1にユニキャストのICMPエコー応答を送信しない。
図25は、本実施形態におけるサブネットマスク同一性検査動作の第4例を示すフローチャートである。このサブネットマスク同一性検査プロセスは、図17におけるサブネットマスク同一性判定部29により実行される。ここでは、図24の「装置1」および「装置2」がそれぞれ「自装置」および「モニタIPアドレス使用装置」に対応する。なお、図25において、ステップS6001〜S6006は、図19のステップS3001〜S3006にそれぞれ対応するので、説明は省略する。
ステップS6006において、モニタIPアドレスのネットワークアドレスと自装置のそれとが等しい場合は(ステップS6006のYES)、自装置IPアドレスまたはモニタIPアドレスにおける自装置のサブネットマスクが示すネットワークアドレスのLSBを反転した値を送信元IPアドレスとし、モニタIPアドレスを送信先IPアドレスとしたICMPエコー要求を生成して送信する(ステップS6007)。
ICMPエコー要求を送信すると、サブネットマスク同一性判定部29は、モニタIPアドレスの装置(モニタIPアドレス使用装置)からユニキャストのICMPエコー応答があったか否かを判断する(ステップS6008)。
ユニキャストのICMPエコー応答がなかった場合には(ステップS6008のNO)、サブネットマスク同一性判定部29は、モニタIPアドレスのホスト部の各ビットを反転した値を送信元IPアドレスに、モニタIPアドレスを送信先IPアドレスにそれぞれ設定したICMPエコー要求を生成して送信する(ステップS6009)。ここで、ICMPエコー要求の送信元IPアドレスは、モニタIPアドレスのホスト部の最上位ビット(MSB)を反転し、他のビットはホスト部全体が0または−1とならないどんな値でも良い。例えば、モニタIPアドレスが“10.56.88.2”、自装置のサブネットマスクが“255.255.255.0”の場合には、ICMPエコー要求の送信元IPアドレスは“10.56.88.254”〜“10.56.88.128”のどれでもよい。
続いて、サブネットマスク同一性判定部29は、このICMPエコー要求に対してモニタIPアドレス使用装置からユニキャストのエコー応答があったか否かを判断する(ステップS6010)。ユニキャストのエコー応答があった場合は(ステップS6010のYES)、自装置のサブネットマスク値とモニタIPアドレス使用装置のそれとが等しいと判定し(ステップS6011)、処理を終了する。逆に、ユニキャストのエコー応答がなかった場合は(ステップS6010のNO)、自装置のサブネットマスク値はモニタIPアドレス使用装置のそれより小さいと判定し(ステップS6013)、処理を終了する。
また、ステップS6008において、ユニキャストのICMPエコー応答があった場合には(ステップS6008のYES)、自装置のサブネットマスク値がモニタIPアドレス使用装置のそれよりも大きいと判定し(ステップS6012)、処理を終了する。
このように、二つの装置で使用するサブネットマスクの同一性を検証することができる。そして、これらのサブネットマスクが異なると判定された場合には、制御部22は、サブネットマスク検出部24、IPアドレス決定部25、および、ルータ検出部26を制御して、上述したように、所望のサブネットマスク、未割り当てIPアドレスおよびルータIPアドレスの検出、これらネットワーク情報のネットワーク情報設定部27への転送、ネットワーク情報設定部27からネットワーク情報送信部28への転送、および、ネットワーク情報送信部28からネットワークインタフェース部21への転送を、必要に応じて選択的に実行あるいは再実行する。
また、サブネットマスクが異なると判定されたネットワーク機器またはネットワークアドレスが異なると判定されたネットワーク機器に対して、電子メールなどの通信手段を通してネットワークアドレスやサブネットマスクの設定が間違っている旨を通知してもよい。その際、ネットワークアドレスやサブネットマスクを自動設定するために、必要なネットワーク情報をネットワーク情報送信部28から送信してもよい。
3.第3実施形態
図26は本発明の第3実施形態によるネットワーク情報検出装置を示すブロック構成図である。本実施形態によるネットワーク情報検出装置20は、ネットワーク伝送路10に接続するためのネットワークインタフェース201と、上述したIPパケットあるいはARPパケットを送受信するための送受信制御部202とを有し、プログラム制御プロセッサ203が上述したネットワーク情報の検出、決定、設定などの処理を制御する。
プログラム制御プロセッサ203は、プログラムメモリ204に格納されたサブネットマスク検出プログラム、IPアドレス決定プログラム、ルータ検出プログラム、および、サブネットマスク同一性判定プログラムをそれぞれ読み出して実行することにより、上述したネットワーク情報検出動作、すなわちサブネットマスク検出、IPアドレス決定およびルータ検出の処理、さらにサブネットマスク同一性判定の処理を行うことができる。こうして検出されたネットワーク情報はネットワーク情報メモリ205に格納され、自装置へ設定される。あるいは、ネットワーク上の他の装置の設定のために送信される。
なお、本発明は、上述実施例に限定されるものではなく、発明の趣旨に沿って種々変形して適用することが可能である。検出するネットワーク情報は上記説明に挙げた全てである必要はなく、必要に応じて該当機能を実装すれば良い。また、IPアドレス決定部あるいはネットワーク情報送信部の一方のみを実装した構成も考えられる。
4.効果
以上詳細に説明したように、 本発明によれば、サブネット外部のIPアドレスを使用せずに、ネットワークで使用しているサブネットマスク情報を取得することが可能となる。サブネット外部のIPアドレスを使用しないことで、サブネット外部にパケットを送信する必要がなくなる。これにより、サブネット外部にそのIPアドレスを使用するネットワーク装置が存在する場合であっても、当該ネットワーク装置へIPパケット送信して正常動作を阻害する可能性を排除できる。
また検出したサブネットから、未割り当てのIPアドレスを決定し、さらにルータのIPアドレスを検出するという処理を自動で行い、ネットワーク装置を自動設定することができる。このため、ユーザの手作業でのネットワーク情報の入力作業を無くし、また間違えて入力した場合のネットワークの混乱を防ぐ効果がある。
さらに、販売店で購入してきたネットワーク装置をユーザのネットワークに接続するだけで、特別なネットワーク情報設定操作をする必要がなく、他のネットワーク装置とネットワーク層での通信が可能となる。
またネットワーク装置を他のネットワークに移動した場合にも、ネットワーク情報を人手で設定をすること無く、他のネットワーク装置とネットワーク層で通信可能となる効果がある。
さらに、本発明によればネットワークアドレスやサブネットマスクの同一性を判定することができるために、モニタされたIPアドレスを使用するネットワーク機器の管理者に、メール、専用アプリケーションソフト、専用装置あるいは口頭でネットワークアドレスやサブネットマスクの設定が間違っている旨を通知し、自動でネットワークアドレスやサブネットマスクを設定することができる。
本発明によるネットワーク情報検出装置を含むネットワークの一例を示す概略的構成図である。 本発明の第1実施形態によるネットワーク情報検出装置を示すブロック構成図である。 イーサネット(登録商標)パケットのフォーマットを示す図である。 IPパケットのフォーマットを示す図である。 ARPパケットのフォーマットを示す図である。 IPアドレスのフォーマットを示す図である。 (A)はICMPエコー要求/応答パケットのフォーマットを示す図、(B)はICMP時間切れ通知パケットのフォーマットを示す図、(C)はICMP経路変更要求パケットのフォーマットを示す図である。 本実施形態におけるサブネットマスク検出処理の第1例を示すフローチャートである。 4個のARPまたはIPパケットをモニタした場合の各パケットが含むIPアドレスとIP領域と示す模式図である。 本実施形態におけるサブネットマスク検出処理の第2例を示すフローチャートである。 本実施形態におけるサブネットマスク検出処理の第3例を示すフローチャートである。 4つの検査IPアドレスを生成した場合のサブネットマスク検出処理を示す模式図である。 IPアドレス決定部25における割当可能IPアドレス決定処理を示すフローチャートである。 ルータ検出部26におけるルータの検出動作の第1例を示すフローチャートである。 サブネット外のネットワークに接続されたホストに送信するIPパケットの特徴を説明するためのネットワークを示す模式図である。 ルータ検出部26におけるルータの検出動作の第2例を示すフローチャートである。 本発明の第2実施形態によるネットワーク情報検出装置を示すブロック構成図である。 (A)および(B)は、第2実施形態におけるサブネットマスク同一性検査方法の第1例を示すシーケンス図である。 本実施形態におけるサブネットマスク同一性検査動作の第1例を示すフローチャートである。 (A)および(B)は、第2実施形態におけるサブネットマスク同一性検査方法の第2例を示すシーケンス図である。 本実施形態におけるサブネットマスク同一性検査動作の第2例を示すフローチャートである。 (A)および(B)は、第2実施形態におけるサブネットマスク同一性検査方法の第3例を示すシーケンス図である。 本実施形態におけるサブネットマスク同一性検査動作の第3例を示すフローチャートである。 (A)および(B)は、第2実施形態におけるサブネットマスク同一性検査方法の第4例を示すシーケンス図である。 本実施形態におけるサブネットマスク同一性検査動作の第4例を示すフローチャートである。 本発明の第3実施形態によるネットワーク情報検出装置を示すブロック構成図である。
符号の説明
10 LAN伝送路
20 ネットワーク情報検出装置
21 ネットワークインタフェース部
22 制御部
23 パケットモニタ
24 サブネットマスク検出部
25 IPアドレス決定部
26 ルータ検出部
27 ネットワーク情報設定部
28 ネットワーク情報送信部
29 サブネットマスク同一性判定部
30〜50 ホスト
60 ルータ

Claims (12)

  1. 複数のネットワーク機器が接続されたローカルネットワークにおけるネットワーク情報を検出する方法において、
    a)前記ローカルネットワーク上のパケットをモニタするステップと、
    b)モニタされたパケットのIPアドレス(以下、モニタIPアドレスという。)のネットワークアドレスと自己のネットワークアドレスとを比較するステップと、
    c)ネットワークアドレスが同一の場合、ICMPのエコー要求およびエコー応答機能を用いて、前記モニタIPアドレスを使用している他のネットワーク機器のサブネットマスクと自己のサブネットマスクとの同一性を判定するステップと、
    を有することを特徴とするネットワーク情報検出方法。
  2. 前記ステップc)は、
    c.1)前記自己のIPアドレスおよび前記モニタIPアドレスのいずれかのホスト部をすべて0およびすべて1のいずれかに設定した送信元IPアドレスを有するICMPエコー要求を前記他のネットワーク機器へ送信し、
    c.2)前記他のネットワーク機器から前記ICMPエコー要求に対するICMPエコー応答をユニキャストで受信した場合、自己のサブネットマスク値は前記他のネットワーク機器のそれより大きいと判定し、
    c.3)前記他のネットワーク機器から前記ICMPエコー応答がない場合およびブロードキャストで受信した場合のいずれかの場合には、自己のサブネットマスク値は前記他のネットワーク機器のそれ以下であると判定する、
    ことを特徴とする請求項記載のネットワーク情報検出方法。
  3. さらに、
    c.4)前記ステップc.3)において、自己のサブネットマスク値は前記他のネットワーク機器のそれ以下であると判定された場合、前記自己のIPアドレスおよび前記モニタIPアドレスのいずれかのホスト部の少なくとも最上位ビットを反転させた送信元IPアドレスを有するICMPエコー要求を前記他のネットワーク機器へ送信し、
    c.5)前記他のネットワーク機器から前記ICMPエコー要求に対するICMPエコー応答をユニキャストで受信した場合、自己のサブネットマスク値は前記他のネットワーク機器のそれより小さいと判定し、
    c.6)前記他のネットワーク機器から前記ICMPエコー応答がない場合には、自己のサブネットマスク値と前記他のネットワーク機器のそれとは等しいと判定する、
    ことを特徴とする請求項記載のネットワーク情報検出方法。
  4. 前記ステップc)は、
    c.1) 前記自己のIPアドレスおよび前記モニタIPアドレスのいずれかのホスト部の少なくとも最上位ビットを反転させた送信元IPアドレスを有するICMPエコー要求を前記他のネットワーク機器へ送信し、
    c.2)前記他のネットワーク機器から前記ICMPエコー要求に対するICMPエコー応答をユニキャストで受信した場合、自己のサブネットマスク値は前記他のネットワーク機器のそれ以上であると判定し、
    c.3)前記他のネットワーク機器から前記ICMPエコー応答がない場合には、自己のサブネットマスク値は前記他のネットワーク機器のそれより小さいと判定する、
    ことを特徴とする請求項記載のネットワーク情報検出方法。
  5. さらに、
    c.4)前記ステップc.2)において、自己のサブネットマスク値は前記他のネットワーク機器のそれ以上であると判定された場合、前記自己のIPアドレスおよび前記モニタIPアドレスのいずれかのホスト部をすべて0およびすべて1のいずれかに設定した送信元IPアドレスを有するICMPエコー要求を前記他のネットワーク機器へ送信し、
    c.5)前記他のネットワーク機器から前記ICMPエコー要求に対するICMPエコー応答をユニキャストで受信した場合、自己のサブネットマスク値は前記他のネットワーク機器のそれより大きいと判定し、
    c.6)前記他のネットワーク機器から前記ICMPエコー応答がない場合およびブロードキャストで受信した場合のいずれかの場合には、自己のサブネットマスク値と前記他のネットワーク機器のそれとは等しいと判定する、
    ことを特徴とする請求項記載のネットワーク情報検出方法。
  6. さらに、
    c.4)前記ステップc.2)において、自己のサブネットマスク値は前記他のネットワーク機器のそれ以上であると判定された場合、前記自己のIPアドレスおよび前記モニタIPアドレスのいずれかのネットワークアドレスの最下位ビットを反転させた送信元IPアドレスを有するICMPエコー要求を前記他のネットワーク機器へ送信し、
    c.5)前記他のネットワーク機器から前記ICMPエコー要求に対するICMPエコー応答をユニキャストで受信した場合、自己のサブネットマスク値は前記他のネットワーク機器のそれより大きいと判定し、
    c.6)前記他のネットワーク機器から前記ICMPエコー応答がない場合には、自己のサブネットマスク値と前記他のネットワーク機器のそれとは等しいと判定する、
    ことを特徴とする請求項記載のネットワーク情報検出方法。
  7. 前記ステップc)は、
    c.1) 前記自己のIPアドレスおよび前記モニタIPアドレスのいずれかのネットワークアドレスの最下位ビットを反転させた送信元IPアドレスを有するICMPエコー要求を前記他のネットワーク機器へ送信し、
    c.2)前記他のネットワーク機器から前記ICMPエコー要求に対するICMPエコー応答をユニキャストで受信した場合、自己のサブネットマスク値は前記他のネットワーク機器のそれより大きいと判定し、
    c.3)前記他のネットワーク機器から前記ICMPエコー応答がない場合には、自己のサブネットマスク値は前記他のネットワーク機器のそれ以下であると判定する、
    ことを特徴とする請求項記載のネットワーク情報検出方法。
  8. さらに、
    c.4)前記ステップc.3)において、自己のサブネットマスク値は前記他のネットワーク機器のそれ以下であると判定された場合、前記自己のIPアドレスおよび前記モニタIPアドレスのいずれかのホスト部の少なくとも最上位ビットを反転させた送信元IPアドレスを有するICMPエコー要求を前記他のネットワーク機器へ送信し、
    c.5)前記他のネットワーク機器から前記ICMPエコー要求に対するICMPエコー応答をユニキャストで受信した場合、自己のサブネットマスク値は前記他のネットワーク機器のそれと等しいと判定し、
    c.6)前記他のネットワーク機器から前記ICMPエコー応答がない場合には、自己のサブネットマスク値は前記他のネットワーク機器のそれより小さいと判定する、
    ことを特徴とする請求項記載のネットワーク情報検出方法。
  9. 複数のネットワーク機器が接続されたローカルネットワークにおけるネットワーク情報を検出する方法において、
    a)前記ローカルネットワーク上のARPパケットをモニタするステップと、
    b)モニタされたARPパケットのIPアドレス(以下、モニタIPアドレスという。)のネットワークアドレスと自己のネットワークアドレスとを比較するステップと、
    c)ネットワークアドレスが同一の場合、ICMPエコー要求を前記モニタIPアドレスを使用している他のネットワーク機器へ送信し、
    d)前記ICMPエコー要求に対するICMPエコー応答の有無に応じて、前記他のネットワーク機器のサブネットマスク値と自己のサブネットマスク値との同一性を判定するステップと、
    を有することを特徴とするネットワーク情報検出方法。
  10. コンピュータに、複数のネットワーク機器が接続されたローカルネットワークにおけるネットワーク情報を検出するように動作させるネットワーク情報検出プログラムにおいて、
    a)前記ローカルネットワーク上のパケットをモニタするステップと、
    b)モニタされたパケットのIPアドレス(以下、モニタIPアドレスという。)のネットワークアドレスと自己のネットワークアドレスとを比較するステップと、
    c)ネットワークアドレスが同一の場合、ICMPのエコー要求およびエコー応答機能を用いて、前記モニタIPアドレスを使用している他のネットワーク機器のサブネットマスクと自己のサブネットマスクとの同一性を判定するステップと、
    を有することを特徴とするネットワーク情報検出プログラム。
  11. 複数のネットワーク機器が接続されたローカルネットワークにおけるネットワーク情報を検出する装置において、
    a)前記ローカルネットワーク上のパケットをモニタする手段と、
    b)モニタされたパケットのIPアドレス(以下、モニタIPアドレスという。)のネットワークアドレスと自己のネットワークアドレスとを比較する手段と、
    c)ネットワークアドレスが同一の場合、ICMPのエコー要求およびエコー応答機能を用いて、前記モニタIPアドレスを使用している他のネットワーク機器のサブネットマスクと自己のサブネットマスクとの同一性を判定する手段と、
    を有することを特徴とするネットワーク情報検出装置
  12. 複数のネットワーク機器が接続されたローカルネットワークにおけるネットワーク情報を検出する装置において、
    a)前記ローカルネットワーク上のARPパケットをモニタする手段と、
    b)モニタされたARPパケットのIPアドレス(以下、モニタIPアドレスという。)のネットワークアドレスと自己のネットワークアドレスとを比較する手段と、
    c)ネットワークアドレスが同一の場合、ICMPエコー要求を前記モニタIPアドレスを使用している他のネットワーク機器へ送信する手段と、
    d)前記ICMPエコー要求に対するICMPエコー応答の有無に応じて、前記他のネットワーク機器のサブネットマスク値と自己のサブネットマスク値との同一性を判定する手段と、
    を有することを特徴とするネットワーク情報検出装置
JP2008269618A 2002-07-01 2008-10-20 ネットワーク情報検出装置および方法 Expired - Fee Related JP4883325B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008269618A JP4883325B2 (ja) 2002-07-01 2008-10-20 ネットワーク情報検出装置および方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002191717 2002-07-01
JP2002191717 2002-07-01
JP2008269618A JP4883325B2 (ja) 2002-07-01 2008-10-20 ネットワーク情報検出装置および方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003180537A Division JP4232550B2 (ja) 2002-07-01 2003-06-25 ネットワーク情報検出装置および方法

Publications (2)

Publication Number Publication Date
JP2009017605A JP2009017605A (ja) 2009-01-22
JP4883325B2 true JP4883325B2 (ja) 2012-02-22

Family

ID=40357841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008269618A Expired - Fee Related JP4883325B2 (ja) 2002-07-01 2008-10-20 ネットワーク情報検出装置および方法

Country Status (1)

Country Link
JP (1) JP4883325B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7170421B2 (ja) * 2017-08-30 2022-11-14 キヤノン株式会社 撮像装置、クライアント装置、方法、およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11187057A (ja) * 1997-12-19 1999-07-09 Hitachi Cable Ltd リピーティングハブ及びネットワーク管理装置
JP3736451B2 (ja) * 2001-12-18 2006-01-18 ブラザー工業株式会社 アドレス推定システム、ネットワークデバイス、アドレス推定方法およびアドレス推定プログラム

Also Published As

Publication number Publication date
JP2009017605A (ja) 2009-01-22

Similar Documents

Publication Publication Date Title
JP4232550B2 (ja) ネットワーク情報検出装置および方法
CA2071709C (en) System for automatically generating and saving control information in a server if requested by a client at system initialization for operating in a network
JPH06103204A (ja) 自動構成制御装置および方法
US8687503B2 (en) Technique for identifying a failed network interface card within a team of network interface cards
US7634680B2 (en) Abnormality diagnosis system
US7545741B1 (en) Technique for identifying a failed network interface card within a team of network interface cards
JP2004519747A (ja) ネットワークベースのアプリケーションの適合化、診断、最適化、及び対処技術の方法及びシステム
JP6381211B2 (ja) 画像形成装置及びその制御方法
US5951645A (en) Network protocol for transferring data between applications running on different clients in a client-server system
EP1482697A2 (en) Remote service provision using a chat protocol
US20040184458A1 (en) Network information detection apparatus and method
JP4883325B2 (ja) ネットワーク情報検出装置および方法
US7370227B2 (en) Desktop computer blade fault identification system and method
US20080301273A1 (en) Centrally assigning branch specific network addresses
CN101771529B (zh) 终端装置、中继装置和处理方法
JP2001144812A (ja) ワイヤレスip端末の認証処理方式
CN100481771C (zh) 用于拦截网络访问的系统及其方法
JP2009015716A (ja) 複数ipアドレスによる画像形成装置
US20180219767A1 (en) Communication relay device, server, image processing unit and non-transitory recording medium
US8340075B2 (en) Method for transferring MPOA packet
JP4440752B2 (ja) パケット応答装置、監視装置及びプログラム
CN114629822B (zh) 链路检测方法、装置、电子设备及存储介质
JP6584603B2 (ja) 通信装置及びその制御方法、並びにプログラム
JP4685596B2 (ja) ステートレス自動構成プロセスを実行するためのアクセスマルチプレクサシステム
JP2001034435A (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110705

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111109

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4883325

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees