JP5820106B2 - 通信装置、および、その制御方法 - Google Patents

通信装置、および、その制御方法 Download PDF

Info

Publication number
JP5820106B2
JP5820106B2 JP2010250259A JP2010250259A JP5820106B2 JP 5820106 B2 JP5820106 B2 JP 5820106B2 JP 2010250259 A JP2010250259 A JP 2010250259A JP 2010250259 A JP2010250259 A JP 2010250259A JP 5820106 B2 JP5820106 B2 JP 5820106B2
Authority
JP
Japan
Prior art keywords
network
address
communication device
entry
communication
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.)
Active
Application number
JP2010250259A
Other languages
English (en)
Other versions
JP2012104970A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010250259A priority Critical patent/JP5820106B2/ja
Priority to US13/288,455 priority patent/US8774188B2/en
Publication of JP2012104970A publication Critical patent/JP2012104970A/ja
Application granted granted Critical
Publication of JP5820106B2 publication Critical patent/JP5820106B2/ja
Active 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、複数の通信インターフェースを有する通信装置、及びその制御方法に関する。
IEEE802.11規格シリーズに準拠した無線LAN(以下、WLANと記載する場合もある)に代表される無線通信機能を有した電子機器が数多く発売されている。このような無線LANには、インフラストラクチャモードとアドホックモードの2つのモードが存在する。インフラストラクチャモードでは、無線ネットワークの管理を行うアクセスポイント(以下、AP)と当該無線ネットワークに接続して通信を行う通信端末(以下、STA)とによりインフラネットワークが構成される。インフラネットワークにおけるSTAのデータ通信は常にAPを経由して行われる。
また、インフラネットワークではAPを介して広域通信網(以下、WAN)との通信が可能である。そのため、データ通信にはLAN内のDHCPサーバ又はAPが内蔵するDHCPサーバ機能により割り当てられたルータブルアドレスを用いるのが一般的である。ここでルータブルアドレスとは、ルータに転送可能なIPアドレスを示している。
一方、アドホックモードでは、無線ネットワークを管理する装置は必要とされず、STAのみによりアドホックネットワークが構成される。アドホックネットワークにおけるデータ通信は各STA間で直接行われる。また、アドホックネットワークでは、ネットワークを管理する装置が存在しないという特性上、データ通信にはリンクローカルアドレスを用いるのが一般的である。ここで、例えば、IPv4におけるリンクローカルアドレスとしては、169.254.0.0〜169.254.255.255が利用されている。
近年では、インフラモードとアドホックモードの両方の機能を同時動作可能な機器が開発されている。このような機器では、内部的にインフラモードとアドホックモードを夫々別の通信インターフェースとして管理するのが一般的である。そのため、物理的に複数のインターフェースを持った機器と同様の制御が必要となる。
複数のインターフェースを備えた機器の場合、アプリケーションが送信しようとするデータをどのインターフェースから送信するかを選択する制御が必要となる。しかし、ほとんどの通信アプリケーションではインターフェースを選択する制御は行っていない。そのため、通信レイヤのいずれかの階層においてデータ送信に使用するインターフェースを選択する制御が必要となる。
このような、データ送信に使用するインターフェースを選択する制御は、IP層のルーティングテーブルを用いて行われるのが一般的である。ルーティングテーブルには宛先IPアドレス、ゲートウェイIPアドレス、インターフェースなどを一組とするエントリが経路毎に登録されている。IP層では、上位層から送信要求があると、ルーティングテーブルから、送信データの宛先IPアドレスと合致するエントリを検索する。ルーティングテーブルに合致するエントリが存在する場合は、エントリのインターフェース情報をもとにデータの送信に使用するインターフェースが決定される。
しかし、ルーティングテーブルを利用して複数インターフェースの制御を行うには適切な設定を行う必要があり、設定には専門的な知識を必要とするため、一般的なユーザには困難な作業となっていた。そこで、MAC層とIP層の間に送信に使用するインターフェースを選択するための階層を追加することにより、ルーティングテーブルの設定を行うことなくインターフェース選択制御を行う方法が提案されている(特許文献1参照)。
特開2004−289839号公報
しかしながら、従来のルーティングテーブルを用いたインターフェース選択制御では、同一のネットワークアドレスに対するエントリが存在する場合、適切にインターフェースが選択できないという課題があった。特にインフラモードとアドホックモードとを同時動作させる場合、以下のような課題が発生する。
ルータブルアドレスを設定された端末が、リンクローカルアドレスを設定された他の端末と通信するために、当該端末のルーティングテーブルにリンクローカルのネットワークアドレス宛てのエントリを登録する。例えば、当該端末にインフラネットワークにおいて192.168.1.10というIPアドレスが設定されている場合、ルーティングテーブルにたとえば次のようなエントリが登録される。
・宛先IPアドレス: 169.254.0.0/16
・ゲートウェイIPアドレス: 192.168.1.10
・インターフェース: WLAN(Infra mode)
このエントリにより、169.254.0.0〜169.254.255.255宛てのデータ送信はWLAN(Infra mode)のインターフェースが選択される。
一方、アドホックネットワークでは、リンクローカルアドレスを用いるのが一般的であるため、リンクローカルアドレスが設定された他の端末と通信するために、たとえば次のようなエントリがルーティングテーブルに登録される。
・宛先IPアドレス: 169.254.0.0/16
・ゲートウェイIPアドレス: 169.254.11.22
・インターフェース: WLAN(Adhoc mode)
このエントリにより、169.254.0.0〜169.254.255.255宛てのデータ送信はWLAN(Adhoc mode)のインターフェースが選択される。
これらのルーティングテーブルの設定は、インフラモードとアドホックモードを排他的に使用する場合はどちらか片方のエントリしか登録されていないため問題とならない。しかし、両モードを同時に使用するために上記二つのエントリを登録した場合、宛先IPアドレスが同一のエントリが二つ存在するため、インターフェースの選択を適切に行えなくなってしまう。
また、MAC層とIP層の間に送信に使用するインターフェースを選択するための階層を追加する方法は既存のネットワークスタックに大規模な修正が必要となり、開発負荷が高い。さらに、このような修正は汎用性が乏しいため、使用するネットワークスタック毎に夫々の仕様に合わせた修正を行う必要があり、開発負荷を増大させる要因となりえるといった課題があった。
本発明は、上記の課題に鑑みてなされたものであり、複数のネットワークで並行して通信する場合においても、アプリケーションからのデータを適切なネットワークに対して送信することが可能な通信装置及び通信方法を提供することを目的とする。
上記課題を解決するための本発明の一態様による通信装置は以下の構成を有する。すなわち、
第1のネットワークと、前記第1のネットワークとは異なる第2のネットワークとで並行して通信可能な通信装置であって、
前記第2のネットワークに接続する他の通信装置が前記第2のネットワークにおいて通信するためのアドレスが重複しているか否かを判定するためのアドレス解決であって、前記他の通信装置が実行するアドレス解決、前記第2のネットワークにおいて検知する検知手段と、
前記検知手段により検知された前記アドレス解決により示される、前記他の通信装置が前記第2のネットワークにおいて通信するためのアドレスが、前記第1のネットワークにおいて使用中か否かを確認する確認手段と、
前記確認手段により使用中でないことが確認された場合、当該アドレスに対してデータを送信する際には前記第2のネットワークにデータを送信することを記憶する記憶手段と、を有する。
複数のネットワークで並行して通信する場合においても、アプリケーションからのデータを適切なネットワークに対して送信することが可能となる。
実施形態によるネットワーク構成例を示す図。 実施形態の通信装置の構成を示すブロック図。 通信装置内のソフトウェア機能を示すブロック図。 第一実施形態における装置の処理を示すフローチャート。 第一実施形態における装置の処理を示すフローチャート。 第一実施形態における装置間の処理シーケンスを示す図。 第一実施形態における装置間の処理シーケンスを示す図。 第一実施形態におけるルーティングテーブルの一例を示す図。 第二実施形態における装置の処理を示すフローチャート。 第二実施形態における装置の処理を示すフローチャート。
以下、本実施例に係る通信装置について、図面を参照しながら詳細に説明する。以下では、IEEE802.11シリーズに準拠した無線LANシステムを用いた例について説明するが、本発明が採用可能な通信形態は必ずしもIEEE802.11準拠の無線LANに限られるものではない。
[第一実施形態]
図1は、本実施形態に係る通信装置である第1のステーション(以下、STA1)、アクセスポイント(以下、AP)および、第2、第3のステーション(以下、STA2、STA3)を含むネットワークシステムの構成例を示した図である。11はAPであり、LANおよびWANでの通信が可能な第1のネットワークを構成し管理している。本実施形態では、第1のネットワークとして無線LANのインフラネットワーク15を用いた例を説明する。APはWANに接続しており、インフラネットワーク15配下の端末はAPを介してWANでの通信が可能である。12はインフラモードとアドホックモードの両方の機能を同時動作可能なSTA1であり、インフラモードでインフラネットワーク15に接続している。また、STA1はアドホックモードでアドホックネットワーク16を構成している。13はSTA2であり、LANでの通信のみが可能な第2のネットワークを構成している。本実施形態では、第2のネットワークとしてアドホックネットワーク16を用いた例を説明する。14はSTA3であり、インフラネットワーク15に接続している。インフラネットワーク15とアドホックネットワーク16は独立して動作しており、ネットワーク識別子(以下、SSID)、認証方式、暗号方式等は異なっていてもよい。図1に示されるように、第1のネットワークと第2のネットワークとは並行して動作している。
図2は通信装置12(SAT1)の構成の一例を表す機能ブロック図である。201は、通信装置12の全体を示す。202は表示部であり、各種表示を行う。表示部202は、視覚での認知が可能なように情報を出力する機能を持つLCDやLED、及び/あるいは、音出力が可能な機能を有するスピーカを具備する。203は制御部であり、記憶部204に記憶される制御プログラムを実行することにより装置全体を制御する。204は記憶部であり、制御部203が実行する制御プログラムを記憶する。後述する各種動作は、記憶部204に記憶された制御プログラムを制御部203が実行することにより行われる。205は入力部であり、後述するネットワーク検索処理をユーザが指示することなどに用いられる。206は無線通信を行うための無線部である。207はアンテナ制御部である。また、208はアンテナ制御部207により制御されるアンテナである。また、本実施形態を適用可能な構成として、206乃至208とは別に無線部、アンテナ制御部、アンテナ部をもう一組有する構成でも良い。
図3は、制御部203が実行するソフトウェア機能ブロックの構成の一例を表すブロック図である。無線制御部301は、後述する304乃至305の各機能ブロックを含み、無線部206を制御する。ARP制御部302は、後述する306乃至309の各機能ブロックを含み、アドレス解決プロトコル(Address Resolution Protocol(以下、ARP))を制御する。IP制御部303は、後述する310乃至313の各機能ブロックを含み、インターネットプロトコル(Internet Protocol(以下、IP))の通信制御を行う。
無線制御部301において、インフラモード制御部304は、インフラモードの無線通信を制御する。アドホックモード制御部305は、アドホックモードの無線通信を制御する。このような構成により、無線制御部301は、アクセスポイントを介して通信が行われるインフラネットワークと、アクセスポイントを介さずに通信が行われるアドホックネットワークとで同時に通信可能となっている。
ARP制御部302において、Probe検知部306は、他の装置が送信するARPProbeを検知する。ARP Probeはリンクローカルアドレスの使用を開始する前に同じネットワーク内の論理アドレス(本実施形態ではIPアドレス)の重複を確認するために送信されるメッセージである。なお、ARP Probeは通常のARP Requestとは異なり、Sender Protocol Address(以下、SPA)に0.0.0.0を示す値がセットされる。重複確認部307は、ARPを使ったアドレス解決が成功した否かにより、同一のIPアドレスを使用している端末がネットワークに存在するかを確認する。存在確認部308は、ARPを使ったアドレス解決が成功した否かにより、特定のIPアドレスを使用している端末がネットワーク内に存在していることを確認する。重複通知部309は、ARPパケットを用いて他の端末にIPアドレスの重複を通知する。
IP制御部303において、パケット受信部310は、通信で用いるパケットを受信する。パケット送信部311は、通信で用いるパケットを送信する。ルーティングエントリ登録部312は、ルーティングテーブルにエントリを登録する。ルーティングエントリ削除部313は、ルーティングテーブルからエントリを削除する。
図4は、本実施形態によるSTA1のルーティングテーブル設定処理を示したフローチャートである。STA1のProbe検知部306は、第2のネットワークとしてのアドホックネットワークにおいて、アドレス解決プロトコルのパケット(本実施形態では、ARP Probeとする)を受信するまで待機する(S401)。Probe検知部306がARPProbeの受信を検知したら、重複確認部307は、ARP Probeに記載されている送信元の論理アドレスが第1のネットワークとしてのインフラネットワークにおいて使用中か否かを確認する。すなわち、重複確認部307は、インフラネットワークでARP Probeに記載されているIPアドレスが重複するか否か確認を行う(S402、S403)。
より具体的には、重複確認部307は、S401で受信したARP ProbeのTarget Protocol Address(以下、TPA)にセットされているIPアドレスと同一のIPアドレスが使用されているかを確認する。確認の手順の一例としては、ARP Requestを送信し、ARP Replyの返信によりアドレス解決に成功した場合は重複するIPアドレスが使用されているとみなすことが挙げられる。もちろん、その他の方法を用いてもよい。また、通信装置が3つ以上の通信インターフェースを備えている場合は、ARP Probeを受信した通信インターフェース以外の通信インターフェースからARPRequestを送信することで実現可能である。
重複通知部309は、S403における判定の結果、IPアドレスの重複を確認したら、アドホックネットワークにおいてARP Probeを送信した端末(アドレスの取得を要求した端末)にIPアドレスの重複を通知する(S408)。重複の通知は、ARP Probeに対する応答としてARP Replyを送信することで実現可能であるし、その他の手順、構成を用いてもよい。また、S403の結果、IPアドレスが重複していなかった場合(未使用であった場合)は、ARP Announcementを所定の時間待受ける(S404、S405)。所定の時間内にARP Announcementを受信できなかった場合は処理を終了する。ARPAnnouncementを受信できないケースとしては、ARP Probeを送信した端末がAutoIPの処理を中断した場合や、アドホックネットワーク内で他の端末同士のIPアドレスが重複した場合などが考えられる。
ARP Announcementを受信した場合、ルーティングエントリ登録部312は、Sender Protocol Address(以下、SPA)にセットされたIPアドレスを宛先IPアドレス(宛先論理アドレス)とするホストエントリを、ルーティングテーブルに追加する(S406)。ここで、ネットワークエントリは宛先IPアドレスをIPアドレスの範囲で指定するのに対し、ホストエントリは宛先IPアドレスを単一のIPアドレスで指定する。そのため、ホストエントリを用いることで特定の端末に対する経路情報をルーティングテーブルに登録することができる。ホストエントリの登録が完了すると、次に存在確認部308が存在確認処理を行う(S407)。存在確認処理が完了すると本処理は終了となる。以下、S507における存在確認処理について詳細に説明する。
図5は、STA1による存在確認処理(S407)を示したフローチャートである。まず、STA1の存在確認部308は所定の周期で上記ホストエントリに登録されたIPアドレスに対するアドレス解決要求をアドホックネットワークにおいて通知する。この処理はS501、S502により実現される。すなわち、存在確認部308は、まず、所定時間待機する(S501)。そして、所定時間の待機が完了すると、存在確認部308は、存在確認対象のIPアドレスに対するアドレス解決を実施するため、ARP Requestを送信する(S502)。次に、存在確認部308は、アドレス解決応答(本実施形態では、当該ARP Requestに対する応答であるARP Reply)を一定時間待受ける(S503、S504)。ARP Requestの送信から一定時間内にARP Replyを受信したと判断された場合(S504でYES)、対象のIPアドレスを使用している端末が存在していると判断され、処理はS501に戻り、存在確認部308は再度所定時間だけ待機する。他方、一定時間内にARP Replyを受信できなかった場合(S5044でNO)、対象のIPアドレスを使用している端末は存在しないと判断される。この場合、ルーティングエントリ削除部313は、存在確認対象のIPアドレスを宛先IPアドレスとするホストエントリをルーティングテーブルから削除する(S505)。エントリの削除が完了したら存在確認処理は終了となる。
図6は、APが構築するインフラネットワークにSTA1が接続しており、STA1とSTA2がアドホックネットワークを構成した状態でSTA2がAutoIPでIPアドレスを設定する際のシーケンス図である。なお、APのIPアドレスには192.168.1.1が設定されている。また、STA1のインフラモードのIPアドレスには192.168.1.10が設定されており、STA1のアドホックモードのIPアドレスには169.254.11.22が設定されている。また、シーケンス開始時点でのSTA1のルーティングテーブルは図8の(A)に示す通りである。
まず、STA2はリンクローカルアドレスを生成する(F601)。この例では、169.254.73.50というIPアドレスが生成されたものとする。次に、STA2は、AutoIPの重複アドレス検知処理として、ARP Probeをアドホックネットワーク内にブロードキャスト送信する(F602)。
STA1では、Probe検知部306がSTA2のARP Probeを受信すると、S401,S402で説明したように、重複確認部307がインフラネットワークに同一のIPアドレスが使用されていないかを確認する重複確認を開始する(F603)。STA1の重複確認部307は、APを経由してARP Requestをインフラネットワーク内にブロードキャスト送信する(F604)。この例では、インフラネットワーク内に169.254.73.50を使用している端末が存在しないため、ARP Replyは返信されず、重複確認部307は重複するIPアドレスは存在しないと判断する。
STA2は、ARP Probeを送信してから所定の時間が経過するまで重複通知(S408、ARP Reply)を受信しなかった場合は、重複アドレスが存在しないと判断し、F601で生成したアドレスをIPアドレスに確定する(F605)。そして、STA2は、ARP Announcementをアドホックネットワーク内にブロードキャスト送信する(F606,F607)。ARP AnnouncementはGratuitous ARPとも呼ばれ、通常のARP Requestとは異なり、TPAに自装置が使用するIPアドレスがセットされている。STA1のルーティングエントリ登録部312は、ARP Announcementを受信するとSTA2のIPアドレス(ARPAnnouncementにセットされているIPアドレス)を宛先IPアドレスとするホストエントリを登録する(F608)。
F608で更新されたルーティングテーブルを図8(B)に示す。No.1のエントリにより、169.254.73.50宛のデータはWLAN(Adhoc mode)のインターフェースが選択される。また、No.2のエントリにより169.254.73.50以外の169.254.0.0〜169.254.255.255宛のデータ送信はWLAN(Infra mode)のインターフェースが選択される。
STA1の存在確認部308は、エントリの登録が完了すると、当該エントリの存在確認のために所定の時間待機し(F609)、STA2のIPアドレスのアドレス解決処理を開始する。すなわち、STA1の存在確認部308はARP Requestをアドホックネットワーク内にブロードキャスト送信し(F610)、STA2からARP Replyを受信する(F611)ことでSTA2の存在を確認する。以後、存在確認部308はF609乃至F611の処理を繰返し行い、STA2の存在が確認できない場合はルーティングエントリ削除部313がF608で登録したホストエントリを削除する。
次に、図7を用いて、インフラネットワークにおいて重複が検知された場合の動作例を示す。図7は、APが構築するインフラネットワークにSTA1及び第3のステーションSTA3が接続しており、STA1とSTA2がアドホックネットワークを構成した状態でSTA2がAutoIPでIPアドレスを設定する際のシーケンス図である。
F701乃至F704の処理は、F601乃至F604と同様である。STA3がARPRequestを受信する(F705)と、Target Protocol Address(TPA)が自装置のIPアドレスと同一であると判断する。ARP RequestのTPAが自装置のIPアドレスと同一であると判断したSTA3は、APを経由してSTA1にARP Replyを返信する(F706、F707)。このARP Replyを受信したSTA1の重複確認部307は、STA2が割り当てようとしているIPアドレスがインフラネットワーク内で使用中であると判断する(F708)。そして、重複通知部309は、IPアドレスの重複を通知するためにARP ReplyをSTA2に送信する(F709)。STA2はARP Replyを受信すると、F701で生成したIPアドレスが重複していると判断し、同IPアドレスの使用を断念する(F710)。STA2はアドレスの割り当てに失敗した場合、再度IPアドレスの生成からAutoIPの処理をやり直す。
以上、第一実施形態では、インフラモードとアドホックモードの二つの通信インターフェースを備える通信装置を例に説明したが、他の通信インターフェースを備えた場合でも適用可能である。例えば、イーサネット(登録商標)(Ethernet(登録商標))と無線LANの2つの通信インターフェースを備えた通信装置にも適用可能である。また、三つ以上の通信インターフェースを備えた通信装置にも適用可能である。
また、第一実施形態では、IPv4のルーティングテーブルを管理するために、ARPを用いた例を示したが、これに限られるものではない。例えば、ARPの代わりにICMPv6のNeighbor SolicitationとNeighbor DiscoveryProtocol(NDP)を用いることで、IPv6においても同様の動作を実施することが可能である。
以上説明したように、第一実施形態によれば、通信装置はアドホックネットワーク内の他の端末に対するホストエントリを適切に管理することが可能である。そのため、インフラネットワーク内のリンクローカルアドレスが設定された端末と通信が可能な状態を維持したまま、アドホックネットワーク内のリンクローカルアドレスが設定された端末とも通信が可能となる。
なお、上述の説明では、ARP Probeを用いてアドレスの重複確認を行ったが、ARP RequestやARP Announceなどの他のARPパケットを用いてアドレスの重複確認を行うようにしてもよい。
[第二実施形態]
次に、図面を参照しながら本発明に係る第二実施形態を詳細に説明する。第一実施形態では、アドホックネットワークの通信装置であるSTA2が生成したIPアドレスがインフラネットワークで未使用のIPアドレスであった場合に、当該IPアドレスのエントリ情報をホストエントリとしてルーティングテーブルに登録した。第二実施形態では、当該未使用のIPアドレスを宛先に含み、且つ、第2のネットワーク以外のインターフェースに対応するネットワークエントリが存在する場合に、上記エントリ情報をホストエントリの形態で登録する。そして、その他の場合には第2のネットワークのインターフェースに対応するネットワークエントリと当該IPアドレスを登録したリストという形態で上記エントリ情報を登録する。尚、第二実施形態におけるネットワークシステムの構成、通信装置の構成は第1実施形態と同様であり、図1乃至図3を用いて説明したとおりである。第二実施形態では、第一実施形態と同様にSTA1がSTA2と通信するためのルーティングテーブル管理方法について説明する。
図9は第二実施形態におけるSTA1がルーティングテーブルを管理するための処理を説明するフローチャートである。STA1は、パケット受信部310によりARPパケットが受信されるまで待機する(S901)。なお、ARPパケットには、ARP Request、ARP Probe、ARP Announceなどが含まれ、これら全てのパケットを対象としても良いし、特定のパケットに限定しても良い。
STA1の重複確認部307は、ARPパケットを受信するとS402と同様に他のネットワークにおいてIPアドレスの重複確認を行う(S902、S903)。確認の結果、重複していると判断したら、S408と同様に重複通知部309が当該ARPパケットの送信元に対して重複を通知する(S905)。他方、重複していないと判断された場合は、ルーティングエントリ登録部312が、当該IPアドレスを含むネットワークアドレスが既にルーティングテーブルに設定されているかを確認する(S904)。例えば、ARPから取得したIPアドレスが169.254.73.50の場合、169.254.0.0/16というネットワークアドレスを宛先IPアドレスとするエントリが既に存在するかが確認される。
S904の結果、該当するネットワークエントリが登録されていないと判断した場合、ルーティングエントリ登録部312は、当該IPアドレスを宛先に含むルーティングテーブルにネットワークエントリを追加する(S907)。たとえば、IPアドレスが169.254.73.50の場合、169.254.0.0/16という宛先アドレスのネットワークエントリがルーティングテーブルに追加される。次に、ルーティングエントリ登録部312は、当該ネットワークエントリを管理するためにホストリストを作成する(S910)。ここで、ホストリストはネットワークエントリで指定されたネットワークアドレスに含まれる使用中のIPアドレスを列挙したものである。したがって、ネットワークエントリとホストリストに登録されたIPアドレスとでホストエントリに対応したエントリ情報が得られることになる。換言すれば、ネットワークエントリとホストリストによりホストエントリが構成されることになる。こうしてネットワークエントリの作成が完了すると、存在確認部308は、ネットワークエントリの存在確認処理を実行する(S912)。ネットワークエントリの存在確認処理についての説明は後述する。ネットワークエントリの存在確認処理が終了すると処理終了となる。
S904の結果、該当するネットワークが存在する場合は、該ネットワークエントリがARPパケットを受信したインターフェースと同じインターフェースであるかを判断する(S906)。例えば、ARPパケットを受信したインターフェースがアドホックモードで、既に存在するネットワークエントリのインターフェースがWLAN(Adhoc mode)であった場合、同一のインターフェースである(インターフェースが一致する)と判断される。
S906の結果、インターフェースが一致しない(異なる)と判断された場合は、ルーティングエントリ登録部312は、第一実施形態(S406)と同様にホストエントリを登録する(S909)。ホストエントリの登録が完了すると、存在確認部308は当該ホストエントリについて第一実施形態(S407、図5)と同様の存在確認処理を行う(S911)。ホストエントリの存在確認処理が終了すると処理終了となる。他方、S906の結果、インターフェースが一致すると判断された場合は、ルーティングエントリ登録部312は、ホストリストにARPパケットのTPAにセットされているIPアドレスを追加する(S908)。前述のように、ホストリストに関する存在確認処理はS912で実行されているので、S908でホストリストへのIPアドレスの追加が完了すると処理終了となる。
次に図面を用いて第二実施形態におけるネットワークエントリの存在確認処理を説明する。図10は第二実施形態におけるSTA1のネットワークエントリの存在確認処理(S912)を示したフローチャートである。
まず、STA1の存在確認部308は所定の時間だけ待機する(S1001)。待機が完了すると、存在確認部308は、存在確認対象のIPアドレスに対するアドレス解決を実施するため、パケット送信部311を介してARP Requestを送信する(S1002)。ここで、存在確認対象はホストリスト内の単一のIPアドレスに対して実施する。例えば、ホストリストの先頭のIPアドレスを存在確認対象としても良いし、その他の方法を用いても良い。
次に、存在確認部308は、S503と同様にARP Replyを一定時間待受け(S1003、S1004)る。一定時間内にARP Replyを受信した場合、処理はS1001に戻り、存在確認部308は再度所定時間だけ待機する。S1004で一定時間内にARP Replyを受信できなかった場合、存在確認部308は、ルーティングエントリ削除部313に存在確認対象のIPアドレスをホストリストから削除させることでホストリストの更新を行う(S1005)。次に、存在確認部308は、更新されたホストリストが空であるかを確認する(S1006)。S1006の結果、ホストリストが空ではないと判断された場合、処理はS1002に戻り、存在確認部308は再度ARP Requestを送信する。他方、S1006の結果、ホストリストが空と判断された場合、ルーティングエントリ削除部313は、ルーティングテーブルから該当するネットワークエントリを削除する(S1007)。エントリの削除が完了すると存在確認処理は終了となる。
以上の様な第2実施形態によれば、装置の状態に応じてネットワークエントリとホストエントリを使い分けるため、ルーティングテーブルによるインターフェース選択を効率的に行うことが可能となる。また、ネットワークエントリの場合、同エントリの対象となるホストリスト内のIPアドレス一つに対してのみ存在確認を行うため、ホストエントリを複数登録する場合と比較して処理負荷が軽くなる。
また、上記実施形態によれば、socketインターフェース及びルーティングテーブル管理といった汎用的なAPIを用いることで実現可能であるため、データ送信制御が簡素化され、開発負荷を減少させることが可能となる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (16)

  1. 第1のネットワークと、前記第1のネットワークとは異なる第2のネットワークとで並行して通信可能な通信装置であって、
    前記第2のネットワークに接続する他の通信装置が前記第2のネットワークにおいて通信するためのアドレスが重複しているか否かを判定するためのアドレス解決であって、前記他の通信装置が実行するアドレス解決、前記第2のネットワークにおいて検知する検知手段と、
    前記検知手段により検知された前記アドレス解決により示される、前記他の通信装置が前記第2のネットワークにおいて通信するためのアドレスが、前記第1のネットワークにおいて使用中か否かを確認する確認手段と、
    前記確認手段により使用中でないことが確認された場合、当該アドレスに対してデータを送信する際には前記第2のネットワークにデータを送信することを記憶する記憶手段と、
    を有することを特徴とする通信装置。
  2. 第1のネットワークと、前記第1のネットワークとは異なる第2のネットワークとで並行して通信可能な通信装置であって、
    前記第2のネットワークにおける他の通信装置からのアドレス解決を検知する検知手段と、
    前記検知手段により検知された前記アドレス解決に含まれている送信元のアドレスが、前記第1のネットワークにおいて使用中か否かを確認する確認手段と、
    前記確認手段により使用中でないことが確認された場合、当該アドレスに対してデータを送信する際には前記第2のネットワークにデータを送信することを記憶する記憶手段と、
    前記第2のネットワークにおいて前記他の通信装置に対するアドレス解決要求を通知する通知手段と、
    前記通知手段により通知したアドレス解決要求に対する応答を受信する受信手段と、
    前記応答を受信できなかった場合に前記記憶手段に記憶した前記他の通信装置に関する情報を削除する削除手段と、
    を有することを特徴とする通信装置。
  3. 前記検知手段は、前記他の通信装置が送信したアドレス解決プロトコルのパケットを受信することにより、前記他の通信装置の前記アドレス解決を検知することを特徴とする請求項1または2に記載の通信装置。
  4. 前記記憶手段により記憶した情報に基づいて、前記他の通信装置のアドレスに対してデータを送信する際には、前記第2のネットワークにデータを送信する送信手段を更に有することを特徴とする請求項1乃至3のいずれか1項に記載の通信装置。
  5. 前記アドレスは論理アドレスであり、
    前記記憶手段は、ルーティングテーブルに前記論理アドレスのみを宛先論理アドレスとするエントリ情報を登録することを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
  6. 前記記憶手段は、前記論理アドレスに対応したネットワークエントリが既に前記ルーティングテーブルに登録されており、且つ、当該ネットワークエントリが前記第2のネットワーク以外のインターフェースに対応する場合は、前記エントリ情報をホストエントリの形態で前記ルーティングテーブルに登録し、
    他の場合には、前記エントリ情報を、前記論理アドレスに対応し、前記第2のネットワークのインターフェースに対応したネットワークエントリと、前記論理アドレスを登録したリストとにより前記ルーティングテーブルに登録することを特徴とする請求項5に記載の通信装置。
  7. 第1のネットワークと、前記第1のネットワークとは異なる第2のネットワークとで並行して通信可能な通信装置であって、
    前記第2のネットワークにおける他の通信装置のアドレスを検知する検知手段と、
    前記検知手段により検知された前記他の通信装置のアドレスが、前記第1のネットワークにおいて使用中か否かを確認する確認手段と、
    前記確認手段により使用中でないことが確認された場合、当該アドレスに対してデータを送信する際には前記第2のネットワークにデータを送信することを記憶する記憶手段と、を有し、
    前記アドレスは論理アドレスであり、
    前記記憶手段は、
    ルーティングテーブルに前記論理アドレスのみを宛先論理アドレスとするエントリ情報を登録し、
    前記論理アドレスに対応したネットワークエントリが既に前記ルーティングテーブルに登録されており、且つ、当該ネットワークエントリが前記第2のネットワーク以外のインターフェースに対応する場合は、前記エントリ情報をホストエントリの形態で前記ルーティングテーブルに登録し、
    他の場合には、前記エントリ情報を、前記論理アドレスに対応し、前記第2のネットワークのインターフェースに対応したネットワークエントリと、前記論理アドレスを登録したリストとにより前記ルーティングテーブルに登録することを特徴とする通信装置。
  8. 前記確認手段により前記アドレスが使用中であることが確認された場合に、その旨を前記アドレスを要求した送信元に通知する手段を更に備えることを特徴とする請求項1乃至7のいずれか1項に記載の通信装置。
  9. 前記第1のネットワークは無線LANのインフラネットワークであり、前記第2のネットワークは無線LANのアドホックネットワークであることを特徴とする請求項1乃至8のいずれか1項に記載の通信装置。
  10. 前記アドレスはIPv4の論理アドレスであり、前記アドレス解決プロトコルはARP(AddressResolution Protocol)であることを特徴とする請求項に記載の通信装置。
  11. 前記アドレスはIPv6の論理アドレスであり、前記アドレス解決プロトコルはNDP(NeighborDiscovery Protocol)であることを特徴とする請求項に記載の通信装置。
  12. 前記第1のネットワークおよび前記第2のネットワークは無線ネットワークであることを特徴とする請求項1乃至11のいずれか1項に記載の通信装置。
  13. 前記通信装置が前記第1のネットワークで通信する場合、前記第1のネットワークを形成したアクセスポイントを介して、前記第1のネットワークに所属するステーションとしての装置と通信し、
    前記通信装置が前記第2のネットワークで通信する場合、前記通信装置は、前記第2のネットワークに所属する装置と、中継装置を介することなく、直接に通信することを特徴とする請求項12に記載の通信装置。
  14. 第1のネットワークと、前記第1のネットワークとは異なる第2のネットワークとで並行して通信可能な通信装置の制御方法であって、
    前記第2のネットワークに接続する他の通信装置が前記第2のネットワークにおいて通信するためのアドレスが重複しているか否かを判定するためのアドレス解決であって、前記他の通信装置が実行するアドレス解決、前記第2のネットワークにおいて検知する検知工程と、
    前記検知工程において検知された前記アドレス解決により示される、前記他の通信装置が前記第2のネットワークにおいて通信するためのアドレスが、前記第1のネットワークにおいて使用中か否かを確認する確認工程と、
    前記確認工程において使用中であることが確認された場合、当該アドレスに対してデータを送信する際には前記第2のネットワークにデータを送信することを記憶する記憶工程と、
    を有することを特徴とする制御方法。
  15. 第1のネットワークと、前記第1のネットワークとは異なる第2のネットワークとで並行して通信可能な通信装置の制御方法であって、
    前記第2のネットワークにおける他の通信装置のアドレスを検知する検知工程と、
    前記検知工程において検知された前記他の通信装置のアドレスが、前記第1のネットワークにおいて使用中か否かを確認する確認工程と、
    前記確認工程において使用中であることが確認された場合、当該アドレスに対してデータを送信する際には前記第2のネットワークにデータを送信することを記憶する記憶工程と、を有し、
    前記アドレスは論理アドレスであり、
    前記記憶工程では、
    ルーティングテーブルに前記論理アドレスのみを宛先論理アドレスとするエントリ情報を登録し、
    前記論理アドレスに対応したネットワークエントリが既に前記ルーティングテーブルに登録されており、且つ、当該ネットワークエントリが前記第2のネットワーク以外のインターフェースに対応する場合は、前記エントリ情報をホストエントリの形態で前記ルーティングテーブルに登録し、
    他の場合には、前記エントリ情報を、前記論理アドレスに対応し、前記第2のネットワークのインターフェースに対応したネットワークエントリと、前記論理アドレスを登録したリストとにより前記ルーティングテーブルに登録することを特徴とする制御方法。
  16. コンピュータを、請求項1乃至13のいずれか1項に記載の通信装置の各手段として機能させるプログラム。
