JP4860471B2 - Arp機能を具備した通信装置 - Google Patents

Arp機能を具備した通信装置 Download PDF

Info

Publication number
JP4860471B2
JP4860471B2 JP2006525557A JP2006525557A JP4860471B2 JP 4860471 B2 JP4860471 B2 JP 4860471B2 JP 2006525557 A JP2006525557 A JP 2006525557A JP 2006525557 A JP2006525557 A JP 2006525557A JP 4860471 B2 JP4860471 B2 JP 4860471B2
Authority
JP
Japan
Prior art keywords
garp
arp
address
packet
unit
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
JP2006525557A
Other languages
English (en)
Other versions
JPWO2006129680A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2006525557A priority Critical patent/JP4860471B2/ja
Publication of JPWO2006129680A1 publication Critical patent/JPWO2006129680A1/ja
Application granted granted Critical
Publication of JP4860471B2 publication Critical patent/JP4860471B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークを介し、TCP/IPプロトコルを用いて通信を行なう通信装置、プログラム、記憶媒体および通信方法に関するものである。
従来、通信装置に新たにネットワーク層アドレス(以下、IPアドレスと呼称する。)を付与するとき、付与するIPアドレスが同一ネットワーク上において重複していないか検査する仕組み(以下、重複検知と呼称する。)がある。この重複検知方式のうち、IPv4に関するもので、Address Resolution Protocol(以下、ARPと略称する。)を用いて重複検知を行なう方式がある(例えば、非特許文献1参照。)。
<ARPについて>
ここで、ARPに関して補足説明をする。ARPとは、データリンク層アドレスとネットワーク層アドレスを解決するためのプロトコルで、図1に示したフォーマットのパケットを通信装置同士でやり取りし、アドレスを解決する。図1を用いてさらに説明を行なう。
(a)DLヘッダ部101
DLヘッダ部101は、データリンク層プロトコルヘッダであり、データリンク層プロトコルアドレス(以下、DLアドレスと呼称する。)を用いた宛先および送信元、ネットワーク層プロトコルタイプの情報を持つ。またデータリンク層プロトコルがEthernet(登録商標)の場合で、同一ネットワーク上の全通信装置にパケット送信する際は、宛先DLアドレスに「FF:FF:FF:FF:FF:FF」(以下、Etherブロードキャストアドレスと呼称する。)が指定され、特定の通信装置にパケット送信する際は、宛先DLアドレスに通信相手のDLアドレスを指定する。このとき、送信元DLアドレスは、送信元通信装置のDLアドレスを設定する。
(b)ARP部102
ARP部102は、さらに、ヘッダ部103とデータ部104とから構成される。
ヘッダ部103は、データリンク層プロトコルに関する情報やネットワーク層プロトコルに関する情報、また、それらプロトコルが使用するDLアドレスおよびネットワーク層プロトコルアドレス(以下、NWアドレスと呼称する。)長、本ARPパケットが情報を要求するパケット(以下、ARP要求パケットと呼称する。)か、情報を提供するパケット(以下、ARP応答パケットと呼称する。)かのARP識別子情報を持つ。
データ部104は、以下の要素から構成される。
送信元DLアドレス105は、送信元通信装置のデータリンク層アドレスが指定される。送信元IPアドレス106は、送信元通信装置のネットワーク層アドレスが指定される。宛先DLアドレス107は、アドレス解決対象の通信装置のデータリンク層アドレスが指定される。アドレスが未解決で、解決を要求するARPパケットにおいては、「00:00:00:00:00:00」に指定される。宛先IPアドレス108は、アドレス解決対象の通信装置のネットワーク層アドレスが指定される。宛先IPアドレスが、自通信装置のネットワーク層アドレスと一致し、ARP要求パケットである場合は、ARP応答パケットを送信することになる。
<ARPを用いた重複検知方式>
図2に簡単なネットワーク構成を示した。ネットワーク201は、ローカルエリアネットワーク(以下、LANと呼称する。)であり、有線でも無線でもかまわない。通信装置202(以下、機器Aとも呼称する。)、通信装置203(以下、機器Bとも呼称する。)、通信装置204−1、204−2、・・・、204−Nは、TCP/IP通信機能を持った通信装置であり、ネットワーク201に接続されている。このようなネットワーク環境において、通信装置203(機器B)が、通信装置202(機器A)と同様のIPアドレスを設定しようとした場合のARPを用いた重複検知処理シーケンスを図3で説明する。
通信装置203(機器B)は、IPアドレス設定を実施するとき、自身の重複検知機能によりネットワーク201上に同一のIPアドレスが存在しないか確認を行なう。このとき、ネットワーク201上の全通信装置(以下、ブロードキャストと呼称する。)宛に、これから設定を行なおうとするIPアドレスに関するARP要求パケットを送信する(#3BF)。このブロードキャスト宛ARP要求パケットを受信した通信装置は、自身が設定しているIPアドレスと同一でないか確認を行なう。ネットワーク201においては、通信装置202(機器A)が同一のIPアドレスを設定しており、IPアドレスが重複していることになる。このとき、通信装置202(機器A)は、通信装置203(機器B)宛(以下、ユニキャストと呼称する。)にARP応答パケット送信する(#3AB)。このユニキャストARP応答パケットを受信した通信装置203(機器B)は、すでに設定しようとしているIPアドレスがネットワーク201上の通信装置に使用されていると判断し、このIPアドレスの使用を断念する。
また、このARPを利用した重複検知方式には、2種類の方式が存在する。2種類の違いは、通信装置B203がブロードキャスト送信するパケットに違いがある。
(1)Gratuitous ARP(以下、GARPと略称する。)をブロードキャストする方式(例えば、非特許文献2参照。)
(2)送信元IPアドレスを0で埋めたARP(以下、0ARPと呼称する。)をブロードキャストする方式(例えば、非特許文献3参照。)
方式(1)は、Windows(登録商標)OSが採用している(例えば、非特許文献4参照。)。また、方式(2)は、Dynamic Host Configuration Protocol(以下、DHCPと略称する。)のクライアント実装で採用されている。また、BSD系OSにおいては、方式(1)のGARPを重複検知目的ではなく、アドレス設定時に送信している。なお、ホームネットワークにおいても、両重複検知の方式が混在する可能性が無視できないため、方式(1)のGARPを用いた方式が行われることを想定する必要がある。
<GARPについて>
ここで、GARPについて、補足説明をする。GARPは、重複検知にも用いられるが本来は別の目的で規定されたものである。GARPの目的は、ネットワーク201上にブロードキャスト送信することで、ネットワーク201上の通信装置、例えば、通信装置204−1、204−2、・・・、204−Nおよび通信装置A202、通信装置B203などの通信装置が管理する通信相手のテーブル(以下、ARPテーブルと呼称する。)を書き換えることを目的としている。GARPを受信した通信装置、例えば、通信装置204−1、204−2、・・・、204−Nおよび通信装置A202、通信装置B203などは、GARP内の送信元IPアドレス106を元にARPテーブルを検索し、ARPテーブルに送信元IPアドレス106のエントリが存在すれば、そのエントリを受信したGARPの送信元DLアドレス105によって更新する(例えば、非特許文献2参照。)。
標準仕様書「RFC826」、IETF、[平成17年5月19日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc826.txt> 標準仕様書「RFC2002」、IETF、[平成17年5月19日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc2002.txt> 標準仕様書「RFC2131」、IETF、[平成17年5月19日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc2131.txt> Microsoft Windows(登録商標)2000 テクニカルリファレンス、「TCP/IPプロトコル&サービスガイド」、pp74−75
<GARPを用いた重複検知方式>
しかしながら、GARPは、前述したようにネットワーク上のARPテーブルを書き換える。そのため、GARPを重複検知に用いると以下のような問題が発生する。
(a)初期状態
GARPを用いた重複検知を行なうとき、GARPパケットの特徴から、以下の問題が発生する。説明を簡略にするために図2で示した、通信装置204−1、204−2、・・・、204−Nを1台にした図4のネットワーク構成図を用いて説明を行なう。
通信装置402(以下、機器A402と呼称する。)は、テーブル405に示すように、IPアドレス「192.168.0.100」が設定されており、DLアドレス「AA:AA:AA:AA:AA:AA」を持っている。また、通信装置404(以下、機器C404と呼称する。)は、IPアドレス「192.168.0.200」が設定され、DLアドレス「CC:CC:CC:CC:CC:CC」を持っている。このとき、機器A402と機器C404は通信を行っており、機器C404には図5のように、IPアドレス「192.168.0.100」はDLアドレス「AA:AA:AA:AA:AA:AA」であることを示したARPテーブルが保持されている。また、ARPテーブル中の有効時間は、このエントリがN秒間有効であることを示している。このNは、短いもので数十秒から長いもので数時間まであり、通信機器ごとの設定に依存している。
(b)機器B403の重複検知開始
このとき、通信装置403(以下、機器B403と呼称する。)は、テーブル406に示すように、DLアドレス「BB:BB:BB:BB:BB:BB」をもっており、これから機器A402と重複するIPアドレス「192.168.0.100」に関して重複検知を行なおうとしている。このときのシーケンスについて図6を用いて説明する。
機器A402と機器C404は互いに通信状態にある(#6AC1、#6CA1)。このような状況の中、機器B403が重複検知のためにGARPをブロードキャスト送信する(#6BF)。このとき機器B403が送信するGARPパケット(#6BF)は、図7に示したARPパケットとなる。以下に、GARPパケットを受信した機器の処理を説明する。
(c)機器A402の挙動
このGARPパケット(#6BF)を受信した機器A402は、機器A402が使用しているIPアドレスと重複していると判断し、IPアドレスが重複していることを通知するARP応答(以下、重複通知ARPと呼称する。)パケットを返す(#6AB)。
(d)機器C404の挙動
このGARPパケット(#6BF)を受信した機器C404は、機器C404が使用しているIPアドレスと重複していないため、重複通知ARPパケットは返さない。しかし、GARPの本来の目的であるARPテーブル更新機能から、機器C404が保持するARPテーブルのIPアドレスが「192.168.0.100」のエントリを検索し、受信したGARPの情報で書き換えを行なう。その結果、機器C404におけるARPテーブルは、図8のようになる。
(e)重複検知後の機器A402と機器C404との通信
機器B403による重複検知終了後、機器A402が機器C404と通信を行なおうとした場合、機器A402から機器C404へは、問題なくパケットを送ることができる(#6ACN)。しかし、機器C404から機器A402へパケットを送信しようとした場合、機器C404が保持するARPテーブルでは、図8のように、IPアドレス「192.168.0.100」は、DLアドレス「BB:BB:BB:BB:BB:BB」であるという情報から誤って機器B403へパケットを送信してしまうことになる(#6CAN)。
(f)機器C404の通信復帰
機器C404は、機器A402と機器B403の情報を誤ってARPテーブルに保持し続ける。そのため、機器C404は、ARPテーブル有効時間が切れるまで、機器A402へのパケットを誤って機器B403へと投げ続ける。所定時間N秒経過後、機器C404は、IPアドレス「192.168.0.100」宛のエントリに関するARPテーブルを消去する。これにより機器C404のARPテーブル上から機器A402宛のエントリが消えたので、機器A402のDLアドレスを解決するために、ARP要求をブロードキャスト送信する(#6CF)。機器A402は、このARP要求(#6CF)を受信し、機器C404に機器A402の正しいDLアドレス「AA:AA:AA:AA:AA:AA」通知することで、機器C404のARPテーブルが図5の状態へ戻る(#6ACA)。これにより、機器C404から機器A402への通信が復帰する(#6CAM)。
このようにGARPを用いて重複検知を行なう通信装置が存在する場合、重複検知後、アドレス重複した機器のために所定時間通信不能に陥ってしまうという課題がある。
<Windows(登録商標)の実装>
ところで、重複検知をGARPで行っているWindows(登録商標) OSでは、重複検知後、次の処理を行なうことで、機器C404が通信不能に陥る問題を回避しようとしている。ここで、図9を用いて説明をする。機器B403がWindows(登録商標) OSであるとする。
機器B403は、重複検知の際にGARPをブロードキャスト送信する(#9BF)。この後、機器B403は、機器A402からのARP応答を受信し、IPアドレスが重複していたことを知る(#9AB)。その後、機器B403は、機器A402になりすましてGARPをブロードキャスト送信する(#9AF)。これにより、即座に機器C404のARPテーブルを元に戻し、その後の通信(#9ACM、#9CAM)に障害を発生させない。
このように機器B403が実装されていれば、機器A402と機器C404との通信は、即座に復帰できる。しかし、機器B403が必ずしもこのような実装であるとは限らず、さらに、機器A402になりすまして、機器B403からパケットを送信することで、ブロードキャストを行なう経路上のスイッチングハブのDLアドレステーブルの情報を壊してしまう可能性があり、別の通信障害を発生させる可能性もある。
そこで、本発明は、上記課題に鑑みてなされたものであり、通信装置が重複検知された後、通信が途絶えることを解決することができる通信装置などを提供することを目的とする。
上記目的を達成するために、本発明に係わる第1の発明として、ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、前記ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、前記重複検知部で前記GARPパケットが検知されると、ネットワーク層アドレスが重複していることを前記送信元に通知するARP応答パケットを生成する重複通知生成部と、前記重複検知部で前記GARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを生成する更新GARP生成部と、前記重複通知生成部で生成した前記ARP応答パケットをARPで送信し、前記更新GARP生成部で生成した前記更新GARPパケットをGARPで送信するARP送信部とを備える。
これにより、Gratuitous ARPパケットにより、更新された同一ネットワーク上の通信装置のARPテーブルを元に戻すことが可能となり、通信の復旧を実現できる。
第2の発明として、前記更新GARP生成部は、前記重複検知部で前記GARPパケットが検知されると、即座に前記更新GARPパケットを生成して前記ARP送信部に渡す。
これにより、Gratuitous ARPパケットにより、更新された同一ネットワーク上の通信装置のARPテーブルを即座に元に戻すことが可能となり、すばやい通信の復旧を実現できる。
第3の発明として、前記重複通知生成部は、ネットワーク層アドレスが重複していることを知らせる重複検知通知を前記重複検知部から受理すると、前記ARP応答パケットを生成して前記ARP送信部に渡し、前記更新GARP生成部は、前記重複検知部から前記重複検知通知を受理すると、前記更新GARPパケットを生成して前記ARP送信部に渡し、前記重複検知部は、前記ARP受信部で受信したARPパケットの中から、前記GARPパケットを連続して検知すると、単位時間当たりに前記重複検知通知を前記重複通知生成部と前記更新GARP生成部とに渡す回数を制限するとしてもよい。
これにより、更新GARPパケットのトラフィック量を制限することが可能となり、ネットワーク上の通信に占めるGratuitous ARPパケットの割合低減を実現できる。
第4の発明として、前記通信装置は、さらに、前記ARP送信部で前記更新GARPパケットを送信した後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したARP応答パケットが前記ARP受信部で受信されたときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を前記重複検知部に渡す重複通知部を備え、前記重複通知生成部は、ネットワーク層アドレスが重複していることを知らせる重複検知通知を前記重複検知部から受理すると、前記ARP応答パケットを生成して前記ARP送信部に渡し、前記更新GARP生成部は、前記重複検知部から前記重複検知通知を受理すると、前記更新GARPパケットを生成して前記ARP送信部に渡し、前記重複検知部は、前記重複通知部から前記アドレス重複通知を受理すると、前記重複検知通知を前記重複通知生成部と前記更新GARP生成部とに渡すことを停止するとしてもよい。
これにより、Gratuitous ARPパケットが重複検知目的以外に使用され、さらに、本発明と同様の機能が実装されていたために、重複通知ARPパケットとともに更新Gratuitous ARPパケットを送信してきた場合、発生する更新Gratuitous ARPパケットのやり取りを停止することが可能となり、無駄なネットワークトラフィックの抑制を実現できる。
第5の発明として、前記通信装置は、さらに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を受理すると、本通信装置のネットワーク層アドレスが、本通信装置が接続されているネットワーク上で、重複していることを出力する重複監視部と、前記ARP送信部で前記更新GARPパケットが送信された後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したARP応答パケットが前記ARP受信部で受信されたときに、前記アドレス重複通知を前記重複監視部に渡す重複通知部とを備えるとしてもよい。
これにより、ネットワーク上にネットワーク層アドレスが重複する通信装置が存在することを検出することが可能となり、その結果を通知することで、ユーザへの設定変更を促すことが実現できる。
第6の発明として、前記重複通知部は、前記送信元のデータリンク層アドレスを前記アドレス重複通知に含めて前記重複監視部に渡し、前記重複監視部は、前記アドレス重複通知に含まれる前記送信元のデータリンク層アドレスを出力するとしてもよい。
これにより、どのデータリンク層アドレスを持つ通信装置がアドレス重複を起こしているのか知ることが可能となり、ユーザに重複を起こした通信装置の設定変更を促すことが実現できる。
第7の発明として、前記重複通知部は、前記送信元のネットワーク層アドレスを前記アドレス重複通知に含めて前記重複監視部に渡し、前記重複監視部は、前記アドレス重複通知に含まれる前記送信元のネットワーク層アドレスを出力するとしてもよい。
これにより、複数のネットワーク層アドレスを持つ通信装置に置いて、どのネットワーク層アドレスが重複を起こしたのか知ることが可能となり、ユーザにそのネットワーク層アドレスのみの変更を促すことが実現できる。
第8の発明として、前記重複検知部は、GARPパケットをカウントするGARPカウンタを備え、前記ARP受信部で最後に受信したGARPパケットである最終GARPパケットを保持し、前記最終GARPパケットと前記ARP受信部で受信したGARPパケットとが一致する場合は、前記GARPカウンタをインクリメントし、一致しない場合は、前記GARPカウンタをクリアし、前記GARPカウンタが所定数を超過したときに、前記最終GARPパケットと前記ARP受信部で受信したGARPパケットとが一致する限り、前記重複検知通知を前記重複通知生成部と前記更新GARP生成部とに渡すことを停止するとしてもよい。
これにより、同一の通信装置との更新GARPパケットのやり取りを停止することが可能となり、ネットワークトラフィックを削減することが実現できる。
第9の発明として、前記更新GARP生成部は、更新GARPパケットを複数個生成して前記ARP送信部に渡すとしてもよい。
これにより、無線LANなどのパケット喪失率の高いネットワークが存在した場合において、少なくとも1つの更新GARPパケットがネットワーク上の他の通信装置に到達する可能性が高くなり、様々な通信媒体を介したネットワークにおいても、他の通信装置のARPテーブルを更新することが可能となり、ネットワーク上の他の通信装置との通信の復旧を実現できる。
第10の発明として、ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、前記ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、前記重複検知部で前記GARPパケットが検知されると、ネットワーク層アドレスが重複していることを前記送信元に通知するARP応答パケットを生成する重複通知生成部と、前記重複検知部で前記GARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを生成する更新GARP生成部と、前記更新GARP生成部で生成した前記更新GARPパケットの送信を所定時間遅延させる更新GARP遅延部と、前記重複通知生成部で生成した前記ARP応答パケットをARPで送信し、前記更新GARP遅延部で遅延させた前記更新GARPパケットをGARPで送信するARP送信部とを備える。
これにより、所定時間ARPテーブルを更新しない通信装置においても、ARPテーブルを更新することが可能となり、通信の復旧を実現できる。
第11の発明として、ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、前記ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、前記重複検知部で前記GARPパケットが検知されると、ネットワーク層アドレスが重複していることを前記送信元に通知するARP応答パケットを生成する重複通知生成部と、前記重複検知部で前記GARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを複数個生成する更新GARP生成部と、前記更新GARP生成部で複数個生成した前記更新GARPパケットのうち少なくとも1つを所定の時間遅延させる更新GARP遅延部と、前記重複通知生成部で生成した前記ARP応答パケットをARPで送信し、前記更新GARP遅延部で遅延させた前記更新GARPパケットをGARPで送信するARP送信部とを備えることを特徴とする。
これにより、通信装置が接続されるネットワーク上に、即座にARPテーブルを更新する通信装置や所定時間ARPテーブルを更新しない通信装置が混在していても、通信装置のARPテーブルを更新することが可能となり、ネットワーク上に接続される様々な通信装置における通信の早期復旧が実現できる。
第12の発明として、前記通信装置は、さらに、前記ARP送信部で前記更新GARPパケットを送信した後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複通知ARPパケットを前記ARP受信部で受信したときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を前記重複検知部と前記更新GARP遅延部とに渡す重複通知部を備え、前記重複通知生成部は、前記重複検知部から前記重複検知通知を受理すると、前記ARP応答パケットを生成して前記ARP送信部に渡し、前記更新GARP生成部は、前記重複検知部から前記重複検知通知を受理すると、前記更新GARPパケットを複数個生成して少なくとも1つを前記GARP遅延部に渡し、前記重複検知部は、前記重複通知部から前記アドレス重複通知を受理すると、前記重複検知通知を前記重複通知生成部と前記更新GARP生成部とに渡すことを停止し、前記更新GARP遅延部は、前記重複通知部から前記アドレス重複通知を受理すると、前記更新GARP生成部から既に受理されている前記更新GARPパケットを、所定の時間遅延させてから前記ARP送信部に渡すことを停止するとしてもよい。
これにより、すでにネットワーク上でアドレス管理部が管理する通信装置のネットワーク層アドレスが重複していることを検知することで、アドレス重複後の無用な更新GARPパケット送信を停止することが可能となり、ネットワーク上の無駄なGARPパケットによるトラフィック削減と、通信装置の頻発したARPテーブル更新を防止することが実現できる。
第13の発明として、前記重複検知部は、前記更新GARP生成部から受理した前記更新GARPパケットを前記更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したGARPパケットを前記ARP受信部で受信したときに、ネットワーク層アドレスが本通信装置のネットワーク層アドレスと重複したGARPパケットを前記ARP受信部で受信したことを知らせるGARP重複受信通知を前記更新GARP生成部と前記更新GARP遅延部とに渡し、前記更新GARP生成部は、前記重複検知部から前記GARP重複受信通知を受理すると、複数個生成した前記更新GARPパケットのうち少なくとも1つを前記更新GARP遅延部に渡すことを停止し、前記更新GARP遅延部は、前記重複検知部から前記GARP重複受信通知を受理すると、前記更新GARP生成部から既に受理されている前記更新GARPパケットを、所定の時間遅延させてから前記ARP送信部に渡すことを一度停止してから、新たに所定の時間遅延させて前記ARP送信部に渡すとしてもよい。
これにより、Gratuitous ARPパケットによる重複検知処理を複数回繰り返す通信装置や、同一のGratuitous ARPパケットを最後に受信してから所定時間ARPテーブルを更新しない通信装置が混在しているネットワーク環境において、すべての通信装置のARPテーブルを更新することが可能となり、すべての通信装置との通信を復旧することが実現できる。
第14の発明として、前記重複検知部は、さらに、前記GARPパケットの送信元のデータリンク層アドレスをDLアドレス情報として保持し、前記更新GARP生成部から受理した前記更新GARPパケットを前記更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致し、さらに、送信元のデータリンク層アドレスと前記DLアドレス情報とが一致したGARPパケットを前記ARP受信部で受信したときにのみ、前記GARP重複受信通知を前記更新GARP生成部と前記更新GARP遅延部とに渡すとしてもよい。
これにより、Gratuitous ARPパケットによる重複検知処理を複数回繰り返す通信装置や、同一のGratuitous ARPパケットを最後に受信してから所定時間ARPテーブルを更新しない通信装置が混在しているネットワーク環境においても、すべての通信装置のARPテーブルを最適な時間以内で更新することが可能となり、すべての通信装置との通信を速やかに復旧することが実現できる。
第15の発明として、前記重複検知部は、さらに、前記更新GARP生成部から受理した前記更新GARPパケットを前記更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複ARPパケットを前記ARP受信部で受信したときに、前記重複検知通知を渡すことを停止するとしてもよい。
これにより、DoS(Denial of Services)攻撃などにより、Gratuitous ARPパケットを吹き付けられたときにおいても、所定時間中に送信する更新GARPパケット数を制限することが可能となり、自身がDoS攻撃のもととなる現象を防止することが実現できる。
第16の発明として、アドレス重複探索用ネットワーク層アドレスを利用して、ネットワーク層アドレスの重複を探索するアドレス重複探索部と、前記アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した探索GARPパケットを生成するGARP生成部とを備え、前記ARP送信部は、前記GARP生成部で生成された前記探索GARPパケットを送信し、前記重複検知部は、前記ARP送信部で前記探索GARPパケットを送信して前記アドレス重複探索部でアドレス重複を探索している最中に、送信先のネットワーク層アドレスと前記探索用ネットワーク層アドレスとが一致した重複ARPパケットを受信したときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を渡すとしてもよい。
これにより、同一ネットワーク上に重複したネットワーク層アドレスを持つ通信装置が存在しないか確認を行うことが可能となり、重複のないネットワーク設定を実現できる。
第17の発明として、前記通信装置は、さらに、前記重複ARPパケットの送信元のデータリンク層アドレスを送信元のデータリンク層アドレスに設定し、前記アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した回復GARPパケットを生成する回復GARP生成部を備え、前記重複検知部は、前記重複ARPパケットの送信元のデータリンク層アドレスを前記アドレス重複通知に含めて前記アドレス重複探索部に渡し、前記アドレス重複探索部は、前記アドレス重複通知に含まれる前記重複ARPパケットの送信元のデータリンク層アドレスと前記アドレス重複探索用ネットワーク層アドレスとを前記回復GARP生成部に渡し、前記ARP送信部は、前記回復GARPパケットの送信先のデータリンク層アドレスをデータリンク層ブロードキャストアドレスに設定し、前記回復GARPパケットの送信元のデータリンク層アドレスを本通信装置に設定されているデータリンク層アドレスに設定して前記回復GARPパケットを送信するとしてもよい。
これにより、探索GARPにより、更新された同一ネットワーク上の通信装置のARPテーブルを元に戻すことが可能となり、通信の復旧を実現し、さらに、データリンク層ヘッダの送信元アドレスを本通信装置のデータリンク層アドレスを用いることで、ネットワーク上のスイッチ誤学習を防止することができる。
第18の発明は、前記回復GARP生成部は、前記回復GARPパケットを生成することを指示する回復GARP生成通知を前記アドレス重複探索部から受理すると、即座に前記回復GARPパケットを生成して前記ARP送信部に渡すとしてもよい。
これにより、探索GARPにより、更新された同一ネットワーク上の通信装置のARPテーブルを即座に元に戻すことが可能となり、すばやい通信の復旧を実現できる。
第19の発明として、前記通信装置は、さらに、前記アドレス重複探索部から前記アドレス重複通知を受理すると、本通信装置が接続しているネットワーク上で本通信装置のネットワーク層アドレスが重複していることを出力する重複監視部を備え、前記アドレス重複探索部は、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複ARPパケットを受信し、前記重複検知部から前記アドレス重複通知を受理すると、前記重複監視部に前記アドレス重複通知を渡すとしてもよい。
これにより、ネットワーク上にネットワーク層アドレスが重複する通信装置が存在することを検出することが可能となり、その結果を通知することで、ユーザへの設定変更を促すことが実現できる。
第20の発明として、前記アドレス重複探索部は、前記重複ARPパケットの送信元のデータリンク層アドレスを前記アドレス重複通知に含めて前記重複監視部に渡し、前記重複監視部は、前記アドレス重複通知に含まれる前記重複ARPパケットの送信元のデータリンク層アドレスを出力するとしてもよい。
これにより、どのデータリンク層アドレスを持つ通信装置がアドレス重複を起こしているのか知ることが可能となり、ユーザに重複を起こした通信装置の設定変更を促すことが実現できる。
第21の発明は、前記アドレス重複探索部は、前記重複ARPパケットの送信元のネットワーク層アドレスを前記アドレス重複通知に含めて前記重複監視部に渡し、前記重複監視部は、前記アドレス重複通知に含まれる前記重複ARPパケットの送信元のネットワーク層アドレスを出力するとしてもよい。
これにより、複数のネットワーク層アドレスを持つ通信装置に置いて、どのネットワーク層アドレスが重複を起こしたのか知ることが可能となり、ユーザにそのネットワーク層アドレスのみの変更を促すことが実現できる。
第22の発明として、前記回復GARP生成部は、前記アドレス重複探索部から前記回復GARP生成通知を受理すると、前記回復GARPパケットを複数個生成し、前記ARP送信部は、前記回復GARP生成部で複数個生成した前記回復GARPパケットを送信するとしてもよい。
これにより、無線LANなどのパケット喪失率の高いネットワークが存在した場合において、少なくとも1つの更新GARPパケットがネットワーク上の他の通信装置に到達する可能性が高くなり、様々な通信媒体を介したネットワークにおいても、他の通信装置のARPテーブルを更新することが可能となり、様々な通信媒体を介したネットワークにおいても、ネットワーク上の他の通信装置との通信の復旧を実現できる。
第23の発明として、前記通信装置は、さらに、前記回復GARP生成部から受理した回復GARPパケットを所定の時間遅延させて前記ARP送信部に渡す回復GARP遅延部を備え、前記回復GARP生成部は、前記回復GARPを複数個生成し、複数個生成した前記回復GARPパケットのうち少なくとも1つを前記ARP送信部に渡し、複数個生成した前記回復GARPパケットのうち少なくとも1つを、前記回復GARP遅延部に渡すとしてもよい。
これにより、通信装置が接続されるネットワーク上に、即座にARPテーブルを更新する通信装置や所定時間ARPテーブルを更新しない通信装置が混在していても、通信装置のARPテーブルを更新することが可能となり、ネットワーク上に接続される様々な通信装置における通信の早期復旧が実現できる。
第24の発明として、前記アドレス重複探索部は、前記アドレス重複通知を受理すると、前記回復GARP生成部から既に受理されている前記回復GARPパケットを前記回復GARP遅延部で所定の時間遅延させている最中であれば、前記アドレス重複通知を前記回復GARP生成部に渡すことを停止するとしてもよい。
これにより、不要な回復GARPの送信を削減することが可能となり、無駄なネットワークトラフィックの削減を実現できる。
第25の発明として、アドレス重複探索用ネットワーク層アドレスを利用して、ネットワーク層アドレスの重複を探索するアドレス重複探索部と、前記アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した探索GARPパケットを生成するGARP生成部と、前記アドレス重複探索用ネットワーク層アドレスを送信先ネットワーク層アドレスに、送信元ネットワーク層アドレスを未指定に、送信先のデータリンク層アドレスを未指定に、送信元のデータリンク層アドレスを本通信装置のデータリンク層アドレスに設定した探索ARP要求パケットを生成するARP探索生成部とを備え、前記ARP送信部は、前記GARP生成部で生成された前記探索GARPパケットを送信し、前記ARP探索生成部で生成された前記探索ARP要求パケットを送信し、前記重複検知部は、前記アドレス重複探索部でアドレス重複を探索している最中に、送信先のネットワーク層アドレスと前記アドレス重複探索用ネットワーク層アドレスとが一致した重複ARPパケットを前記ARP受信部で受信すると、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を前記アドレス重複探索部に渡すとしてもよい。
これにより、探索GARPパケットに応答を返さない通信装置であっても、アドレス重複応答を返し、ネットワーク上のネットワーク層アドレス重複検出を行うことができ、重複のないネットワーク設定を実現できる。
第26の発明として、ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、受信したAddress Resolution Protocol(ARP)パケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、前記重複検知部で前記GARPパケットが検知されると、本通信装置が接続されているネットワーク上の通信装置に関するネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理するARPテーブルの情報をすべて消去するARP情報管理部とを備える。
これにより、通信装置からの通信開始時に、ARPテーブルが新規に作成することが可能となり、通信の復旧が実現できる。
なお、本発明は、通信装置として実現されるだけではなく、通信装置を制御する通信方法、通信方法をコンピュータシステムなどに実行させる通信プログラム、通信プログラムを記録した記憶媒体などとして実現されるとしてもよい。
本発明によれば、同一ネットワーク上のARPテーブルを即座に復帰することが可能となり、所定時間の通信不能状態を回避することが可能となる。
(実施の形態1)
以下、本発明に係わる実施の形態1について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C1)〜(C3)に示される特徴を備える。
(C1)ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、重複検知部でGARPパケットが検知されると、ネットワーク層アドレスが重複していることを送信元に通知するARP応答パケットを生成する重複通知生成部と、重複検知部でGARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを生成する更新GARP生成部と、重複通知生成部で生成したARP応答パケットをARPで送信し、更新GARP生成部で生成した更新GARPパケットをGARPで送信するARP送信部とを備える。
(C2)更新GARP生成部は、重複検知部でGARPパケットが検知されると、即座に更新GARPパケットを生成してARP送信部に渡す。
(C3)重複通知生成部は、ネットワーク層アドレスが重複していることを知らせる重複検知通知を重複検知部から受理すると、ARP応答パケットを生成してARP送信部に渡し、更新GARP生成部は、重複検知部から重複検知通知を受理すると、更新GARPパケットを生成してARP送信部に渡し、重複検知部は、ARP受信部で受信したARPパケットの中から、GARPパケットを連続して検知すると、単位時間当たりに重複検知通知を重複通知生成部と更新GARP生成部とに渡す回数を制限する。
なお、下記(C8)、(C9)に示される特徴を備えるとしてもよい。
(C8)重複検知部は、GARPパケットをカウントするGARPカウンタを備え、ARP受信部で最後に受信したGARPパケットである最終GARPパケットを保持し、最終GARPパケットとARP受信部で受信したGARPパケットとが一致する場合は、GARPカウンタをインクリメントし、一致しない場合は、GARPカウンタをクリアし、GARPカウンタが所定数を超過したときに、最終GARPパケットとARP受信部で受信したGARPパケットとが一致する限り、重複検知通知を重複通知生成部と更新GARP生成部とに渡すことを停止する。
(C9)更新GARP生成部は、更新GARPパケットを複数個生成してARP送信部に渡す。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
図10は、本実施の形態におけるネットワーク構成および通信装置の設定例を示す図である。図10に示されるように、ネットワーク1001には、通信装置1002(以下、機器A1002と呼称する。)、通信装置1003(以下、機器B1003と呼称する。)、および通信装置1004(以下、機器C1004と呼称する。)が接続されている。なお、本実施の形態では、説明を簡略化するために3台の通信装置がネットワーク1001に接続されているとして説明を行なう。しかし、機器B1003に相当する通信装置や機器C1004に相当する通信装置が複数台存在しても同様である。
機器A1002、機器B1003、機器C1004は、有線または無線で接続する通信機能を持つ装置であり、例えば、Ethernet(登録商標)インタフェースを備えた装置、例えばPCや、ネットワーク通信が可能な家電装置などである。ネットワーク1001は、LANであり、有線または無線を含むネットワークである。
機器A1002は、本実施の形態における通信装置の機能を備え、データリンク層アドレス(以下、DLアドレスと呼称する。)「AA:AA:AA:AA:AA:AA」を保持し、ネットワーク層アドレス(以下、IPアドレスと呼称する。)「192.168.0.100」が設定されている。
機器B1003は、DLアドレス「BB:BB:BB:BB:BB:BB」を保持し、機器Aと重複したIPアドレス「192.168.0.100」が設定されようとしている。また、IPアドレス設定前にGARPを用いた重複検知を行なう機能を持つ。なお、機器B1003においても、本実施の形態における通信装置の機能を備えるとしてもよい。
機器C1004は、DLアドレス「CC:CC:CC:CC:CC:CC」を保持し、IPアドレス「192.168.0.200」が設定されている。そして、機器A1002と通信を行っている。なお、機器C1004においても、本実施の形態における通信装置の機能を備えるとしてもよい。
<通信装置の構成>
図11は、本発明に置ける通信装置の構成例を示した構成図である。通信装置1101は、通信部1102、処理部1103、記憶部1104から構成される。以下に、各々の詳細な説明をする。
(a)通信部1102
通信部1102は、システムバス上に接続されたハードウェアである。処理部1103から渡されたパケットをネットワーク1105(図10におけるネットワーク1001)に送信する機能と、ネットワーク1105から受信したパケットを処理部1103に渡す機能を有する。
(b)処理部1103
処理部1103は、通信部1102から渡されたデータを記憶部1104へ移動する機能と、記憶部1104に格納されたデータを通信部1102へと移動する機能を有する。また、記憶部1104に格納されているデータに対して、データの解析処理や送信用データ作成処理などを行なう。
(c)記憶部1104
データを保持する機能を持つ。なお、記憶部1104から通信部1102、記憶部1104から通信部1102へのデータ転送において、別途DMAコントローラを具備し、処理部1103ではなく、DMAコントローラによりデータの移動を行なう構成でもよい。
<機能構成>
図12は、本発明に置ける通信装置の機能構成例を示した機能構成図である。以下に各機能を説明する。
(a)Interface処理部1201
Interface処理部1201は、通信部1102により受信されたパケットに対して、データリンク層プロトコルに関する解析処理を行ない、ネットワーク層プロトコルを判別し、ARPパケットの場合はARP処理部1203へ、その他のプロトコルの場合はネットワーク層プロトコル処理部1202へと受信パケット渡す機能を有する。また、Interface処理部1201は、ARP処理部1203やネットワーク層プロトコル処理部1202により作成された送信パケットに対して、データリンク層プロトコルに関するヘッダ作成処理を行ない、送信処理を行なう機能を有する。この送信パケットは、通信部1102を介してネットワーク1105へと送信される。
(b)ネットワーク層プロトコル処理部1202
ネットワーク層プロトコル処理部1202は、Interface処理部1201から渡された受信パケットのネットワーク層プロトコルヘッダ解析処理を行ない、トランスポート層プロトコル処理部1204へと渡す機能を有する。また、トランスポート層プロトコル処理部1204から渡された送信パケットに対してネットワーク層プロトコルヘッダ作成処理を行ない、Interface処理部1201へと渡す機能を有する。
(c)ARP処理部1203
ARP処理部1203は、Interface処理部1201から渡されたARPパケットの解析処理を行ない、解析内容に応じて処理を行なう機能を有する。また、ARPパケットを作成して、Interface処理部1201へと渡す機能を有する。
(d)トランスポート層プロトコル処理部1204
トランスポート層プロトコル処理部1204は、ネットワーク層プロトコル処理部1202から渡された受信パケットのトランスポート層プロトコルヘッダ解析処理を行ない、トアプリケーション層処理部1205へと渡す機能を有する。また、アプリケーション層処理部1205から渡された送信データに対してトランスポート層プロトコルヘッダ作成処理を行ない、ネットワーク層プロトコル処理部1202へと渡す機能を有する。
(e)アプリケーション層処理部1205
アプリケーション層処理部1205は、トランスポート層プロトコル処理部1204から渡された受信データを受け取る機能を有する。また、送信データをトランスポート層プロトコル処理部1204へと渡す機能を有する。なお、IPアドレス設定前に、アドレス重複検知を行なう機能を有してもよい。
<詳細な機能構成>
図13は、本実施の形態における通信装置のARP処理部の機能構成例とアドレス管理部とを示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部1301は、図12におけるARP処理部1203に相当する。ここでは、一例として、重複検知部1303、ARP受信部1304、更新GARP生成部1305、重複通知生成部1306、ARP送信部1307から構成される。
(a)アドレス管理部1302
アドレス管理部1302は、機器A1002に設定されるIPアドレスとDLアドレスを管理している。なお、管理するアドレスは、記憶部1104上のデータであってもよいし、ネットワーク層プロトコル処理部1202が管理する情報であってもよいし、Interface層処理部1201が管理する情報であってもよいし、DLアドレスに関しては、通信部1102に記録される情報であってもよい。
(b)重複検知部1303
重複検知部1303は、アドレス管理部1302が管理する機器A1002のIPアドレスと受信ARPパケットの送信元IPアドレスが一致しているGratuitous ARPパケット(以下、GARPパケットと略称する。)を受信したときに、重複検知通知を通知する。
この重複検知通知は、更新GARP生成部1305および重複通知生成部1306に対して通知される。
この重複検知通知には、GARPパケットの送信元DLアドレスが情報として含まれる。なお、GARPパケットそのものを情報として渡してもよい。
なお、重複検知部1303は、単位時間当たりの重複検知通知回数を制限する機能を持ってよい。
なお、重複検知部1303は、GARPパケットをカウントするGARPカウンタを備え、最後に受信したGARPパケットである最終GARPパケットを保持し、最終GARPパケットと受信したGARPパケットとが一致する場合は、GARPカウンタをインクリメントし、一致しない場合は、GARPカウンタをクリアし、GARPカウンタが所定数を超過したときに、最終GARPパケットとARP受信部で受信したGARPパケットとが一致する限り、重複検知通知を重複通知生成部と更新GARP生成部とに渡すことを停止する機能を有してもよい。
(c)ARP受信部1304
ARP受信部1304は、Interface処理部1201から渡されたARPパケット(#130A)の受信処理およびデータ解析処理を行なう。
ARP受信部1304の内部には、重複検知部1303が含まれる。
(d)更新GARP生成部1305
更新GARP生成部1305は、重複検知部1303からの重複検知通知を受理し、アドレス管理部1302が管理する機器A1002のIPアドレスとDLアドレスを設定したGratuitous ARPパケット(以下、更新GARPパケットと呼称する。)を生成し、ARP送信部1307へ渡す。
なお、更新GARP生成部1305は、1回の重複検知通知において複数の更新GARPパケットを生成してもよい。さらに、複数生成した更新GARPパケットを、所定間隔空けてARP送信部1307へ渡してもよいし、渡す間隔を変更してARP送信部1307へ渡してもよい。
(e)重複通知生成部1306
重複通知生成部1306は、ARPパケットによる重複検知が行われ、機器A1002のIPアドレスと重複していると判断された場合、重複検知部1303から重複の通知を受ける。重複の通知を受けた重複通知生成部1306は、受信した重複検知用のARPパケットの送信元に対して、IPアドレスが重複していることを通知するARPパケット(以下、重複通知ARPパケットと呼称する。)を生成し、ARP送信部1308へと渡す機能を有する。
(f)ARP送信部1307
ARP送信部1307は、DLヘッダを生成し、ARPパケットをInterface処理部1201へ渡す(#130B)。
<GARPを用いた重複検知のシーケンス>
図14は、本実施の形態における通信装置のシーケンスを示す図である。図14に示されるように、機器B1003によりGARPを用いた重複検知が実施された場合における、機器A1002、機器B1003、および機器C1004で、下記のパケットのやり取りが行われる。
(a)重複検知前の動作
機器A1002と機器C1004は、互いに通信を行っている(#14AC1、#14CA1)。このとき機器C1004におけるARPテーブルの状況は、図15の通りである。
ここで、機器B1003が、ネットワーク1001に接続され重複検知用のGARPパケット(#14BF)を送信する。
(b)機器C1004の動作
機器C1004は、機器B1003がネットワーク1001にブロードキャスト送信したGARPパケット(#14BF)を受信する。機器C1004は、受信したGARPパケット(#14BF)の中身を解析し、機器C1004が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器C1004では、これまで通信を行っていた機器A1002のエントリにヒットする。よって、受信したGARPパケット(#14BF)の情報でエントリの上書きを行なう。この結果、機器C1004のARPテーブルは、GARPパケット(#14BF)で上書きされ、図16の通りとなる。
(c)機器A1002の動作
機器A1002は、機器B1003がネットワーク1001にブロードキャスト送信したGARPパケット(#14BF)を受信する。機器A1002は、受信したGARPパケット(#14BF)が、機器A1002に設定されているIPアドレスと重複していることを検知する。
機器A1002は、IPアドレスの重複を検知すると、IPアドレスが重複していることを通知するための重複通知ARPパケット(#14AB)を機器B1003へ送信する。さらに、機器A1002は、更新GARPパケット(#14AF)をネットワーク1001にブロードキャスト送信する。
なお、本シーケンスの説明では、重複通知ARPパケット(#14AB)、更新GARPパケット(#14AF)の順で説明したが、順序が入れ替わってもよい。
(d)機器A1002が更新GARP送信後の機器C1004の動作
機器C1004は、機器A1002がネットワーク1001にブロードキャスト送信した更新GARPパケット(#14AF)を受信する。機器C1004は、受信したGARPパケット(#14AF)の中身を解析し、機器C1004が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器C1004では、機器B1003の重複検知のためのGARPパケット(#14BF)によって上書きされた機器A1002へのエントリにヒットする。この結果、機器C1004のARPテーブルは、更新GARPパケット(#14AF)により上書きされ、図17の通りとなる。
(e)重複検知後の動作
以上のシーケンスを経て、機器C1004のARPテーブルは、機器B1003の重複検知前の状態に戻る。よって、機器A1002と機器C1004は、重複検知前と同様に互いに通信が行なえる状態となる(#14ACN、#14CAN)。
<機器A1002での処理フロー>
さらに、図13と図14を用いて処理フローを詳細に説明する。
(a)GARPパケット受信処理(#14BF)
機器A1002は、機器B1003からのGARPパケット(#14BF)を受信する。受信したGARPパケット(#14BF)は、Interface処理部1201を経て、ARP受信部1304に渡される(#130A)。
ARP受信部1304内の重複検知部1303は、受信したGARPパケット(#14BF)により、重複検知通知の通知を行なう。
(b)更新GARPパケット(#14AF)および重複通知ARPパケット(#14AB)送信処理
更新GARP生成部1305は、重複検知部1303からの重複検知通知を受理し、更新GARPパケット(#14AF)を生成し、ARP送信部1307へと渡す。
重複通知生成部1306は、重複検知部1303からの重複検知通知を受理し、機器B1003への重複通知ARPパケット(#14AB)を生成し、ARP送信部1307へと渡す。
ARP送信部1307は、受け取った更新GARPパケット(#14AF)および重複通知ARPパケット(#14AB)をInterface処理部1201へ渡し、送信処理を行なう(#130B)。なお、本実施の形態では、重複通知ARPパケット(#14AB)、更新GARPパケット(#14AF)の順でネットワーク1001上に送信されているが、その順序が逆となってもよい。
さらに、本実施の形態では、更新GARP生成部1305と重複通知生成部1306が独立して動作を行っている例で説明を行ったが、図18のように重複通知生成部1806で重複通知ARPパケット(#14AB)を生成し、その重複通知ARPパケット(#14AB)情報を利用して、更新GARP生成部1805にて更新GARPパケット(#14AF)を生成し、更新GARP生成部1805から順に、重複通知ARPパケット(#14AB)、更新GARPパケット(#14AF)とARP送信部1807に渡すことにより順序を制御してもよい。なお、図18においても、重複通知ARPパケット(#14AB)、更新GARPパケット(#14AF)の送信順序が逆となってもよい。
なお、この一連の処理を連続して即座に行なうことで、ネットワーク1001上の通信装置のARPテーブルを即座に更新できる。
<機器B1003が更新GARP送信機能を保有する場合の対応>
機器B1003が、機器B1003のIPアドレスと重複するGARPパケットを受信した際、本発明のうち更新GARPパケット送信機能のみを保有していた場合に関しての実施例について図76を用いて説明する。
機器A1002が、機器B1003から送信されたGARPパケット(#76BF1)を受信し、更新GARPパケット(#76AF1)を送信するところまでは、これまで説明したシーケンスの通りである。
次に、機器B1003は、機器A1002が送信した更新GARPパケット(#76AF1)受信後、機器B1003のためのARPテーブルを回復するために、更新GARPパケット(#76BF2)を送信する。
機器A1002は、機器B1003が送信した更新GARPパケット(#76BF2)を受信すると、機器A1002のIPアドレスとの重複を検知する。
しかし、機器A1002は、すでに送信した更新GARPパケット(#67AF1)送信後、所定時間X経過していないため、さらなる更新GARPパケット(#76AF2)の送信を停止する。なお、さらなる更新GARPパケット(#76AF2)の停止条件としては、先の更新GARPパケット(#76AF1)送信時刻からの経過時間が所定時間Xに満たない場合や、前回のGARPパケットの送信装置と同一の通信装置である場合、また、それらの組み合わせであってもよい。
以上、本実施の形態において、機器B1003によって、書き換えられた機器C1004のARPテーブルを元に戻すことが可能となり、機器A1002と機器C1004との通信を復旧することが可能となる。
また、更新GARPパケットのトラフィック量を制限することや、同一通信装置からのGARPパケットに対する更新GARPパケット送信の連続送信制限を設けることで、ネットワーク1001上の更新GARPパケットによるトラフィックを抑制することが可能となる。例えば、重複通知生成部1306は、ネットワーク層アドレスが重複していることを知らせる重複検知通知を重複検知部1303から受理すると、ARP応答パケットを生成してARP送信部1307に渡す。更新GARP生成部1305は、重複検知部1303から重複検知通知を受理すると、更新GARPパケットを生成してARP送信部1307に渡す。そして、重複検知部1303は、ARP受信部1304で受信したARPパケットの中から、GARPパケットを連続して検知すると、単位時間当たりに重複検知通知を重複通知生成部1306と更新GARP生成部1305とに渡す回数を制限する。
また、更新GARPパケットを複数個生成して送信することで、ネットワーク1001上でパケット喪失が発生しやすい環境においても対応することが可能となる。
さらに、重複検知を行った機器がGARPパケットを用いてARPテーブルを回復する機能を持っている場合であっても、GARPパケットと更新GARPパケットの応酬を防止することが可能となる。
(実施の形態2)
次に、本発明に係わる実施の形態2について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C10)に示される特徴を備える。
(C10)ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、重複検知部でGARPパケットが検知されると、ネットワーク層アドレスが重複していることを送信元に通知するARP応答パケットを生成する重複通知生成部と、重複検知部でGARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを生成する更新GARP生成部と、更新GARP生成部で生成した更新GARPパケットの送信を所定時間遅延させる更新GARP遅延部と、重複通知生成部で生成したARP応答パケットをARPで送信し、更新GARP遅延部で遅延させた更新GARPパケットをGARPで送信するARP送信部とを備える。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
なお、本実施の形態におけるネットワーク構成については、実施の形態1と同様であるため説明を省略する。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態1と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態1と同様であるため説明を省略する。
<詳細な機能構成>
図19は、本実施の形態における通信装置のARP処理部の機能構成例とアドレス管理部とを示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部1901は、図12におけるARP処理部1203に該当する。ここでは、一例として、重複検知部1903、ARP受信部1904、更新GARP生成部1905、重複通知生成部1906、ARP送信部1907、更新GARP遅延部1908から構成される。なお、実施の形態1と同様の機能に関しては、説明を省略する。
(a)アドレス管理部1902
なお、本実施の形態におけるアドレス管理部1902については、実施の形態1と同様であるため説明を省略する。
(b)重複検知部1903
なお、本実施の形態における重複検知部1903については、実施の形態1と同様であるため説明を省略する。
(c)ARP受信部1904
なお、本実施の形態におけるARP受信部1904については、実施の形態1と同様であるため説明を省略する。
(d)更新GARP生成部1905
更新GARP生成部1905は、重複検知部1903からの重複検知通知を受理し、アドレス管理部1902が管理する機器A1002のIPアドレスとDLアドレスを設定したGARPパケットを生成し、更新ARP遅延部1908へ渡す。
(e)重複通知生成部1906
なお、本実施の形態における重複通知生成部1906については、実施の形態1と同様であるため説明を省略する。
(f)ARP送信部1907
なお、本実施の形態におけるARP送信部1907については、実施の形態1と同様であるため説明を省略する。
(g)更新GARP遅延部1908
更新GARP遅延部1908は、更新GARP生成部1905から更新GARPパケットを受理すると、受理した更新GARPパケットをARP送信部1907へすぐに渡さずに、所定時間Tが経過するまで保持する。所定時間Tが経過すると、受理した更新GARPパケットをARP送信部1907へ渡す。以下、このようにして遅延させてARP送信部1907へ渡された更新GARPパケットを遅延更新GARPパケットとも呼称する。
<GARPを用いた重複検知のシーケンス>
図20は、本実施の形態における通信装置のシーケンスを示す図である。図20に示されるように、機器B1003によりGARPを用いた重複検知が実施された場合における、機器A1002、機器B1003、および機器C1004で、下記のパケットのやり取りが行われる。
(a)重複検知前の動作
機器A1002と機器C1004は、互いに通信を行っている(#20AC1、#20CA1)。このとき機器C1004におけるARPテーブルの状況は、図21の通りである。このとき、機器C1004におけるARPテーブルは、DoS攻撃などの連続したARPパケットにより頻繁にARPテーブルが書き換わることを防止するために、更新受付までの時間を管理している。図21の例では、IPアドレス「192.168.0.100」に対するエントリは、十分前に更新されたため、更新受付までの時間は0秒となっている。すなわち、機器C1004は、当該エントリに対するARPテーブル更新の必要性があれば、即座に更新を行なう。
ここで、機器B1003が、ネットワーク1001に接続され重複検知用のGARPパケット(#20BF)を送信する。
(b)機器C1004の動作
機器C1004は、機器B1003がネットワーク1001にブロードキャスト送信したGARPパケット(#20BF)を受信する。機器C1004は、受信したGARPパケット(#20BF)の中身を解析し、機器C1004が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器C1004では、これまで通信を行っていた機器A1002のエントリにヒットする。このとき、ヒットしたエントリは、十分前にARPテーブルが更新されたため、即座に更新できる状態となっている。よって、受信したGARPパケット(#20BF)の情報でエントリの上書きを行なう。この結果、機器C1004のARPテーブルは、GARPパケット(#20BF)で上書きされ、図22の通りとなる。また、更新受付までの時間は、初期化されU秒に設定される。
(c)機器A1002の動作
機器A1002は、機器B1003がネットワーク1001にブロードキャスト送信したGARPパケット(#20BF)を受信する。機器A1002は、受信したGARPパケット(#20BF)が、機器A1002に設定されているIPアドレスと重複していることを検知する。
機器A1002は、IPアドレスの重複を検知すると、IPアドレスが重複していることを通知するための重複通知ARPパケット(#20AB)を機器B1003へ送信する。さらに、機器A1002は、更新GARPパケット(#20AF)を所定時間U以上遅延させてネットワーク1001にブロードキャスト送信する。
(d)機器A1002が更新GARP送信後の機器C1004の動作
機器C1004は、機器A1002がネットワーク1001にブロードキャスト送信した更新GARPパケット(#20AF)を受信する。機器C1004は、受信したGARPパケット(#20AF)の中身を解析し、機器C1004が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器C1004では、機器B1003の重複検知のためのGARPパケット(#20BF)によって上書きされた機器A1002へのエントリにヒットする。このとき、機器A1002は、所定時間U経過後に、更新GARPパケット(#20AF)を送信しているため、機器C1004の機器A1002に対するARPテーブルエントリの更新受付までの時間は0秒となっている。この結果、機器C1004のARPテーブルは、更新GARPパケット(#20AF)により上書きされ、図23の通りとなる。
(e)重複検知後の動作
以上のシーケンスを経て、機器C1004のARPテーブルは、機器B1003の重複検知前の状態に戻る。よって、機器A1002と機器C1004は、重複検知前と同様に互いに通信が行なえる状態となる(#20ACN、#20CAN)。
<機器A1002での処理フロー>
さらに、図19と図20を用いて処理フローを詳細に説明する。
(a)GARPパケット受信処理(#20BF)
なお、本実施の形態におけるGARPパケット受信処理(#20BF)については、実施の形態1と同様であるため説明を省略する。
(b)更新GARPパケット(#20AF)および重複通知ARPパケット(#20AB)送信処理
更新GARP生成部1905は、重複検知部1903からの重複検知通知を受理し、更新GARPパケット(#20AF)を生成し、更新GARP遅延部1908へと渡す。
重複通知生成部1306は、重複検知部1903からの重複検知通知を受理し、機器B1003への重複通知ARPパケット(#20AB)を生成し、ARP送信部1907へと渡す。
更新GARP遅延部1908は、受理した更新GARPパケット(#20AF)を所定時間U遅延させてARP送信部1907へ渡す。
ARP送信部1907は、受理した重複通知ARPパケット(#20AB)をInterface処理部1201へ渡し、送信処理を行なう(#130B)。さらに、遅延更新GARPパケット(#20AF)も、Interface処理部1201へ渡し、送信処理を行なう(#130B)。
以上、本実施の形態において、機器B1003によって、書き換えられた所定時間ARPテーブルを更新しない機能を持つ機器C1004のARPテーブルを元に戻すことが可能となり、機器A1002と機器C1004との通信を復旧することが可能となる。
(実施の形態3)
次に、本発明に係わる実施の形態3について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C11)〜(C7)に示される特徴を備える。
(C11)ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、重複検知部でGARPパケットが検知されると、ネットワーク層アドレスが重複していることを送信元に通知するARP応答パケットを生成する重複通知生成部と、重複検知部でGARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを複数個生成する更新GARP生成部と、更新GARP生成部で複数個生成した更新GARPパケットのうち少なくとも1つを所定の時間遅延させる更新GARP遅延部と、重複通知生成部で生成したARP応答パケットをARPで送信し、更新GARP遅延部で遅延させた更新GARPパケットをGARPで送信するARP送信部とを備える。
なお、下記(C12)〜(C15)に示される特徴を備えるとしてもよい。
(C12)通信装置は、さらに、ARP送信部で更新GARPパケットを送信した後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複通知ARPパケットをARP受信部で受信したときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を重複検知部と更新GARP遅延部とに渡す重複通知部を備え、重複通知生成部は、重複検知部から重複検知通知を受理すると、ARP応答パケットを生成してARP送信部に渡し、更新GARP生成部は、重複検知部から重複検知通知を受理すると、更新GARPパケットを複数個生成して少なくとも1つをGARP遅延部に渡し、重複検知部は、重複通知部からアドレス重複通知を受理すると、重複検知通知を重複通知生成部と更新GARP生成部とに渡すことを停止し、更新GARP遅延部は、重複通知部からアドレス重複通知を受理すると、更新GARP生成部から既に受理されている更新GARPパケットを、所定の時間遅延させてからARP送信部に渡すことを停止する。
(C13)重複検知部は、更新GARP生成部から受理した更新GARPパケットを更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したGARPパケットをARP受信部で受信したときに、ネットワーク層アドレスが本通信装置のネットワーク層アドレスと重複したGARPパケットをARP受信部で受信したことを知らせるGARP重複受信通知を更新GARP生成部と更新GARP遅延部とに渡し、更新GARP生成部は、重複検知部からGARP重複受信通知を受理すると、複数個生成した更新GARPパケットのうち少なくとも1つを更新GARP遅延部に渡すことを停止し、更新GARP遅延部は、重複検知部からGARP重複受信通知を受理すると、更新GARP生成部から既に受理されている更新GARPパケットを、所定の時間遅延させてからARP送信部に渡すことを一度停止してから、新たに所定の時間遅延させてARP送信部に渡す。
(C14)重複検知部は、さらに、GARPパケットの送信元のデータリンク層アドレスをDLアドレス情報として保持し、更新GARP生成部から受理した更新GARPパケットを更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致し、さらに、送信元のデータリンク層アドレスとDLアドレス情報とが一致したGARPパケットをARP受信部で受信したときにのみ、GARP重複受信通知を更新GARP生成部と更新GARP遅延部とに渡す。
(C15)重複検知部は、さらに、更新GARP生成部から受理した更新GARPパケットを更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複ARPパケットをARP受信部で受信したときに、重複検知通知を渡すことを停止する。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
図24は、本実施の形態におけるネットワーク構成および通信装置の設定例を示す図である。図24に示されるように、ネットワーク2401には、通信装置2402(以下、機器A2402と呼称する。)、通信装置2403(以下機器B3403)、通信装置2404(以下、機器C2404と呼称する。)、および通信装置2405(以下、機器D2405と呼称する。)が接続されている。なお、本実施の形態では、説明を簡略化するために4台の通信装置がネットワーク2401に接続されているとして説明を行なう。しかし、機器B2403に相当する通信装置、機器C2404に相当する通信装置、または機器D2405に相当する通信装置が複数台存在しても同様である。
機器A2402、機器B2403、機器C2404、機器D2405は、有線または無線で接続する通信機能を持つ装置である。例えば、PC、ネットワーク通信が可能な家電装置などのように、Ethernet(登録商標)インタフェースを備えた装置である。ネットワーク2401は、LANであり、有線または無線を含むネットワークである。
機器A2402は、本実施の形態における通信装置の機能を備え、DLアドレス「AA:AA:AA:AA:AA:AA」を保持し、IPアドレス「192.168.0.100」が設定されている。
機器B2403は、DLアドレス「BB:BB:BB:BB:BB:BB」を保持し、機器Aと重複したIPアドレス「192.168.0.100」が設定されようとしている。また、IPアドレス設定前にGARPを用いた重複検知を行なう機能を持つ。なお、機器B2403においても、本実施の形態における通信装置の機能を備えるとしてもよい。
機器C2404は、DLアドレス「CC:CC:CC:CC:CC:CC」を保持し、IPアドレス「192.168.0.200」が設定されている。そして、機器A2402と通信を行っている。なお、機器C2404においても、本実施の形態における通信装置の機能を備えるとしてもよい。
機器D2405は、DLアドレス「DD:DD:DD:DD:DD:DD」を保持し、IPアドレス「192.168.0.201」が設定されている。そして、機器A2402と通信を行っている。なお、機器D2405においても、本実施の形態における通信装置の機能を備えるとしてもよい。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態1と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態1と同様であるため説明を省略する。
<詳細な機能構成>
図25は、本実施の形態における通信装置のARP処理部の機能構成例、アドレス管理部、および重複監視部を示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部2501は、図12におけるARP処理部1203に該当する。ここでは、一例として、重複検知部2503、ARP受信部2504、更新GARP生成部2505、重複通知生成部2506、ARP送信部2507、更新GARP遅延部2508、重複通知部2510から構成される。なお、実施の形態1と同様の機能に関しては、説明を省略する。
(a)アドレス管理部2502
なお、本実施の形態におけるアドレス管理部2502については、実施の形態1と同様であるため説明を省略する。
(b)重複検知部2503
なお、本実施の形態における重複検知部2503については、実施の形態1と同様であるため説明を省略する。
(c)ARP受信部2504
ARP受信部2504は、Interface処理部1201から渡されたARPパケット(#250A)の受信処理およびデータ解析処理を行なう。
ARP受信部2504の内部には、重複検知部2503および重複通知部2510が含まれる。
(d)更新GARP生成部2505
更新GARP生成部2505は、重複検知部2503からの重複検知通知を受理し、アドレス管理部2502が管理する機器A2402のIPアドレスとDLアドレスを設定したGARPパケットを複数個生成し、ARP送信部2507および更新GARP遅延部2508へと渡す。なお、3個以上の更新GARPパケットを生成した場合は、2個目以降の更新GARPパケットを更新GARP遅延部2508に渡してもよい。
(e)重複通知生成部2506
なお、本実施の形態における重複通知生成部2506については、実施の形態1と同様であるため説明を省略する。
(f)ARP送信部2507
なお、本実施の形態におけるARP送信部2507については、実施の形態1と同様であるため説明を省略する。
(g)更新GARP遅延部2508
更新GARP遅延部2508は、更新GARP生成部2505から更新GARPパケットを受理すると、受理した更新GARPパケットをARP送信部2507へすぐに渡さずに、所定時間Tが経過するまで保持する。所定時間Tが経過すると、受理した更新GARPパケットをARP送信部2507へ渡す。以下、このようにして遅延させてARP送信部2507へ渡された更新GARPパケットを遅延更新GARPパケットとも呼称する。
更新GARP遅延部2508は、重複通知部2510からのアドレス重複通知を受理し、更新GARPパケットを遅延させてARP送信部2507へ渡す更新GARP遅延処理を停止する。
なお、更新GARP遅延部2508は、更新GARPパケットが複数渡された場合、所定時間T間隔でARP送信部2507へ遅延更新GARPパケットを渡してもよいし、異なる間隔でARP送信部2507へ遅延更新GARPパケットを渡してもよい。
(i)重複通知部2510
重複通知受信部2510は、アドレス管理部2502が管理する機器A2402のIPアドレスと受信ARPパケットの送信元IPアドレスとが一致しているARPパケット(以下、重複通知ARPパケットと呼称する。)を受信したときに、アドレス重複通知を通知する。
このアドレス重複通知は、更新GARP遅延部2508および重複監視部2512に対して通知される。
(j)重複監視部2512
重複監視部2512は、重複通知部2510より通知されるアドレス重複通知を受理し、ネットワーク2401上でIPアドレスの重複が発生したことを知る。
なお、重複監視部2512は、重複通知部2510よりアドレス重複通知を受理すると、機器A2402にLEDが備わっていればLEDを点灯させたり、ディスプレイ機能が備わっていれば重複していることを表示したり、スピーカが備わっていれば音を鳴らしたりする機能を有してもよい。
さらに、重複を検知した通信装置のDLアドレスを表示したり、実際に重複を起こしたIPアドレスを情報として出力したりしてもよい。
さらに、機器A2402に設定されているIPアドレス「192.168.0.100」を削除し、別のIPアドレスを再設定する機能を有してもよい。
<GARPを用いた重複検知のシーケンス>
図26は、本実施の形態における通信装置のシーケンスを示す図である。図26に示されるように、機器B2403によりGARPを用いた重複検知が実施された場合において、機器A2402、機器B2403、機器C2404、および機器D2405で、下記のパケットのやり取りが行われる。
(a)重複検知前の動作
機器A2402と機器C2404は、互いに通信を行っている(#26AC1、#36CA1)。このとき機器C2404におけるARPテーブルの状況は、図27の通りである。
また、機器A2402と機器D2405は、互いに通信を行っている(#26AC1、#26CA1)。このとき機器D2405におけるARPテーブルの状況は、図28の通りである。このとき、機器D2405におけるARPテーブルは、DoS攻撃などの連続したARPパケットにより頻繁にARPテーブルが書き換わることを防止するために、更新受付までの時間を管理している。図28の例では、IPアドレス「192.168.0.100」に対するエントリは、十分前に更新されたため、更新受付までの時間は0秒となっている。すなわち、機器D2405は、当該エントリに対するARPテーブル更新の必要性があれば、即座に更新を行なう。
ここで、機器B2403が、ネットワーク2401に接続され重複検知用のGARPパケット(#26BF)を送信する。
(b)機器C2404の動作
機器C2404は、機器B2403がネットワーク2401にブロードキャスト送信したGARPパケット(#26BF)を受信する。機器C2404は、受信したGARPパケット(#26BF)の中身を解析し、機器C2404が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器C2404では、これまで通信を行っていた機器A2402のエントリにヒットする。よって、受信したGARPパケット(#26BF)の情報でエントリの上書きを行なう。この結果、機器C2404のARPテーブルは、GARPパケット(#26BF)で上書きされ、図29の通りとなる。
(c)機器D2405の動作
機器D2405は、機器B2403がネットワーク2401にブロードキャスト送信したGARPパケット(#26BF)を受信する。機器D2405は、受信したGARPパケット(#26BF)の中身を解析し、機器D2405が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器D2405では、これまで通信を行っていた機器A2402のエントリにヒットする。このとき、ヒットしたエントリは、十分前にARPテーブルが更新されたため、即座に更新できる状態となっている。よって、受信したGARPパケット(#26BF)の情報でエントリの上書きを行なう。この結果、機器D2405のARPテーブルは、GARPパケット(#26BF)で上書きされ、図30の通りとなる。また、更新受付までの時間は、初期化されU秒に設定される。
(d)機器A2402の動作
機器A2402は、機器B2403がネットワーク2401にブロードキャスト送信したGARPパケット(#26BF)を受信する。機器A2402は、受信したGARPパケット(#26BF)が、機器A2402に設定されているIPアドレスと重複していることを検知する。
機器A2402は、IPアドレスの重複を検知すると、IPアドレスが重複していることを通知するための重複通知ARPパケット(#26AB)を機器B2403へ送信する。さらに、機器A2402は、更新GARPパケット(#26AF1)をネットワーク2401にブロードキャスト送信する。
なお、本シーケンスの説明では、重複通知ARPパケット(#26AB)、更新GARPパケット(#26AF1)の順で説明したが、順序が入れ替わってもよい。
さらに、機器A2402は、更新GARPパケット(#26AF2)を所定時間U以上遅延させてネットワーク2401にブロードキャスト送信する。
(e)機器A2402が更新GARP送信後の機器C2404の動作
機器C2404は、機器A2402がネットワーク2401にブロードキャスト送信した更新GARPパケット(#26AF1)を受信する。機器C2404は、受信したGARPパケット(#26AF1)の中身を解析し、機器C2404が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器C2404では、機器B2403の重複検知のためのGARPパケット(#26BF)によって上書きされた機器A2402へのエントリにヒットする。この結果、機器C2404のARPテーブルは、更新GARPパケット(#26AF1)により上書きされ、図31の通りとなる。
さらに、機器C2404は、機器A2402がネットワーク2401にブロードキャスト送信した更新GARPパケット(#26AF2)を受信する。機器C2404は、受信したGARPパケット(#26AF2)の中身を解析し、機器C2404が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器C2404では、機器A2402が更新GARPパケット(#26AF1)によって上書きした機器A2402へのエントリにヒットする。この結果、機器C2404のARPテーブルは、更新GARPパケット(#26AF2)により再び上書きされるが、内容は同一のため、ARPテーブルは、図31のままとなる。
(f)機器A2402が更新GARP送信後の機器D2405の動作
機器D2405は、機器A2402がネットワーク2401にブロードキャスト送信した更新GARPパケット(#26AF1)を受信する。機器D2405は、受信したGARPパケット(#26AF1)の中身を解析し、機器D2405が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器D2405では、機器B2403の重複検知のためのGARPパケット(#26BF)によって上書きされた機器A2402へのエントリにヒットする。しかし、機器D2405のARPテーブルは、更新受付までの時間Uを経過していないため上書きされず、図30のままである。
さらに、機器D2405は、機器A2402がネットワーク2401にブロードキャスト送信した更新GARPパケット(#26AF2)を受信する。機器D2405は、受信したGARPパケット(#26AF2)の中身を解析し、機器D2405が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器D2405では、機器B2403の重複検知のためのGARPパケット(#26BF)によって上書きされた機器A2402へのエントリにヒットする。このとき、機器A2402は、所定時間U経過後に、更新GARPパケット(#26AF2)を送信しているため、機器D2405の機器A2402に対するARPテーブルエントリの更新受付までの時間は0秒となっている。この結果、機器D2405のARPテーブルは、更新GARPパケット(#26AF2)により上書きされ、図32の通りとなる。また、更新受付までの時間は、初期化されUに設定される。
(g)重複検知後の動作
以上のシーケンスを経て、機器C2404のARPテーブルは、機器B2403の重複検知前の状態に戻る。よって、機器A2402と機器C2404は、重複検知前と同様に互いに通信が行なえる状態となる(#26ACN、#26CAN)。
また、機器D2405のARPテーブルは、機器B2403の重複検知前の状態に戻る。よって、機器A2402と機器D2405は、重複検知前と同様に互いに通信が行なえる状態となる(#26ADN、#26DAN)。
<機器A2402での状態遷移>
図33を用いて機器A2402における状態遷移図を説明する。機器Aにおける状態は、初期状態S3301、アドレス設定状態S3302、更新GARP送信遅延状態S3303、アドレス重複状態S3304の状態からなる。それぞれの状態およびその状態遷移条件、状態遷移時の処理内容に関して以下に説明する。
(a)初期状態S3301
初期状態S3301は、機器A2402にIPアドレスが設定されていない状態を示している。
(#330A)初期状態S3301からアドレス設定状態S3302への遷移
機器A2402にIPアドレスが設定されることで状態遷移が発生する。
(b)アドレス設定状態S3302
アドレス設定状態S3302は、機器A2402にIPアドレスが設定されている状態を示している。
(#330B)アドレス設定状態S3302から更新GARP送信遅延状態S3303への遷移
機器A2402がネットワーク2401上の他の通信機器からGARPパケットを受信したときに状態遷移が発生する。このとき、受信したGARPパケットに対して、重複通知ARPパケットおよび更新GARPパケットを送信する。
(#330C)アドレス設定状態S3302から初期状態S3301への遷移
機器A2402に設定されているIPアドレスを削除したときに状態遷移が発生する。
(#330D)アドレス設定状態S3302からアドレス重複状態S3304への遷移
機器A2402がネットワーク2401上の他の通信機器から重複通知ARPパケットを受信したときに状態遷移が発生する。
(c)更新GARP送信遅延状態S3303
更新GARP送信遅延状態S3303は、機器A2402が更新GARPをすでに送信し、2発目以降の更新GARPを所定時間U遅延させ、送信待ちしている状態を示している。図26における最初の更新GARPパケット送信(#26AF1)から、最後の更新GARP送信(#26AF2)の間での状態である。なお、更新GARPパケットが3個以上送信される場合においても、最後の更新GARPパケットが送信されるまでの間が更新GARP送信遅延状態S3303である。
(#330E)更新GARP送信遅延状態S3303から更新GARP送信遅延状態S3303への遷移
機器A2402が、ネットワーク2401上の他の通信装置からGARPパケットを受信したときに状態遷移が発生する。このとき、受信したGARPパケットに対して、重複通知ARPパケットを送信する。また、更新GARPパケットの送信を同時に行なう。なお、更新GARP送信遅延時間を初期値所定時間Uに再設定してもよい。なお、更新GARPパケット送信を同時行なわなくてもよい。
(#330F)更新GARP送信遅延状態S3303からアドレス設定状態S3302への遷移
更新GARP送信遅延状態S3303に遷移してから所定時間U以上経過したときに状態遷移が発生する。このとき、最後の更新GARPパケットを送信する。なお、更新GARPパケットが3個以上送信される場合は、最後の更新GARPパケット送信が発生する所定時間Tを経過した場合に状態遷移が発生する。
(#330G)更新GARP送信遅延状態S3303から初期状態S3301への遷移
機器A2402に設定されているIPアドレスが削除されたときに状態遷移が発生する。
(#330H)更新GARP送信遅延状態S3303からアドレス重複状態S3304への遷移
機器A2402がネットワーク2401上の他の通信装置から重複通知ARPパケットを受信したときに状態遷移が発生する。
(d)アドレス重複状態S3304
アドレス重複状態S3304は、機器A2402に設定されているIPアドレスがネットワーク2401上の他の通信装置のIPアドレスと重複していることを検知した状態である。
(#330I)アドレス重複状態S3304から初期状態S3301への遷移
機器A2402に設定されるIPアドレスを削除したときに状態遷移が発生する。
<機器A2402での処理フロー>
さらに、図25と図26および図33の状態遷移図を用いて処理フローを詳細に説明する。
(a)機器A2402の初期状態
機器A2402は、IPアドレス「192.168.0.100」を設定され、初期状態S3301からアドレス設定状態S3302へ遷移した状態である(#330A)。
(b)GARPパケット受信処理(#26BF)
機器A2402は、機器B2403からのGARPパケット(#26BF)を受信する。受信したGARPパケット(#26BF)は、Interface処理部1201を経て、ARP受信部1504に渡される(#250A)。受信したGARPパケット(#26BF)は、ARP受信部2504において解析され、重複検知部2503にて機器A2402に設定されているIPアドレスと重複しているか判断される。本シーケンスでは、機器B2403が機器A2402と同一のIPアドレスを設定してGARPパケット(#26BF)を送信しているため「重複」という結果となる。
(c)更新GARPパケット(#26AF1)および重複通知ARPパケット(#26AB)送信処理
機器A2402は、「重複」という結果により、重複検知部2503より更新GARP生成部2505および重複通知生成部2506へ重複したGARPパケット(#26BF)情報を通知する。
更新GARP生成部2505は、「重複」の通知およびGARPパケット(#26BF)情報を受けると、機器A2402のIPアドレスとDLアドレスを設定した更新GARPパケット(#26AF1、#26AF2)を生成し、ARP送信部2507および更新GARP遅延部2508へと渡す。
重複通知生成部2506は、「重複」の通知およびGARPパケット(#26BF)の情報を受け取ると、GARPパケット(#26BF)を送信した機器B2403に対する、重複通知ARPパケット(#26AB)を生成し、ARP送信部2608へと渡す。
ARP送信部2608は、受け取った更新GARPパケット(#26AF1)および重複通知ARPパケット(#26AB)をInterface処理部1201へ渡し、送信処理を行なう(#250B)。
このとき、機器A2402は、アドレス設定状態S3302から更新GARP送信遅延状態S3303へと状態を遷移する(#330B)。
(d)更新GARPパケット(#26AF2)送信処理
更新GARP遅延部2508は、更新GARP生成部2505から更新GARPパケット(#26AF2)を受理すると、所定時間U遅延させてARP送信部2507へ渡す。
ARP送信部2507は、受理した遅延更新GARPパケット(#26AF2)をInterface処理部1201へ渡し、送信処理を行なう(#250B)。
このとき、機器A2402は、更新GARP送信遅延状態S3303からアドレス設定状態S3302へ遷移する(#330F)。
以後、重複検知用のGARPパケットを受信するたびにこの処理フローを行なう。
<IPアドレスの重複する通信装置が存在した場合の停止シーケンス>
次に、本発明におけるネットワーク異常時の停止シーケンスを説明する。
図34は、本実施の形態における通信装置のシーケンスを示す図である。図34に示されるように、機器B2403が、アドレス重複を起こしているにもかかわらず、ネットワーク2401上に重複したIPアドレスのまま居座った場合において、機器A2402および機器B2403で、下記のパケットのやり取りが行われる。なお、説明を簡略化するために機器C2404および、機器D2405は省き、機器A2402および機器B2403のみで説明する。
(a)機器B2403による重複検知開始
機器B2403がネットワーク2401に接続され、機器A2402と重複したIPアドレスに対してGARPパケット(#34BF1)をブロードキャスト送信する。
(b)機器A2402の動作
機器A2402は、機器B2403がネットワーク2401にブロードキャスト送信したGARPパケット(#34BF1)を受信する。機器A2402は、受信したGARPパケット(#34BF1)が、機器A2402に設定されているIPアドレスと重複していることを検知する。
機器A2402は、IPアドレスの重複を検知すると、IPアドレスが重複していることを通知するための重複通知ARPパケット(#34AB)を機器B2403へ送信する。さらに、機器A2402は、更新GARPパケット(#34AF1)をネットワーク2401にブロードキャスト送信する。
なお、本シーケンスの説明では、重複通知ARPパケット(#34AB)、更新GARPパケット(#34AF1)の順で説明したが、順序が入れ替わってもよい。
さらに、機器A2402は、更新GARPパケット(#34AF2)のネットワーク2401へのブロードキャスト送信を所定時間U待機させる。
(c)機器B2403の動作
ここで、機器B2403は、アドレス重複しているにもかかわらず、機器A2402と重複したIPアドレスを使用し続け、さらに、本発明と類似した通信装置であり、機器B2403に対するGARPパケットを受信することで、更新GARPパケットを送信する機構を備えているとする。
このとき、機器B2403は、機器A2402がネットワーク2401にブロードキャスト送信したGARPパケット(#34AF1)を受信する。機器B2403は、受信したGARPパケット(#34AF1)が、機器B2403に設定されているIPアドレスと重複していることを検知する。
機器B2403は、IPアドレスの重複を検知すると、IPアドレスが重複していることを通知するための重複通知ARPパケット(#34BA)を機器A2402へ送信する。さらに、機器B2403は、更新GARPパケット(#34BF2)をネットワーク2401にブロードキャスト送信する。
なお、本シーケンスの説明では、重複通知ARPパケット(#34BA)、更新GARPパケット(#34BF2)の順で説明したが、順序が入れ替わってもよい。
(d)機器B2403が重複通知ARPパケット送信後の機器A2402の動作
機器A2402は、機器B2403が機器A2402へ送信した重複通知ARPパケット(#34BA)を受信する。機器A2402は、重複通知ARPパケット(#34BA)を受信すると、送信待機中である更新GARPパケット(#34AF2)の送信を停止する。
なお、機器A2402にLEDがあればそれを点灯させたり、ディスプレイ機能があれば重複していることを表示したり、スピーカがあれば音を鳴らしたりしてもよい。さらに、機器A2402に設定されているIPアドレス「192.168.0.100」を削除し、ネットワークアドレスが同一となる別のIPアドレスを再設定することを行ってもよい。
もし、(d)において更新GARPパケット(#34AF2)の送信を停止せず、送信処理を行なうと、図35のようなシーケンスを永遠と繰り返すことになる。このように、更新GARPパケット送信停止機能を持つことで、ネットワーク2401上の無駄なトラフィック発生を防止し、永久的な通信不能状態を回避する。
<機器A2402での更新GARPパケット送信停止処理フロー>
さらに、図25と図34および図33の状態遷移図を用いて処理フローを詳細に説明する。
(a)機器A2402の初期状態
機器A2402は、IPアドレス「192.168.0.100」を設定され、初期状態S3301からアドレス設定状態S3302へ遷移した状態である(#330A)。
(b)GARPパケット受信処理(#34BF1)
機器A2402は、機器B2403からのGARPパケット(#34BF1)を受信する。受信したGARPパケット(#34BF1)は、Interface処理部1201を経て、ARP受信部2504に渡される(#250A)。受信したGARPパケット(#34BF1)は、ARP受信部2504において解析され、重複検知部2503にて機器A2402に設定されているIPアドレスと重複しているか判断される。本シーケンスでは、機器B2403が機器A2402と同一のIPアドレスを設定してGARPパケット(#34BF1)を送信しているため「重複」という結果となる。
(c)更新GARPパケット(#34AF1)および重複通知ARPパケット(#34AB)送信処理
機器A2402は、「重複」という結果により、重複検知部2503より更新GARP生成部2505および重複通知生成部2506へ重複したGARPパケット(#34BF1)情報を通知する。
更新GARP生成部2505は、「重複」の通知およびGARPパケット(#34BF1)情報を受けると、機器A2402のIPアドレスとDLアドレスを設定した更新GARPパケット(#34AF1、#34AF2)を生成し、ARP送信部2507および更新GARP遅延部2508へと渡す。
重複通知生成部2506は、「重複」の通知およびGARPパケット(#34BF1)の情報を受け取ると、GARPパケット(#34BF1)を送信した機器B2403に対する、重複通知ARPパケット(#34AB)を生成し、ARP送信部2608へと渡す。
ARP送信部2608は、受け取った更新GARPパケット(#34AF1)および重複通知ARPパケット(#34AB)をInterface処理部1201へ渡し、送信処理を行なう(#250B)。
このとき、機器A2402は、アドレス設定状態S3302から更新GARP送信遅延状態S3303へと状態を遷移する(#330B)。
(d)重複通知ARPパケット(#34BA)受信処理
機器A2402は、機器B2403からの重複通知ARPパケット(#34BA)を受信する。受信した重複通知ARPパケット(#34BA)は、Interface処理部1201を経て、ARP受信部2504に渡される(#250A)。受信した重複通知ARPパケット(#34BA)は、ARP受信部2504において解析され、重複通知部2510にて重複通知ARPパケットであると判断される。
重複通知部2510は、重複通知ARPパケットであると判断すると、更新GARP遅延部2508および重複監視部2512に重複通知を受信したことを通知する。
このとき、機器A2402は、更新状態S3302から更新GARP送信遅延状態S3303へと状態を遷移する(#330B)。
(e)更新GARPパケット(#34AF2)送信の停止処理
更新GARP遅延部2508は、重複通知部2510より受けた重複通知から、所定時間U待機している更新GARPパケットをARP送信部2507へ渡すことを停止する。このとき、ARP送信部2507へ渡すことが保留されていた更新GARPパケットは、ネットワーク2401に送信されることなく、更新GARP遅延部2508によって廃棄される。
なお、重複監視部2512は、重複通知部2510より受けた重複通知から、機器A2402にLEDがあればそれを点灯させたり、ディスプレイ機能があれば重複していることを表示したり、スピーカがあれば音を鳴らしたりする機能を有してもよい。さらに、機器A2402に設定されているIPアドレス「192.168.0.100」を削除し、ネットワークアドレスが同一となる別のIPアドレスを再設定する機能を有してもよい。
<機器B2403が更新GARP送信機能を保有する場合の対応>
機器B2403が、機器B2403のIPアドレスと重複するGARPパケットを受信した際、本発明のうち更新GARPパケット送信機能のみを保有していた場合に関しての実施例について図77を用いて説明する。
機器A2402が、機器B2403から送信されたGARPパケット(#77BF1)を受信し、更新GARPパケット(#77AF1)を送信するところまでは、これまで説明したシーケンスの通りである。
次に、機器B2403は、機器A2402が送信した更新GARPパケット(#77AF1)受信後、機器B2403のためのARPテーブルを回復するために、更新GARPパケット(#77BF2)を送信する。
機器A2402は、機器B2403が送信した更新GARPパケット(#77BF2)を受信すると、機器A2402のIPアドレスとの重複を検知する。
しかし、機器A2402は、更新GARPパケット(#77AF1)送信後、所定時間Tの経過待ちをしているため、即座にさらなる更新GARPパケット(#77AF2)の送信を行わない。さらに、所定時間T遅延させていた更新GARPパケット(#77AF3)の送信を停止する。
以上、本実施の形態において、機器B2403によって、書き換えられた機器C2404のARPテーブルおよび所定時間ARPテーブルの更新制限する機器D2405のARPテーブルを元に戻すことが可能となり、様々な実装を持つ機器A2402と機器C2404と機器D2405の通信を復旧することが可能となる。
また、ネットワーク2401に重複するIPアドレスを持つ機器が存在するとき、無駄な更新GARPパケットの送信を抑制し、ネットワークトラフィックを削減することが可能となる。
さらに、GARPパケットを連続的に送信されたDoS攻撃などの場合においても、機器A2402が応答を返すことで引き起こされるトラフィック増加を防止することが可能となる。
さらに、重複検知を行った機器がGARPパケットを用いてARPテーブルを回復する機能を持っている場合であっても、GARPパケットと更新GARPパケットの応酬を防止することが可能となる。
(実施の形態4)
次に、本発明に係わる実施の形態4について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C26)に示される特徴を備える。
(C26)ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、受信したAddress Resolution Protocol(ARP)パケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、重複検知部でGARPパケットが検知されると、本通信装置が接続されているネットワーク上の通信装置に関するネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理するARPテーブルの情報をすべて消去するARP情報管理部とを備える。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
なお、本実施の形態におけるネットワーク構成については、実施の形態1と同様であるため説明を省略する。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態1と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態1と同様であるため説明を省略する。
<詳細な機能構成>
図36は、本実施の形態における通信装置のARP処理部の機能構成例とアドレス管理部とを示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部3601は、図12におけるARP処理部1203に該当する。ここでは、一例として、重複検知部3603、ARP受信部3604、重複通知生成部3605、ARP応答生成部3606、ARP送信部3607、ARP情報管理部3608、ARP要求生成部3609から構成される。なお、実施の形態1と同様の機能に関しては、説明を省略する。
(a)アドレス管理部3602
なお、本実施の形態におけるアドレス管理部3602については、実施の形態1と同様であるため説明を省略する。
(b)重複検知部3603
重複検知部3603は、GARPパケットを受信したとき、機器A402に設定されているIPアドレスと、重複しているか否かを比較する。比較した結果、重複していた場合は、ARP情報管理部3608に対してARPテーブルを消去することを通知する。さらに、重複通知生成部3605に重複していることを通知し、GARPパケットの送信元DLアドレス情報を渡す。なお、GARPパケットそのものを情報として渡してもよい。
なお、重複検知部3603は、0ARPパケットを受信した場合にも、機器A402に設定されているIPアドレスと、重複しているか否かを比較する機能を持ってもよい。また、0ARPパケットとの比較の結果、重複していた場合は、重複通知生成部3605に重複していることを通知し、0ARPパケットのSRC−DLアドレス情報を渡してもよい。なお、0ARPパケットそのものを情報として渡してもよい。
(c)ARP受信部3604
なお、本実施の形態におけるARP受信部3604については、実施の形態1と同様であるため説明を省略する。
(d)重複通知生成部3605
なお、本実施の形態における重複通知生成部3605については、実施の形態1と同様であるため説明を省略する。
(e)ARP応答生成部3606
なお、本実施の形態におけるARP応答生成部3606については、実施の形態1と同様であるため説明を省略する。
(f)ARP送信部3607
ARP送信部3607は、重複通知生成部2605、ARP応答生成部3606およびARP要求生成部3609で生成されたARPパケットをInterface層処理部にARPパケット(#360B)として渡す機能を有する。
(g)ARP情報管理部3608
ARP情報管理部3608は、ARPテーブルを管理する。ARPテーブルは、ARP受信部3604のARPパケット解析結果により渡された情報を、記憶部1104へ格納して管理する。ARPテーブルは、IPアドレスとDLアドレスを対であり、ネットワーク401に接続された他の通信装置と通信を行なう際に、使用される。また、ARP情報管理部3608は、重複検知部3603からGARPパケットを受信したことを通知されるとARP情報管理部3608が管理する全てのARPテーブル管理情報を消去する機能を有する。さらに、ARP情報管理部3608は、機器A402がネットワーク上の他の通信装置と通信を行なう際、宛先IPアドレスに対するARPテーブルのエントリが存在しなかった場合、ARP要求生成部3609にARP要求を行なうことを通知する機能を有する。
(h)ARP要求生成部3609
ARP要求生成部3609は、ARP情報管理部3608が管理するARPテーブルに、送信を行なうパケットの宛先IPアドレスに対するエントリが存在しなかった場合、ARP要求を行なうことの要請を受ける。ARP要求の要請を受けたARP要求生成部3609は、ARP要求パケットを生成してARP送信部3607へと渡す機能を有する。
<GARPを用いた重複検知のシーケンス>
図37は、本実施の形態における通信装置のシーケンスを示す図である。図37に示されるように、機器B403によりGARPを用いた重複検知が実施された場合において、機器A402、機器B403、および機器C404で、下記のパケットのやり取りが行われる。
(a)重複検知前の動作
機器A402と機器C404は、互いに通信を行っている(#37AC1、#37CA1)。このとき機器A402におけるARPテーブルの状況は、図38の通りであり、機器C404におけるARPテーブルの状況は、図39の通りである。
ここで、機器B403が、ネットワーク401に接続され重複検知用のGARPパケット(#37BF)を送信する。
(b)機器C404の動作
機器C404は、機器B403がネットワーク401にブロードキャスト送信したGARPパケット(#37BF)を受信する。機器C404は、受信したGARPパケット(#37BF)の中身を解析し、機器C404が管理するARPテーブルに該当エントリが存在しないかを検索する。検索の結果、機器C404では、これまで通信を行っていた機器A402のエントリにヒットする。よって、受信したGARPパケット(#37BF)の情報でエントリの上書きを行なう。この結果、機器C404のARPテーブルは、GARPパケット(#37BF)で上書きされ、図40の通りとなる。
(c)機器A402の動作
機器A402は、機器B403がネットワーク401にブロードキャスト送信したGARPパケット(#37BF)を受信する。機器A402は、受信したGARPパケット(#37BF)が、機器A402に設定されているIPアドレスと重複していることを検知する。
機器A402は、IPアドレスの重複を検知すると、IPアドレスが重複していることを通知するための重複通知ARPパケット(#37AB)を機器B403へ送信する。さらに、機器A402は、機器A402が保持するARPテーブルの情報を全消去する。機器A402におけるARPテーブルは、図41の通りとなる。
(d)機器A402と機器C404における動作
機器A402は、機器C404へパケット送信を開始するとき、機器A402が管理するARPテーブルは消去されているため、機器C404のDLアドレス解決処理のためのARP要求パケット(#37AF)をネットワーク401へブロードキャスト送信する。このときの機器C404への送信パケットは、送信を保留する。
機器C404は、機器A402がネットワーク401にブロードキャスト送信したARP要求パケット(#37AF)を受信する。機器C404は、受信したARP要求パケット(#37AF)の中身を解析し、機器C404宛のARP要求パケットであることを知ると、機器C404のDLアドレスとIPアドレスを設定したARP応答パケット(#37CA)を機器A402へ送信する。このとき機器C404は、受信したARP要求パケット(#37AF)から、機器A402のDLアドレスとIPアドレスを取得し、ARPテーブルに登録する。機器C404におけるARPテーブルは、図42の通りとなる。
機器A402は、機器C404が送信したARP応答パケット(#37CA)を受信する。機器A402は、受信したARP応答パケット(#37CA)の中身を解析し、機器C404のDLアドレスとIPアドレスを知ると、機器A402、ARPテーブルに登録する。機器A402におけるARPテーブルは、図43の通りとなる。
機器A402は、ARPテーブルへの機器C404へエントリ登録とともに、送信を保留していた機器C404へのパケット(#37ACN)を送信する。
以降、機器C404からのパケット(#37CAN)も機器A402へと送信される。
<機器A402での処理>
さらに、図36と図37を用いて処理フローを詳細に説明する。
(a)GARPパケット受信処理(#37BF)
機器A402は、機器B403からのGARPパケット(#37BF)を受信する。受信したGARPパケット(#37BF)は、Interface処理部1201を経て、ARP受信部3604に渡される(#360A)。受信したGARPパケット(#37BF)は、ARP受信部3604において解析され、重複検知部3603にて機器A402に設定されているIPアドレスと重複しているか判断される。本シーケンスでは、機器B403が機器A402と同一のIPアドレスを設定してGARPパケット(#37BF)を送信しているため「重複」という結果となる。
(b)重複通知ARPパケット(#37AB)送信処理とARPテーブルの消去
機器A402は、「重複」という結果により、重複検知部3603より重複通知生成部3605へ重複したGARPパケット(#37BF)情報を通知する。さらに、重複検知部3603は、ARP情報管理部3608へ重複したことを通知する。
重複通知生成部3605は、「重複」の通知およびGARPパケット(#37BF)の情報を受け取ると、GARPパケット(#37BF)を送信した機器B403に対する、重複通知ARPパケット(#37AB)を生成し、ARP送信部3607へと渡す。
ARP送信部3607は、受け取った重複通知ARPパケット(#37AB)をInterface処理部1201へ渡し、送信処理を行なう(#370B)。
また、ARP情報管理部3608は、「重複」の通知を受け取ると、ARP情報管理部3608が管理するARPテーブルの全てのエントリを消去する。
(c)機器A402から機器C404へのアドレス解決処理(#37AF)
機器A402が、機器C404へパケット(#37ACN)を送信することを再開する。このとき、機器A402は、ARP情報管理部3608が管理するARPテーブルを検索する。しかし、ARPテーブルは、全て消去されているため機器C404へのエントリはヒットしない。
そこで、ARPテーブルがヒットしなかったARP情報管理部3608は、ARP要求生成部3609に、機器C404のアドレス解決するためのARP要求生成を通知する。
ARP要求生成部3609は、ARP要求生成の通知を受けると、機器C404へのARP要求パケット(#37AF)を生成し、ARP送信部3607へと渡す。ARP送信部3607は、ARP要求パケット(#37AF)をInterface処理部1201へと渡し送信処理を行なう(#360B)。
このとき、機器A402から機器C404への送信パケット(#37ACN)は、ARP情報管理部3608で送信を保留される。
(d)機器C404から機器A402へのARP応答処理(#37CA)
機器A402は、機器C404が送信したARP応答パケット(#37CA)を受信する。ARP応答パケット(#37CA)を受信したARP受信部3604は、機器C404からの応答であることを知り、機器C404のDLアドレスとIPアドレスをARP情報管理部3608へと渡す。
ARP情報管理部3608は、ARP受信部3604より渡された機器C404のDLアドレスとIPアドレスをARPテーブルへと登録し、送信を保留していた機器C404へのパケット(#36ACN)を送信する。
以上、本実施の形態において、ネットワーク401上に余分なネットワークトラフィックを発生させず、機器A402および機器C404のARPテーブルを更新することが可能となり、機器A402と機器C404の通信を復帰することが可能となる。
(実施の形態5)
次に、本発明に係わる実施の形態5について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C4)〜(C7)に示される特徴を備える。
(C4)通信装置は、さらに、ARP送信部で更新GARPパケットを送信した後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したARP応答パケットがARP受信部で受信されたときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を重複検知部に渡す重複通知部を備え、重複通知生成部は、ネットワーク層アドレスが重複していることを知らせる重複検知通知を重複検知部から受理すると、ARP応答パケットを生成してARP送信部に渡し、更新GARP生成部は、重複検知部から重複検知通知を受理すると、更新GARPパケットを生成してARP送信部に渡し、重複検知部は、重複通知部からアドレス重複通知を受理すると、重複検知通知を重複通知生成部と更新GARP生成部とに渡すことを停止する。
(C5)通信装置は、さらに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を受理すると、本通信装置のネットワーク層アドレスが、本通信装置が接続されているネットワーク上で、重複していることを出力する重複監視部と、ARP送信部で更新GARPパケットが送信された後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したARP応答パケットがARP受信部で受信されたときに、アドレス重複通知を重複監視部に渡す重複通知部とを備える。
なお、下記(C6)、(C7)に示される特徴を備えるとしてもよい。
(C6)重複通知部は、送信元のデータリンク層アドレスをアドレス重複通知に含めて重複監視部に渡し、重複監視部は、アドレス重複通知に含まれる送信元のデータリンク層アドレスを出力する。
(C7)重複通知部は、送信元のネットワーク層アドレスをアドレス重複通知に含めて重複監視部に渡し、重複監視部は、アドレス重複通知に含まれる送信元のネットワーク層アドレスを出力する。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
なお、本実施の形態におけるネットワーク構成については、実施の形態1と同様であるため説明を省略する。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態1と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態1と同様であるため説明を省略する。
<詳細な機能構成>
図44は、本実施の形態における通信装置のARP処理部の機能構成例、アドレス管理部、および重複監視部を示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部4401は、図12におけるARP処理部1203に該当する。ここでは、一例として、重複検知部4403、ARP受信部4404、更新GARP生成部4405、重複通知生成部4406、ARP送信部4408、重複通知部4410から構成される。
(a)アドレス管理部4402
なお、本実施の形態におけるアドレス管理部4402については、実施の形態1と同様であるため説明を省略する。
(b)重複検知部4403
重複検知部4403は、アドレス管理部4402が管理する機器A1002のIPアドレスと受信ARPパケットの送信元IPアドレスが一致しているGARPパケットを受信したときに、重複検知通知を通知する。
この重複検知通知は、更新GARP生成部4405および重複通知生成部4406に対して通知される。
この重複検知通知には、GARPパケットの送信元DLアドレスが情報として含まれる。なお、GARPパケットそのものを情報として渡してもよい。
さらに、重複検知部4403は、アドレス重複通知を受理すると、重複検知通知を停止する。なお、更新GARP生成部4405に対する重複検知通知の停止のみを行ない、重複通知生成部4406に対する重複検知通知の停止は行なわなくてもよい。
(c)ARP受信部4404
なお、本実施の形態におけるARP受信部4404については、実施の形態3と同様であるため説明を省略する。
(d)更新GARP生成部4405
なお、本実施の形態における更新GARP生成部4405については、実施の形態1と同様であるため説明を省略する。
(e)重複通知生成部4406
なお、本実施の形態における重複通知生成部4406については、実施の形態1と同様であるため説明を省略する。
(f)ARP送信部4408
なお、本実施の形態におけるARP送信部4408については、実施の形態1と同様であるため説明を省略する。
(g)重複通知部4410
重複通知受信部4410は、重複通知ARPパケットを受信したときに、アドレス重複通知を通知する。このアドレス重複通知は、重複検知部4403および重複監視部4412に対して通知される。
(h)重複監視部4412
なお、本実施の形態における重複監視部4412については、実施の形態3と同様であるため説明を省略する。
<GARPを用いた重複検知のシーケンス>
図45は、本実施の形態における通信装置のシーケンスを示す図である。図45に示されるように、機器B403が重複検知目的以外でのGARPパケットを送信した場合において、機器A402および機器B403で、下記のパケットのやり取りが行われる。ここで、機器B403は、GARPパケットを送信した後、機器A402とIPアドレスが重複を起こしているにもかかわらず、重複したIPアドレスを使い続ける。さらに、機器B403は、本発明と一部同様の実装がされており、GARPパケットを受信する更新GARPパケットを送信する機能を有するとする。
(a)機器B403の動作
機器B403は、ネットワーク401へ重複検知目的でないGARPパケット(#45BF1)をブロードキャスト送信する。
(b)機器A402の動作
機器A402は、機器B403が送信したGARPパケット(#45BF1)を受信し、アドレス重複通知ARPパケット(#45AB1)および更新GARPパケット(#45AF1)を送信する。
(c)機器A402が更新GARPパケット送信後の機器B403の動作
機器B403は、機器A402が送信した重複通知ARPパケット(#45AB1)は無視し、更新GARPパケット(#45AF1)を受信し、機器B403に設定されたIPアドレスと重複しているので、重複通知ARPパケット(#45BA)を送信する。さらに、機器B403は、機器B403の更新GARP送信機能により、更新GARPパケット(#45BF2)を送信する。
(d)機器B403が更新GARPパケット送信後の動作
機器A402は、機器B403が送信した重複通知ARPパケット(#45BA)および更新GARPパケット(#45BF2)を受信する。
しかし、機器A402は、重複通知ARPパケットを受信することで、重複通知パケット(#45AB2)および更新GARPパケット(#45AF2)の送信を停止する。
<機器A404での処理フロー>
(a)GARPパケット(#45BF1)受信処理
なお、GARPパケット(#45BF1)受信処理については、実施の形態1と同様であるため説明を省略する。
(b)更新GARPパケット(#45AF1)および重複通知ARPパケット(#45AB1)送信処理
なお、更新GARPパケット(#45AF1)および重複通知ARPパケット(#45AB1)送信処理については、実施の形態1と同様であるため説明を省略する。
(c)重複通知ARPパケット(#45BA)および更新GARPパケット(#45BF2)受信処理
機器A402は、機器B403から送信された重複通知ARPパケット(#45BA)および更新GARPパケット(#45BF2)を受信する。
まず、重複通知ARPパケット(#45BA)の処理について説明する。
機器B403とIPアドレスが重複したこと示す重複通知ARPパケットを受信すると、ARP受信部4404内部の重複通知部4410は、アドレス重複通知を重複検知部4403および重複監視部4412に対して通知する。
重複検知部4403は、重複通知部4410からのアドレス重複通知を受理すると、更新GARP生成部4405および重複通知生成部4406に対する重複検知通知の停止を行なう。なお、更新GARP生成部4405に対する重複検知通知の停止のみを行ってもよい。
重複監視部4412は、重複通知部4410からのアドレス重複通知を受理すると、機器A402のIPアドレスがネットワーク401上で重複していることを知る。なお、重複監視部4412は、アドレス重複通知を受理することにより、機器A2402にLEDがあればそれを点灯させたり、ディスプレイ機能があれば重複していることを表示したり、スピーカがあれば音を鳴らしたりする機能を有してもよい。さらに、機器A2402に設定されているIPアドレス「192.168.0.100」を削除し、ネットワークアドレスが同一となる別のIPアドレスを再設定する機能を有してもよい。
次に、更新GARPパケット(#45BF2)の処理について説明する。
機器B403から更新GARPパケット(#45BF2)を受信すると、重複検知部4403において処理がされる。このとき、重複検知部4403は、重複通知部4410からのアドレス重複通知を受理しているため、重複検知部4403から更新GARP生成部4405および重複通知生成部4406への重複検知通知を行なわない。
その結果、更新GARP生成部4405においても、重複通知生成部4406においても処理が行われず、更新GARPパケット(#45AF2)および重複通知ARPパケット(#45AB2)の送信が行われない。
なお、更新GARP生成部4405に対する重複検知通知の停止のみを行っている場合は、更新GARP生成部4405のみが処理を実施せず、重複通知ARPパケット(#45AB2)は送信されるが、更新GARPパケット(#45AF2)の送信は行われないことになる。
以上、本実施の形態において、機器B403においてIPアドレスが重複しているにもかかわらず、重複するIPアドレスを保持し続ける実装においても、更新GARPパケットのやり取りを停止し、無駄なネットワークトラフィックを削減できる。
また、重複していることを検知する機能をそなえることで、ユーザにIPアドレスの設定変更を促すことが可能となる。
(実施の形態6)
次に、本発明に係わる実施の形態6について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C16)〜(C18)に示される特徴を備える。
(C16)アドレス重複探索用ネットワーク層アドレスを利用して、ネットワーク層アドレスの重複を探索するアドレス重複探索部と、アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した探索GARPパケットを生成するGARP生成部とを備え、ARP送信部は、GARP生成部で生成された探索GARPパケットを送信し、重複検知部は、ARP送信部で探索GARPパケットを送信してアドレス重複探索部でアドレス重複を探索している最中に、送信先のネットワーク層アドレスと探索用ネットワーク層アドレスとが一致した重複ARPパケットを受信したときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を渡す。
(C17)通信装置は、さらに、重複ARPパケットの送信元のデータリンク層アドレスを送信元のデータリンク層アドレスに設定し、アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した回復GARPパケットを生成する回復GARP生成部を備え、重複検知部は、重複ARPパケットの送信元のデータリンク層アドレスをアドレス重複通知に含めてアドレス重複探索部に渡し、アドレス重複探索部は、アドレス重複通知に含まれる重複ARPパケットの送信元のデータリンク層アドレスとアドレス重複探索用ネットワーク層アドレスとを回復GARP生成部に渡し、ARP送信部は、回復GARPパケットの送信先のデータリンク層アドレスをデータリンク層ブロードキャストアドレスに設定し、回復GARPパケットの送信元のデータリンク層アドレスを本通信装置に設定されているデータリンク層アドレスに設定して回復GARPパケットを送信する。
(C18)回復GARP生成部は、回復GARPパケットを生成することを指示する回復GARP生成通知をアドレス重複探索部から受理すると、即座に回復GARPパケットを生成してARP送信部に渡す。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
ネットワークの構成に関しては、実施の形態1と同様である。しかし、機器A1002において、IPアドレス「192.168.0.100」は、既に、機器A1002に設定されているとしてもよいし、設定されていないとしてもよい。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態1と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態1と同様であるため説明を省略する。
<詳細な機能構成>
図51Aは、本実施の形態における通信装置のARP処理部の機能構成例、アドレス管理部、およびアドレス重複探索部を示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部5101は、図12におけるARP処理部1203に該当する。ここでは、一例として、重複検知部5103、ARP受信部5104、更新GARP生成部5105、重複通知生成部5106、ARP送信部5107、GARP生成部5109、回復GARP生成部5110から構成される。なお、実施の形態1と同様の機能に関しては、説明を省略する。
(a)アドレス管理部5102
なお、本実施の形態におけるアドレス管理部5102については、実施の形態1と同様であるため説明を省略する。
(b)重複検知部5103
重複検知部5103は、受信したARPパケットの送信元IPアドレスがアドレス管理部5102で管理されている機器A1002のIPアドレスと一致すると、更新GARP生成部5105および重複通知生成部5106に重複検知通知を通知する。
さらに、重複検知部5103は、アドレス重複探索部5108で機器A1002に対するアドレス重複探索状態(機能部(g)アドレス重複探索部参照)において、受信したARPパケットの送信元IPアドレスがアドレス重複探索を行っているIPアドレスと一致すると、アドレス重複探索部5108に重複検知通知を通知する。
ここで、これらの重複検知通知には、受信したGARPパケットの送信元DLアドレスや受信したARPパケットの送信元DLアドレスが含まれる。なお、受信したGARPパケットや受信したARPパケットそのものを重複検知通知として渡すとしてもよい。
(c)ARP受信部5104
なお、本実施の形態におけるARP受信部5104については、実施の形態1と同様であるため説明を省略する。
(d)更新GARP生成部5105
なお、本実施の形態における更新GARP生成部5105については、実施の形態1と同様であるため説明を省略する。
(e)重複通知生成部5106
なお、本実施の形態における重複通知生成部5106については、実施の形態1と同様であるため説明を省略する。
(f)ARP送信部5107
なお、本実施の形態におけるARP送信部5107については、実施の形態1と同様であるため説明を省略する。
(g)アドレス重複探索部5108
アドレス重複探索部5108は、アドレス重複探索を行うためのIPアドレス(以下、重複探索IPアドレスと呼称する。)をGARP生成部5109に通知する。さらに、アドレス重複探索部5108は、重複検知部5103から重複検知通知を受理すると、回復GARP生成通知を回復GARP生成部5110に通知する。ここで、回復GARP生成通知には、重複探索IPアドレスと、重複検知通知に含まれる送信元DLアドレスとが含まれる。
ところで、アドレス重複探索部5108は、所定時間経過しても重複検知通知を受理しなければ、ネットワーク1001上に重複するIPアドレスを持つ通信装置が存在しないとして、アドレス重複探索処理を終える。また、アドレス重複探索部5108が所定時間待っている状態をアドレス重複探索状態とする。
(h)GARP生成部5109
GARP生成部5109は、アドレス重複探索部5108から重複探索IPアドレスを受理すると、Gratuitous ARPパケット(以下、GARPパケットと呼称する。)を生成する。このとき、GARPパケットを生成するにあたって、受理した重複探索IPアドレスを送信元IPアドレス5006と宛先IPアドレス5008とに設定する。アドレス管理部5102で管理されている機器A1002のDLアドレスを送信元DLアドレス5005に設定する。宛先DLアドレス5007を未設定とする。そして、このようにして生成したGARPパケットをARP送信部5107へ渡す。
なお、機器A1002のDLアドレスは、アドレス管理部5102で管理されていなくてもよく、直接、通信部1102から取得するなどの手段を用いてもよい。
(i)回復GARP生成部5110
回復GARP生成部5110は、アドレス重複探索部5108から回復GARP生成通知を受理すると、受理した回復GARP生成通知に基づいて、Gratuitous ARPパケット(以下、回復GARPパケットと呼称する。)を生成する。このとき、回復GARPパケットを生成するにあたって、受理した回復GARP生成通知に含まれる送信元DLアドレスを送信元DLアドレス5005に設定する。受理した回復GARP生成通知に含まれる重複探索IPアドレスを送信元IPアドレス5006と宛先IPアドレス5008とに設定する。宛先DLアドレス5007を未設定とする。そして、このようにして生成した回復GARPパケットをARP送信部5107へ渡す。
なお、機器A1002のDLアドレスは、アドレス管理部5102で管理されていなくてもよく、直接、通信部1102から取得するなどの手段を用いてもよい。
また、回復GARP生成部5110は、回復GARPパケットを複数生成し、生成した複数の回復GARPパケットをARP送信部5107へ渡すとしてもよい。
<GARPを用いた重複検知のシーケンス>
図46は、本実施の形態における通信装置のシーケンスを示す図である。図46に示されるように、実施の形態1とは逆に、機器A1002によってGARPを用いた重複検知が実施された場合において、機器A1002、機器B1003、および機器C1004で、下記のパケットのやり取りが行われる。
(a)重複検知前の動作
器B1003と機器C1004とは、互いに通信を行っている(#46CB1、#46BC1)。このとき、機器C1004におけるARPテーブルは、図47に示される通りである。
ここで、機器A1002が、ネットワーク1001に接続され重複検知用のGARPパケット(#46AF1)を送信する。
(b)機器C1004の動作
機器C1004は、機器A1002がネットワーク1001にブロードキャスト送信したGARPパケット(#46AF1)を受信する。受信したGARPパケット(#46AF1)の中身を解析し、機器C1004が管理しているARPテーブルから、受信したGARPパケット(#46AF1)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、これまで通信を行っていた機器B1003のエントリがヒットする。そして、ヒットしたエントリが、受信したGARPパケット(#46AF1)の情報で上書きされる。この結果、機器C1004のARPテーブルは、GARPパケット(#46AF1)で上書きされ、図48に示される通りとなる。
(c)機器B1003の動作
機器B1003は、機器A1002がネットワーク1001にブロードキャスト送信したGARPパケット(#46AF1)を受信する。受信したGARPパケット(#46AF1)の送信元IPアドレスが機器B1003に設定されているIPアドレスと重複していることを検知する。IPアドレスが重複していることを通知するための重複通知ARPパケット(#46BA)を機器A1002へ送信する。
(d)機器B1003が重複通知ARPパケット(#46BA)送信後の機器A1002の動作
機器A1002は、機器B1003が送信した重複通知ARPパケット(#46BA)を受信する。受信した重複通知ARPパケット(#46BA)により、IPアドレスが重複していることを検出する。図50に示されるように、受信した重複通知ARPパケットの送信元DLアドレスである機器B1003のDLアドレス「BB:BB:BB:BB:BB:BB」を送信元DLアドレス5005に設定した回復GARPパケット(#46AF2)を生成する。生成した回復GARPパケット(#46AF2)を送信する。
なお、図50に示されるように、機器A1002から送信される回復GARPパケット(#46AF2)は、DLヘッダ部5001の宛先DLアドレス5009に、「FF:FF:FF:FF:FF:FF」のデータリンク層ブロードキャストが設定されている。送信元DLアドレス5010に、機器A1002のDLアドレスである「AA:AA:AA:AA:AA:AA」が設定されている。
(e)機器A1002が回復GARPパケット(#46AF2)送信後の機器C1004の動作
機器C1004は、機器A1002がネットワーク1001にブロードキャスト送信した回復GARPパケット(#46AF2)を受信する。受信した回復GARPパケット(#46AF2)の中身を解析し、機器C1004が管理しているARPテーブルを検索する。検索した結果、機器A1002の重複検知によるGARPパケット(#46AF1)によって上書きされた機器B1003のエントリがヒットする。ヒットしたエントリが回復GARPパケット(#46AF2)の情報で上書きされる。この結果、機器C1004のARPテーブルは、回復GARPパケット(#46AF2)で上書きされ、図49に示される通りとなる。
(f)重複検知後の動作
以上のシーケンスを経て、機器C1004のARPテーブルは、機器A1002の重複検知前の状態に戻る。これによって、機器B1003と機器C1004とは、重複検知前と同様に互いに通信が行なえる状態となる(#46CBM、#46BCM)。
<機器A1002での処理フロー>
次に、図51Aと図46を用いて機器A1002における処理フローを説明する。
(a)GARPパケット(#46AF1)送信処理
機器A1002は、アドレス重複検知を行うIPアドレス「192.168.0.100」を、アドレス重複探索部5108からGARP生成部5109へ通知する。
なお、アドレス重複検知を行うときに、機器A1002に、IPアドレス「192.168.0.100」が設定されていなくてもよい。
GARP生成部5109は、アドレス重複探索部5108からIPアドレス「192.168.0.100」を受理すると、受理したIPアドレスを宛先とするGARPパケット(#46AF1)を生成する。生成したGARPパケット(#46AF1)をARP送信部5107へ渡す。
ARP送信部5107は、GARP生成部5109からGARPパケット(#46AF1)を受理すると、受理したGARPパケット(#46AF1)のDLヘッダ部5001を設定する。そして、DLヘッダ部5001が設定されたGARPパケット(#46AF1)は、Interface処理部1201を経て、パケット送信される(#510B)。
(b)重複通知ARPパケット(#46BA)受信処理
次に、機器A1002は、機器B1003が送信した重複通知ARPパケット(#46BA)を受信する。なお、受信された重複通知ARPパケット(#46BA)は、Interface処理部1201を経て、ARP受信部5104へ渡される(#510A)。
ARP受信部5104内の重複検知部5103は、Interface処理部1201を経て渡されたARPパケット(#46BA)を受理すると、受理したARPパケット(#46BA)を解析し、受理したARPパケットの送信元IPアドレス106と、アドレス重複探索部5108でアドレス重複探索が行われたIPアドレスとを比較する。比較した結果、一致する場合は、受理したARPパケット(#46BA)を重複通知ARPパケットとし、重複通知ARPパケット(#46BA)の送信元DLアドレスをアドレス重複探索部5108に通知する。
ところで、所定時間の間、重複通知ARPパケット(#46BA)が受信されなかった場合は、アドレス重複探索部5108は、アドレス重複探索を行ったIPアドレス「192.168.0.100」に重複する通信装置がネットワーク1001に存在しないとしてアドレス重複探索を終える。
なお、アドレス重複検知部5108は、重複検知部5103から送信元DLアドレスを受理すると、受理した送信元DLアドレスとアドレス重複探索を行ったIPアドレスとを含む回復GARP生成通知を回復GARP生成部5110に通知する。
(c)回復GARPパケット(#46AF2)送信処理
回復GARP生成部5110は、アドレス重複検知部5108から回復GARP生成通知を受理すると、回復GARPパケット(#46AF2)を生成する。このとき、図50に示されるように、回復GARP生成部5110は、回復GARPパケット(#46AF2)を生成するにあたって、受理した回復GARP生成通知に含まれる送信元DLアドレスである機器B1003のDLアドレス「BB:BB:BB:BB:BB:BB」を送信元DLアドレス5005に設定する。受理した重複探索IPアドレスである「192.168.0.100」を送信元IPアドレス5006と宛先IPアドレス5008とに設定する。宛先DLアドレス5007を設定しない。そして、このようにして生成した回復GARPパケット(#46AF2)をARP送信部5107へ渡す。
ARP送信部5107は、回復GARP生成部5110から回復GARPパケット(#46AF2)を受理すると、DLヘッダ部5001を設定する。そして、DLヘッダ部5001が設定された回復GARPパケット(#46AF2)は、Interface処理部1201を経て、パケット送信される(#510B)。なお、送信される回復GARPパケットは、図50に示される通りである。
<機器B1003が更新GARP送信機能を保有する場合の対応>
機器B1003が、機器A1002の重複検知のためのGARPパケットを受信した際、重複を通知する重複通知ARPパケットと、更新GARPパケット送信機能を保有していた場合に関しての実施例について図78を用いて説明する。
機器B1003が、機器A1002から送信されたGARPパケット(#78AF1)を受信し、重複通知ARPパケット(#78BA)を送信するところまでは、これまで説明したシーケンスの通りである。
次に、機器B1003は、機器A1002が送信したGARPパケット(#78AF1)を受信した後、機器B1003のARPテーブルを回復するために、更新GARPパケット(#78BF)を送信する。
機器A1002は、機器B1003が送信した更新GARPパケット(#78BF)を受信するが、無視する。なお、機器A1002は、機器B1003が送信した更新GARPパケット(#78BF)を受信したことによって、回復GARPパケット(#78AF2)の送信を停止するとしてもよい。
以上、本実施の形態において、機器A1002がアドレス重複検知を行うことによって、書き換えられた機器C1004のARPテーブルを元に戻すことが可能となり、機器B1003と機器C1004との通信を復旧することが可能となる。
さらに、ネットワーク上の重複検知を行った機器が、更新GARPパケット送信機能を保有していたとしても問題なく通信を回復することが可能となる。
(実施の形態7)
次に、本発明に係わる実施の形態7について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C19)〜(C21)に示される特徴を備える。
(C19)通信装置は、さらに、アドレス重複探索部からアドレス重複通知を受理すると、本通信装置が接続しているネットワーク上で本通信装置のネットワーク層アドレスが重複していることを出力する重複監視部を備え、アドレス重複探索部は、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複ARPパケットを受信し、重複検知部からアドレス重複通知を受理すると、重複監視部にアドレス重複通知を渡す。
(C20)アドレス重複探索部は、重複ARPパケットの送信元のデータリンク層アドレスをアドレス重複通知に含めて重複監視部に渡し、重複監視部は、アドレス重複通知に含まれる重複ARPパケットの送信元のデータリンク層アドレスを出力する。
(C21)アドレス重複探索部は、重複ARPパケットの送信元のネットワーク層アドレスをアドレス重複通知に含めて重複監視部に渡し、重複監視部は、アドレス重複通知に含まれる重複ARPパケットの送信元のネットワーク層アドレスを出力する。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
なお、本実施の形態におけるネットワーク構成については、実施の形態6と同様であるため説明を省略する。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態6と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態6と同様であるため説明を省略する。
<詳細な機能構成>
図51Bは、本実施の形態におけるARP処理部の機能構成例、アドレス管理部、アドレス重複探索部、および重複監視部を示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部5101は、図12におけるARP処理部1203に該当する。ここでは、一例として、重複検知部5103、ARP受信部5104、更新GARP生成部5105、重複通知生成部5106、ARP送信部5107、アドレス重複探索部5108、GARP生成部5109、回復GARP生成部5110から構成される。なお、実施の形態6と同様の機能に関しては、説明を省略する。
(a)アドレス管理部5102
なお、アドレス管理部5102については、実施の形態6と同様であるため説明を省略する。
(b)重複検知部5103
なお、重複検知部5103については、実施の形態6と同様であるため説明を省略する。
(c)ARP受信部5104
なお、ARP受信部5104については、実施の形態6と同様であるため説明を省略する。
(d)更新GARP生成部5105
なお、更新GARP生成部5105については、実施の形態6と同様であるため説明を省略する。
(e)重複通知生成部5106
なお、重複通知生成部5106については、実施の形態6と同様であるため説明を省略する。
(f)ARP送信部5107
なお、ARP送信部5107については、実施の形態6と同様であるため説明を省略する。
(g)アドレス重複探索部5108
アドレス重複探索部5108は、アドレス重複探索を行うためのIPアドレス(以下、重複探索IPアドレスと呼称する。)をGARP生成部5109に通知する。さらに、アドレス重複探索部5108は、重複検知部5103から重複検知通知を受理すると、回復GARP生成通知を回復GARP生成部5110に通知する。ここで、回復GARP生成通知には、重複探索IPアドレスと、重複検知通知に含まれる送信元DLアドレスとが含まれる。
ところで、アドレス重複探索部5108は、所定時間経過しても重複検知通知を受理しなければ、ネットワーク1001上に重複するIPアドレスを持つ通信装置が存在しないとして、アドレス重複探索処理を終える。
また、アドレス重複探索部5108は、重複検知通知を重複監視部5111へ渡す。
(h)GARP生成部5109
なお、GARP生成部5109については、実施の形態6と同様であるため説明を省略する。
(i)回復GARP生成部5110
なお、回復GARP生成部5110については、実施の形態6と同様であるため説明を省略する。
(j)重複監視部5111
重複監視部5111は、アドレス重複探索部5108から重複検知通知を受理すると、ネットワーク1001上でIPアドレスの重複が発生したことを知る。
なお、重複監視部5111は、アドレス重複探索部5108から重複検知通知を受理すると、機器A1002にLEDが備わっていれば、LEDを点灯させたり、ディスプレイ機能が備わっていれば、重複していることを表示したり、スピーカが備わっていれば、音を鳴らしたりする機能を有するとしてもよい。
さらに、重複を検知した通信装置のDLアドレスを表示したり、実際に重複を起こしたIPアドレスを情報として出力したりしてもよい。
<GARPを用いた重複検知のシーケンス>
なお、本実施の形態におけるGARPを用いた重複検知のシーケンスについては、実施の形態6と同様であるため説明を省略する。
<機器A1002での処理フロー>
次に、図51Bと図46を用いて機器A1002における処理フローを説明する。
(a)GARPパケット(#46AF1)送信処理
なお、GARPパケット(#46AF1)送信処理については、実施の形態6と同様であるため説明を省略する。
(b)重複通知ARPパケット(#46BA)受信処理
なお、重複通知ARPパケット(#46BA)受信処理については、実施の形態6と同様の処理に加え、さらに、以下の処理を行う。
アドレス重複探索部5108は、送信元DLアドレスの通知を受理すると、重複通知を重複監視部5111へ渡す。
重複監視部5111は、アドレス重複探索部5108から重複通知を受理すると、アドレスが重複したことを出力する。なお、機器A1002にLEDが備わっていれば、LEDを点灯させたり、ディスプレイ機能が備わっていれば、重複していることを表示したり、スピーカが備わっていれば音を、鳴らしたりする機能を有するとしてもよい。さらに、重複を検知した通信装置のDLアドレスを表示したり、実際に重複を起こしたIPアドレスを情報として出力したりしてもよい。
(c)回復GARPパケット(#46AF2)送信処理
なお、回復GARPパケット(#46AF2)送信処理については、実施の形態6と同様であるため説明を省略する。
以上、本実施の形態において、機器A1002がアドレス重複検知を行うことによって、書き換えられた機器C1004のARPテーブルを元に戻すことが可能となり、さらに、ネットワーク1001上でIPアドレスが重複していることをユーザに通知することが可能となる。
(実施の形態8)
次に、本発明に係わる実施の形態8について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C22)〜(C24)に示される特徴を備える。
(C22)回復GARP生成部は、アドレス重複探索部から回復GARP生成通知を受理すると、回復GARPパケットを複数個生成し、ARP送信部は、回復GARP生成部で複数個生成した回復GARPパケットを送信する。
(C23)通信装置は、さらに、回復GARP生成部から受理した回復GARPパケットを所定の時間遅延させてARP送信部に渡す回復GARP遅延部を備え、回復GARP生成部は、回復GARPを複数個生成し、複数個生成した回復GARPパケットのうち少なくとも1つをARP送信部に渡し、複数個生成した回復GARPパケットのうち少なくとも1つを、回復GARP遅延部に渡す。
(C24)アドレス重複探索部は、アドレス重複通知を受理すると、回復GARP生成部から既に受理されている回復GARPパケットを回復GARP遅延部で所定の時間遅延させている最中であれば、アドレス重複通知を回復GARP生成部に渡すことを停止する。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
ネットワークの構成に関しては、実施の形態3と同様である。しかし、機器A2402において、IPアドレス「192.168.0.100」は、機器A2402に既に設定されているとしてもよいし、設定されていないとしてもよい。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態1と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態1と同様であるため説明を省略する。
<詳細な機能構成>
図52は、本実施の形態における通信装置のARP処理部の機能構成例、アドレス管理部、およびアドレス重複探索部を示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部5201は、図12におけるARP処理部1203に該当する。ここでは、一例として、重複検知部5203、ARP受信部5204、更新GARP生成部5205、重複通知生成部5206、ARP送信部5207、GARP生成部5209、回復GARP生成部5210、回復GARP遅延部5211から構成される。なお、実施の形態6と同様の機能に関しては、説明を省略する。
(a)アドレス管理部5202
なお、アドレス管理部5202については、実施の形態6と同様であるため説明を省略する。
(b)重複検知部5203
なお、重複検知部5203については、実施の形態6と同様であるため説明を省略する。
(c)ARP受信部5204
なお、ARP受信部5204については、実施の形態6と同様であるため説明を省略する。
(d)更新GARP生成部5205
なお、更新GARP生成部5205については、実施の形態6と同様であるため説明を省略する。
(e)重複通知生成部5206
なお、重複通知生成部5206については、実施の形態6と同様であるため説明を省略する。
(f)ARP送信部5207
なお、ARP送信部5207については、実施の形態6と同様であるため説明を省略する。
(g)アドレス重複探索部5208
アドレス重複探索部5208は、アドレス重複探索を行うためのIPアドレス(以下、重複探索IPアドレスと呼称する。)をGARP生成部5209に通知する。さらに、アドレス重複探索部5208は、重複検知部5203から重複検知通知を受理すると、回復GARP生成通知を回復GARP生成部5210に通知する。ここで、回復GARP生成通知には、重複探索IPアドレスと、重複検知通知に含まれる送信元DLアドレスとが含まれる。
ところで、アドレス重複探索部5208は、所定時間経過しても重複検知通知を受理しなければ、ネットワーク2401上に重複するIPアドレスを持つ通信装置が存在しないとして、アドレス重複探索処理を終える。
(h)GARP生成部5209
なお、GARP生成部5209については、実施の形態6と同様であるため説明を省略する。
(i)回復GARP生成部5210
回復GARP生成部5210は、アドレス重複探索部5208から回復GARP生成通知を受理すると、受理した回復GARP生成通知に基づいて、Gratuitous ARPパケット(以下、回復GARPパケットと呼称する。)を複数生成する。このとき、受理した回復GARP生成通知に含まれる送信元DLアドレスを送信元DLアドレス5005に設定する。受理した回復GARP生成通知に含まれる重複探索IPアドレスを送信元IPアドレス5006と宛先IPアドレス5008とに設定する。宛先DLアドレス5007を設定しない。そして、このようにして生成した複数の回復GARPパケットをARP送信部5207と回復GARP遅延部5211とに分けて渡す。
例えば、回復GARP生成部5210は、回復GARPパケットを3個以上生成した場合において、1個の回復GARPパケットをARP送信部5207へ渡し、残りの回復GARPパケットを回復GARP遅延部5211へ渡すとしてもよいし、逆に、1個の回復GARPパケットを回復GARP遅延部5211へ渡し、残りの回復GARPパケットをARP送信部5207へ渡すとしてもよい。
(j)回復GARP遅延部5211
回復GARP遅延部5211は、回復GARP生成部5210から回復GARPパケットを受理すると、受理した回復GARPパケットをARP送信部5207へすぐに渡さずに、所定時間Tが経過するまで保持する。所定時間Tが経過すると、受理した回復GARPパケットをARP送信部5207へ渡す。以下、このようにして遅延させてARP送信部5207へ渡される回復GARPパケットを遅延回復GARPパケットとする。
<GARPを用いた重複検知のシーケンス>
図53は、本実施の形態における通信装置のシーケンスを示す図である。図53に示されるように、実施の形態3とは逆に、機器A2402によってGARPを用いた重複検知が実施された場合において、機器A2402、機器B2403、機器C2404、および機器D2405で、下記のパケットのやり取りが行われる。
(a)重複検知前の動作
器B2403、機器C2404、および機器D2405は、互いに通信を行っている(#53CB1、#53BC1および#53DB1、#53BD1)。このとき、機器C2404におけるARPテーブルは、図54に示される通りであり、機器D2405におけるARPテーブルは、図55に示される通りである。
そして、機器A2402がネットワーク2401に接続され、重複検知用のGARPパケット(#53AF1)が機器A2402から送信される。
(b)機器C2404の動作
機器C2404は、機器A2402がネットワーク2401にブロードキャスト送信したGARPパケット(#53AF1)を受信する。受信したGARPパケット(#53AF1)の中身を解析し、機器C2404が管理しているARPテーブルから、受信したGARPパケットの送信元IPアドレスと重複するエントリを検索する。検索した結果、ここでは、これまで通信を行っていた機器B2403のエントリがヒットする。そして、ヒットしたエントリが、受信したGARPパケット(#53AF1)の情報で上書きされる。この結果、機器C2404のARPテーブルは、GARPパケット(#53AF1)で上書きされ、図56に示される通りとなる。
(c)機器D2405の動作
機器D2405は、機器A2402がネットワーク2401にブロードキャスト送信したGARPパケット(#53AF1)を受信する。受信したGARPパケット(#53AF1)の中身を解析し、機器D2405が管理しているARPテーブルから、受信したGARPパケットの送信元IPアドレスと重複するエントリを検索する。検索した結果、ここでは、これまで通信を行っていた機器B2403のエントリがヒットする。ヒットしたエントリが、受信したGARPパケット(#53AF1)の情報で上書きされる。このとき、図55における「更新受付までの時間」が0となっていることによる場合と同様の理由により、十分前にARPテーブルが更新されないため、ヒットしたエントリが、即座に更新できる状態となっている。この結果、機器D2405のARPテーブルは、GARPパケット(#53AF1)で上書きされ、図57に示される通りとなる。また、更新受付までの時間は、初期化され所定時間U秒に設定される。
(d)機器B2403の動作
機器B2403は、機器A2402がネットワーク2401にブロードキャスト送信したGARPパケット(#53AF1)を受信する。受信したGARPパケット(#53AF1)が、機器B2403に設定されているIPアドレスと重複していることを検知する。IPアドレスが重複していることを通知するための重複通知ARPパケット(#53BA)を機器A2402へ送信する。
(e)機器B2403が重複通知ARPパケット(#53BA)送信後の機器A2402の動作
機器A2402は、機器B2403が送信した重複通知ARPパケット(#53BA)を受信する。受信した重複通知ARPパケット(#53BA)によりIPアドレスが重複していることを検出する。図50に示されるように、受信した重複通知ARPパケットの送信元DLアドレスである機器B2403のDLアドレス「BB:BB:BB:BB:BB:BB」を送信元DLアドレス5005に設定した回復GARPパケット(#53AF2)を生成する。生成した回復GARPパケット(#53AF2)を送信する。
なお、図50に示されるように、機器A2402から送信される回復GARPパケット(#53AF2)は、DLヘッダ部5001の宛先DLアドレス5009に、「FF:FF:FF:FF:FF:FF」のデータリンク層ブロードキャストが設定されている。送信元DLアドレス5010に、機器A2302のDLアドレスである「AA:AA:AA:AA:AA:AA」が設定されている。
(f)機器A2402が回復GARPパケット(#53AF2)送信後の機器C2404の動作
機器C2404は、機器A2402がネットワーク2401にブロードキャスト送信した回復GARPパケット(#53AF2)を受信する。受信した回復GARPパケット(#53AF2)の中身を解析し、機器C2404が管理しているARPテーブルから、受信した回復GARPパケット(#53AF2)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、機器A2402の重複検知のためのGARPパケット(#53AF1)によって上書きされた機器B2403へのエントリがヒットする。そして、ヒットしたエントリが、受信した回復GARPパケット(#53AF2)の情報で上書きされる。この結果、機器C2404のARPテーブルは、回復GARPパケット(#53AF2)により上書きされ、図58に示される通りとなる。この時点で機器C2404は、機器B2403との通信が可能となる。
(g)機器A2402が回復GARPパケット(#53AF2)送信後の機器D2405の動作
機器D2405は、機器A2402がネットワーク2401にブロードキャスト送信した回復GARPパケット(#53AF2)を受信する。受信した回復GARPパケット(#53AF2)の中身を解析し、機器D2405が管理しているARPテーブルから、受信した回復GARPパケット(#53AF2)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、機器A2402の重複検知のためのGARPパケット(#53AF1)によって上書きされた機器B2403へのエントリがヒットする。しかし、機器D2405のARPテーブルは、更新受付までの所定時間Uを経過していないため、上書きされず、図57に示されるままである。この時点では、機器D2405は、機器B2403との通信ができない。
(h)機器B2403が重複通知ARPパケット(#53BA)送信時刻から所定時間V経過後の機器A2402の動作
所定時刻V経過後、機器A2402は、ネットワーク2401上に遅延回復GARPパケット(#53AF3)をブロードキャスト送信する。この遅延回復GARPパケット(#53AF3)は、処理(e)で送信した回復GARPパケット(#53AF2)と同じパケットである。
(i)機器A2402が遅延回復GARPパケット(#53AF3)送信後の機器C2404の動作
機器C2404は、機器A2402がネットワーク2401にブロードキャスト送信した遅延回復GARPパケット(#53AF3)を受信する。受信した遅延回復GARPパケット(#53AF3)の中身を解析し、機器C2404が管理しているARPテーブルから、受信した遅延回復GARPパケット(#53AF3)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、機器A2402の回復GARPパケット(#53AF2)によって上書きされた機器B2403へのエントリがヒットする。しかし、このヒットしたエントリは、すでに機器A2402から送信された回復GARPパケットによって修正されている。このため、遅延回復GARPパケット(#53AF3)を受信したときは、何も処理を行わず、図58に示されるままとなる。なお、このときARPテーブル有効時間の更新を行ってもよい。
(j)機器A2402が遅延回復GARPパケット(#53AF3)送信後の機器D2405の動作
機器D2405は、機器A2402がネットワーク2401にブロードキャスト送信した遅延回復GARPパケット(#53AF3)を受信する。受信した遅延回復GARPパケット(#53AF3)の中身を解析し、機器D2405が管理しているARPテーブルから、受信した遅延回復GARPパケット(#53AF3)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、機器A2402の重複検知のためのGARPパケット(#53AF1)によって上書きされた機器B2403のエントリがヒットする。さらに、このヒットしたエントリは、機器B2403が重複通知ARPパケット(#53BA)送信時刻から所定時間V経過後であるため、図59に示される通り更新受付までの時間が0秒となっている。そのため、機器D2405のARPテーブルは、遅延回復GARPパケット(#53AF3)で上書きされ、図60に示される通りとなる。この時点で機器D2405は、機器B2403との通信が可能となる。
(k)重複検知後の動作
以上のシーケンスを経て、機器C2404および機器D2405のARPテーブルは、機器A2402の重複検知前の状態に戻る。これによって、機器B2403、機器C2404、および機器D2405は、重複検知前と同様に互いに通信が行なえる状態となる(#53CBN、#53BCN、#53DBN、#53BDN)。
<機器A2402での処理フロー>
次に、図52と図53とを用いて機器A2402における処理フローを説明する。
(a)GARPパケット(#53AF1)送信処理
機器A2402は、アドレス重複検知を行うIPアドレス「192.168.0.100」を、アドレス重複探索部5208からGARP生成部5209へ通知する。
なお、アドレス重複検知を行うときに、機器A2402に、IPアドレス「192.168.0.100」が設定されていなくてもよい。
GARP生成部5209は、アドレス重複探索部5208からIPアドレス「192.168.0.100」を受理すると、受理したIPアドレスを宛先とするGARPパケット(#53AF1)を生成する。生成したGARPパケット(#53AF1)をARP送信部5207へ渡す。
ARP送信部5207は、GARP生成部5209からGARPパケット(#53AF1)を受理すると、受理したGARPパケット(#53AF1)のDLヘッダ部5001を設定する。そして、DLヘッダ部5001が設定されたGARPパケット(#53AF1)は、Interface処理部1201を経て、パケット送信される(#520B)。
(b)重複通知ARPパケット(#53BA)受信処理
次に、機器A2402は、機器B2403が送信した重複通知ARPパケット(#53BA)を受信する。なお、受信された重複通知ARPパケット(#53BA)は、Interface処理部1201を経て、ARP受信部5204へ渡される(#520A)。
ARP受信部5204内の重複検知部5203は、Interface処理部1201を経て渡されたARPパケット(#53BA)を受理すると、受理したARPパケット(#53BA)を解析し、受信したARPパケットの送信元IPアドレス106と、アドレス重複探索部5208でアドレス重複探索が行われたIPアドレスとを比較する。比較した結果、一致する場合は、受理したARPパケット(#53BA)を重複通知ARPパケットとし、重複通知ARPパケット(#53BA)の送信元DLアドレスをアドレス重複探索部5208に通知する。
ところで、所定時間の間、重複通知ARPパケット(#53BA)が受信されなかった場合は、アドレス重複探索部5208は、アドレス重複探索を行ったIPアドレス「192.168.0.100」に重複する通信装置がネットワーク2401に存在しないと判断しアドレス重複探索を終える。
なお、アドレス重複検知部5208は、重複検知部5203から送信元DLアドレスを受理すると、受理した送信元DLアドレスとアドレス重複探索を行ったIPアドレスとを回復GARP生成部5210に通知する。
(c)回復GARPパケット(#53AF2)送信処理
回復GARP生成部5210は、アドレス重複探索部5208から回復GARP生成通知を受理すると、回復GARPパケット(#53AF2)を生成する。このとき、図50に示されるように、回復GARP生成部5210は、回復GARPパケット(#53AF2)を生成するにあたって、受理した回復GARP生成通知に含まれる送信元DLアドレス「BB:BB:BB:BB:BB:BB」を送信元DLアドレス5005に設定する。受理した回復GARP生成通知に含まれる重複探索IPアドレス「192.168.0.100」を宛先IPアドレス5008と送信元IPアドレス5006とに設定する。宛先DLアドレス5007を設定しない。そして、このようにして生成した回復GARPパケット(#53AF2)をARP送信部5207へ渡す。
また、回復GARP生成部5210は、生成した回復GARPパケットを複製し、複製した回復GARPパケット(#53AF3)を回復GARP遅延部5211へ渡す。
なお、回復GARP生成部5210は、複製した回復GARPパケット(#53AF3)を回復GARP遅延部5211へ渡すとしてもよいし、アドレス重複探索部5208から受理した回復GARP生成通知に含まれる送信元DLアドレス「BB:BB:BB:BB:BB:BB」および重複探索IPアドレス「192.168.0.100」を回復GARP遅延部5211へ渡すとしてもよい。このとき、回復GARP遅延部5211は、回復GARP生成部5210から渡される情報が、送信元DLアドレスおよび重複探索IPアドレスであるときは、回復GARP遅延部5211でも回復GARPパケット(#53AF3)を生成する機能を有する。
なお、ARP送信部5207は、回復GARP生成部5210から回復GARPパケットを受理すると、DLヘッダ部5001を設定する。そして、DLヘッダ部5001が設定された回復GARPパケット(#53AF3)は、Interface処理部1201を経て、パケット送信される。なお、送信される回復GARPパケットは、図50に示される通りである。
(d)遅延回復GARPパケット(#53AF3)送信処理
回復GARP遅延部5211は、回復GARP生成部5210から回復GARPパケット(#53AF3)を受理すると、受理した回復GARPパケットをARP送信部5207へすぐに渡さずに、所定時間Vが経過するまで保持する。所定時間Vが経過すると、受理した回復GARPパケット(#53AF3)をARP送信部5207へ渡す。
なお、回復GARP遅延部5211は、回復GARPパケット(#53AF3)の代わりに、送信元DLアドレスおよび重複探索IPアドレスを回復GARP遅延部5211から受け取ると、所定時間Vが経過した後に、受け取った送信元DLアドレスおよび重複探索IPアドレスを利用して、回復GARPパケット(#53AF3)を生成する。生成した回復GARPパケット(#53AF3)をARP送信部5207へ渡す。
なお、回復GARP遅延部5211からARP送信部5207へ渡された回復GARPパケットは、DLヘッダ部5001が設定され、Interface処理部1201を経てパケット送信される。送信される回復GARPパケットは、図50に示される通りである。
<機器B2403が更新GARP送信機能を保有する場合の対応>
機器B4203が、機器A4202の重複検知のためのGARPパケットを受信した際、重複を通知する重複通知ARPパケットと、更新GARPパケット送信機能を保有していた場合に関しての実施例について図75を用いて説明する。
機器B2403が、機器A2402から送信されたGARPパケット(#75AF1)を受信し、重複通知ARPパケット(#75BA)を送信するところまでは、これまで説明したシーケンスの通りである。
次に、機器B2403は、機器A2402が送信したGARPパケット(#75AF1)を受信した後、機器B2403のARPテーブルを回復するために、更新GARPパケット(#75BF)を送信する。
機器A2402は、機器B2403が送信した更新GARPパケット(#75BF)を受信するが、無視し、回復GARPパケット(#75AF2)を送信する。なお、機器A2402は、機器B2403が送信した更新GARPパケット(#75BF)を受信した後、回復GARPパケット(#75AF2)の送信を停止するとしてもよい。
さらに、機器A2402は、所定時間経過後、遅延回復GARPパケット(#75AF3)を送信する。
以上、本実施の形態において、機器A2402がアドレス重複探索を行うことによって、書き換えられた機器C2404のARPテーブルおよび所定時間ARPテーブルの更新制限する機器D2405のARPテーブルを元に戻すことが可能となり、様々な実装を持つ機器B2403と機器C2404と機器D2405との通信を復旧することが可能となる。
さらに、ネットワーク上の重複探索を行った機器が、更新GARPパケット送信機能を保有していたとしても問題なく機器C2404と機器D2405とのARPテーブルを回復することが可能となる。
(実施の形態9)
次に、本発明に係わる実施の形態9について、図面を参照しながら説明する。
<概要>
本実施の形態における通信装置は、下記(C25)に示される特徴を備える。
(C25)アドレス重複探索用ネットワーク層アドレスを利用して、ネットワーク層アドレスの重複を探索するアドレス重複探索部と、アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した探索GARPパケットを生成するGARP生成部と、アドレス重複探索用ネットワーク層アドレスを送信先ネットワーク層アドレスに、送信元ネットワーク層アドレスを未指定に、送信先のデータリンク層アドレスを未指定に、送信元のデータリンク層アドレスを本通信装置のデータリンク層アドレスに設定した探索ARP要求パケットを生成するARP探索生成部とを備え、ARP送信部は、GARP生成部で生成された探索GARPパケットを送信し、ARP探索生成部で生成された探索ARP要求パケットを送信し、重複検知部は、アドレス重複探索部でアドレス重複を探索している最中に、送信先のネットワーク層アドレスとアドレス重複探索用ネットワーク層アドレスとが一致した重複ARPパケットをARP受信部で受信すると、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知をアドレス重複探索部に渡す。
以上の点を踏まえて本実施の形態における通信装置について説明する。
<ネットワーク構成>
図61は、本実施の形態におけるネットワーク構成および通信装置の設定例を示す図である。図61に示されるように、ネットワーク6101には、通信装置6102(以下、機器A6102と呼称する。)、通信装置6103(以下、機器B6103と呼称する。)、および通信装置6104(以下、機器C6104と呼称する。)が接続されている。なお、本実施の形態では、説明を簡略化するために3台の通信装置がネットワーク6101に接続されているとして説明を行なう。しかし、機器B6103に相当する通信装置や機器C6104に相当する通信装置が複数台存在しても同様である。
機器A6102、機器B6103、および機器C6104は、有線または無線で接続する通信機能を持つ装置である。例えば、PC、ネットワーク通信が可能な家電装置などのように、Ethernet(登録商標)インタフェースを備えた装置である。ネットワーク6101は、LANであり、有線または無線を含むネットワークである。
機器A6102は、本実施の形態における通信装置の機能を備え、DLアドレス「AA:AA:AA:AA:AA:AA」を保持している。
機器B6103は、DLアドレス「BB:BB:BB:BB:BB:BB」を保持し、IPアドレス「192.168.0.100」が設定されている。なお、機器B6103においても、本実施の形態における通信装置の機能を備えるとしてもよい。
機器C6104は、DLアドレス「CC:CC:CC:CC:CC:CC」を保持し、IPアドレス「192.168.0.200」が設定されている。なお、機器C6104においても、本実施の形態における通信装置の機能を備えるとしてもよい。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態1と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態1と同様であるため説明を省略する。
<詳細な機能構成>
図62は、本実施の形態における通信装置のARP処理部の機能構成例、アドレス管理部、およびアドレス重複探索部を示す図である。なお、図中の矢印のうち、破線は制御情報フローを示し、実線はパケットフローを示している。
ARP処理部6201は、図12におけるARP処理部1203に該当する。ここでは、一例として、重複検知部6203、ARP受信部6204、更新GARP生成部6205、重複通知生成部6206、ARP送信部6207、GARP生成部6209、ARP探索生成部6210から構成される。なお、実施の形態1と同様の機能に関しては、説明を省略する。
(a)アドレス管理部6202
なお、本実施の形態におけるアドレス管理部6202については、実施の形態1と同様であるため説明を省略する。
(b)重複検知部6203
重複検知部6203は、受信したARPパケットの送信元IPアドレスがアドレス管理部6202で管理されている機器A6202のIPアドレスと一致すると、更新GARP生成部6205および重複通知生成部6106に重複検知通知を通知する。
さらに、重複検知部6203は、アドレス重複探索部6208で機器A6202に対するアドレス重複探索状態(機能部(g)アドレス重複探索部参照)において、受信したARPパケットの送信元IPアドレスがアドレス重複探索を行っているIPアドレスと一致すると、アドレス重複探索部6208に重複検知通知を通知する。
ここで、これらの重複検知通知には、受信したGARPパケットの送信元DLアドレスや受信したARPパケットの送信元DLアドレスが含まれる。なお、受信したGARPパケットや受信したARPパケットそのものを重複検知通知として渡すとしてもよい。
(c)ARP受信部6204
なお、本実施の形態におけるARP受信部6204については、実施の形態1と同様であるため説明を省略する。
(d)更新GARP生成部6205
なお、本実施の形態における更新GARP生成部6205については、実施の形態1と同様であるため説明を省略する。
(e)重複通知生成部6206
なお、本実施の形態における重複通知生成部6206については、実施の形態1と同様であるため説明を省略する。
(f)ARP送信部6207
なお、本実施の形態におけるARP送信部6207については、実施の形態1と同様であるため説明を省略する。
(g)アドレス重複探索部6208
アドレス重複探索部6208は、アドレス重複探索を行うためのIPアドレス(以下、重複探索IPアドレスと呼称する。)をGARP生成部6209およびARP探索生成部6210に通知する。
さらに、アドレス重複探索部6208は、重複検知部6203から重複検知通知を受理すると、重複探索を行った重複探索IPアドレスが重複していたこと知る。
ところで、アドレス重複探索部6208は、所定時間経過しても重複検知通知を受理しなければ、ネットワーク6201上に重複するIPアドレスを持つ通信装置が存在しないとして、アドレス重複探索処理を終える。また、アドレス重複探索部6208が所定時間待っている状態をアドレス重複探索状態とする。
(h)GARP生成部6109
GARP生成部6109は、アドレス重複探索部6108から重複探索IPアドレスを受理すると、Gratuitous ARPパケット(以下、GARPパケットと呼称する。)を生成する。このとき、GARPパケットを生成するにあたって、受理した重複探索IPアドレスを送信元IPアドレス106と宛先IPアドレス108とに設定する。アドレス管理部6102で管理されている機器A6102のDLアドレスを送信元DLアドレス106に設定する。宛先DLアドレス107を未設定とする。そして、このようにして生成したGARPパケットをARP送信部6207へ渡す。
なお、機器A6202のDLアドレスは、アドレス管理部6202で管理されていなくてもよく、直接、通信部1102から取得するなどの手段を用いてもよい。
(i)ARP探索生成部6210
ARP探索生成部6210は、アドレス重複探索部6108から重複探索IPアドレスを受理すると、受理した重複探索IPアドレスに基づいて、ARP要求パケット(以下、ARP探索パケットと呼称する。)を生成する。このとき、ARP探索パケットを生成するにあたって、受理した重複探索IPアドレスを宛先IPアドレス108に設定する。アドレス管理部6102で管理されている機器A6102のDLアドレスを送信元DLアドレス105に設定する。宛先DLアドレス107および送信元IPアドレス106を未設定とする。そして、このようにして生成したARP探索パケットをARP送信部6207へ渡す。
<機器A6102による重複検知のシーケンス>
図63は、本実施の形態における通信装置のシーケンスを示す図である。図63に示されるように、機器A6102によってGARPパケットとARP探索パケットとを用いた重複検知が実施された場合において、機器A6102、および機器B6103で、下記のパケットのやり取りが行われる。
(a)機器A6102が重複検知を開始
機器A6102は、IPアドレス「192.168.0.100」に対して重複検知用のGARPパケット(#63AF1)およびARP探索パケット(#63AF2)をネットワーク6101へブロードキャスト送信する。
なお、GARPパケット(#63AF1)とARP探索パケット(#63AF2)の送信順序は逆転してもよい。
(b)機器B6103の動作
機器B6103は、機器A6102が送信したGARPパケット(#63AF1)およびARP探索パケット(#63AF2)を受信する。受信したGARPパケット(#63AF1)の送信元IPアドレスが機器B6103に設定されているIPアドレスと重複していることを検知する。また、受信したARP探索パケット(#63AF2)は、送信元IPアドレスが未設定のため破棄する。この結果、機器B6303は、IPアドレスが重複していることを通知するための重複通知ARPパケット(#63BA)を機器A6102へ送信する。
(c)機器B6103が重複通知ARPパケット(#63BA)を送信後の機器A6102の動作
機器A6102は、機器B6103が送信した重複通知ARPパケット(#63BA)を受信する。受信した重複通知ARPパケット(#63BA)により、IPアドレス「192.168.0.100」がネットワーク6101上に既に存在することを知る。
なお、機器A6102は、所定時間中に重複通知ARPパケット(#63BA)を受信しなかった場合は、IPアドレス「192.168.0.100」がネットワーク6101上に存在しないことを知る。
<機器C6103による重複検知のシーケンス>
図64は、本実施の形態における通信装置のシーケンスを示す図である。図64に示されるように、機器A6102によってGARPパケットおよびARP探索パケットを用いた重複検知が実施された場合において、機器A6102および機器C6104で、下記のパケットのやり取りが行われる。
(a)機器A6102が重複検知を開始
機器A6102は、IPアドレス「192.168.0.200」に対して重複検知用のGARPパケット(#64AF1)およびARP探索パケット(#64AF2)をネットワーク6101へブロードキャスト送信する。
なお、GARPパケット(#64AF1)とARP探索パケット(#64AF2)の送信順序は逆転してもよい。
(b)機器C6104の動作
機器C6104は、機器A6102が送信したGARPパケット(#64AF1)およびARP探索パケット(#64AF2)を受信する。受信したGARPパケット(#64AF1)の宛先IPアドレスが機器C6104に設定されているIPアドレスと重複していることを検知し、受信したGARPパケット(#64AF1)を破棄する。また、受信したARP探索パケット(#63AF2)が、機器C6304に設定されているIPアドレスと重複していることを検知する。この結果、機器C6304は、IPアドレスが重複していることを通知するための重複通知ARPパケット(#64CA)を機器A6102へ送信する。
(c)機器C6104が重複通知ARPパケット(#64CA)を送信後の機器A6102の動作
機器A6102は、機器C6104から送信された重複通知ARPパケット(#64CA)を受信する。機器A6102は、重複通知ARPパケット(#64CA)を受信すると、IPアドレス「192.168.0.200」がネットワーク6101上に既に存在することを知る。
なお、機器A6102は、所定時間中に重複通知ARPパケット(#64CA)を受信しなかった場合、IPアドレス「192.168.0.200」がネットワーク6101上に存在しないことを知る。
以上、本実施の形態において、機器B6103と機器C6104とが必ずしも重複検知を行うGARPパケットに応答を返すとは限らない場合において、重複検知処理を確実に行うことが可能となる。さらに、機器B6103と機器C6104とが必ずしも重複検知を行う探索ARPパケットに応答するとは限らない場合においても、重複検知処理を確実に行うことが可能となる。
(実施の形態10)
次に、本発明に係わる実施の形態10について、図面を参照しながら説明する。
<ネットワーク構成>
図65は、本実施の形態に係るネットワーク構成および通信装置の設定例を示す図である。図65に示されるように、レイヤ2スイッチ6501(以下、L2スイッチ6501と呼称する。)に、通信装置6502(以下、機器A6502と呼称する。)、通信装置6503(以下、WIN6503と呼称する。)、通信装置6504(以下、機器C6504と呼称する。)、および通信装置6505(以下、機器D6505と呼称する。)が接続されている。
なお、本実施の形態では、説明を簡略化するために4台の通信装置がL2スイッチ6501に、直接、接続されているとして説明を行なう。しかし、WIN6503に相当する通信装置や、機器C6504および機器D6505に相当する通信装置が複数台存在しても同様であるし、L2スイッチ6501と各通信装置間にL2スイッチ6501とは別のレイヤ2スイッチやリピータハブが存在したりしてもよいし、L2スイッチ6501と各通信機器間の伝送路が、有線や無線の伝送路であったりしてもよい。
機器A6502、WIN6503、機器C6504、機器D6505は、有線または無線で接続する通信機能を持つ装置であり、例えば、Ethernet(登録商標)インタフェースを備えた装置、例えば、PCや、ネットワーク通信が可能な家電装置などである。
機器A6502は、本実施の形態における通信装置であり、DLアドレス「AA:AA:AA:AA:AA:AA」が割り当てられ、IPアドレス「192.168.0.100」が設定されている。
WIN6503は、Windows(登録商標)をOSとする通信装置であり、DLアドレス「BB:BB:BB:BB:BB:BB」が割り当てられ、機器A6502と重複したIPアドレス「192.168.0.100」が設定されようとしており、IPアドレス設定前にGARPを用いた重複検知を行なう機能を持つ。
機器C6504は、DLアドレス「CC:CC:CC:CC:CC:CC」が割り当てられ、IPアドレス「192.168.0.200」が設定されており、機器A6502と通信を行っている。なお、機器C6504においても、本実施の形態における通信装置であってもよい。
機器D6505は、DLアドレス「DD:DD:DD:DD:DD:DD」が割り当てられ、IPアドレス「192.168.0.200」が設定されており、機器A6502と通信を行っている。なお、機器D6505においても、本実施の形態における通信装置であってもよい。
<通信装置の構成>
なお、本実施の形態における通信装置の構成については、実施の形態3と同様であるため説明を省略する。
<機能構成>
なお、本実施の形態における機能構成については、実施の形態3と同様であるため説明を省略する。
<詳細な機能構成>
なお、本実施の形態における詳細な機能構成については、実施の形態3と同様であるため説明を省略する。
<GARPを用いた重複検知のシーケンス>
図66は、本実施の形態における通信装置のシーケンスを示す図である。図66に示されるように、WIN6503によってGARPを用いた重複検知が実施された場合において、機器A6502、WIN6503、機器C6504、および機器D6505で、下記のパケットのやり取りが行われる。
(a)重複検知前の動作
機器A6502と機器C6504とは、互いに通信を行っている(#66AC1、#66CA1)。このとき、機器C6504におけるARPテーブルは、図67に示される通りである。
また、機器A6502と機器D6505とは、互いに通信を行っている(#66AC1、#66CA1)。このとき、機器D6505におけるARPテーブルは、図68に示される通りである。ここで、機器D6505におけるARPテーブルは、DoS攻撃などの連続したARPパケットにより頻繁にARPテーブルが書き換わることを防止するために、更新受付までの時間が管理されている。図68に示される例では、IPアドレス「192.168.0.100」に対するエントリは、十分前に更新されたため、更新受付までの時間が0秒となっている。すなわち、機器D6505は、当該エントリに対するARPテーブルを更新する必要性があれば、即座に更新することができる。
そして、WIN6503は、L2スイッチ6501に接続されている通信装置に対して重複検知用のGARPパケット(#66BF1)をブロードキャスト送信する。
(b)機器C6504の動作
機器C6504は、WIN6503がブロードキャスト送信したGARPパケット(#66BF1)を受信する。受信したGARPパケット(#66BF1)の中身を解析し、機器C6504が管理しているARPテーブルから、受信したGARPパケット(#66BF1)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、これまで通信を行っていた機器A6502のエントリがヒットする。そして、ヒットしたエントリが、受信したGARPパケット(#66BF1)の情報で上書きされる。この結果、機器C6504のARPテーブルは、図69に示される通りとなる。
(c)機器D6505の動作
機器D6505は、WIN6503がブロードキャスト送信したGARPパケット(#66BF1)を受信する。受信したGARPパケット(#66BF1)の中身を解析し、機器D6505が管理しているARPテーブルから、受信したGARPパケット(#66BF1)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、これまで通信を行っていた機器A6502のエントリがヒットする。そして、ARPテーブルを更新してから十分な時間が経つため、ARPテーブルを即座に更新することができる。これによって、ヒットしたエントリが、受信したGARPパケット(#66BF1)の情報で上書きされる。この結果、機器D6505のARPテーブルは、図70に示される通りとなる。このとき、更新受付までの時間は、初期化されてU秒に設定される。
(d)機器A6502の動作
機器A6502は、WIN6503がブロードキャスト送信したGARPパケット(#66BF1)を受信する。受信したGARPパケット(#66BF1)が、機器A6502に設定されているIPアドレスと重複していることを検知する。
機器A6502は、IPアドレスの重複を検知すると、IPアドレスが重複していることを通知するための重複通知ARPパケット(#66AB)をWIN6503へ送信する。さらに、機器A6502は、L2スイッチ6501に接続されている通信装置に対して、更新GARPパケット(#66AF1)をブロードキャスト送信する。
なお、本シーケンスの説明では、重複通知ARPパケット(#66AB)、更新GARPパケット(#66AF1)の順で説明したが、順序が入れ替わってもよい。
さらに、機器A6502は、更新GARPパケット(#66AF2)を所定時間U秒以上遅延させた所定時間V秒経過後にブロードキャスト送信する。
(e)機器A6502が重複通知ARPパケット(#66AB)送信後のWIN6503の動作
WIN6503は、機器A6502が送信した重複通知ARPパケット(#66AB)を受信する。受信した重複通知ARPパケット(#66AB)により、重複検知の際に使用したIPアドレス「192.168.0.100」が同一ネットワーク上で使用されていることを知る。
これに伴い、WIN6503は、機器A6502になりすましたGARPパケット(以下、偽造GARPパケット)(#66BF2)を送信する。なお、偽造GARPパケットは、図71に示されるように、DLヘッダ部7101の送信元DLアドレス7110が「AA:AA:AA:AA:AA:AA」に設定され、ARP部7102の送信元DLアドレス7105が「AA:AA:AA:AA:AA:AA」に設定される。
このとき、DLヘッダ部7101の送信元DLアドレス7109に機器A6502のDLアドレスを設定した偽造GARPパケット(#66BF2)がL2スイッチ6501を通過する。これに伴い、L2スイッチ6501は、WIN6503が接続されているポートにDLアドレス「AA:AA:AA:AA:AA:AA」が割り当てられ多通信装置が接続されていると認識してしまう。これは、L2スイッチ6501は、通過するパケットの送信元DLアドレスからどのポートにどの通信装置が接続されているかを学習するためである。
(f)WIN6503が偽造GARPパケット(#66BF2)送信後の機器A6502の動作
機器A6502は、WIN6503がブロードキャスト送信した偽造GARPパケット(#66BF2)を受信する。受信した偽造GARPパケット(#66BF2)の中身を解析し、機器A6502に設定されているDLアドレスと偽造GARPパケット(#66BF2)の送信元DLアドレス7105が重複していることを検知する。この結果、機器A6502が送信したARPパケットとして、受信した偽造GARPパケットを廃棄する。
(g)機器A6502が更新GARPパケット(#66AF1)送信後の機器C6504の動作
機器C6504は、機器A6502がブロードキャスト送信した更新GARPパケット(#66AF1)を受信する。機器C6504は、受信したGARPパケット(#66AF1)の中身を解析し、機器C6504が管理しているARPテーブルから、受信したGARPパケット(#66AF1)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、重複検知のためにWIN6503から送信されたGARPパケット(#66BF1)によって上書きされた機器A6502のエントリがヒットする。そして、ヒットしたエントリが、受信した更新GARPパケット(#66AF1)の情報で上書きされる。この結果、機器C6504のARPテーブルは、図72に示される通りとなる。以上により、機器C6504のARPテーブルは、WIN6503が重複検知を行う以前の状態に戻る。
その後、機器C6504は、WIN6503がブロードキャスト送信した偽造GARPパケット(#66BF2)を受信する。受信した偽造GARPパケット(#66BF2)の中身を解析し、機器C6504が管理するARPテーブルから、受信した偽造GARPパケット(#66BF2)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、機器A6502から送信された更新GARPパケット(#66AF1)によって上書きした機器A6502のエントリがヒットする。そして、ヒットしたエントリが、受信した偽造GARPパケット(#66BF2)の情報で上書きされる。しかし、内容は同一であるため、機器C6504のARPテーブルは、図72に示されるままである。
さらに、その後、所定時間V経過後、機器C6504は、機器A6502がブロードキャスト送信した更新GARPパケット(#66AF2)を受信する。受信した更新GARPパケット(#66AF2)の中身を解析し、機器C6504が管理するARPテーブルから、受信した更新GARPパケット(#66AF2)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、機器A6502から送信された更新GARPパケット(#66AF1)によって上書きした機器A6502のエントリがヒットする。そして、ヒットしたエントリが、受信した更新GARPパケット(#66AF2)の情報で上書きされる。この結果、機器C6504のARPテーブルは、更新GARPパケット(#66AF2)により再び上書きされる。しかし、内容は同一であるため、機器C6504のARPテーブルは、図72に示されるままである。
(h)機器A2402が更新GARPパケット(#66AF1)送信後の機器D2405の動作
機器D6505は、機器A6502がブロードキャスト送信した更新GARPパケット(#66AF1)を受信する。受信したGARPパケット(#66AF1)の中身を解析し、機器D6505が管理するARPテーブルから、受信したGARPパケット(#66AF1)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、重複検知のためにWIN6503から送信されたGARPパケット(#66BF1)によって上書きされた機器A6502のエントリがヒットする。しかし、ヒットしたエントリが、更新受付までの所定時間U秒を経過していないため上書きされず、図70に示されるままである。この時点では、機器D6505は、機器A6502との通信ができない。
その後、機器D6505は、WIN6503がブロードキャスト送信した偽造GARPパケット(#66BF2)を受信する。受信した偽造GARPパケット(#66BF2)の中身を解析し、機器D6505が管理するARPテーブルから、受信した偽造GARPパケット(#66BF2)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、重複検知のためにWIN6503から送信されたGARPパケット(#66BF1)によって上書きされた機器A6502のエントリがヒットする。しかし、ヒットしたエントリが、更新受付までの所定時間U秒を経過していないため上書きされず、図70に示されるままである。この時点では、機器D6505は、機器A6502との通信ができない。
さらに、その後、所定時間V秒経過後、機器D6504は、機器A6502がブロードキャスト送信した更新GARPパケット(#66AF2)を受信する。受信した更新GARPパケット(#66AF2)の中身を解析し、機器D6505が管理するARPテーブルから、受信した更新GARPパケット(#66AF2)の送信元IPアドレスと重複するエントリを検索する。
検索した結果、ここでは、重複検知のためにWIN6503から送信されたGARPパケット(#66BF1)によって上書きされた機器A6502へのエントリがヒットする。そして、所定時間U秒以上の時間が経過しているため、図73に示される通り、更新受付までの時間が0秒となっている。これによって、ヒットしたエントリが、受信した更新GARPパケット(#66AF2)の情報で上書きされる。この結果、機器D6505のARPテーブルは、図74に示される通りとなる。
以上により、機器D6505のARPテーブルは、WIN6503が重複検知を行う以前の状態に戻る。
なお、所定時間V秒経過後、L2スイッチ6501が、通信装置とその接続ポートとの対応関係を誤学習していた場合は、機器A6502から送信された更新GARPパケット(#66AF2)により、誤学習した対応関係を修正することが可能となる。
(i)重複検知後の動作
以上のシーケンスを経て、機器C6504および機器D6505のARPテーブルは、WIN6503の重複検知前の状態に戻る。これよって、機器A6502、機器C6504、および機器D6505は、重複検知前と同様に互いに通信が行なえる状態となる(#66CAM、#66ACM、#66DAN、#66ADN)。
(その他)
なお、本発明に係わる通信装置は、CPU(Central Processing Unit)、システムLSI(Large Scale Integration)、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、ネットワークインターフェースなどを備えるとしてもよい。さらに、DVD−RAM、Blu−rayディスク、SD(Secure Digital)メモリカードなどのような可搬性の記録媒体に対して読み書き可能なドライブ装置を備えるとしてもよい。さらに、音声や映像を符号化・復号化するコーデックを備えるとしてもよい。
なお、通信装置は、IP電話機、携帯電話機、デジタルレコーダ、デジタルテレビ、ゲーム機などのような組み込みシステムとしてもよい。また、ルータ、マルチレイヤスイッチ、ゲートウェイ、ホームサーバ、ブロードバンドルータなどのような通信機器としてもよい。
さらに、HDDまたはROMなどに、通信装置を制御するプログラム(以下、通信プログラムと呼称する。)がインストールされており、通信プログラムが実行されることによって、通信装置の各機能が実現されるとしてもよい。
なお、通信プログラムは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。これによって、通信装置の各機能を他のハードウェアシステムに実現することができる。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体(例えば、CD−ROMなど。)、磁気記録媒体(例えば、ハードディスクなど。)、光磁気記録媒体(例えば、MOなど。)、半導体メモリ(例えば、メモリカードなど。)などがある。
また、通信プログラムは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。これによって、通信装置の各機能を他のハードウェアシステムに実現することができる。ここで、ネットワークとして、地上放送網、衛星放送網、有線放送網、PLC(Power Line Communication)、移動電話網、有線通信網(例えば、IEEE802.3など。)、無線通信網(例えば、IEEE802.11など。)がある。
また、通信装置に実装される通信回路によって、通信装置の各機能が実現されるとしてもよい。
なお、通信回路は、フルカスタムLSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)などのようなセミカスタムLSI、FPGA(Field Programmable Gate Array)やCPLD(Complex Programmable Logic Device)などのようなプログラマブル・ロジック・デバイス、動的に回路構成が書き換え可能なダイナミック・リコンフィギュラブル・デバイスに形成されるとしてもよい。
さらに、通信装置の各機能を通信回路に形成する設計データは、ハードウェア記述言語によって記述されたプログラム(以下、HDLプログラムと呼称する。)としてもよい。さらに、HDLプログラムを論理合成して得られるゲート・レベルのネットリストとしてもよい。また、ゲート・レベルのネットリストに、配置情報、プロセス条件等を付加したマクロセル情報としてもよい。また、寸法、タイミング等が規定されたマスクデータとしてもよい。ここで、ハードウェア記述言語として、VHDL(Very high speed integrated circuit Hardware Description Language)、Verilog−HDL、SystemCなどがある。
さらに、設計データは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。そして、これらの記録媒体を介して他のハードウェアシステムに読み取られた設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。
または、設計データは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。そして、これらのネットワークを介して他のハードウェアシステムに取得された設計データが、ダウンロードケーブルを介して、プログラマブル・ロジック・デバイスにダウンロードされるとしてもよい。
または、設計データは、通電時にFPGAに転送され得るように、シリアルROMに記録しておくとしてもよい。そして、シリアルROMに記録された設計データは、通電時に、直接、FPGAにダウンロードされるとしてもよい。
または、設計データは、通電時に、マイクロプロセッサによって生成されて、FPGAにダウンロードされるとしてもよい。
本発明は、GARPを用いた重複検知を行なう機器が存在するネットワークにおいて、利用可能である。
図1は、従来の形態におけるARPパケットのフォーマットを示す図である。 図2は、従来の形態におけるネットワーク構成を示す図である。 図3は、従来の形態における通信装置の重複検知時のシーケンスを示す図である。 図4は、従来の形態におけるネットワーク構成を示す図である。 図5は、従来の形態における機器CのARPテーブルを示す図である。 図6は、従来の形態における通信装置のシーケンスを示す図である。 図7は、従来の形態におけるGARPパケットのフォーマットを示す図である。 図8は、従来の形態における機器BがGARPパケットを送信した後の機器CのARPテーブルを示す図である。 図9は、従来の形態における通信装置においてWindows(登録商標)のOSが稼動している場合のシーケンスを示す図である。 図10は、本発明に係わる実施の形態1におけるネットワーク構成および通信装置の設定例を示す図である。 図11は、本発明に係わる実施の形態1における通信装置の機能ブロックを示す図である。 図12は、本発明に係わる実施の形態1における通信装置のプロトコルスタック機能の構成を示す図である。 図13は、本発明に係わる実施の形態1における通信装置のARP処理部の機能構成例を示す図である。 図14は、本発明に係わる実施の形態1における通信装置のシーケンスを示す図である。 図15は、本発明に係わる実施の形態1における機器CのARPテーブルを示す図である。 図16は、本発明に係わる実施の形態1における機器BがGARPパケットを送信した後の機器CのARPテーブルを示す図である。 図17は、本発明に係わる実施の形態1における機器AがGARPパケットを送信した後の機器CのARPテーブルを示す図である。 図18は、本発明に係わる実施の形態1における通信装置のARP処理部の機能構成例の変形例を示す図である。 図19は、本発明に係わる実施の形態2における通信装置のARP処理部の機能構成例を示す図である。 図20は、本発明に係わる実施の形態2における通信装置のシーケンス図である。 図21は、本発明に係わる実施の形態2における機器CのARPテーブルを示す図である。 図22は、本発明に係わる実施の形態2における機器CのARPテーブルを示す図である。 図23は、本発明に係わる実施の形態2における機器CのARPテーブルを示す図である。 図24は、本発明に係わる実施の形態3におけるネットワーク構成および通信装置の設定例を示す図である。 図25は、本発明に係わる実施の形態3における通信装置のARP処理部の機能構成例を示す図である。 図26は、本発明に係わる実施の形態3における重複検知のシーケンスを示す図である。 図27は、本発明に係わる実施の形態3における機器CのARPテーブルを示す図である。 図28は、本発明に係わる実施の形態3における機器DのARPテーブルを示す図である。 図29は、本発明に係わる実施の形態3における機器BがGARPパケットを送信した後の機器CのARPテーブルを示す図である。 図30は、本発明に係わる実施の形態3における機器BがGARPパケットを送信した後の機器DのARPテーブルを示す図である。 図31は、本発明に係わる実施の形態3における機器Aが更新GARPパケットを送信した後の機器CのARPテーブルを示す図である。 図32は、本発明に係わる実施の形態3における機器Aが遅延GARPパケットを送信した後の機器DのARPテーブルを示す図である。 図33は、本発明に係わる実施の形態3における通信装置の状態遷移を示す図である。 図34は、本発明に係わる実施の形態3における通信装置の異常系状態時のシーケンスを示す図である。 図35は、本発明に係わる実施の形態3における通信装置の異常系状態時の参考シーケンスを示す図である。 図36は、本発明に係わる実施の形態4における通信装置のARP処理部の機能構成例を示す図である。 図37は、本発明に係わる実施の形態4における通信装置のシーケンスを示す図である。 図38は、本発明に係わる実施の形態4における機器AのARPテーブルを示す図である。 図39は、本発明に係わる実施の形態4における機器CのARPテーブルを示す図である。 図40は、本発明に係わる実施の形態4における機器BがGARPパケットを送信した後の機器CのARPテーブルを示す図である。 図41は、本発明に係わる実施の形態4における機器BがGARPパケットを送信した後の機器AのARPテーブルを示す図である。 図42は、本発明に係わる実施の形態4における機器AがARP要求パケットを送信した後の機器CのARPテーブルを示す図である。 図43は、本発明に係わる実施の形態4における機器CがARP応答パケットを送信した後の機器AのARPテーブルを示す図である。 図44は、本発明に係わる実施の形態5における通信装置のARP処理部の機能構成例を示す図である。 図45は、本発明に係わる実施の形態5における通信装置のシーケンスを示す図である。 図46は、本発明に係わる実施の形態6における通信装置のシーケンスを示す図である。 図47は、本発明に係わる実施の形態6における機器CのARPテーブルを示す図である。 図48は、本発明に係わる実施の形態6における機器AがGARPパケットを送信した後の機器CのARPテーブルを示す図である。 図49は、本発明に係わる実施の形態6における機器Aが回復GARPパケットを送信した後の機器CのARPテーブルを示す図である。 図50は、本発明に係わる実施の形態6における回復GARPパケットのフォーマットを示す図である。 図51Aは、本発明に係わる実施の形態6における通信装置のARP処理部の機能構成例を示す図である。 図51Bは、本発明に係わる実施の形態7における通信装置におけるARP処理部の機能構成例を示す図である。 図52は、本発明に係わる実施の形態8における通信装置のARP処理部の機能構成例を示す図である。 図53は、本発明に係わる実施の形態8における通信装置のシーケンスを示す図である。 図54は、本発明に係わる実施の形態8における機器CのARPテーブルを示す図である。 図55は、本発明に係わる実施の形態8における機器DのARPテーブルを示す図である。 図56は、本発明に係わる実施の形態8における機器AがGARPパケットを送信した後の機器CのARPテーブルを示す図である。 図57は、本発明に係わる実施の形態8における機器AがGARPパケットを送信した後の機器DのARPテーブルを示す図である。 図58は、本発明に係わる実施の形態8における機器Aが回復GARPパケットを送信した後の機器CのARPテーブルを示す図である。 図59は、本発明に係わる実施の形態8における機器Aが回復GARPパケットを送信した時の機器DのARPテーブルを示す図である。 図60は、本発明に係わる実施の形態8における機器Aが遅延回復GARPパケットを送信した後の機器DのARPテーブルを示す図である。 図61は、本発明に係わる実施の形態9におけるネットワーク構成および通信装置の設定例を示す図である。 図62は、本発明に係わる実施の形態9における通信装置のARP処理部の機能構成例を示す図である。 図63は、本発明に係わる実施の形態9における通信装置のシーケンスを示す図である。 図64は、本発明に係わる実施の形態9における通信装置のシーケンスを示す図である。 図65は、本発明に係わる実施の形態10におけるネットワーク構成および通信装置の設定例を示す図である。 図66は、本発明に係わる実施の形態10における通信装置のシーケンスを示す図である。 図67は、本発明に係わる実施の形態10における機器CのARPテーブルを示す図である。 図68は、本発明に係わる実施の形態10における機器DのARPテーブルを示す図である。 図69は、本発明に係わる実施の形態10における機器AがGARPパケットを送信した後の機器CのARPテーブルを示す図である。 図70は、本発明に係わる実施の形態10における機器AがGARPパケットを送信した後の機器DのARPテーブルを示す図である。 図71は、本発明に係わる実施の形態10における偽造GARPパケットのフォーマットを示す図である。 図72は、本発明に係わる実施の形態10における機器Aが更新GARPパケットを送信した後の機器CのARPテーブルを示す図である。 図73は、本発明に係わる実施の形態10における機器Aが遅延更新GARPパケットを送信した時の機器DのARPテーブルを示す図である。 図74は、本発明に係わる実施の形態10における機器Aが遅延更新GARPパケットを送信した後の機器DのARPテーブルを示す図である。 図75は、本発明に係わる実施の形態8における通信装置のシーケンスを示す図である。 図76は、本発明に係わる実施の形態1における通信装置のシーケンスを示す図である。 図77は、本発明に係わる実施の形態3における通信装置のシーケンスを示す図である。 図78は、本発明に係わる実施の形態6における通信装置のシーケンスを示す図である。
符号の説明
101 DLヘッダ部
102 ARP部
103 ヘッダ部
104 データ部
105 送信元DLアドレス
106 送信元IPアドレス
107 宛先DLアドレス
108 宛先IPアドレス
201 ネットワーク
202 通信装置
203 通信装置
204−1,204−2,・・・,204−N 通信装置
401 ネットワーク
402 通信装置
403 通信装置
404 通信装置
405 通信装置402の設定状況
406 通信装置403の設定状況
407 通信装置404の設定状況
701 DLヘッダ部
702 ARP部
703 ヘッダ部
704 データ部
705 送信元DLアドレス
706 送信元IPアドレス
707 宛先DLアドレス
708 宛先IPアドレス
1001 ネットワーク
1002 通信装置
1003 通信装置
1004 通信装置
1005 通信装置1002の設定状況
1006 通信装置1003の設定状況
1007 通信装置1004の設定状況
1101 通信装置
1102 通信部
1103 処理部
1104 記憶部
1105 ネットワーク
1201 Interface処理部
1202 ネットワーク層プロトコル処理部
1203 ARP処理部
1204 トランスポート層プロトコル処理部
1205 アプリケーション層処理部
1301 ARP処理部
1302 アドレス管理部
1303 重複検知部
1304 ARP受信部
1305 更新GARP生成部
1306 重複通知生成部
1307 ARP送信部
#130A Interface処理部からの受信フロー
#130B Interface処理部への送信フロー
1801 ARP処理部
1802 アドレス管理部
1803 重複検知部
1804 ARP受信部
1805 更新GARP生成部
1806 重複通知生成部
1807 ARP送信部
#180A Interface処理部からの受信フロー
#180B Interface処理部への送信フロー
1901 ARP処理部
1902 アドレス管理部
1903 重複検知部
1904 ARP受信部
1905 更新GARP生成部
1906 重複通知生成部
1907 ARP送信部
1908 更新GARP遅延部
#190A Interface処理部からの受信フロー
#190B Interface処理部への送信フロー
2401 ネットワーク
2402 通信装置
2403 通信装置
2404 通信装置
2405 通信装置
2406 通信装置2402の設定状況
2407 通信装置2403の設定状況
2408 通信装置2404の設定状況
2409 通信装置2405の設定状況
2501 ARP処理部
2502 アドレス管理部
2503 重複検知部
2504 ARP受信部
2505 更新GARP生成部
2506 重複通知生成部
2507 ARP送信部
2508 更新GARP遅延部
2510 重複通知部
2512 重複監視部
#250A Interface処理部からの受信フロー
#250B Interface処理部への送信フロー
S3301 初期状態
S3302 アドレス設定状態
S3303 更新GARP送信遅延状態
S3304 アドレス重複状態
#330A 初期状態からアドレス設定状態への状態遷移
#330B アドレス設定状態から更新GARP送信遅延状態への状態遷移
#330C アドレス設定状態から初期状態への状態遷移
#330D アドレス設定状態からアドレス重複状態への状態遷移
#330E 更新GARP送信遅延状態から更新GARP送信遅延状態への状態遷移
#330F 更新GARP送信遅延状態からアドレス設定状態への状態遷移
#330G 更新GARP送信遅延状態から初期状態への状態遷移
#330H 更新GARP送信遅延状態からアドレス重複状態への状態遷移
#330I アドレス重複状態から初期状態への状態遷移
3601 ARP処理部
3602 アドレス管理部
3603 重複検知部
3604 ARP受信部
3605 重複通知生成部
3606 ARP応答生成部
3607 ARP送信部
3608 ARP情報管理部
3609 ARP要求生成部
#360A Interface処理部からの受信フロー
#360B Interface処理部への送信フロー
4401 ARP処理部
4402 アドレス管理部
4403 重複検知部
4404 ARP受信部
4405 重複通知生成部
4406 ARP応答生成部
4407 ARP送信部
4410 重複通知部
4412 重複監視部
#440A Interface処理部からの受信フロー
#440B Interface処理部への送信フロー
5001 DLヘッダ部
5002 ARP部
5003 ARP部におけるヘッダ部
5004 ARP部におけるデータ部
5005 送信元DLアドレス
5006 送信元IPアドレス
5007 宛先DLアドレス
5008 宛先IPアドレス
5009 宛先DLアドレス
5010 送信元DLアドレス
5011 NWプロトコルタイプ
5101 ARP処理部
5102 アドレス管理部
5103 重複検知部
5104 ARP受信部
5105 更新GARP生成部
5106 重複通知生成部
5107 ARP送信部
5108 アドレス重複探索部
5109 GARP生成部
5110 回復GARP生成部
#510A Interface処理部からの受信フロー
#510B Interface処理部への送信フロー
5111 重複監視部
5201 ARP処理部
5202 アドレス管理部
5203 重複検知部
5204 ARP受信部
5205 更新GARP生成部
5206 重複通知生成部
5207 ARP送信部
5208 アドレス重複探索部
5209 GARP生成部
5210 回復GARP生成部
5211 回復GARP遅延部
#520A Interface処理部からの受信フロー
#520B Interface処理部への送信フロー
6101 ネットワーク
6102 通信装置
6103 通信装置
6104 通信装置
6105 通信装置6102の設定状況
6106 通信装置6103の設定状況
6107 通信装置6104の設定状況
6201 ARP処理部
6202 アドレス管理部
6203 重複検知部
6204 ARP受信部
6205 更新GARP生成部
6206 重複通知生成部
6207 ARP送信部
6208 アドレス重複探索部
6209 GARP生成部
6210 ARP探索生成部
#620A Interface処理部からの受信フロー
#620B Interface処理部への送信フロー
6501 L2スイッチ
6502 通信装置
6503 通信装置
6504 通信装置
6505 通信装置
6506 通信装置6502の設定状況
6507 通信装置6503の設定状況
6508 通信装置6504の設定状況
6509 通信装置6505の設定状況
7101 DLヘッダ部
7102 ARP部
7103 ヘッダ部
7104 データ部
7105 送信元DLアドレス
7106 送信元IPアドレス
7107 宛先DLアドレス
7108 宛先IPアドレス
7109 宛先DLアドレス
7110 送信元DLアドレス
7111 NWプロトコルタイプ

Claims (28)

  1. ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、
    Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、
    前記ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、
    前記重複検知部で前記GARPパケットが検知されると、ネットワーク層アドレスが重複していることを前記送信元に通知するARP応答パケットを生成する重複通知生成部と、
    前記重複検知部で前記GARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを生成する更新GARP生成部と、
    前記重複通知生成部で生成した前記ARP応答パケットをARPで送信し、前記更新GARP生成部で生成した前記更新GARPパケットをGARPで送信するARP送信部と
    を備えることを特徴とする通信装置。
  2. 前記更新GARP生成部は、前記重複検知部で前記GARPパケットが検知されると、即座に前記更新GARPパケットを生成して前記ARP送信部に渡す
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記重複通知生成部は、ネットワーク層アドレスが重複していることを知らせる重複検知通知を前記重複検知部から受理すると、前記ARP応答パケットを生成して前記ARP送信部に渡し、
    前記更新GARP生成部は、前記重複検知部から前記重複検知通知を受理すると、前記更新GARPパケットを生成して前記ARP送信部に渡し、
    前記重複検知部は、前記ARP受信部で受信したARPパケットの中から、前記GARPパケットを連続して検知すると、単位時間当たりに前記重複検知通知を前記重複通知生成部と前記更新GARP生成部とに渡す回数を制限する
    ことを特徴とする請求項1に記載の通信装置。
  4. 前記通信装置は、さらに、前記ARP送信部で前記更新GARPパケットを送信した後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したARP応答パケットが前記ARP受信部で受信されたときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を前記重複検知部に渡す重複通知部を備え、
    前記重複通知生成部は、ネットワーク層アドレスが重複していることを知らせる重複検知通知を前記重複検知部から受理すると、前記ARP応答パケットを生成して前記ARP送信部に渡し、
    前記更新GARP生成部は、前記重複検知部から前記重複検知通知を受理すると、前記更新GARPパケットを生成して前記ARP送信部に渡し、
    前記重複検知部は、前記重複通知部から前記アドレス重複通知を受理すると、前記重複検知通知を前記重複通知生成部と前記更新GARP生成部とに渡すことを停止する
    ことを特徴とする請求項1に記載の通信装置。
  5. 前記通信装置は、さらに、
    ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を受理すると、本通信装置のネットワーク層アドレスが、本通信装置が接続されているネットワーク上で、重複していることを出力する重複監視部と、
    前記ARP送信部で前記更新GARPパケットが送信された後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したARP応答パケットが前記ARP受信部で受信されたときに、前記アドレス重複通知を前記重複監視部に渡す重複通知部と
    を備えることを特徴とする請求項1に記載の通信装置。
  6. 前記重複通知部は、前記送信元のデータリンク層アドレスを前記アドレス重複通知に含めて前記重複監視部に渡し、
    前記重複監視部は、前記アドレス重複通知に含まれる前記送信元のデータリンク層アドレスを出力する
    ことを特徴とする請求項5に記載の通信装置。
  7. 前記重複通知部は、前記送信元のネットワーク層アドレスを前記アドレス重複通知に含めて前記重複監視部に渡し、
    前記重複監視部は、前記アドレス重複通知に含まれる前記送信元のネットワーク層アドレスを出力する
    ことを特徴とする請求項5に記載の通信装置。
  8. 前記重複検知部は、GARPパケットをカウントするGARPカウンタを備え、前記ARP受信部で最後に受信したGARPパケットである最終GARPパケットを保持し、前記最終GARPパケットと前記ARP受信部で受信したGARPパケットとが一致する場合は、前記GARPカウンタをインクリメントし、一致しない場合は、前記GARPカウンタをクリアし、前記GARPカウンタが所定数を超過したときに、前記最終GARPパケットと前記ARP受信部で受信したGARPパケットとが一致する限り、前記重複検知通知を前記重複通知生成部と前記更新GARP生成部とに渡すことを停止する
    ことを特徴とする請求項1に記載の通信装置。
  9. 前記更新GARP生成部は、更新GARPパケットを複数個生成して前記ARP送信部に渡す
    ことを特徴とする請求項1に記載の通信装置。
  10. ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、
    Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、
    前記ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、
    前記重複検知部で前記GARPパケットが検知されると、ネットワーク層アドレスが重複していることを前記送信元に通知するARP応答パケットを生成する重複通知生成部と、
    前記重複検知部で前記GARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを生成する更新GARP生成部と、
    前記更新GARP生成部で生成した前記更新GARPパケットの送信を所定時間遅延させる更新GARP遅延部と、
    前記重複通知生成部で生成した前記ARP応答パケットをARPで送信し、前記更新GARP遅延部で遅延させた前記更新GARPパケットをGARPで送信するARP送信部と
    を備えることを特徴とする通信装置。
  11. ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、
    Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信部と、
    前記ARP受信部で受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、
    前記重複検知部で前記GARPパケットが検知されると、ネットワーク層アドレスが重複していることを前記送信元に通知するARP応答パケットを生成する重複通知生成部と、
    前記重複検知部で前記GARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを複数個生成する更新GARP生成部と、
    前記更新GARP生成部で複数個生成した前記更新GARPパケットのうち少なくとも1つを所定の時間遅延させる更新GARP遅延部と、
    前記重複通知生成部で生成した前記ARP応答パケットをARPで送信し、前記更新GARP遅延部で遅延させた前記更新GARPパケットをGARPで送信するARP送信部と
    を備えることを特徴とする通信装置。
  12. 前記通信装置は、さらに、前記ARP送信部で前記更新GARPパケットを送信した後、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複通知ARPパケットを前記ARP受信部で受信したときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を前記重複検知部と前記更新GARP遅延部とに渡す重複通知部を備え、
    前記重複通知生成部は、前記重複検知部から前記重複検知通知を受理すると、前記ARP応答パケットを生成して前記ARP送信部に渡し、
    前記更新GARP生成部は、前記重複検知部から前記重複検知通知を受理すると、前記更新GARPパケットを複数個生成して少なくとも1つを前記GARP遅延部に渡し、
    前記重複検知部は、前記重複通知部から前記アドレス重複通知を受理すると、前記重複検知通知を前記重複通知生成部と前記更新GARP生成部とに渡すことを停止し、
    前記更新GARP遅延部は、前記重複通知部から前記アドレス重複通知を受理すると、前記更新GARP生成部から既に受理されている前記更新GARPパケットを、所定の時間遅延させてから前記ARP送信部に渡すことを停止する
    ことを特徴とする請求項11に記載の通信装置。
  13. 前記重複検知部は、前記更新GARP生成部から受理した前記更新GARPパケットを前記更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致したGARPパケットを前記ARP受信部で受信したときに、ネットワーク層アドレスが本通信装置のネットワーク層アドレスと重複したGARPパケットを前記ARP受信部で受信したことを知らせるGARP重複受信通知を前記更新GARP生成部と前記更新GARP遅延部とに渡し、
    前記更新GARP生成部は、前記重複検知部から前記GARP重複受信通知を受理すると、複数個生成した前記更新GARPパケットのうち少なくとも1つを前記更新GARP遅延部に渡すことを停止し、
    前記更新GARP遅延部は、前記重複検知部から前記GARP重複受信通知を受理すると、前記更新GARP生成部から既に受理されている前記更新GARPパケットを、所定の時間遅延させてから前記ARP送信部に渡すことを一度停止してから、新たに所定の時間遅延させて前記ARP送信部に渡す
    ことを特徴とする請求項11に記載の通信装置。
  14. 前記重複検知部は、さらに、前記GARPパケットの送信元のデータリンク層アドレスをDLアドレス情報として保持し、前記更新GARP生成部から受理した前記更新GARPパケットを前記更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致し、さらに、送信元のデータリンク層アドレスと前記DLアドレス情報とが一致したGARPパケットを前記ARP受信部で受信したときにのみ、前記GARP重複受信通知を前記更新GARP生成部と前記更新GARP遅延部とに渡す
    ことを特徴とする請求項13に記載の通信装置。
  15. 前記重複検知部は、さらに、前記更新GARP生成部から受理した前記更新GARPパケットを前記更新GARP遅延部で所定の時間遅延させている最中に、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複ARPパケットを前記ARP受信部で受信したときに、前記重複検知通知を渡すことを停止する
    ことを特徴とする請求項11に記載の通信装置。
  16. アドレス重複探索用ネットワーク層アドレスを利用して、ネットワーク層アドレスの重複を探索するアドレス重複探索部と、
    前記アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した探索GARPパケットを生成するGARP生成部と
    を備え、
    前記ARP送信部は、前記GARP生成部で生成された前記探索GARPパケットを送信し、
    前記重複検知部は、前記ARP送信部で前記探索GARPパケットを送信して前記アドレス重複探索部でアドレス重複を探索している最中に、送信先のネットワーク層アドレスと前記探索用ネットワーク層アドレスとが一致した重複ARPパケットを受信したときに、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を渡す
    ことを特徴とする請求項1に記載の通信装置。
  17. 前記通信装置は、さらに、前記重複ARPパケットの送信元のデータリンク層アドレスを送信元のデータリンク層アドレスに設定し、前記アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した回復GARPパケットを生成する回復GARP生成部を備え、
    前記重複検知部は、前記重複ARPパケットの送信元のデータリンク層アドレスを前記アドレス重複通知に含めて前記アドレス重複探索部に渡し、
    前記アドレス重複探索部は、前記アドレス重複通知に含まれる前記重複ARPパケットの送信元のデータリンク層アドレスと前記アドレス重複探索用ネットワーク層アドレスとを前記回復GARP生成部に渡し、
    前記ARP送信部は、前記回復GARPパケットの送信先のデータリンク層アドレスをデータリンク層ブロードキャストアドレスに設定し、前記回復GARPパケットの送信元のデータリンク層アドレスを本通信装置に設定されているデータリンク層アドレスに設定して前記回復GARPパケットを送信する
    ことを特徴とする請求項16に記載の通信装置。
  18. 前記回復GARP生成部は、前記回復GARPパケットを生成することを指示する回復GARP生成通知を前記アドレス重複探索部から受理すると、即座に前記回復GARPパケットを生成して前記ARP送信部に渡す
    ことを特徴とする請求項17に記載の通信装置。
  19. 前記通信装置は、さらに、前記アドレス重複探索部から前記アドレス重複通知を受理すると、本通信装置が接続しているネットワーク上で本通信装置のネットワーク層アドレスが重複していることを出力する重複監視部を備え、
    前記アドレス重複探索部は、送信元のネットワーク層アドレスと本通信装置のネットワーク層アドレスとが一致した重複ARPパケットを受信し、前記重複検知部から前記アドレス重複通知を受理すると、前記重複監視部に前記アドレス重複通知を渡す
    ことを特徴とする請求項17に記載の通信装置。
  20. 前記アドレス重複探索部は、前記重複ARPパケットの送信元のデータリンク層アドレスを前記アドレス重複通知に含めて前記重複監視部に渡し、
    前記重複監視部は、前記アドレス重複通知に含まれる前記重複ARPパケットの送信元のデータリンク層アドレスを出力する
    ことを特徴とする請求項19に記載の通信装置。
  21. 前記アドレス重複探索部は、前記重複ARPパケットの送信元のネットワーク層アドレスを前記アドレス重複通知に含めて前記重複監視部に渡し、
    前記重複監視部は、前記アドレス重複通知に含まれる前記重複ARPパケットの送信元のネットワーク層アドレスを出力する
    ことを特徴とする請求項19に記載の通信装置。
  22. 前記回復GARP生成部は、前記アドレス重複探索部から前記回復GARP生成通知を受理すると、前記回復GARPパケットを複数個生成し、
    前記ARP送信部は、前記回復GARP生成部で複数個生成した前記回復GARPパケットを送信する
    ことを特徴とする請求項17に記載の通信装置。
  23. 前記通信装置は、さらに、前記回復GARP生成部から受理した回復GARPパケットを所定の時間遅延させて前記ARP送信部に渡す回復GARP遅延部を備え、
    前記回復GARP生成部は、前記回復GARPを複数個生成し、複数個生成した前記回復GARPパケットのうち少なくとも1つを前記ARP送信部に渡し、複数個生成した前記回復GARPパケットのうち少なくとも1つを、前記回復GARP遅延部に渡す
    ことを特徴とする請求項17に記載の通信装置。
  24. 前記アドレス重複探索部は、前記アドレス重複通知を受理すると、前記回復GARP生成部から既に受理されている前記回復GARPパケットを前記回復GARP遅延部で所定の時間遅延させている最中であれば、前記アドレス重複通知を前記回復GARP生成部に渡すことを停止する
    ことを特徴とする請求項23に記載の通信装置。
  25. アドレス重複探索用ネットワーク層アドレスを利用して、ネットワーク層アドレスの重複を探索するアドレス重複探索部と、
    前記アドレス重複探索用ネットワーク層アドレスを送信先のネットワーク層アドレスに設定した探索GARPパケットを生成するGARP生成部と、
    前記アドレス重複探索用ネットワーク層アドレスを送信先ネットワーク層アドレスに、送信元ネットワーク層アドレスを未指定に、送信先のデータリンク層アドレスを未指定に、送信元のデータリンク層アドレスを本通信装置のデータリンク層アドレスに設定した探索ARP要求パケットを生成するARP探索生成部と
    を備え、
    前記ARP送信部は、前記GARP生成部で生成された前記探索GARPパケットを送信し、前記ARP探索生成部で生成された前記探索ARP要求パケットを送信し、
    前記重複検知部は、前記アドレス重複探索部でアドレス重複を探索している最中に、送信先のネットワーク層アドレスと前記アドレス重複探索用ネットワーク層アドレスとが一致した重複ARPパケットを前記ARP受信部で受信すると、ネットワーク層アドレスが重複していることを知らせるアドレス重複通知を前記アドレス重複探索部に渡す
    ことを特徴とする請求項1に記載の通信装置。
  26. ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信装置であって、
    受信したAddress Resolution Protocol(ARP)パケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知部と、
    前記重複検知部で前記GARPパケットが検知されると、本通信装置が接続されているネットワーク上の通信装置に関するネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理するARPテーブルの情報をすべて消去するARP情報管理部と
    を備えることを特徴とする通信装置。
  27. ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信方法であって、
    Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信ステップと、
    前記ARP受信ステップで受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知ステップと、
    前記重複検知ステップで前記GARPパケットが検知されると、ネットワーク層アドレスが重複していることを前記送信元に通知するARP応答パケットを生成する重複通知生成ステップと、
    前記重複検知ステップで前記GARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを生成する更新GARP生成ステップと、
    前記重複通知生成ステップで生成した前記ARP応答パケットをARPで送信し、前記更新GARP生成ステップで生成した前記更新GARPパケットをGARPで送信するARP送信ステップと
    を含むことを特徴とする通信方法。
  28. ネットワーク層アドレスとデータリンク層アドレスとを対応付けて管理する通信プログラムであって、
    Address Resolution Protocol(ARP)で送信されたARPパケットを受信するARP受信ステップと、
    前記ARP受信ステップで受信したARPパケットの中から、送信元のネットワーク層アドレスが本通信装置のネットワーク層アドレスと一致するGratuitous ARP(GARP)パケットを検知する重複検知ステップと、
    前記重複検知ステップで前記GARPパケットが検知されると、ネットワーク層アドレスが重複していることを前記送信元に通知するARP応答パケットを生成する重複通知生成ステップと、
    前記重複検知ステップで前記GARPパケットが検知されると、本通信装置のネットワーク層アドレスとデータリンク層アドレスとを設定した更新GARPパケットを生成する更新GARP生成ステップと、
    前記重複通知生成ステップで生成した前記ARP応答パケットをARPで送信し、前記更新GARP生成ステップで生成した前記更新GARPパケットをGARPで送信するARP送信ステップと
    をコンピュータに実行させることを特徴とする通信プログラム。
JP2006525557A 2005-05-30 2006-05-30 Arp機能を具備した通信装置 Expired - Fee Related JP4860471B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006525557A JP4860471B2 (ja) 2005-05-30 2006-05-30 Arp機能を具備した通信装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2005158134 2005-05-30
JP2005158134 2005-05-30
JP2006069919 2006-03-14
JP2006069919 2006-03-14
PCT/JP2006/310815 WO2006129680A1 (ja) 2005-05-30 2006-05-30 Arp機能を具備した通信装置
JP2006525557A JP4860471B2 (ja) 2005-05-30 2006-05-30 Arp機能を具備した通信装置

Publications (2)

Publication Number Publication Date
JPWO2006129680A1 JPWO2006129680A1 (ja) 2009-01-08
JP4860471B2 true JP4860471B2 (ja) 2012-01-25

Family

ID=37481609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006525557A Expired - Fee Related JP4860471B2 (ja) 2005-05-30 2006-05-30 Arp機能を具備した通信装置

Country Status (3)

Country Link
US (1) US7979582B2 (ja)
JP (1) JP4860471B2 (ja)
WO (1) WO2006129680A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100992968B1 (ko) * 2007-04-06 2010-11-08 삼성전자주식회사 네트워크 스위치 및 그 스위치의 주소충돌방지방법
CN100495992C (zh) * 2007-08-30 2009-06-03 华为技术有限公司 用于地址冲突的重复地址检测方法及网络节点设备
US8976795B2 (en) 2009-02-25 2015-03-10 Microsoft Corporation Gateway advertisement in a wireless mesh
US8838473B2 (en) 2009-02-25 2014-09-16 Microsoft Corporation Services advertisement in a wireless mesh
US8385230B2 (en) * 2009-02-25 2013-02-26 Microsoft Corporation Automatic network address assignment in a wireless mesh
JP5420465B2 (ja) * 2010-04-08 2014-02-19 株式会社Pfu 通信監視装置、方法およびプログラム
US9231905B2 (en) * 2010-12-22 2016-01-05 Nec Corporation Communication device, method for setting communication device, and program
JP6204800B2 (ja) * 2013-11-18 2017-09-27 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
JP6366524B2 (ja) * 2015-02-25 2018-08-01 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US10721206B2 (en) * 2015-02-27 2020-07-21 Arista Networks, Inc. System and method of persistent address resolution synchronization
KR102064614B1 (ko) * 2015-03-10 2020-01-09 엘에스산전 주식회사 Plc 이더넷 통신 모듈의 ip 주소 충돌 확인방법
US10547587B2 (en) * 2018-03-19 2020-01-28 Didi Research America, Llc Method and system for near real-time IP user mapping
US10904135B2 (en) * 2018-07-13 2021-01-26 Nokia Technologies Oy Method and apparatus for increasing reliability of packet delivery by dynamic packet cloning and route selection
US11115379B2 (en) * 2019-02-28 2021-09-07 Vmware, Inc. Management of endpoint address discovery in a software defined networking environment
US11438299B2 (en) * 2020-01-07 2022-09-06 AVAST Software s.r.o. Reducing battery impact of network device ARP spoofing
CN111402784B (zh) * 2020-03-10 2022-02-18 苏州仰邦软件科技有限公司 一种稳定led控制器网络运行的方法及其显示屏控制系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003333080A (ja) * 2002-03-29 2003-11-21 Fujitsu Ltd リンク方式間の移行方法及びモバイル・コンピューティング装置
JP2005033765A (ja) * 2003-07-10 2005-02-03 Samsung Electronics Co Ltd アドホックネットワークにおいて動的にarpキャッシュテーブルを更新する方法及びシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724510A (en) * 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US7415535B1 (en) * 2002-04-22 2008-08-19 Cisco Technology, Inc. Virtual MAC address system and method
US8700800B2 (en) * 2006-02-15 2014-04-15 Tropos Networks, Inc. Roaming of clients between gateways of clusters of a wireless mesh network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003333080A (ja) * 2002-03-29 2003-11-21 Fujitsu Ltd リンク方式間の移行方法及びモバイル・コンピューティング装置
JP2005033765A (ja) * 2003-07-10 2005-02-03 Samsung Electronics Co Ltd アドホックネットワークにおいて動的にarpキャッシュテーブルを更新する方法及びシステム

Also Published As

Publication number Publication date
US7979582B2 (en) 2011-07-12
JPWO2006129680A1 (ja) 2009-01-08
US20090307371A1 (en) 2009-12-10
WO2006129680A1 (ja) 2006-12-07

Similar Documents

Publication Publication Date Title
JP4860471B2 (ja) Arp機能を具備した通信装置
EP1496669B1 (en) Method and system for dynamically updating ARP cache tables in an ad hoc network
US20050265230A1 (en) Apparatus and method for performing state transition of backup router in router redundancy system
CN1839585B (zh) 具有增强的可扩展性和可靠性的即插即用网络配置的方法和设备
WO2015180292A1 (zh) 检测虚拟专用网络的用户网络侧接口连通性的方法及装置
US8009683B2 (en) IP network system
JP2006311066A (ja) 電子機器
US20100027551A1 (en) Method and system for restricting a node from communicating with other nodes in a broadcast domain of an ip (internet protocol) network
WO2013186969A1 (ja) 通信情報検出装置及び通信情報検出方法
JP4054719B2 (ja) 特定アドレス使用制限装置
US20040028048A1 (en) Host management method and packet transmission method in network switch
US8935387B2 (en) Information processing device, address duplication handling method, and computer-readable non-transitory recording medium
JP6076937B2 (ja) パケット伝送システムおよびネットワークコントローラ
JP5333793B2 (ja) トポロジ特定方法、及びトポロジ特定装置
CN100588167C (zh) 具有arp功能的通信方法及装置
JP5190717B2 (ja) トポロジ特定方法、及びトポロジ特定装置
WO2008009236A1 (fr) Procédé et système de mise en oeuvre de segment de réseau à connexion directe
JP4677501B2 (ja) 中継装置および中継方法
JP5698854B2 (ja) 通信方法及びスイッチングハブ装置
JP5310734B2 (ja) 通信装置、通信装置の制御方法、及びネットワークシステム
JP2010098555A (ja) 通信装置、通信プログラム、通信方法
US10298481B1 (en) Method and apparatus for testing VLAN
JP2011176424A (ja) 通信方法及びスイッチングハブ装置
JP2005033427A (ja) ネットワーク品質測定方法およびサーバ
JP4900237B2 (ja) Ipアドレス重複検出方法、ipアドレス重複検出装置及びipアドレス重複検出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090501

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: 20111011

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: 20111102

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141111

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees