特許第5690008号(P5690008)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 西日本電信電話株式会社の特許一覧

特許5690008中継装置、設定方法及びコンピュータプログラム
<>
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000002
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000003
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000004
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000005
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000006
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000007
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000008
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000009
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000010
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000011
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000012
  • 特許5690008-中継装置、設定方法及びコンピュータプログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】5690008
(24)【登録日】2015年2月6日
(45)【発行日】2015年3月25日
(54)【発明の名称】中継装置、設定方法及びコンピュータプログラム
(51)【国際特許分類】
   H04L 12/46 20060101AFI20150305BHJP
   H04L 12/28 20060101ALI20150305BHJP
【FI】
   H04L12/46 M
   H04L12/28 200M
   H04L12/46 100C
【請求項の数】5
【全頁数】22
(21)【出願番号】特願2014-111441(P2014-111441)
(22)【出願日】2014年5月29日
【審査請求日】2014年5月29日
(73)【特許権者】
【識別番号】399041158
【氏名又は名称】西日本電信電話株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】寶満 剛
(72)【発明者】
【氏名】金田 泰明
(72)【発明者】
【氏名】伊勢 悠輝
(72)【発明者】
【氏名】崎野 真也
(72)【発明者】
【氏名】黒田 哲平
(72)【発明者】
【氏名】米元 大我
(72)【発明者】
【氏名】橋詰 英範
(72)【発明者】
【氏名】明石 勝希
(72)【発明者】
【氏名】立石 尚之
【審査官】 大石 博見
(56)【参考文献】
【文献】 特開2012−80401(JP,A)
【文献】 特開2009−271651(JP,A)
【文献】 特開2008−295068(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/46
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
外部ネットワークが位置する上流側と、通信装置が位置する下流側との間で通信の中継を行う中継装置であって、
他の装置から受信された情報に基づいて、自装置を親中継装置又は子中継装置のいずれかに設定する設定部と、
自装置が親中継装置である場合、他の装置から受信された情報に基づいて、自装置より下流側に位置する中継装置を検知する検知部と、
自装置が親中継装置である場合、前記検知部によって検知された中継装置に対して子中継装置として動作する旨の指示を送信する指示部と、
自装置が親中継装置である場合、自装置よりも上流側に位置する装置と子中継装置との間で行われる通信を中継し、自装置が子中継装置である場合、自装置に帰属する通信装置と親中継装置との間で行われる通信を中継する中継部と、
を備え、
前記設定部は、他の親中継装置から送信された前記指示が受信された場合に自装置を子中継装置に設定する中継装置。
【請求項2】
前記検知部は、IPv6のパケットが受信された場合に、自装置より下流側に位置する中継装置を検知する、請求項1に記載の中継装置。
【請求項3】
前記検知部は、IPv4の識別情報を要求するパケットが受信された場合に、自装置より下流側に位置する中継装置を検知する、請求項1に記載の中継装置。
【請求項4】
外部ネットワークが位置する上流側と、通信装置が位置する下流側との間で通信の中継を行う中継装置における設定方法であって、
他の装置から受信された情報に基づいて、自装置を親中継装置又は子中継装置のいずれかに設定する設定ステップと、
自装置が親中継装置である場合、他の装置から受信された情報に基づいて、自装置より下流側に位置する中継装置を検知する検知ステップと、
自装置が親中継装置である場合、前記検知ステップにおいて検知された中継装置に対して子中継装置として動作する旨の指示を送信する指示ステップと、
自装置が親中継装置である場合、自装置より上流側に位置する装置と子中継装置との間で行われる通信を中継し、自装置が子中継装置である場合、自装置に帰属する通信装置と親中継装置との間で行われる通信を中継する中継ステップと、
を有し、
前記設定ステップにおいて、他の親中継装置から送信された前記指示が受信された場合に自装置を子中継装置に設定する設定方法。
【請求項5】
外部ネットワークが位置する上流側と、通信装置が位置する下流側との間で通信の中継を行う中継装置としてコンピュータを動作させるためのコンピュータプログラムであって、
他の装置から受信された情報に基づいて、自装置を親中継装置又は子中継装置のいずれかに設定する設定ステップと、
自装置が親中継装置である場合、他の装置から受信された情報に基づいて、自装置より下流側に位置する中継装置を検知する検知ステップと、
自装置が親中継装置である場合、前記検知ステップにおいて検知された中継装置に対して子中継装置として動作する旨の指示を送信する指示ステップと、
自装置が親中継装置である場合、自装置より上流側に位置する装置と子中継装置との間で行われる通信を中継し、自装置が子中継装置である場合、自装置に帰属する通信装置と親中継装置との間で行われる通信を中継する中継ステップと、
をコンピュータに実行させ、
前記設定ステップにおいて、他の親中継装置から送信された前記指示が受信された場合に自装置を子中継装置に設定するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置の接続に関する設定の制御技術に関する。
【背景技術】
【0002】
近年、無線LAN(Local Area Network;例えばWi−Fi(登録商標)(Wireless Fidelity))の利用シーンが増加している(例えば、特許文献1参照)。
また、現在では、無線LAN(Local Area Network)機能が内蔵されたHGW(Home Gate Way:ホームゲートウェイ)が普及している。このようなHGWは、BBR(Broad Band Router)機能と、無線LAN機能とを有しているため、別途無線LANルータを購入しなくても1台のHGWで無線LANを利用してネットワークに接続することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−094656号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、オフィスなどの広い空間においては、1台のHGWでは十分に範囲をカバーすることができない。そのため、オフィス内で無線LANを利用する場合には、HGWとは別の無線LANルータを複数台用意してHGWに多段接続することが行われている。このような場合、各無線LANルータの設定を一括で管理するコントローラを用意して、コントローラにより各無線LANルータの設定を手動で行う必要がある。そのため、オフィス内で中継装置を多段接続する場合には、上述したような手間が生じてしまう。このような問題は、オフィス内で多段接続される無線LANルータやHGWなどの中継装置全般に共通する問題である。
【0005】
上記事情に鑑み、本発明は、オフィス内で中継装置を多段接続する際に生じる手間を軽減することができる技術の提供を目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、外部ネットワークが位置する上流側と、通信装置が位置する下流側との間で通信の中継を行う中継装置であって、他の装置から受信された情報に基づいて、自装置を親中継装置又は子中継装置のいずれかに設定する設定部と、自装置が親中継装置である場合、他の装置から受信された情報に基づいて、自装置より下流側に位置する中継装置を検知する検知部と、自装置が親中継装置である場合、前記検知部によって検知された中継装置に対して子中継装置として動作する旨の指示を送信する指示部と、自装置が親中継装置である場合、自装置よりも上流側に位置する装置と子中継装置との間で行われる通信を中継し、自装置が子中継装置である場合、自装置に帰属する通信装置と親中継装置との間で行われる通信を中継する中継部と、を備え、前記設定部は、他の親中継装置から送信された前記指示が受信された場合に自装置を子中継装置に設定する中継装置である。
【0007】
本発明の一態様は、上記の中継装置であって、前記検知部は、IPv6のパケットが受信された場合に、自装置より下流側に位置する中継装置を検知する。
【0008】
本発明の一態様は、上記の中継装置であって、前記検知部は、IPv4の識別情報を要求するパケットが受信された場合に、自装置より下流側に位置する中継装置を検知する。
【0009】
本発明の一態様は、外部ネットワークが位置する上流側と、通信装置が位置する下流側との間で通信の中継を行う中継装置における設定方法であって、他の装置から受信された情報に基づいて、自装置を親中継装置又は子中継装置のいずれかに設定する設定ステップと、自装置が親中継装置である場合、他の装置から受信された情報に基づいて、自装置より下流側に位置する中継装置を検知する検知ステップと、自装置が親中継装置である場合、前記検知ステップにおいて検知された中継装置に対して子中継装置として動作する旨の指示を送信する指示ステップと、自装置が親中継装置である場合、自装置より上流側に位置する装置と子中継装置との間で行われる通信を中継し、自装置が子中継装置である場合、自装置に帰属する通信装置と親中継装置との間で行われる通信を中継する中継ステップと、を有し、前記設定ステップにおいて、他の親中継装置から送信された前記指示が受信された場合に自装置を子中継装置に設定する設定方法である。
【0010】
本発明の一態様は、外部ネットワークが位置する上流側と、通信装置が位置する下流側との間で通信の中継を行う中継装置としてコンピュータを動作させるためのコンピュータプログラムであって、他の装置から受信された情報に基づいて、自装置を親中継装置又は子中継装置のいずれかに設定する設定ステップと、自装置が親中継装置である場合、他の装置から受信された情報に基づいて、自装置より下流側に位置する中継装置を検知する検知ステップと、自装置が親中継装置である場合、前記検知ステップにおいて検知された中継装置に対して子中継装置として動作する旨の指示を送信する指示ステップと、自装置が親中継装置である場合、自装置より上流側に位置する装置と子中継装置との間で行われる通信を中継し、自装置が子中継装置である場合、自装置に帰属する通信装置と親中継装置との間で行われる通信を中継する中継ステップと、をコンピュータに実行させ、前記設定ステップにおいて、他の親中継装置から送信された前記指示が受信された場合に自装置を子中継装置に設定するためのコンピュータプログラムである。
【発明の効果】
【0011】
本発明により、オフィス内で中継装置を多段接続する際に生じる手間を軽減することが可能となる。
【図面の簡単な説明】
【0012】
図1】本発明における中継システム100のシステム構成を示す図である。
図2】第1実施形態におけるHGWの機能構成を表す概略ブロック図である。
図3】HGW情報データベースの具体例を示す図である。
図4】第1実施形態における親HGW10の処理の流れを示すフローチャートである。
図5】第1実施形態におけるHGWの処理の流れを示すフローチャートである。
図6】第1実施形態における中継システム100の動作を示すシーケンス図である。
図7】第1実施形態における中継システム100の動作を示すシーケンス図である。
図8】第2実施形態におけるHGWの機能構成を表す概略ブロック図である。
図9】第2実施形態における親HGW10aの処理の流れを示すフローチャートである。
図10】第2実施形態における子HGW20aの処理の流れを示すフローチャートである。
図11】第2実施形態における中継システム100の動作を示すシーケンス図である。
図12】第2実施形態における中継システム100の動作を示すシーケンス図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本発明における中継システム100のシステム構成を示す図である。本発明の中継システム100は、親HGW10(親中継装置)、複数の子HGW20−1及び20−2(子中継装置)、中継器30、IPv6ルータ40及び制御サーバ50を備える。中継システム100には、通信装置60が接続される。親HGW10とIPv6ルータ40とは、PPPoE(Point-to-Point Protocol over Ethernet(登録商標))により通信可能に接続される。
なお、以下の説明では、子HGW20−1及び20−2について特に区別しない場合には、子HGW20と記載する。また、以下の説明では、親HGW10及び子HGW20について特に区別しない場合には、単にHGW(中継装置)と記載する。
【0014】
親HGW10は、中継器30を介して子HGW20との間で通信を行う。また、親HGW10は、IPv6ルータ40との間で通信を行う。例えば、親HGW10は、NDP(Neighbor Discovery Protocol)を利用してIPv6ルータ40との間でICMPv6(Internet Control Message Protocol for IPv6)パケットを送受信する。ICMPv6パケットは、例えばRS(Router solicitation)パケット、RA(Router advertisement)パケット、NS(Neighbor Solicitation)パケット及びNA(Neighbor Advertisement)パケットである。
【0015】
RSパケットは、IPv6のアドレス自動設定機能の1つであり、IPv6ルータ40にプレフィックス情報を要求するために送信されるパケットである。RAパケットは、RSパケットに対する応答パケットである。NSパケットは、L2アドレスの解決を要求するために送信されるパケットである。NAパケットは、NSパケットに対する応答パケットである。
子HGW20は、親HGW10と、自装置(子HGW20)に帰属する通信装置60との間で行われる通信を中継する。また、子HGW20は、中継器30及び親HGW10を介してIPv6ルータ40との間でICMPv6パケットを送受信する。また、子HGW20は、無線LAN接続によって通信装置60との間で通信を行う。無線LAN接続には、例えばWi−Fiが用いられる。また、子HGW20は、中継器30、IPv6ルータ40、親HGW10及び第1ネットワーク70を介して制御サーバ50との間で通信を行う。
【0016】
中継器30は、親HGW10と子HGW20との間における通信を中継する中継装置である。中継器30は、例えばL2スイッチやL2ブリッジなどである。また、中継器30は、子HGW20と子HGW20との間における通信を中継する。図1の場合、中継器30は、子HGW20−1と子HGW20−2との間における通信を中継する。
IPv6ルータ40は、親HGW10と第1ネットワーク70との間における通信を中継する中継装置である。IPv6ルータ40は、親HGW10からRSパケットを受信すると、応答としてRAパケットを親HGW10に送信する。この場合、IPv6ルータ40は、RAパケット内のMフラグのフィールドに、ステートレスモードでIPv6アドレスを取得することを示す情報(例えば、“0”の値)を格納する。つまり、IPv6ルータ40は、RAパケット内のMフラグのフィールドに、IPv6アドレスを自動生成することを示す情報(例えば、“0”の値)を格納する。
【0017】
制御サーバ50は、各HGW(親HGW10及び子HGW20)の制御を行う。例えば、制御サーバ50は、子HGW20のSSID(Service Set Identifier)、チャネル、コマンドなどの設定変更の制御を行う。
通信装置60は、例えばスマートフォン、タブレット端末、携帯電話、パーソナルコンピュータ、ノートパソコン、ゲーム機器等の情報処理装置を用いて構成される。通信装置60は、子HGW20との間で通信を行う。
【0018】
第1ネットワーク70は、どのように構成されたネットワークでもよい。例えば、第1ネットワーク70はNGN(Next Generation Network)を用いて構成されてもよい。
第2ネットワーク80は、どのように構成されたネットワークでもよい。例えば、第2ネットワーク80はインターネットを用いて構成されてもよい。
以下、本発明における中継システム100の具体的な構成例(第1実施形態及び第2実施形態)について説明する。
【0019】
[第1実施形態]
図2は、第1実施形態におけるHGWの機能構成を表す概略ブロック図である。親HGW10と子HGW20とは、同様の構成を有している。また、HGWは、後述するHGWの起動時や動作中の処理によって親HGW10、子HGW20のいずれかとして動作する。なお、HGWは、IPv4及びIPv6の双方に対応している。
HGWは、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、中継プログラムを実行する。中継プログラムの実行によって、HGWは、パケット生成部101、第1通信部102、通信制御部103、アドレス取得部104、設定部105、HGW情報記憶部106、親機能部107、子機能部108、第2通信部109を備える装置として機能する。また、親機能部107は、パケット読込部1071、親中継部1072、子動作指示部1073、DHCPv4サーバ機能部1074として機能する。また、子機能部108は、子中継部1081、接続制御部1082として機能する。なお、HGWの各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、中継プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、中継プログラムは、電気通信回線を介して送受信されてもよい。
【0020】
パケット生成部101は、各種パケットを生成する。パケット生成部101が生成するパケットは、例えばNSパケット及びRSパケットである。
第1通信部102は、他の装置(中継器30又はIPv6ルータ40)との間で通信を行う。第1通信部102は、IPv4インターフェース1021及びIPv6インターフェース1022を備える。IPv4インターフェース1021は、他の装置との間でIPv4によるデータの入出力を行う。IPv6インターフェース1022は、他の装置との間でIPv6によるデータの入出力を行う。例えば、パケット生成部101によって生成されたNSパケット及びRSパケットは、IPv6インターフェース1022を介して他の装置(中継器30又はIPv6ルータ40)に送信される。例えば、他の装置(中継器30又はIPv6ルータ40)から送信されたNAパケット及びRAパケットは、IPv6インターフェース1022を介して受信される。
【0021】
通信制御部103は、第1通信部102によって受信されたパケットに応じた制御を行う。例えば、受信されたパケットが自装置宛てのNAパケットである場合、通信制御部103はパケット生成部101にRSパケットの生成を指示する。例えば、受信されたパケットが自装置宛てのRAパケットである場合、通信制御部103は受信されたRAパケットをアドレス取得部104に出力する。
【0022】
アドレス取得部104は、RAパケット内のMフラグのフィールドの値に応じて自装置が使用するIPv6アドレスを取得する。例えば、RAパケット内のMフラグのフィールドの値がステートレスモードでIPv6アドレスを取得することを示す情報(例えば、“0”の値)である場合、アドレス取得部104はIPv6アドレスを自動生成する。より具体的には、アドレス取得部104は、RAパケットに格納されているプレフィックスの情報と、自装置のMACアドレスとに基づいて自装置が使用するIPv6アドレスを生成する。一方、RAパケット内のMフラグのフィールドの値が、ステートフルモードでIPv6アドレスを取得することを示す情報(例えば、“1”の値)である場合、アドレス取得部104はDHCPv6を利用してDHCPv6サーバ(不図示)からIPv6アドレス(プレフィックス+インターフェースID)などのアドレス情報を取得する。
【0023】
設定部105は、他の装置から受信された情報に基づいて自装置の設定を行う。具体的には、自装置でIPv6アドレスが生成された場合、すなわち、受信されたRAパケット内のMフラグのフィールドの値が0である場合、設定部105は自装置を親HGW10に設定する。また、他のHGWから子HGW20として動作する旨の指示(以下、「子動作指示」という。)が含まれた制御信号が受信された場合、設定部105は自装置を子HGW20に設定する。
HGW情報記憶部106は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。HGW情報記憶部106は、HGW情報データベースを記憶している。HGW情報データベースは、自装置を含むHGW毎の動作設定の情報が登録されたデータベースである。
【0024】
図3は、HGW情報データベースの具体例を示す図である。
HGW情報データベースは、HGWに関する情報を表すレコード90を複数有する。レコード90は、MAC_HGW、v6アドレス、v6パケット通過有無及びステータスの各値を有する。MAC_HGWの値は、自装置の同一ネットワーク上に存在するHGW(自装置を含む)のMACアドレスを表す。v6アドレスの値は、同じレコード90のHGWのIPv6アドレスを表す。v6パケット通過有無の値は、同じレコード90のHGWがIPv6パケットを他のHGWに中継したか否かを表す。ステータスの値は、同じレコード90のHGWが親HGW10であるか子HGW20であるかを表す。
【0025】
図3に示される例では、HGW情報データベースには複数のMAC_HGWが記録されている。これらのMAC_HGWは、“AAA”、“BBB”、“CCC”である。図3において、HGW情報データベースの最上段に記録されているレコード90は、MAC_HGWの値が“AAA”、v6アドレスの値が“XXX”、v6パケット通過有無の値が“あり”、ステータスの値が“親”である。すなわち、MACアドレス“AAA”で識別されるHGWのIPv6アドレスが“XXX”であり、IPv6パケットを他のHGWに中継しており、当該HGWが親HGW10であることが表されている。
【0026】
また、図3において、HGW情報データベースの2段目に記録されているレコード90は、MAC_HGWの値が“BBB”、v6アドレスの値が“YYY”、v6パケット通過有無の値が“なし”、ステータスの値が“子”である。すなわち、MACアドレス“BBB”で識別されるHGWのIPv6アドレスが“YYY”であり、IPv6パケットを他のHGWに中継しておらず、当該HGWが子HGW20であることが表されている。
【0027】
図2に戻って、HGWの説明を続ける。
親機能部107は、自装置が親HGW10である場合に機能する機能部である。すなわち、自装置が子HGW20である場合には、親機能部107は機能しない。以下、親機能部107の具体的な構成について説明する。
パケット読込部1071は、第1通信部102又は第2通信部109によって受信されたパケットを読み込む。例えば、パケット読込部1071は、第2通信部109によって受信されたパケットのヘッダを確認し、パケットがIPv6パケットであり、かつ、NSパケットである場合、自装置の下部にHGWが存在することを検知する。このように、パケット読込部1071は、少なくとも検知部としての機能を有する。そして、パケット読込部1071は、NSパケットを親中継部1072に出力する。また、パケット読込部1071は、IPv6アドレスの重複検出用のNSパケットが受信されると、子動作指示部1073に制御信号の生成を指示する。
【0028】
親中継部1072は、第1通信部102と第2通信部109との間で中継処理を行う。
子動作指示部1073は、パケット読込部1071の指示に従って制御信号を生成する。制御信号には、子動作指示及びHGW情報データベースに記憶されているHGW情報が含まれる。このように、子動作指示部1073は、少なくとも指示部としての機能を有する。
DHCPv4サーバ機能部1074は、通信装置60からの要求に応じて、要求元である通信装置60にIPv4アドレスを割り当てる。
【0029】
子機能部108は、自装置が子HGW20である場合に機能する機能部である。すなわち、自装置が親HGW10である場合には、子機能部108は機能しない。以下、子機能部108の具体的な構成について説明する。
子中継部1081は、第1通信部102と第2通信部109との間で中継処理を行う。
接続制御部1082は、自装置(子HGW20)と制御サーバ50との接続を制御する。より具体的には、接続制御部1082は、自発パケットを通信制御部103、第1通信部102、中継器30及び親HGW10を介して制御サーバ50に送信する。また、接続制御部1082は、制御サーバ50からの制御に従って自装置の設定変更を行う。
【0030】
第2通信部109は、他の装置(中継器30又は通信装置60)との間で通信を行う。第2通信部109は、IPv4インターフェース1091及びIPv6インターフェース1092を備える。IPv4インターフェース1091は、他の装置(中継器30又は通信装置60)との間でIPv4によるデータの入出力を行う。IPv6インターフェース1092は、他の装置(中継器30又は通信装置60)との間でIPv6によるデータの入出力を行う。
【0031】
図4は、第1実施形態における親HGW10の処理の流れを示すフローチャートである。
パケット読込部1071は、NSパケットが受信されたか否か判定する(ステップS101)。具体的には、パケット読込部1071は、第2通信部109のIPv6インターフェース1092によって受信されたパケットのヘッダのTypeのフィールドの値がNSパケットを示す値(例えば、“135”)であるか否か判定する。受信されたパケットのヘッダのTypeのフィールドの値が135である場合、パケット読込部1071は受信されたパケットがNSパケットであると判定する。一方、受信されたパケットのヘッダのTypeのフィールドの値が135ではない場合、パケット読込部1071は受信されたパケットがNSパケットではないと判定する。NSパケットが受信されなかった場合(ステップS101−NO)、親HGW10は処理を終了する。
一方、NSパケットが受信された場合(ステップS101−YES)、パケット読込部1071はNSパケットを親中継部1072に出力する。親中継部1072は、通信制御部103及びIPv6インターフェース1022を介してIPv6ルータ40にNSパケットを中継する(ステップS102)。
【0032】
通信制御部103は、IPv6インターフェース1022を介して、IPv6ルータ40から送信されたNAパケットを受信する。通信制御部103は、受信したNAパケットを親中継部1072に出力する。親中継部1072は、IPv6インターフェース1092を介してNSパケットの送信元である装置(例えば、HGW)にNAパケットを中継する(ステップS103)。
パケット読込部1071は、IPv6インターフェース1092を介してRSパケットを受信する。パケット読込部1071は、受信したRSパケットを親中継部1072に出力する。親中継部1072は、通信制御部103及びIPv6インターフェース1022を介してIPv6ルータ40にRSパケットを中継する(ステップS104)。
【0033】
通信制御部103は、IPv6インターフェース1022を介して、IPv6ルータ40から送信されたRAパケットを受信する。通信制御部103は、受信したRAパケットを親中継部1072に出力する。親中継部1072は、IPv6インターフェース1092を介してRSパケットの送信元である装置にRAパケットを中継する(ステップS105)。
パケット読込部1071は、IPv6インターフェース1092を介してNSパケットを受信したか否か判定する(ステップS106)。NSパケットを受信していない場合(ステップS106−NO)、親HGW10はステップS106の処理に戻る。
【0034】
一方、NSパケットを受信した場合(ステップS106−YES)、パケット読込部1071は受信したNSパケットにIPv6アドレスが含まれているか否か判定する(ステップS107)。IPv6アドレスが含まれていない場合(ステップS107−NO)、親HGW10はステップS102以降の処理を繰り返し実行する。
一方、IPv6アドレスが含まれている場合(ステップS107−YES)、パケット読込部1071は子動作指示部1073に制御信号の生成を指示する。子動作指示部1073は、パケット読込部1071の指示にしたがって制御信号を生成する(ステップS108)。なお、制御信号には、子動作指示が含まれる。その後、子動作指示部1073は、IPv6インターフェース1092を介して、ステップS106の処理で受信されたNSパケットの送信元である装置に、生成した制御信号を送信する(ステップS109)。
【0035】
図5は、第1実施形態におけるHGWの処理の流れを示すフローチャートである。なお、図5では、HGWが自装置を子HGW20に設定する処理について説明する。
通信制御部103は、IPv6インターフェース1022を介して、親HGW10から送信された制御信号を受信する(ステップS201)。通信制御部103は、受信した制御信号に子動作指示が含まれるか否か判定する(ステップS202)。子動作指示が含まれない場合(ステップS202−NO)、HGWは処理を終了する。
一方、子動作指示が含まれる場合(ステップS202−YES)、通信制御部103は受信した制御信号を設定部105に出力する。設定部105は、出力された制御信号に含まれている子動作指示に応じて自装置を子HGW20に設定する(ステップS203)。設定部105は、HGW情報記憶部106に記憶されているHGW情報データベースのレコード90のうち、自装置のMACアドレスに対応するレコード90のステータスの項目に子HGW20であることを示す情報(例えば、“子”という文字列)を記録する。
【0036】
図6及び図7は、第1実施形態における中継システム100の動作を示すシーケンス図である。なお、図6及び図7では、HGWの台数が2台(HGW1及びHGW2)、通信装置60の台数が1台の場合について説明する。また、処理開始時には、HGW2がIPv6ルータ40に接続されており、HGW1がHGW2に接続されていない。
【0037】
まず、HGW2のパケット生成部101は、所定のタイミングでNSパケットを生成する(ステップS301)。例えば、パケット生成部101は、自装置(HGW2)がIPv6ルータ40に接続されて起動されたタイミングでNSパケットを生成する。通信制御部103は、IPv6インターフェース1022を介してIPv6ルータ40にNSパケットを送信する(ステップS302)。
【0038】
IPv6ルータ40は、HGW2から送信されたNSパケットを受信する。その後、IPv6ルータ40は、NSパケットの応答としてNSパケットの送信元であるHGW2宛てのNAパケットを生成し、生成したNAパケットをHGW2に送信する(ステップS303)。
HGW2の通信制御部103は、IPv6インターフェース1022を介して、IPv6ルータ40から送信されたNAパケットを受信する。通信制御部103は、受信したNAパケットの宛先を確認する。受信したNAパケットの宛先が自装置宛てであるため、通信制御部103はパケット生成部101にRSパケットの生成を指示する。パケット生成部101は、通信制御部103の指示に応じてRSパケットを生成する(ステップS304)。パケット生成部101は、生成したRSパケットを通信制御部103に出力する。通信制御部103は、IPv6インターフェース1022を介してIPv6ルータ40にRSパケットを送信する(ステップS305)。
【0039】
IPv6ルータ40は、HGW2から送信されたRSパケットを受信する。その後、IPv6ルータ40は、RSパケットの応答としてRSパケットの送信元であるHGW2宛てのRAパケットを生成し、生成したRAパケットをHGW2に送信する(ステップS306)。なお、IPv6ルータ40は、RAパケットの生成時にMフラグのフィールドに0の値を格納する。
【0040】
HGW2の通信制御部103は、IPv6インターフェース1022を介して、IPv6ルータ40から送信されたRAパケットを受信する。通信制御部103は、受信したパケットの宛先を確認する。受信したパケットの宛先が自装置宛てであるため、通信制御部103は受信したRAパケットをアドレス取得部104に出力する。アドレス取得部104は、RAパケット内のMフラグのフィールドの値を確認する(ステップS307)。Mフラグのフィールドの値が0(Mフラグがオフ)であるため、アドレス取得部104はRAパケットに格納されているプレフィックスの情報と、自装置のMACアドレスとに基づいてIPv6アドレスを生成する(ステップS308)。この場合、設定部105は自装置を親HGW10に設定する(ステップS309)。
【0041】
その後、設定部105は、設定した内容に関する情報をHGW情報記憶部106に記録する。具体的には、まず設定部105は、HGW情報記憶部106に記憶されているHGW情報データベースを読み出す。次に、設定部105は、自装置のMACアドレス、ステップS308で生成されたIPv6アドレス、v6パケット通過有無(登録時は、“なし”が記録される)及びステータス(親であることを示す文字列)の情報を含むレコード90を生成する。そして、設定部105は、生成したレコード90を、読み出したHGW情報データベースに新たに追加する。
【0042】
また、アドレス取得部104は、生成したIPv6アドレスの重複検出を行う。具体的には、アドレス取得部104は、IPv6アドレスの重複検出を行うためのNSパケットの生成をパケット生成部101に指示するとともに、生成したIPv6アドレスの情報をパケット生成部101に出力する。パケット生成部101は、IPv6アドレスの情報を用いて重複検出用のNSパケットを生成する。パケット生成部101は、生成した重複検出用のNSパケットを通信制御部103に出力する。通信制御部103は、IPv6インターフェース1022を介してIPv6ルータ40にNSパケットを送信する(ステップS310)。アドレス取得部104は、所定の時間(例えば、1秒)以内にIPv6アドレスが重複している旨の通知が含まれるNAパケットが受信されなければ、生成したIPv6アドレスが重複していないと判断する。IPv6アドレスが重複している場合には、アドレス取得部104はDHCPv6を利用してIPv6アドレスを取得する。
【0043】
次に、HGW1がHGW2に中継器30(図6及び図7では不図示、以下同様)を介して接続されると、HGW1のパケット生成部101は所定のタイミングでNSパケットを生成する(ステップS311)。例えば、パケット生成部101は、自装置(HGW1)がHGW2に中継器30を介して接続されて起動されたタイミングでNSパケットを生成する。通信制御部103は、IPv6インターフェース1022を介してHGW2にNSパケットを送信する(ステップS312)。
【0044】
HGW2は、IPv6インターフェース1092を介して、HGW1から送信されたNSパケットを受信する。HGW2は親HGW10として動作しているため、第2通信部109は受信したNSパケットを親機能部107に出力する。親機能部107が備えるパケット読込部1071は、出力されたNSパケットを読み込む(ステップS313)。例えば、パケット読込部1071は、受信されたパケットのヘッダを確認し、パケットがIPv6パケットであり、かつ、NSパケットである場合、自装置の下部にHGWが存在することを検知する。その後、パケット読込部1071は、NSパケットを親中継部1072に出力する。この際、パケット読込部1071は、HGW情報データベースに登録されているレコード90のうち、自装置のMACアドレスに対応するレコード90のv6パケット通過有無の項目に記録されている値を“なし”から“あり”に変更する。親中継部1072は、通信制御部103及びIPv6インターフェース1022を介してIPv6ルータ40にNSパケットを送信する(ステップS314)。
【0045】
IPv6ルータ40は、HGW2から送信されたNSパケットを受信する。その後、IPv6ルータ40は、NSパケットの応答としてNSパケットの送信元であるHGW1宛てのNAパケットを生成し、生成したNAパケットをHGW2に送信する(ステップS315)。
HGW2の通信制御部103は、IPv6インターフェース1022を介して、IPv6ルータ40から送信されたNAパケットを受信する。通信制御部103は、受信したNAパケットの宛先を確認する。受信したNAパケットの宛先が自装置宛てではないため、通信制御部103は受信したNAパケットを親中継部1072に出力する。親中継部1072は、IPv6インターフェース1092を介してHGW1にNAパケットを送信する(ステップS316)。
【0046】
HGW1の通信制御部103は、IPv6インターフェース1022を介して、HGW2から送信されたNAパケットを受信する。通信制御部103は、受信したNAパケットの宛先を確認する。受信したNAパケットの宛先が自装置宛てであるため、通信制御部103はパケット生成部101にRSパケットの生成を指示する。パケット生成部101は、通信制御部103の指示に応じてRSパケットを生成する(ステップS317)。パケット生成部101は、生成したRSパケットを通信制御部103に出力する。通信制御部103は、IPv6インターフェース1022を介してHGW2にRSパケットを送信する(ステップS318)。
【0047】
HGW2は、IPv6インターフェース1092を介して、HGW1から送信されたRSパケットを受信する。IPv6インターフェース1092は、受信したRSパケットをパケット読込部1071に出力する。パケット読込部1071は、出力されたRSパケットを読み込む。例えば、パケット読込部1071は、受信されたパケットのヘッダを確認し、パケットがRSパケットであるため、RSパケットを親中継部1072に出力する。親中継部1072は、通信制御部103及びIPv6インターフェース1022を介してIPv6ルータ40にRSパケットを送信する(ステップS319)。
IPv6ルータ40は、HGW2から送信されたRSパケットを受信する。その後、IPv6ルータ40は、RSパケットの応答としてRSパケットの送信元であるHGW1宛てのRAパケットを生成し、生成したRAパケットをHGW2に送信する(ステップS320)。なお、IPv6ルータ40は、RAパケットの生成時にMフラグのフィールドに0の値を格納する。
【0048】
HGW2の通信制御部103は、IPv6インターフェース1022を介して、IPv6ルータ40から送信されたRAパケットを受信する。通信制御部103は、受信したRAパケットの宛先を確認する。受信したRAパケットの宛先が自装置宛てではないため、通信制御部103は受信したRAパケットを親機能部107に出力する。親中継部1072は、IPv6インターフェース1092を介してHGW1にRAパケットを送信する(ステップS321)。
【0049】
HGW1の通信制御部103は、IPv6インターフェース1022を介して、HGW2から送信されたRAパケットを受信する。通信制御部103は、受信したRAパケットの宛先を確認する。受信したRAパケットの宛先が自装置宛てであるため、通信制御部103は受信したRAパケットをアドレス取得部104に出力する。アドレス取得部104は、RAパケット内のMフラグのフィールドの値を確認する(ステップS322)。Mフラグのフィールドの値が0(Mフラグがオフ)であるため、アドレス取得部104はRAパケットに格納されているプレフィックスの情報と、自装置のMACアドレスとに基づいてIPv6アドレスを生成する(ステップS323)。この場合、設定部105は自装置を親HGW10に設定する(ステップS324)。
【0050】
その後、設定部105は、設定した情報をHGW情報記憶部106に記録する。具体的には、まず設定部105は、HGW情報記憶部106に記憶されているHGW情報データベースを読み出す。次に、設定部105は、自装置のMACアドレス、ステップS323で生成されたIPv6アドレス、v6パケット通過有無(登録時は、“なし”が記録される)及びステータス(親であることを示す文字列)の情報を含むレコード90を生成する。そして、設定部105は、生成したレコード90を、読み出したHGW情報データベースに新たに追加する。
【0051】
また、アドレス取得部104は、生成したIPv6アドレスの重複検出を行う。パケット生成部101は、IPv6アドレスの情報を用いて重複検出用のNSパケットを生成する。パケット生成部101は、生成した重複検出用のNSパケットを通信制御部103に出力する。通信制御部103は、IPv6インターフェース1022を介してHGW2に、生成されたNSパケットを送信する(ステップS325)。アドレス取得部104は、所定の時間(例えば、1秒)以内にIPv6アドレスが重複している旨の通知が含まれるNAパケットが受信されなければ、生成したIPv6アドレスが重複していないと判断する。
【0052】
HGW2は、IPv6インターフェース1092を介して、HGW1から送信されたNSパケットを受信する。第2通信部109は、受信したNSパケットを親機能部107に出力する。親機能部107が備えるパケット読込部1071は、出力されたNSパケットを読み込む(ステップS326)。例えば、パケット読込部1071は、受信されたNSパケットにIPv6アドレスが含まれているか否か確認する。NSパケットにIPv6アドレスが含まれている場合、パケット読込部1071は子動作指示部1073に制御信号の生成を指示する。
【0053】
また、パケット読込部1071は、NSパケットから送信元MACアドレス及びIPv6アドレスの情報を取得する。パケット読込部1071は、取得した送信元MACアドレス及びIPv6アドレスの情報をHGW情報データベースに記録する。具体的には、まずパケット読込部1071は、HGW情報記憶部106に記憶されているHGW情報データベースを読み出す。次に、設定部105は、読み出したHGW情報データベースのレコード90に送信元MACアドレス、IPv6アドレス、v6パケット通過有無(登録時は、“なし”が記録される)及びステータス(子であることを示す文字列)の情報を新たに記録する。
【0054】
子動作指示部1073は、パケット読込部1071の指示に従って制御信号を生成する(ステップS327)。制御信号には、子動作指示及びHGW情報データベースに記録されているHGW情報が含まれる。子動作指示部1073は、IPv6インターフェース1092を介してHGW1に制御信号を送信する(ステップS328)。
【0055】
HGW1の通信制御部103は、IPv6インターフェース1022を介して、HGW2から送信された制御信号を受信する。通信制御部103は、受信した制御信号の宛先を確認する。受信した制御信号の宛先が自装置宛てであるため、通信制御部103は受信した制御信号を設定部105に出力する。設定部105は、制御信号に含まれる子動作指示に応じて自装置を子HGW20に設定する(ステップS329)。
【0056】
その後、設定部105は、設定した情報に基づいてHGW情報記憶部106に記録されている値を更新する。具体的には、まず設定部105は、HGW情報記憶部106に記憶されているHGW情報データベースを読み出す。次に、設定部105は、読み出したHGW情報データベースのレコード90のうち、自装置のMACアドレスに対応するレコード90を選択する。そして、設定部105は、選択したレコード90のステータスの項目に記録されている値を子HGW20として動作することを示す情報(例えば、“子”という文字列)に更新する。また、設定部105は、制御信号に含まれていた他のHGWに関する情報(MAC_HGW、IPv6アドレス、v6パケット通過有無及びステータス)をHGW情報データベースに記録する。
【0057】
HGW1は、HGW2及びIPv6ルータ40を介して制御サーバ50との間で通信を行う(ステップS330)。例えば、HGW1は、IPv6インターフェース1022を介して、制御サーバ50から送信された設定変更の情報を受信する。接続制御部1082は、設定変更の情報に従って自装置の設定を変更する。
【0058】
通信装置60は、自装置(通信装置60)が帰属しているHGW1にIPv4アドレスを要求する(ステップS331)。HGW1は、IPv4インターフェース1091を介して、通信装置60から送信された要求を受信する。HGW1は子HGW20として動作しているため、IPv4インターフェース1091は受信した要求を子機能部108に出力する。子機能部108が備える子中継部1081は、出力された要求を、IPv4インターフェース1021を介してHGW2に中継する(ステップS332)。
【0059】
HGW2は、IPv4インターフェース1091を介して、HGW1から中継された要求を受信する。DHCPv4サーバ機能部1074は、中継された要求に応じて要求元である通信装置60にIPv4アドレスを割り当てる。DHCPv4サーバ機能部1074は、IPv4インターフェース1091を介して、割り当てたIPv4アドレスの情報をHGW1に送信する(ステップS333)。
HGW1は、IPv4インターフェース1021を介して、HGW2から送信されたIPv4アドレスの情報を受信する。IPv4インターフェース1021は、受信したIPv4アドレスの情報を、通信制御部103及び子中継部1081を介してIPv4インターフェース1091に出力する。IPv4インターフェース1091は、IPv4アドレスの情報をIPv4アドレスの要求元である通信装置60に送信する(ステップS334)。
【0060】
以上のように構成されたHGWでは、IPv6アドレスが自装置で自動生成されるため、どのHGWもまず親HGW10として動作する。その後、親HGW10は、NSパケットやRSパケットなどのIPv6パケットを中継したか否かに応じて自装置の動作設定を変更する。具体的には、親HGW10は、IPv6パケットを中継することにより自装置の下部に存在するHGWを検知する。この場合、親HGW10は、自装置の下部に存在するHGWに対して子動作指示を含む制御信号を送信する。これにより、制御信号を受信したHGWが親HGW10から子HGW20に変更される。このように、接続された状況に応じてHGWが自動で動作の設定を変更することができる。そして、自装置が親HGW10である場合には、IPv6ルータ40と子HGW20との間で行われる通信を中継する中継器として機能し、自装置が子HGW20である場合には、親HGW10と通信装置60との間で行われる通信を中継する中継器として機能する。そのため、オフィス内で中継装置を多段接続する際に生じる手間を軽減することが可能になる。
【0061】
また、同一構成のHGWを利用することができるため、本システムを提供する事業者は、オフィス向けの無線LANルータとしてHGWを販売することができる。また、本システムを提供する事業者は、HGWの調達台数の増大に伴い、HGW1台あたりの筐体費用を安価にする価格交渉が可能になる。
【0062】
<変形例>
本実施形態では、中継システム100が2台の子HGW20を備える構成を示したが、中継システム100は1台の子HGW20を備えるように構成されてもよいし、3台以上の子HGW20を備えるように構成されてもよい。
本実施形態では、HGWを例に説明したが、HGWに限定される必要はない。例えば、ブロードバンドルータ機能付きのアクセスポイントがHGWと同様の構成を備えるように構成されてもよい。
[第2実施形態]
図8は、第2実施形態におけるHGWの機能構成を表す概略ブロック図である。親HGW10aと子HGW20aとは、同様の構成を有している。
HGWは、バスで接続されたCPUやメモリや補助記憶装置などを備え、中継プログラムを実行する。中継プログラムの実行によって、HGWは、パケット生成部101、第1通信部102、通信制御部103、アドレス取得部104、設定部105a、HGW情報記憶部106、親機能部107a、子機能部108、第2通信部109、DHCPv4クライアント機能部110を備える装置として機能する。また、親機能部107aは、パケット読込部1071a、親中継部1072、DHCPv4サーバ機能部1074aとして機能する。また、子機能部108は、子中継部1081、接続制御部1082として機能する。なお、HGWの各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、中継プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、中継プログラムは、電気通信回線を介して送受信されてもよい。
【0063】
第2実施形態におけるHGWは、設定部105及び親機能部107に代えて設定部105a、親機能部107a及びDHCPv4クライアント機能部110を備える点で第1実施形態におけるHGWと構成が異なる。第2実施形態におけるHGWは、他の構成については第1実施形態におけるHGWと同様である。そのため、第2実施形態におけるHGW全体の説明は省略し、設定部105a、親機能部107a及びDHCPv4クライアント機能部110について説明する。
【0064】
設定部105aは、他の装置から受信された情報に基づいて自装置の設定を行う。具体的には、自装置でIPv6アドレスが生成された場合、すなわち、受信されたRAパケット内のMフラグのフィールドの値が0である場合、設定部105aは自装置を親HGW10に設定する。また、他のHGWから子動作指示が含まれたDHCPv4−Ackが受信された場合、設定部105aは自装置を子HGW20に設定する。
【0065】
親機能部107aは、自装置が親HGW10aである場合に機能する機能部である。すなわち、自装置が子HGW20aである場合には、親機能部107aは機能しない。以下、親機能部107aの具体的な構成について説明する。
パケット読込部1071aは、第1通信部102及び第2通信部109によって受信されたパケットを読み込む。例えば、パケット読込部1071aは、IPv4インターフェース1091を介して受信されたパケットがDHCPv4−Discoverである場合、自装置の下部にHGWが存在することを検知する。このように、パケット読込部1071aは、少なくとも検知部としての機能を有する。DHCPv4−Discoverは、IPv4アドレスを要求する際に送信されるパケットである。そして、パケット読込部1071aは、DHCPv4−DiscoverをDHCPv4サーバ機能部1074aに出力する。
【0066】
親中継部1072は、第1通信部102と第2通信部109との間で中継処理を行う。
DHCPv4サーバ機能部1074aは、他のHGW又は通信装置60からの要求に応じて、要求元である他のHGW又は通信装置60にIPv4アドレスを割り当てる。
DHCPv4クライアント機能部110は、DHCPv4クライアント機能によりIPv4アドレスを要求する。例えば、DHCPv4クライアント機能部110は、自装置がIPv6ルータ40に接続している場合には、IPv6ルータ40にIPv4アドレスを要求する。例えば、DHCPv4クライアント機能部110は、自装置が他のHGWに接続している場合には、自装置より一つ上の階層に位置する他のHGWにIPv4アドレスを要求する。
【0067】
図9は、第2実施形態における親HGW10aの処理の流れを示すフローチャートである。
パケット読込部1071aは、IPv4インターフェース1091を介して、他の装置(例えば、他のHGW)から送信されたDHCPv4−Discoverを受信する(ステップS401)。パケット読込部1071aは、受信したDHCPv4−DiscoverをDHCPv4サーバ機能部1074aに出力する。DHCPv4サーバ機能部1074aは、DHCPv4−Offerを生成する(ステップS402)。DHCPv4−Offerは、割り当て可能なIPv4アドレスの情報を含むパケットである。DHCPv4サーバ機能部1074aは、IPv4インターフェース1091を介してDHCPv4−Discoverの送信元である装置(例えば、他のHGW)にDHCPv4−Offerを送信する(ステップS403)。
【0068】
次に、パケット読込部1071aは、IPv4インターフェース1091を介して、他の装置から送信されたDHCPv4−Requestを受信する(ステップS404)。DHCPv4−Requestは、DHCPv4−Offerに含まれるIPv4アドレスを利用することを通知するために送信されるパケットである。パケット読込部1071aは、受信したDHCPv4−RequestをDHCPv4サーバ機能部1074aに出力する。DHCPv4サーバ機能部1074aは、DHCPv4−Ackを生成する(ステップS405)。DHCPv4−Ackは、DHCPv4−Requestの応答パケットである。なお、DHCPv4サーバ機能部1074aは、DHCPv4−Ackに規定されたIE(Information Element)のうち、Vendor-Specific-contentに子動作指示を付与する。このように、DHCPv4サーバ機能部1074aは、少なくとも指示部としての機能を有する。また、DHCPv4−Ackには、子動作指示の他に、HGWデータベースに記憶されているHGW情報が含まれる。
DHCPv4サーバ機能部1074aは、IPv4インターフェース1091を介してDHCPv4−Requestの送信元である装置(例えば、他のHGW)にDHCPv4−Ackを送信する(ステップS406)。
【0069】
図10は、第2実施形態における子HGW20aの処理の流れを示すフローチャートである。なお、図10では、HGWが自装置を子HGW20aに設定する処理について説明する。
DHCPv4クライアント機能部110は、DHCPv4−Discoverを生成する(ステップS501)。DHCPv4クライアント機能部110は、通信制御部103及びIPv4インターフェース1021を介して親HGW10aにDHCPv4−Discoverを送信する(ステップS502)。通信制御部103は、IPv4インターフェース1021を介して、親HGW10aから送信されたDHCPv4−Offerを受信する(ステップS503)。DHCPv4クライアント機能部110は、DHCPv4−Offerが受信されると、DHCPv4−Requestを生成する(ステップS504)。そして、DHCPv4クライアント機能部110は、通信制御部103及びIPv4インターフェース1021を介して親HGW10aにDHCPv4−Requestを送信する(ステップS505)。
【0070】
通信制御部103は、IPv4インターフェース1021を介して、親HGW10aからDHCPv4−Ackを受信する(ステップS506)。これにより、HGWはIPv4アドレスを取得する。取得したIPv4アドレスは、IPv4インターフェース1021に設定される。通信制御部103は、受信したDHCPv4−Ackに子動作指示が含まれているか否か判定する(ステップS507)。子動作指示が含まれていない場合(ステップS507−NO)、HGWは処理を終了する。
一方、子動作指示が含まれている場合(ステップS507−YES)、通信制御部103は受信したDHCPv4−Ackを設定部105aに出力する。設定部105aは、DHCPv4−Ackに含まれている子動作指示に応じて自装置を子HGW20aに設定する(ステップS508)。
【0071】
図11及び図12は、第2実施形態における中継システム100の動作を示すシーケンス図である。なお、図11及び図12の説明では、HGWの台数が2台(HGW1a及びHGW2a)、通信装置60の台数が1台の場合について説明する。また、処理開始時には、HGW2aがIPv6ルータ40に接続されており、HGW1aがHGW2aに接続されていない。また、図6及び図7と同様の処理については、図11及び図12において図6及び図7と同様の符号を付して説明を省略する。
【0072】
ステップS325までの処理が終了すると、HGW2aは、IPv6インターフェース1092を介して、HGW1aから送信されたNSパケットを受信する。第2通信部109は、受信したNSパケットを親機能部107aに出力する。親中継部1072は、通信制御部103及びIPv6インターフェース1022を介してIPv6ルータ40にNSパケットを送信する(ステップS601)。
【0073】
その後、DHCPv4クライアント機能部110は、DHCPv4−Discoverを生成する(ステップS602)。DHCPv4クライアント機能部110は、通信制御部103及びIPv4インターフェース1021を介してHGW2にDHCPv4−Discoverを送信する(ステップS603)。
HGW2aは、IPv4インターフェース1091を介して、HGW1aから送信されたDHCPv4−Discoverを受信する。パケット読込部1071aは、受信されたDHCPv4−DiscoverをDHCPv4サーバ機能部1074aに出力する。DHCPv4サーバ機能部1074aは、DHCPv4−Offerを生成する(ステップS604)。DHCPv4サーバ機能部1074aは、IPv4インターフェース1091を介してDHCPv4−Discoverの送信元であるHGW1aにDHCPv4−Offerを送信する(ステップS605)。
【0074】
HGW1aの通信制御部103は、IPv4インターフェース1021を介して、HGW2aから送信されたDHCPv4−Offerを受信する。DHCPv4クライアント機能部110は、DHCPv4−Offerが受信されると、DHCPv4−Requestを生成する(ステップS606)。そして、DHCPv4クライアント機能部110は、通信制御部103及びIPv4インターフェース1021を介してHGW2aにDHCPv4−Requestを送信する(ステップS607)。
【0075】
HGW2aは、IPv4インターフェース1091を介して、HGW1aから送信されたDHCPv4−Requestを受信する。パケット読込部1071aは、受信されたDHCPv4−RequestをDHCPv4サーバ機能部1074aに出力する。DHCPv4サーバ機能部1074aは、DHCPv4−Ackを生成する(ステップS608)。なお、DHCPv4サーバ機能部1074aは、DHCPv4−Ackに子動作指示を付与する。DHCPv4サーバ機能部1074aは、IPv4インターフェース1091を介してDHCPv4−Requestの送信元であるHGW1aにDHCPv4−Ackを送信する(ステップS609)。
【0076】
HGW1aの通信制御部103は、IPv4インターフェース1021を介して、HGW2aからDHCPv4−Ackを受信する。通信制御部103は、受信したDHCPv4−Ackを設定部105aに出力する。設定部105aは、DHCPv4−Ackに含まれている子動作指示に応じて自装置を子HGW20aに設定する(ステップS610)。
【0077】
その後、設定部105aは、設定した内容に関する情報をHGW情報記憶部106に記録する。具体的には、まず設定部105aは、自装置のMACアドレス、IPv6アドレス、v6パケット通過有無(登録時は、“なし”が記録される)及びステータス(子HGW20aであることを示す文字列(例えば、子))の情報を含むレコード90を生成する。そして、設定部105aは、生成したレコード90を、読み出したHGW情報データベースに新たに追加する。
【0078】
また、設定部105aは、受信された子動作指示に含まれるHGWの設定内容に関する情報(HGW情報)をHGW情報記憶部106に記録する。具体的には、まず設定部105aは、HGW情報記憶部106に記憶されているHGW情報データベースを読み出す。次に、設定部105aは、HGW情報に含まれる他のHGWのMACアドレス、IPv6アドレス、v6パケット通過有無及びステータスの情報を含むレコード90を、HGW情報に含まれるHGWの台数分生成する。そして、設定部105aは、生成したレコード90を、読み出したHGW情報データベースに新たに追加する。その後、ステップS330〜ステップS334までの処理が実行される。
【0079】
以上のように構成されたHGWでは、IPv6アドレスが自装置で自動生成されるため、どのHGWもまず親HGW10aとして動作する。その後、親HGW10aは、DHCPv4−Discoverを受信することにより自装置の下部に存在するHGWを検知する。この場合、親HGW10aは、自装置の下部に存在するHGWに対して子動作指示を含む制御信号を送信する。これにより、制御信号を受信したHGWの動作設定が親HGW10aから子HGW20aに変更される。このように、接続された状況に応じてHGWが自動で動作設定を変更することができる。そして、自装置が親HGW10aである場合には、IPv6ルータ40と子HGW20aとの間で行われる通信を中継する中継器として機能し、自装置が子HGW20aである場合には、親HGW10aと通信装置60との間で行われる通信を中継する中継器として機能する。そのため、オフィス内で中継装置を多段接続する際に生じる手間を軽減することが可能になる。
【0080】
また、同一構成のHGWを利用することができるため、本システムを提供する事業者は、オフィス向けの無線LANルータとしてHGWを販売することができる。また、本システムを提供する事業者は、HGWの調達台数の増大に伴い、HGW1台あたりの筐体費用を安価にする価格交渉が可能になる。
【0081】
<変形例>
本実施形態では、DHCPv4サーバ機能部1074aがDHCPv4−Ackに子動作指示を付与する構成を示したが、DHCPv4サーバ機能部1074aはDHCPv4−Offerに子動作指示を付与するように構成されてもよい。このように構成される場合、親HGW10aからDHCPv4−Offerを受信したHGWの通信制御部103は子HGW20aで動作する旨を設定部105aに通知する。設定部105aは、通信制御部103からの通知に応じて自装置の動作設定を親HGW10aから子HGW20aに設定する。
【0082】
本実施形態(第2実施形態)では、IPv6ルータ40がRAパケット内のMフラグのフィールドにIPv6アドレスを自動生成することを示す情報(例えば、“0”の値)を格納する例を示したが、IPv6ルータ40はRAパケット内のMフラグのフィールドにIPv6アドレスをDHCPv6により取得することを示す情報(例えば、“1”の値)を格納するように構成されてもよい。このように構成される場合、IPv6ルータ40に接続されているHGWのアドレス取得部104は、DHCPv6を利用してDHCPv6サーバ(不図示)からIPv6アドレス(プレフィックス+インターフェースID)などのアドレス情報(例えば、ひかり電話用のIPv4アドレス及び電話番号の情報など)を取得する。また、DHCPv6を利用してIPv6アドレスが取得される場合、設定部105aは、自装置を親HGW10に設定する。そして、このように構成される場合には、親機能部107aはひかり電話機能部を備えるように構成されてもよい。ひかり電話機能部は、通信装置60からの要求に応じて、ひかり電話用のIPv4アドレス及び電話番号の情報を利用してIP電話接続サービスを提供する。
【0083】
このように構成される場合、子HGW20aは、通信装置60のユーザからの要求に応じてひかり電話の利用要求を親HGW10aに転送し、親HGW10aが通信装置60に対してIP電話接続サービスを提供する。つまり、子HGW20aがブリッジとして機能し、親HGW10aが通信装置60のユーザにIP電話接続サービスを提供する。そのため、同一構成のHGWを多段接続した場合であっても、HGW本来が備えている電話機能が利用させることができる。
本実施形態では、HGWを例に説明したが、HGWに限定される必要はない。例えば、ブロードバンドルータ機能付きのアクセスポイントがHGWと同様の構成を備えるように構成されてもよい。
【0084】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0085】
10、10a…親HGW, 20(20−1、20−2)、20a…子HGW, 30…中継器, 40…IPv6ルータ, 50…制御サーバ, 60…通信装置, 70…第1ネットワーク(外部ネットワーク), 80…第2ネットワーク, 101…パケット生成部, 102…第1通信部, 1021…IPv4インターフェース, 1022…IPv6インターフェース, 103…通信制御部, 104…アドレス取得部, 105、105a…設定部, 106…HGW情報記憶部, 107、107a…親機能部, 1071、1071a…パケット読込部(検知部), 1072…親中継部, 1073…子動作指示部, 1074、1074a…DHCPv4サーバ機能部, 108…子機能部, 1081…子中継部, 1082…接続制御部, 109…第2通信部, 1091…IPv4インターフェース, 1092…IPv6インターフェース, 110…DHCPv4クライアント機能部
【要約】      (修正有)
【課題】オフィス内で中継装置を多段接続する際に生じる設定の手間を軽減可能な装置、方法およびプログラムを提供する。
【解決手段】HGW10,20の設定部105は、他の装置から受信された情報に基づいて自装置を親HGWに設定を行うか、あるいは他の親HGWから子HGWとして動作する旨の指示が受信された場合には自装置を子HGWとして設定する。自装置が親HGWである場合、受信されたパケットのヘッダを確認することで下部にHGWが存在することを検知するパケット読込部1071と、検知された中継装置に対して子HGWとして動作する旨の指示を送信する子動作指示部1073と、上流側に位置する装置と子HGWとの間で行われる通信を中継する親中継部1072とを有する。自装置が子HGWである場合、通信装置と親HGWとの間で行われる通信を中継する子中継部1081を備える。
【選択図】図2
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12