JP2010250259A 2010-11-08 2010-11-08 通信装置、および、その制御方法 Active JP5820106B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010250259A JP5820106B2 (ja) 2010-11-08 2010-11-08 通信装置、および、その制御方法
US13/288,455 US8774188B2 (en) 2010-11-08 2011-11-03 Communication apparatus and method of controlling same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010250259A JP5820106B2 (ja) 2010-11-08 2010-11-08 通信装置、および、その制御方法

Publications (2)

Publication Number Publication Date
JP2012104970A JP2012104970A (ja) 2012-05-31
JP5820106B2 true JP5820106B2 (ja) 2015-11-24

Family

ID=46019584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010250259A Active JP5820106B2 (ja) 2010-11-08 2010-11-08 通信装置、および、その制御方法

Country Status (2)

Country Link
US (1) US8774188B2 (ja)
JP (1) JP5820106B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5950699B2 (ja) 2012-05-31 2016-07-13 キヤノン株式会社 通信装置及びその制御方法
JP6263962B2 (ja) * 2013-03-05 2018-01-24 株式会社リコー 通信装置、通信方法及びプログラム
JP5862975B2 (ja) * 2013-08-30 2016-02-16 Necパーソナルコンピュータ株式会社 電子装置、情報処理システム、および装置のプログラム
WO2015115748A1 (en) * 2014-01-31 2015-08-06 Lg Electronics Inc. Method for handling an id collision for d2d communication system and device therefor
KR102064614B1 (ko) * 2015-03-10 2020-01-09 엘에스산전 주식회사 Plc 이더넷 통신 모듈의 ip 주소 충돌 확인방법
JP6664244B2 (ja) * 2016-03-16 2020-03-13 キヤノン株式会社 通信装置およびその制御方法
JP6954071B2 (ja) * 2017-12-11 2021-10-27 サクサ株式会社 ネットワーク監視装置および方法
US10938772B2 (en) * 2019-02-25 2021-03-02 Ambit Microsystems (Shanghai) Ltd. Access device for analysis of physical links and method thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3097581B2 (ja) * 1996-12-27 2000-10-10 日本電気株式会社 アドホックローカルエリアネットワークの構成方法、通信方法及び端末
US7065376B2 (en) 2003-03-20 2006-06-20 Microsoft Corporation Multi-radio unification protocol
JP4286707B2 (ja) * 2004-04-19 2009-07-01 株式会社日立製作所 グループ通信システム、グループ通信システムの制御方法、情報処理装置、及びプログラム
JP4410070B2 (ja) * 2004-09-17 2010-02-03 富士通株式会社 無線ネットワークシステムおよび通信方法、通信装置、無線端末、通信制御プログラム、端末制御プログラム
US8073007B2 (en) * 2008-06-24 2011-12-06 Qualcomm Incorporated Method and apparatus for intertechnology IPv6 address configuration
US8316137B2 (en) * 2008-06-24 2012-11-20 Qualcomm Incorporated Method and apparatus for ensuring IPv6 uniqueness in a mobile subnetted environment

Also Published As

Publication number Publication date
JP2012104970A (ja) 2012-05-31
US20120113970A1 (en) 2012-05-10
US8774188B2 (en) 2014-07-08

Similar Documents

Publication Publication Date Title
JP5820106B2 (ja) 通信装置、および、その制御方法
JP5994261B2 (ja) 通信装置
JP5348094B2 (ja) 支援装置及びコンピュータプログラム
US10110488B2 (en) Data link interface internet protocol (IP) address generation
JP4199672B2 (ja) Ipアドレスからmacアドレスへのマッピングの自動構成およびゲートウェイの存在の発見を行うシステムおよび方法
JP2013214801A (ja) 通信装置
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
JP5353683B2 (ja) 無線通信システム、無線通信機器および情報通知方法
WO2006068747A2 (en) Distributed domain name service
WO2014010183A1 (ja) ゲートウェイ装置、ネットワークシステム及び通信方法
JP4549055B2 (ja) 無線パーソナルエリアネットワークにおけるネットワークアドレスの設定方法
JP4635592B2 (ja) ドキュメント処理システム
JP2004364109A (ja) テンポラリアドレス通信装置、プログラム、記録媒体、および方法
JP5915314B2 (ja) 通信装置
JP5040949B2 (ja) 通信装置とアクセスポイントとアドレス提供システム。
JP2006054707A (ja) 無線lanのアドホックモードにおける通信装置、設定プログラム及び接続方法
JP6269752B2 (ja) 通信装置
JP2016036190A (ja) 通信装置
JP2006211347A (ja) 無線通信システム
JP2009225287A (ja) 通信システム、サーバ装置、クライアント装置、通信方法、プログラムおよび記録媒体
JP6519668B2 (ja) 通信装置
JP2014241513A (ja) 通信装置、通信装置の制御方法、及びプログラム
JP4242752B2 (ja) アドレス表管理方法、及び、端末
JP2014216766A (ja) 通信装置、通信装置の制御方法、プログラム
CN111372328B (zh) 数据的通信方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150702

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151002

R151 Written notification of patent or utility model registration

Ref document number: 5820106

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151