JP2016134749A - Dhcpサーバ - Google Patents
Dhcpサーバ Download PDFInfo
- Publication number
- JP2016134749A JP2016134749A JP2015008042A JP2015008042A JP2016134749A JP 2016134749 A JP2016134749 A JP 2016134749A JP 2015008042 A JP2015008042 A JP 2015008042A JP 2015008042 A JP2015008042 A JP 2015008042A JP 2016134749 A JP2016134749 A JP 2016134749A
- Authority
- JP
- Japan
- Prior art keywords
- dhcp server
- dhcp
- service
- state
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】DHCPサーバの内部のディスク障害等の場合にも、DHCPサービスの提供を継続することができる技術を提供する。【解決手段】冗長DHCPサーバを構成するDHCPサーバは、DHCPサービス及び冗長サービスを提供し、リースファイルを備える。冗長サービスは、相手DHCPサーバとの間でリースファイルの同期通信を行い、自己DHCPサーバの内部におけるリースファイルに対する読み出しまたは書き込みが不可能な状態を、内部障害として検知し、自己のDHCPサービスを停止させる。冗長サービスは、相手DHCPサーバのDHCPサービスの自己停止状態を相手DHCPサーバの障害状態として検知し、相手DHCPサーバの障害状態が検知された場合に、DHCPサービスを相手DHCPサーバから自己DHCPサーバへ集約させるフェイルオーバを実行する。【選択図】図1
Description
本発明は、通信システムの技術に関し、特に、DHCP(Dynamic Host Configuration Protocol)サーバに関する。
DHCPは、TCP/IPネットワークにおいて、DHCPサーバからDHCPクライアントに対し、IPアドレスや他の設定情報を動的に割り当てるプロトコルである。DHCPサーバは、DHCPクライアントであるユーザ端末等に対し、DHCPサービスを提供する。DHCPサービスは、IPアドレスをリースするサービスを含む。
通信システムにおいて、ネットワーク内に1台のDHCPサーバのみを有する構成では、そのDHCPサーバが障害になった場合、DHCPサービスを提供できなくなる。ユーザ端末は、IPアドレスがリースされないので、ネットワークの利用ができない。
そこで、ネットワーク内に、冗長DHCPサーバとして、複数のDHCPサーバを設ける構成がある。この構成では、1台のDHCPサーバが障害になった場合でも、他の正常なDHCPサーバによりDHCPサービスの提供を継続することができる。すなわち、DHCPサービスに関する可用性が高くなる。
冗長DHCPサーバに係わる先行技術例として、特開2001−230788号公報(特許文献1)が挙げられる。特許文献1には、同一のLAN内に、アドレス割り当て情報を共有する複数のDHCPサーバを有し、1台のマスタDHCPサーバと複数のスレーブDHCPサーバとの間で、機能の分担及び動的な切り替えを行う旨が記載されている。
冗長DHCPサーバの方式として以下の方式が挙げられる。プライマリの役割である第1のDHCPサーバと、セカンダリの役割である第2のDHCPサーバとを有する。正常同期状態では、第1のDHCPサーバは、リースファイルにリース情報を読み書きしながらDHCPサービスを提供する。リース情報は、どのIPアドレスをどのDHCPクライアントへリースして割り当てたのかを示す対応関係情報である。第2のDHCPサーバは、冗長機能により、第1のDHCPサーバの障害状態を検知した場合、DHCPサービスを第1のDHCPサーバから第2のDHCPサーバへ集約するフェイルオーバを行う。これにより、第2のDHCPサーバでDHCPサービスの提供が継続される。
しかし、従来の冗長DHCPサーバは、DHCPサーバの障害状況によっては、DHCPサーバ間で冗長機能が働かず、DHCPサービスの提供が継続できなくなる場合がある。例えば、第1のDHCPサーバの内部において、ディスク障害や、OSの制御等の原因により、リースファイルに対する読み出しや書き込みのアクセスが不可能な状態になる場合がある。この場合、第1のDHCPサーバは、リースするIPアドレスの読み出しやリース情報の書き込みができないので、DHCPサービスを提供できない。
また、第2のDHCPサーバは、第1のDHCPサーバの上記状態を検知できないので、冗長機能によるフェイルオーバが行われない。従って、第2のDHCPサーバでDHCPサービスの提供を継続することもできない。
本発明の目的は、冗長DHCPサーバを含む通信システムに関して、DHCPサーバの内部のディスク障害等の場合にも、DHCPサービスの提供を継続することができ、高い可用性を実現できる技術を提供することである。
本発明のうち代表的な実施の形態は、DHCPサーバであって、以下に示す構成を有することを特徴とする。
一実施の形態のDHCPサーバは、冗長DHCPサーバを構成するDHCPサーバであって、DHCPクライアントにIPアドレスをリースするDHCPサービスを提供するDHCPサービス部と、冗長DHCPサーバを構成する自己DHCPサーバと相手DHCPサーバとの間で、DHCPサービスに関する冗長サービスを提供する冗長サービス部と、IPアドレスとリース先DHCPクライアントとの対応関係情報をリース情報として格納するリースファイルと、を備え、冗長サービス部は、相手DHCPサーバとの間で、リースファイルを同期する通信を行う同期通信部と、自己DHCPサーバの内部におけるリースファイルに対する読み出しまたは書き込みが不可能な状態を、内部障害として検知する内部障害検知部と、内部障害が検知された場合に、自己DHCPサーバのDHCPサービスを停止させて、当該DHCPサービスの制御状態を正常同期状態から自己停止状態へ遷移させる自己停止部と、相手DHCPサーバとの間で、相手DHCPサーバの状態を監視する通信を行うことにより、相手DHCPサーバのDHCPサービスの自己停止状態を相手DHCPサーバの障害状態として検知する状態監視部と、相手DHCPサーバの障害状態が検知された場合に、DHCPサービスを相手DHCPサーバから自己DHCPサーバへ集約させるフェイルオーバを実行する集約部と、を有する。
本発明のうち代表的な実施の形態によれば、冗長DHCPサーバを含む通信システムに関して、DHCPサーバの内部のディスク障害等の場合にも、DHCPサービスの提供を継続することができ、高い可用性を実現できる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
図1〜図7を用いて、本発明の実施の形態1のDHCPサーバについて説明する。
図1〜図7を用いて、本発明の実施の形態1のDHCPサーバについて説明する。
[通信システム]
図1は、実施の形態1のDHCPサーバを含む、通信システムの構成を示す。本通信システムは、ネットワーク9に接続される、複数のDHCPサーバ1と、複数のユーザ端末2とを有する。
図1は、実施の形態1のDHCPサーバを含む、通信システムの構成を示す。本通信システムは、ネットワーク9に接続される、複数のDHCPサーバ1と、複数のユーザ端末2とを有する。
ネットワーク9は、LANやインターネット等の通信網である。ネットワーク9上、DHCPサーバ1とユーザ端末2との間では、TCP/IP等のプロトコルを用いて通信が行われる。
ユーザ端末2は、ユーザが使用するPCやスマートフォン等の各種の端末装置である。複数のユーザ端末2として、ユーザ端末2a、ユーザ端末2b、等を有する。各ユーザ端末2は、DHCPクライアントであり、DHCPクライアントプロセス20が稼動する。ユーザ端末2は、図示しないプロセッサ、メモリ、通信インタフェース装置、入力装置、出力装置等のハードウェアを備え、OS、Webブラウザ等のソフトウェアを備える。ユーザ端末2は、プロセッサ等のハードウェアに基づいて、ソフトウェア処理により、DHCPクライアントプロセス20を稼動させる。
ユーザ端末2は、ネットワーク9における通信及び識別のためのMACアドレスを有する。ユーザ端末2aのMACアドレスをM1、ユーザ端末2bのMACアドレスをM2とする。
DHCPクライアントプロセス20は、DHCPサーバ1のDHCPサービス3との間で、DHCP通信を行う。ユーザ端末2は、DHCP通信に基づいて、DHCPサーバ1からIPアドレスがリースされ、当該IPアドレスが割り当てられる。図1の例では、DHCPサーバ1AのDHCPサービス3Aからユーザ端末2aへ、IPアドレス「IP1」がリースされた状態を示す。
DHCPサーバ1は、DHCPサービス3を提供するサーバ装置である。冗長DHCPサーバを構成する複数のDHCPサーバ1として、図1では、2台のDHCPサーバ1である、DHCPサーバ1A及びDHCPサーバ1Bを有する。DHCPサーバ1Aは、プライマリの役割を持つ第1のDHCPサーバである。DHCPサーバ1Bは、セカンダリの役割を持つ第2のDHCPサーバである。2台のDHCPサーバ1の基本的な構成は同じであるが、設定状態が異なる。
2台のDHCPサーバ1は、いずれもアクティブ状態である。2台のDHCPサーバ1は、予め、DHCPの設定項目の1つとして、DHCPサービスで処理を受け持つ配分が設定されている。実施の形態1では、DHCPサーバ1AとDHCPサーバ1Bとにおいて、配分が、100%、0%である。これにより、DHCPサーバ1Aがプライマリ、DHCPサーバ1Bがセカンダリとなっている。なお、配分は他の設定も可能である。
DHCPサーバ1は、所定のMACアドレス及びIPアドレスを有する。
DHCPサーバ1は、図示しないプロセッサ、メモリ、通信インタフェース装置等のハードウェアを備え、OS、サーバプログラム等のソフトウェアを備える。DHCPサーバ1は、プロセッサ等のハードウェアに基づいて、ソフトウェア処理により、DHCPサービス3、及び冗長サービス4を稼動させる。DHCPサーバ1Aは、DHCPサービス3A、及び冗長サービス4Aを稼動させる。DHCPサーバ1Bは、DHCPサービス3B、及び冗長サービス4Bを稼動させる。
各DHCPサーバ1は、内部にリースファイル5を保持する。DHCPサーバ1Aは、リースファイル5Aを保持し、DHCPサーバ1Bは、リースファイル5Bを保持する。リースファイル5は、DHCPクライアントにリースするための候補IPアドレスと、リース情報とを含むファイルである。冗長DHCPサーバを構成する複数のDHCPサーバ1において、各リースファイル5に保有する候補IPアドレスは共通である。リースファイル5は、リース情報として、候補IPアドレスの中からDHCPクライアントにリースされたリースIPアドレスと、リース先DHCPクライアントとの対応関係情報を含む。
DHCPサービス3は、DHCPクライアントであるユーザ端末2からのアクセスを受け付けて、リースファイル5を読み書きしつつ、DHCPクライアントにIPアドレスをリースするサービスを含む。DHCPサービス3は、DHCPクライアントへIPアドレスのリースを行った場合、そのリースIPアドレスと、リース先DHCPクライアントのMACアドレスとの対応関係情報を、リース情報として、リースファイル5に書き込む。
また、DHCPサービス3は、DHCPクライアントがネットワーク9から切断した場合等に、IPアドレスのリースを終了する。DHCPクライアントは、リースIPアドレスをDHCPサーバ1へ返却する。その場合、DHCPサービス3は、リースファイル5において、そのリースIPアドレスとリース先DHCPクライアントのMACアドレスとの対応関係情報をリセットし、そのリースIPアドレスを候補IPアドレスに戻す。
冗長サービス4は、DHCPサービス3に関する冗長機能を実現するサービスである。冗長サービス4は、冗長DHCPサーバにおける自己DHCPサーバと他のDHCPサーバとの間で、冗長機能に係わる通信を行う。
なお、図1の通信システムの構成では、自己DHCPサーバに対して他のDHCPサーバとは、1台の相手DHCPサーバのことである。DHCPサーバ1Aからみて、DHCPサーバ1Aを自己DHCPサーバとした場合、相手DHCPサーバはDHCPサーバ1Bである。DHCPサーバ1Bからみて、DHCPサーバ1Bを自己DHCPサーバとした場合、相手DHCPサーバはDHCPサーバ1Aである。
冗長サービス4は、相手DHCPサーバの状態を監視する通信を行う。また、冗長サービス4は、DHCPサービス3によりリースファイル5の更新が発生した場合等に、相手DHCPサーバの冗長サービス4との間で、リースファイル5を同期する通信を行う。
2台のDHCPサーバ1において、正常同期状態では、DHCPサーバ1Aは、配分が100%のプライマリであるため、DHCPサービス3Aにより、DHCPクライアントからの全てのDHCPディスカバー等を受け付けて、IPアドレスのリース等のサービスを提供する。一方、DHCPサーバ1Bは、配分が0%のセカンダリであるため、DHCPサービス3Bによりリース等のサービスを提供しない。すなわち、DHCPサーバ1Bは、フェイルオーバに備えて待機する状態である。
冗長サービス4は、状態監視により、相手DHCPサーバの障害状態を検知した場合、DHCPサービスを相手DHCPサーバから自己DHCPサーバへ集約するフェイルオーバを実行する。例えば、DHCPサーバ1Bは、冗長サービス4Bにより、DHCPサーバ1Aの障害状態を検知した場合、DHCPサービスをDHCPサーバ1AからDHCPサーバ1Bへ集約するフェイルオーバを実行する。これにより、DHCPサーバ1BでDHCPクライアントへのDHCPサービスの提供を継続する。
また、冗長サービス4は、状態監視により、相手DHCPサーバの障害の復旧状態を検知した場合、DHCPサービスを自己DHCPサーバから相手DHCPサーバへ集約するフェイルバックを実行する。例えば、DHCPサーバ1Bは、冗長サービス4Bにより、DHCPサーバ1Aの復旧状態を検知した場合、DHCPサービスをDHCPサーバ1BからDHCPサーバ1Aへ集約するフェイルバックを実行する。これにより、DHCPサーバ1AでDHCPクライアントへのDHCPサービスの提供を継続する。
なお、DHCPクライアントとしては、ユーザ端末2以外にも、ネットワーク9に接続されるスイッチ等の各種の装置が挙げられる。
[DHCPサーバ]
図2は、DHCPサーバ1の構成を示す。DHCPサーバ1は、制御部101、記憶部102、及び通信インタフェース部103を有する。
図2は、DHCPサーバ1の構成を示す。DHCPサーバ1は、制御部101、記憶部102、及び通信インタフェース部103を有する。
制御部101は、図示しないCPU、ROM、RAM等により構成される。制御部101は、DHCPサービス部30、及び冗長サービス部40を有する。DHCPサービス部30は、DHCPサービス3を稼動させる。冗長サービス部40は、冗長サービス4を稼動させる。
記憶部102は、図示しないディスク装置やメモリカード装置等の記憶装置により構成される。記憶部102は、制御部101から読み書きのアクセスが可能であり、リースファイル5を含む情報を記憶する。
通信インタフェース部103は、ネットワーク9に接続される複数のポートを含む。各ポートは、所定の通信インタフェースを有する。通信インタフェース部103は、ポートを通じて、DHCP通信に係わるパケットや、冗長サービス4に係わる信号等を送受信する。
制御部101のDHCPサービス3は、記憶部102にリースファイル5を管理する。また、DHCPサービス3は、制御部101内の図示しない不揮発性メモリに、自己のDHCPサービス3に関する制御状態6の情報を管理し、制御状態の遷移に応じて制御状態6の情報を読み書きする。
DHCPサービス3は、DHCPクライアントであるユーザ端末2から、DHCPディスカバーやDHCP要求を、通信インタフェース部103を通じて受け取る。DHCPサービス3は、リースファイル5を読み書きしながら、DHCPクライアントへIPアドレスをリースする処理等を行う。DHCPサービス3は、リースファイル5の候補IPアドレスの中からリースIPアドレスを選択して読み出す。DHCPサービス3は、リースIPアドレスを伴う、DHCPオファーやDHCP承認を、通信インタフェース部103を通じてDHCPクライアントへ送信する。DHCPサービス3は、リースを行った場合、リース情報として、リースIPアドレスとリース先DHCPクライアントのMACアドレスとの対応関係情報を、リースファイル5に書き込む。
また、DHCPサービス3は、DHCPクライアントからリースIPアドレスが返却される場合、リースIPアドレスとリース先DHCPクライアントのMACアドレスとの対応関係情報をリセットするように、リースファイル5を更新する。
冗長サービス部4は、同期通信部41、状態監視部42、集約部43、内部障害検知部44、及び自己停止部45を有する。
同期通信部41は、冗長DHCPサーバを構成するうちの相手DHCPサーバとの間で、リースファイル5に関する同期通信を行う。同期通信部41は、リースファイル5の更新の発生毎に、同期通信を行う。DHCPサービス3によりリースファイル5が更新された場合、同期通信部41は、記憶部102のリースファイル5から更新分のリース情報を読み出し、そのリース情報を、通信インタフェース部103を通じて、同期先である相手DHCPサーバへ送信する。
同期先のDHCPサーバ1の冗長サービス4において、同期通信部41は、同期元のDHCPサーバ1からのリース情報を受信する。同期通信部41は、そのリース情報を用いて自己のリースファイル5を更新する。これにより、同期元のDHCPサーバ1のリースファイル5と同期先のDHPCサーバ1のリースファイル5の内容が同期する。
なお、冗長DHCPサーバにおいて、リースファイル5の同期を行わないと、リース情報に違いがあるので、DHCPサービスを提供することができない。リースファイル5の同期中は、DHCPサービスの提供が一時停止される。
状態監視部42は、冗長DHCPサーバを構成するうちの相手DHCPサーバの状態を確認及び検知するために、定常的な状態監視の通信を行う。これにより、状態監視部42は、相手DHCPサーバの障害状態や復旧状態を検知する。
状態監視部42は、定常的な状態監視として、以下の方式を用いる。状態監視部42は、自己DHCPサーバと相手DHCPサーバとの間で、相互に、ハートビート通信を行う。例えば、DHCPサーバ1Aは、自己の生存をDHCPサーバ1Bへ伝えるために、一定時間間隔で、ハートビート信号を送信する。ハートビート信号は、送信元のDHCPサーバ1のアドレス等を含む。DHCPサーバ1Bは、DHCPサーバ1Aからのハートビート信号を受信した場合、DHCPサーバ1Aの生存、言い換えると障害状態ではないことを確認できる。DHCPサーバ1Bは、DHCPサーバ1Aからのハートビート信号を、一定時間経過しても受信できない場合、DHCPサーバ1AとDHCPサーバ1Bとの間の通信障害の可能性を含め、DHCPサーバ1Aの障害状態として判定及び検知する。同様に、DHCPサーバ1BからDHCPサーバ1Aの方向に対しても、ハートビート信号の送信が行われる。
なお、ネットワーク9においてDHCPサーバ1AとDHCPサーバ1Bとの間で、輻輳や通信ケーブル切断等が原因で通信障害が発生している場合、DHCPサーバ1Aが正常であっても、ハートビート信号がDHCPサーバ1Bに届かない。この場合、DHCPサーバ1Aの障害状態として検知される。
また、状態監視部42は、相手DHCPサーバの障害状態の検知後、相手DHCPサーバからハートビート信号を再び受信した場合、相手DHCPサーバを復旧状態として検知する。
集約部43は、状態監視部42により相手DHCPサーバの障害状態が検知された場合に、DHCPサービスのフェイルオーバを実行する。このフェイルオーバは、DHCPサービスを、障害状態である相手DHCPサーバから、障害状態ではない自己DHCPサーバ1へ集約させることである。実施の形態1では、フェイルオーバは、プライマリであるDHCPサーバ1AからセカンダリであるDHCPサーバ1Bへ、DHCPサービスの提供を切り替えることである。集約部43は、自己のDHCPサービス3の制御状態を、後述のNORMAL状態からPARTNER-DOWN状態へ遷移させ、フェイルオーバのため、自己のDHCPサービス3によるリース等を開始させる。
また、集約部43は、フェイルオーバ後、状態監視部42により相手DHCPサーバの復旧状態が検知された場合に、DHCPサービスのフェイルバックを実行する。このフェイルバックは、DHCPサービスを、自己DHCPサーバから、復旧状態の相手DHCPサーバへ集約させることである。実施の形態1では、フェイルバックは、セカンダリであるDHCPサーバ1BからプライマリであるDHCPサーバ1Aへ、DHCPサービスの提供を切り替えることである。集約部43は、自己のDHCPサービス3の制御状態を、PARTNER-DOWN状態からRECOVER状態へ遷移させ、フェイルバックのため、自己のDHCPサービス3によるリース等を停止させる。
そして、集約部43は、フェイルバックのため、相手DHCPサーバへフェイルバックに関する指示を送信し、自己DHCPサーバと、相手DHCPサーバとの間で、リースファイル5の同期通信を行わせる。同期元のDHCPサーバ1において、冗長サービス4の同期通信部41は、自己のリースファイル5の更新分のリース情報を読み出し、同期先のDHCPサーバ1へ送信する。同期先のDHCPサーバ1において、冗長サービス4の同期通信部41は、リース情報を受信し、そのリース情報を自己のリースファイル5に反映して更新する。
内部障害検知部44は、自己DHCPサーバの内部における、DHCPサービス3に係わる内部障害を検知する。内部障害検知部44は、制御部101のDHCPサービス3から記憶部102のリースファイル5への読み出しまたは書き込みのアクセスが不可能な状態を、内部障害として検知する。この状態は、原因として、記憶部102のディスク障害や、制御部101のOSの制御による書き込み禁止モードへの移行、等が挙げられる。これらの内部障害の状態の場合、リースファイル5へのアクセスができないため、DHCPサービス3は、DHCPクライアントへのIPアドレスのリース等ができない。
ディスク障害は、記憶部102を構成するディスク装置において、ハードウェアの故障またはソフトウェアのエラー等により、メモリに格納されている情報へアクセスできない場合が挙げられる。
また、書き込み禁止モードへの移行とは、例えば以下のような場合である。制御部101のOSは、制御上、記憶部102の空き容量が少ない場合に、容量制限のために、通常モードから書き込み禁止モードへ移行させる。書き込み禁止モードは、記憶部102への書き込みアクセスを禁止し、読み出しアクセスのみ許可する制御モードである。この制御モードの場合、記憶部102のディスク装置等のハードウェアが故障していなくても、リース情報の書き込みができない。
内部障害検知部44における内部障害の検知の方式は、例えば以下である。制御部101のDHCPサービス3またはOS等は、記憶部102への書き込みアクセスが不可能な場合に、その旨のエラー情報を出力する。例えば、DHCPサービス3は、ディスク障害によりリースファイル5へアクセスができない場合、その旨のエラー情報を出力する。また、OSは、書き込み禁止モードに移行させた場合、書き込み禁止モードである旨の情報を出力する。内部障害検知部44は、自己のDHCPサーバ1の内部の状態を監視し、上記のようにDHCPサービス3やOS等が出力する情報を参照することにより、内部障害を検知する。
自己停止部45は、内部障害検知部44が内部障害を検知した場合に、自己のDHCPサービス3を停止させてリース等を行わないようにする。自己停止部45は、自己のDHCPサービス3の制御状態を、NORMAL状態からSELF-DOWN状態へ遷移させる。
[リースファイル]
図3の(a)〜(c)は、それぞれ、リースファイル5の構成例である表を示す。この表は、列として、「IPアドレス」、「DHCPクライアントMACアドレス」、「リース日時」を有する。
図3の(a)〜(c)は、それぞれ、リースファイル5の構成例である表を示す。この表は、列として、「IPアドレス」、「DHCPクライアントMACアドレス」、「リース日時」を有する。
「IPアドレス」列は、候補IPアドレス、及びリースIPアドレスの一覧が格納されている。本例では、IPアドレスとして、IP1,IP2,IP3等がある。
「リース先DHCPクライアントMACアドレス」列は、「IPアドレス」列のIPアドレスがリースされた場合に、そのリース先DHCPクライアントのMACアドレスが格納される。当該列にMACアドレスが格納されている場合、「IPアドレス」列のIPアドレスはリース済みのリースIPアドレスである。当該列にMACアドレスが格納されていない場合、「IPアドレス」列のIPアドレスはリース可能な候補IPアドレスである。
「リース日時」列は、リースが行われた日時が格納される。「リース日時」列は、省略可能である。
図3の(a)は、正常同期状態のDHCPサーバ1Aにおけるリースファイル5Aの内容例である。第1行は、リースIPアドレス「IP1」が、MACアドレス「M1」を持つユーザ端末2aにリースされた場合のリース情報である。第2行の「IP2」は、リースされていない状態である候補IPアドレスである。
図3の(b)は、フェイルオーバ後のDHCPサーバ1Bにおけるリースファイル5Bの内容例である。第1行は、同期によるリース情報であり、図3の(a)の第1行と同じである。第2行は、DHCPサービス3Bで発生した更新分のリース情報であり、リースIPアドレス「IP2」が、MACアドレス「M2」を持つユーザ端末2bにリースされた場合のリース情報である。
図3の(c)は、フェイルバック後のDHCPサーバ1Aにおけるリースファイル5Aの内容例である。第2行は、同期によるリース情報であり、図3の(b)の第2行と同じである。第1行は、フェイルバック後に、図3の(a)の第1行のリースIPアドレス「IP1」が返却された場合の情報であり、リースIPアドレス「IP1」とMACアドレス「M1」との対応関係情報がリセットされている。
[制御状態]
図4は、DHCPサービス3に関する制御状態の遷移図を示す。制御状態として「NORMAL」、「PARTNER-DOWN」、「SELF-DOWN」、「RECOVER」がある。各制御状態の意味として、「NORMAL」は「正常同期」である。「PARTNER-DOWN」は「相手側停止中」である。「SELF-DOWN」は「自己停止中」である。「RECOVER」は「リース情報同期中」である。以下、各制御状態における動作や遷移条件等の概要を示す。なお、図4の制御状態は、DHCPサーバ1AとDHCPサーバ1Bとで共通である。
図4は、DHCPサービス3に関する制御状態の遷移図を示す。制御状態として「NORMAL」、「PARTNER-DOWN」、「SELF-DOWN」、「RECOVER」がある。各制御状態の意味として、「NORMAL」は「正常同期」である。「PARTNER-DOWN」は「相手側停止中」である。「SELF-DOWN」は「自己停止中」である。「RECOVER」は「リース情報同期中」である。以下、各制御状態における動作や遷移条件等の概要を示す。なお、図4の制御状態は、DHCPサーバ1AとDHCPサーバ1Bとで共通である。
「NORMAL」状態における動作等の概要は以下である。DHCPサービス3は、DHCPクライアントへのIPアドレスのリースの処理や、リースIPアドレスの返却の際の処理を行う。DHCPサービス3は、リースファイル5の更新毎に、同期通信のために、DHCPサービス3の制御状態を、NORMALからRECOVERへ遷移させる。
冗長サービス4は、状態監視部42のハートビート通信に基づいて、相手DHCPサーバの状態監視を行う。冗長サービス4は、状態監視により相手DHCPサーバの障害状態を検知した場合、自己のDHCPサービス3の制御状態を、NORMALからPARTNER-DOWNへ遷移させる。
更に、冗長サービス4は、内部障害検知部44により、自己DHCPサーバの内部の状態を監視し、内部障害を検知した場合、自己のDHCPサービス3の制御状態を、NORMALからSELF-DOWNへ遷移させる。
「PARTNER-DOWN」状態における動作等の概要は以下である。冗長サービス4は、NORMALからPARTNER-DOWNへの遷移により、フェイルオーバを実行する。その場合、冗長サービス4は、自己のDHCPサービス3によるリース等を開始させる。冗長サービス4は、相手DHCPサーバの状態監視を行う。冗長サービス4は、状態監視により、相手DHCPサーバの復旧状態を検知した場合、フェイルバックのため、自己のDHCPサービス3の制御状態を、PARTNER-DOWNからRECOVERへ遷移させる。また、冗長サービス4は、フェイルバックのため、相手DHCPサーバへフェイルバックに関する指示、具体的にはRECOVERへの遷移等の指示を送信する。
「SELF-DOWN」状態における動作等の概要は以下である。冗長サービス4は、自己停止部45により、自己のDHCPサービス3によるリース等を停止させる。また、冗長サービス4は、自己停止部45により、状態監視部42におけるハートビート信号の送信を停止させる。また、冗長サービス4は、自己DHCPサーバが内部障害から復旧した場合、状態監視部42におけるハートビート信号の送信を開始させる。また、冗長サービス4は、相手DHCPサーバ1からフェイルバックに関する指示、具体的にはRECOVERへの遷移等の指示を受けた場合、自己のDHCPサービス3の制御状態を、SELF-DOWNからRECOVERへ遷移させる。
「RECOVER」状態における動作等の概要は以下である。同期元のDHCPサーバ1の冗長サービス4、及び同期先のDHCPサーバ1の冗長サービス4は、リースファイル5の同期通信を行う。なお、同期元とは、更新分のリース情報がある側、同期先とは、その更新分のリース情報を反映する側である。同期元の冗長サービス4は、自己のDHCPサービス3によるリース等を一時停止し、自己のリースファイル5の更新分のリース情報を読み出し、同期先の冗長サービス4へ送信する。同期先の冗長サービス4は、受信したリース情報を自己のリースファイル5に反映して更新する。同期元及び同期先の冗長サービス4は、リースファイル5の同期完了により、それぞれ、自己のDHCPサービス3の制御状態を、RECOVERからNORMALへ遷移させる。
[DHCP通信]
図5は、ネットワーク9上、DHCPクライアントであるユーザ端末2と、複数のDHCPサーバ3との間での、DHCP通信のシーケンス例を示す。S101等はステップを表す。以下、図5のステップS101〜S106について説明する。
図5は、ネットワーク9上、DHCPクライアントであるユーザ端末2と、複数のDHCPサーバ3との間での、DHCP通信のシーケンス例を示す。S101等はステップを表す。以下、図5のステップS101〜S106について説明する。
(S101) DHCPクライアントであるユーザ端末2、例えばユーザ端末2aは、ネットワーク9を利用する際、DHCPディスカバーのパケットを、ネットワーク9へブロードキャストで送信する。DHCPディスカバーのパケットは、IPアドレスの割り当てを求めるパケットである。
冗長DHCPサーバにおける、正常同期状態のDHCPサーバ1は、DHCPディスカバーのパケットを受信する。本例では、DHCPサーバ1A及びDHCPサーバ1Bは、それぞれ、正常同期状態であるため、DHCPディスカバーのパケットを受信する。
(S102) S101のDHCPディスカバーのパケットを受信したDHCPサーバ1は、DHCPサービスを提供する状態である場合、DHCPオファーのパケットを、DHCPディスカバーの送信元のDHCPクライアントへ送信する。DHCPオファーのパケットは、IPアドレスの仮の割り当てを伝えるパケットである。DHCPオファーのパケットは、リースIPアドレスの通知を伴う。DHCPサービス3は、DHCPディスカバーのパケットに対し、リースファイル5を参照し、候補IPアドレスの中から、リースIPアドレスを選択して読み出す。DHCPサービス3は、そのリースIPアドレスを含む情報を、DHCPオファーのパケットの中に記述し、そのDHCPオファーのパケットを、DHCPディスカバーの送信元のDHCPクライアントへ送信する。
本例では、冗長DHCPサーバのうち、DHCPサーバ1Aは、プライマリであるため、S101のDHCPディスカバーを受け付けて、DHCPオファーのパケットをユーザ端末2aへ送信する。その際のリースIPアドレスは例えば「IP1」である。DHCPサーバ1Bは、セカンダリであるため、S101のDHCPディスカバーに対してDHCPオファーのパケットを送信しない。
なお、他の配分の設定の場合、例えば配分が50%、50%の場合等には、複数のDHCPサーバ1で分散して処理を行うので、セカンダリのDHCPサーバ1BからもDHCPオファーのパケットが送信される場合がある。複数のDHCPサーバ1で分散する方式に関しては、DHCPクライアントのMACアドレス値に応じて振り分ける方式等、各種の方式が適用可能である。
(S103) S102のDHCPオファーのパケットを受信したDHCPクライアントは、DHCP要求のパケットを、そのDHCPオファーの送信元のDHCPサーバ1へユニキャストで送信する。DHCP要求のパケットは、DHCPオファーで通知されたリースIPアドレスによる割り当てを要求するパケットである。DHCP要求のパケットの中には、リースIPアドレスの情報を含む。
なお、DHCPクライアントは、複数のDHCPサーバ1からDHCPオファーを受信した場合、例えば先に受信したDHCPオファーの送信元のDHCPサーバ1に対してDHCP要求のパケットをユニキャストで送信する。
本例では、ユーザ端末2aは、DHCPサーバ1AからのDHCPオファー及びリースIPアドレス「IP1」に対し、DHCP要求のパケットを送信する。正常同期状態であるDHCPサーバ1Aは、そのDHCP要求のパケットを受け付ける。
(S104) S103のDHCP要求を受信したDHCPサーバ1は、DHCP承認のパケットを、DHCP要求の送信元のDHCPクライアントへ送信する。DHCP承認のパケットは、リースIPアドレスによる割り当てを実行する承認のパケットである。DHCP承認のパケットは、リースIPアドレスの情報の通知を伴う。
本例では、DHCPサーバ1Aは、ユーザ端末2aへDHCP承認を送信する。これにより、ユーザ端末2aは、リースIPアドレス「IP1」が割り当てられ、ネットワーク9の利用が可能となる。
(S105) S104のDHCP承認の送信後、DHCPサーバ1は、リースファイル5のリース情報を更新する。DHCPサーバ1は、リースファイル5に、リースIPアドレスとリース先DHCPクライアントのMACアドレスとの対応関係情報をリース情報として登録する。本例では、DHCPサーバ1Aは、リースファイル5Aに、図3の(a)の第1行のように、「IP1」と「M1」の対応関係情報を登録する。
(S106) DHCPサーバ1は、S105のリースファイル5の更新に伴い、相手DHCPサーバとの間でリースファイル5の同期通信を行う。本例では、同期元のDHCPサーバ1Aの冗長サービス4Aは、リースファイル5Aの更新分のリース情報を、同期先のDHCPサーバ1Bへ送信する。同期先のDHCPサーバ1Bの冗長サービス4Bは、同期元から受信したリース情報をリースファイル5Bに反映して更新する。
[障害時の通信シーケンス]
図6は、実施の形態1のDHCPサーバ1における、内部障害以外の障害時の通信シーケンス例を示す。S1等はステップを表す。以下、図6のステップS1〜S11の処理について順に説明する。
図6は、実施の形態1のDHCPサーバ1における、内部障害以外の障害時の通信シーケンス例を示す。S1等はステップを表す。以下、図6のステップS1〜S11の処理について順に説明する。
(S1) 最初、DHCPサーバ1A及びDHCPサーバ1Bは、正常同期状態であるNORMAL状態である。DHCPサーバ1Aは、DHCPサービス3Aにより、DHCPクライアントであるユーザ端末2に対し、IPアドレスのリースを行っている。本例では、IPアドレス「IP1」を、MACアドレス「M1」を持つユーザ端末2aにリースしたとする。これにより、リースファイル5Aには、図3の(a)の例のように、リース情報として、「IP1」と「M1」の対応関係情報が書き込まれる。
(S2) DHCPサーバ1Aは、DHCPサービス3AでS1のようにリースが発生した場合、冗長サービス4Aにより、リース情報の同期通信を行う。冗長サービス4Aは、同期通信のため、DHCPサービス3Aの制御状態を、NORMALからRECOVERへ遷移させる。冗長サービス4Aは、相手の冗長サービス4Bへ同期通信に関する指示を送信する。冗長サービス4Aは、リースファイル5Aから、更新分のリース情報である、「IP1」と「M1」の対応関係情報を読み出し、DHCPサーバ1Bへ送信する。冗長サービス4Aは、同期完了後、DHCPサービス3Aの制御状態を、RECOVERからNORMALへ遷移させる。
DHCPサーバ1Bの冗長サービス4Bは、相手の冗長サービス4Aからの指示に従い、リース情報の同期通信を行う。冗長サービス4Bは、DHCPサービス3Bの制御状態を、NORMALからRECOVERへ遷移させる。冗長サービス4Bは、冗長サービス4Bから受信したリース情報を、自己のリースファイル5Bに反映して当該リースファイル5Bを更新する。これにより、図3の(b)の例のように、リースファイル5Aとリースファイル5Bの内容が同期する。冗長サービス4Bは、同期完了後、DHCPサービス3Bの制御状態を、RECOVERからNORMALへ遷移させる。
(S3) DHCPサーバ1Aで、内部障害以外の障害が発生したとする。この障害により、DHCPサービス3Aは、DHCPクライアントからのDHCPオファー等に対して受け付けや応答ができず、IPアドレスのリース等ができない状態である。なお、DHCPサーバ1Aは、障害状態であるため、DHCPサービス3Aの制御状態を遷移できず、NORMAL状態のままである。
(S4) NORMAL状態であるDHCPサーバ1Bは、冗長サービス4Bの状態監視部42により、S3のDHCPサーバ1Aの障害状態を検知する。例えば、状態監視部42は、ネットワーク9上、DHCPサーバ1Aからのハートビート信号が、一定時間経過しても受信できない場合、DHCPサーバ1Aが障害状態であると判定する。
冗長サービス4Bは、DHCPサーバ1Aの障害状態の検知に従い、自己のDHCPサービス3Bの制御状態を、NORMALからPARTNER-DOWNへ遷移させる。
冗長サービス4Bは、DHCPサービスをDHCPサーバ1AからDHCPサーバ1Bへ集約させるフェイルオーバを実行する。すなわち、冗長サービス4Bは、自己のDHCPサービス3Bによるリース等を開始させる。これにより、DHCPサーバ1Aに代わってDHCPサーバ1Bにより、DHCPクライアントへのDHCPサービスの提供を継続する。
(S5) PARTNER-DOWN状態のDHCPサーバ1Bは、DHCPサービス3Bにより、DHCPクライアントにIPアドレスのリースを行っている。本例では、DHCPサービス3Bは、IPアドレス「IP2」を、MACアドレス「M2」を持つユーザ端末2bにリースしたとする。これにより、リースファイル5Bには、リース情報として、「IP2」と「M2」の対応関係情報が書き込まれる。
(S6) DHCPサーバ1Aにおいて、S3の障害から復旧したとする。これにより、DHCPサービス3Aは、リース等ができる状態になっている。冗長サービス4Aは、状態監視部42によりハートビート信号の送信を再開する。
(S7) PARTNER-DOWN状態のDHCPサーバ1Bは、冗長サービス4Bの状態監視部42により、DHCPサーバ1Aの復旧状態を検知する。例えば、状態監視部42は、DHCPサーバ1Aからのハートビート信号の受信により、DHCPサーバ1Aの復旧状態を検知する。
冗長サービス4Bは、DHCPサーバ1Aの復旧状態の検知に従い、自己のDHCPサービス3Bの制御状態を、PARTNER-DOWNからRECOVERへ遷移させる。
また、冗長サービス4Bは、DHCPサービスをDHCPサーバ1BからDHCPサービス3Aへ集約させるフェイルバックを実行する。すなわち、冗長サービス4Bは、自己のDHCPサービス3Bによるリース等を停止させる。冗長サービス4Bは、冗長サービス4Aへフェイルバックに関する指示を送信する。
(S8) 冗長サービス4Aは、S7の冗長サービス4Bと連係して、フェイルバックを実行する。冗長サービス4Aは、指示に従い、自己のDHCPサービス3Aの制御状態を、NORMALからRECOVERへ遷移させる。
(S9) RECOVER状態のDHCPサーバ1Bは、冗長サービス4Bにより、フェイルバックのため、リース情報の同期通信を行う。冗長サービス4Bは、リースファイル5Bの更新分のリース情報を読み出し、DHCPサーバ1Aへ送信する。本例では、S5での更新分のリース情報として「IP2」と「M2」の対応関係情報が送信される。冗長サービス4Bは、同期完了後、自己のDHCPサービス1Bの制御状態を、RECOVERからNORMALへ遷移させる。
(S10) RECOVER状態のDHCPサーバ1Aは、冗長サービス4Aにより、リース情報の同期通信を行う。冗長サービス4Aは、DHCPサーバ1Bから受信したリース情報をリースファイル5Aに反映して当該リースファイル5Aを更新する。これにより、リースファイル5Aとリースファイル5Bの内容が同期する。冗長サービス4Aは、同期完了後、自己のDHCPサービス1Aの制御状態を、RECOVERからNORMALへ遷移させる。
(S11) NORMAL状態になったDHCPサーバ1Aの冗長サービス4Aは、DHCPサービス3Aによるリース等を開始させる。
[内部障害時の通信シーケンス]
図7は、実施の形態1のDHCPサーバ1における、DHCPサーバ1Aの内部障害時の通信シーケンス例を示す。以下、図7のステップS21〜S31の処理について順に説明する。
図7は、実施の形態1のDHCPサーバ1における、DHCPサーバ1Aの内部障害時の通信シーケンス例を示す。以下、図7のステップS21〜S31の処理について順に説明する。
(S21) 最初、DHCPサーバ1A及びDHCPサーバ1Bは、正常同期状態であるNORMAL状態である。本例では、DHCPサーバ1Aは、DHCPサービス3Aにより、ユーザ端末2aへIPアドレス「IP1」をリースしており、リースファイル5Aには、リース情報として「IP1」と「M1」の対応関係情報が書き込まれている。また、図示を省略するが、DHCPサーバ1Bは、DHCPサーバ1Aとの同期通信により、リースファイル5Bには、リースファイル5Aと同じリース情報が書き込まれている。
(S22) DHCPサーバ1Aにおいて、内部障害が発生したとする。例えば、ディスク障害、またはOSの制御による書き込み禁止モードへの移行等が発生している。これにより、制御部101のDHCPサービス3Aは、記憶部102のリースファイル5Aへのリース情報の書き込みのアクセスが不可能な状態である。
(S23) DHCPサーバ1Aの冗長サービス4Aは、内部障害検知部44により、S22の内部障害を検知する。内部障害検知部44は、例えばDHCPサービス3AまたはOSから出力された情報を参照し、リースファイル5Aへの書き込みが不可能な状態を、内部障害として検知する。
冗長サービス4Aの自己停止部45は、内部障害の検知に従い、自己のDHCPサービス1Aを停止させる。詳しくは以下のような手順を有する。自己停止部45は、自己のDHCPサービス3Aの制御状態を、NORMALからSELF-DOWNへ遷移させる。自己停止部45は、自己のDHCPサービス3Aを停止させる。この停止とは、DHCPサービス3AにおけるDHCPクライアントへのIPアドレスのリース等の処理を行わないことである。DHCPサーバ1Aはアクティブ状態であり、DHCPサービス3Aは、ソフトウェアプロセスとしては稼動したままであるが、リース等の処理を行わない。DHCPサービス3Aは、DHCPクライアントからDHCPディスカバー等を受信しても、DHCPオファー等を送信しない。また、自己停止部45は、DHCPサービス3Aの停止に伴い、状態監視部42におけるハートビート信号の送信を停止させる。
(S24) 一方、NORMAL状態のDHCPサーバ1Bの冗長サービス4Bは、状態監視部42により、S23のDHCPサーバ1AのDHCPサービス3Aの停止を、障害状態として検知する。S23でハートビート信号の送信が停止されているので、冗長サービス4Bの状態監視部42は、冗長サービス4Aの状態監視部42との間で、ハートビート信号を一定時間経過しても受信できない。よって、冗長サービス4Bの状態監視部42は、DHCPサーバ1Aが障害状態であると判定する。
冗長サービス4Bは、DHCPサーバ1Aの障害状態の検知に従い、自己のDHCPサービス3Bの制御状態を、NORMALからPARTNER-DOWNへ遷移させる。冗長サービス4Bは、DHCPサービスをDHCPサーバ1AからDHCPサーバ1Bへ集約させるフェイルオーバを実行する。すなわち、冗長サービス4Bは、自己のDHCPサービス3Bによるリース等を開始させる。これにより、DHCPサーバ1Aに代わってDHCPサーバ1BでDHCPクライアントへのDHCPサービスの提供を継続する。
(S25) PARTNER-DOWN状態のDHCPサーバ1Bは、DHCPサービス3Bにより、DHCPクライアントにIPアドレスのリースを行っている。本例では、DHCPサービス3Bは、IPアドレス「IP2」を、MACアドレス「M2」を持つユーザ端末2bにリースしたとする。これにより、リースファイル5Bには、リース情報として、「IP2」と「M2」の対応関係情報が書き込まれる。
(S26) その後、SELF-DOWN状態のDHCPサーバ1Aは、S22の内部障害が復旧したとする。冗長サービス1Aは、復旧に伴い、状態監視部42によるハートビート信号の送信を再開する。
(S27) PARTNER-DOWN状態のDHCPサーバ1Bの冗長サービス4Bは、状態監視部42により、S26の内部障害の復旧を検知する。例えば、状態監視部42は、相手の冗長サービス4Aの状態監視部42からのハートビート信号の受信により、相手のDHCPサーバ1Aの復旧状態として検知する。
冗長サービス4Bは、復旧状態の検知に従い、自己のDHCPサービス3Bの制御状態を、PARTNER-DOWNからRECOVERへ遷移させる。冗長サービス4Bは、DHCPサービスをDHCPサーバ1BからDHCPサーバ1Aへ集約するフェイルバックを実行する。すなわち、冗長サービス4Bは、自己のDHCPサービス3Bによるリース等を停止させる。冗長サービス4Bは、DHCPサーバ1Aの冗長サービス4Aへ、フェイルバックに関する指示、具体的にはRECOVERへの遷移等の指示を送信する。
(S28) DHCPサーバ1Aの冗長サービス4Aは、冗長サービス4Bと連係し、フェイルバックを実行する。冗長サービス4Aは、冗長サービス4Bからの指示に従い、自己のDHCPサービス3Aの制御状態を、SELF-DOWNからRECOVERへ遷移させる。
(S29) RECOVER状態のDHCPサーバ1Bは、冗長サービス4Bにより、リース情報の同期通信を行う。冗長サービス4Bは、リースファイル5Bの更新分のリース情報を読み出し、DHCPサーバ1Aへ送信する。本例では、リース情報として「IP2」と「M2」の対応関係情報が送信される。冗長サービス4Bは、同期完了後、DHCPサービス3Bの制御状態を、RECOVERからNORMALへ遷移させる。
(S30) RECOVER状態のDHCPサーバ1Aは、冗長サービス4Aにより、リース情報の同期通信を行う。冗長サービス4Aは、冗長サービス1Bから受信したリース情報をリースファイル5Aに反映して当該リースファイル5Aを更新する。これにより、リースファイル5Aとリースファイル5Bの内容が同期する。冗長サービス4Aは、同期完了後、DHCPサービス3Aの制御状態を、RECOVERからNORMALへ遷移させる。
(S31) NORMAL状態のDHCPサーバ1Aは、同期が完了したので、DHCPサービス3Aを開始する。すなわち、冗長サービス4Aは、S23で停止させていたDHCPサービス3Aについて、リース等の処理を開始させる。その後、例えば、S21でユーザ端末2aへリースしていたIPアドレス「IP1」が返却されたとする。これにより、リースファイル5Aは、図3の(c)の例のように、「IP1」と「M1」の対応関係情報がリセットされる。
上述のように、実施の形態1では、DHCPサーバ1Aの内部障害の状態で、かつ、DHCPサーバ1AとDHCPサーバ1Bとの間の通信障害が無い状態である場合、DHCPサーバ1Aは、自己のDHCPサービス3Aを停止させる。よって、DHCPサーバ1Bは、状態監視によりDHCPサーバ1Aを障害状態と認識し、フェイルオーバを実行する。これにより、DHCPサーバ1BでDHCPサービスの提供を継続することができる。
なお、本例は、プライマリであるDHCPサーバ1Aで内部障害が発生した例である。そのため、DHCPサーバ1AがSELF-DOWN状態になり、DHCPサーバ1BがPARTNER-DOWN状態になっている。これに限らず、セカンダリであるDHCPサーバ1Bで内部障害が発生した場合も、同様に、フェイルオーバ等が機能する。この場合、DHCPサーバ1AがPARTNER-DOWN状態、DHCPサーバ1BがSELF-DOWN状態になる。
[効果等]
以上のように、実施の形態1によれば、冗長DHCPサーバを含む通信システムに関して、DHCPサーバの内部障害の場合にも、DHCPクライアントへのDHCPサービスの提供を継続することができ、DHCPサービスに関する高い可用性を実現できる。実施の形態1によれば、DHCPサービスが提供できない時間を短くすることできる。
以上のように、実施の形態1によれば、冗長DHCPサーバを含む通信システムに関して、DHCPサーバの内部障害の場合にも、DHCPクライアントへのDHCPサービスの提供を継続することができ、DHCPサービスに関する高い可用性を実現できる。実施の形態1によれば、DHCPサービスが提供できない時間を短くすることできる。
従来の冗長DHCPサーバでは、以下のような課題がある。従来の冗長DHCPサーバを構成するDHCPサーバは、図2の内部障害検知部44や自己停止部45を備えない構成とする。この構成では、例えば第1のDHCPサーバで内部障害が発生した場合、リースファイルの更新ができないので、DHCPサービスを提供できない状態になる。この時、第1のDHCPサーバは、内部障害として検知しないので、DHCPサービスの制御状態等も制御されないままである。
また、第1のDHCPサーバが内部障害の状態で、かつ、第1のDHCPサーバと第2のDHCPサーバとの間の通信障害が無い状態であるとする。この場合、第2のDHCPサーバは、状態監視において、第1のDHCPサーバを正常同期状態であると判定し、内部障害としては検知しない。よって、第2のDHCPサーバは、DHCPサービスを第1のDHCPサーバから第2のDHCPサーバへ集約するフェイルオーバを実行しない。従って、第2のDHCPサーバでDHCPサービスの提供を継続することもできない。
従来に対して、実施の形態1では、一方のDHCPサーバが内部障害である場合に、他方のDHCPサーバへのフェイルオーバが実行され、また、一方のDHCPサーバが内部障害から復旧した場合に、一方のDHCPサーバへのフェイルバックが実行される。従って、実施の形態1では、内部障害の場合にも、DHCPクライアントへのDHCPサービスの提供を継続することができる。
実施の形態1の変形例として、以下が挙げられる。
(1) 状態監視部42における状態監視の方式として、ハートビート通信の方式に限らず、他の方式も適用可能である。他の方式として以下が挙げられる。状態監視部42は、定期的に、状態確認のための要求信号を、相手DHCPサーバへ送信する。相手DHCPサーバは、その要求信号を受信すると、自己の状態を伝える応答信号を、相手DHCPサーバへ送信する。状態監視部42は、その応答信号を受信できない場合、あるいは、障害状態である旨の応答信号を受信した場合、相手DHCPサーバを障害状態として検知する。
(2) 冗長DHCPサーバは、2台のDHCPサーバに限らず、3台以上のDHCPサーバで構成されてもよい。その場合、例えば、1台のDHCPサーバがプライマリとして設定され、2台以上のDHCPサーバがセカンダリとして設定される。そして、プライマリDHCPサーバと、複数のセカンダリDHCPサーバとの間で、それぞれ、実施の形態1と同様に、冗長サービス4の通信が行われる。
(実施の形態2)
図8を用いて、実施の形態2のDHCPサーバを含む通信システムについて説明する。実施の形態2の基本的な構成は、実施の形態1の構成と同様である。以下、実施の形態2における実施の形態1とは異なる構成の部分について説明する。
図8を用いて、実施の形態2のDHCPサーバを含む通信システムについて説明する。実施の形態2の基本的な構成は、実施の形態1の構成と同様である。以下、実施の形態2における実施の形態1とは異なる構成の部分について説明する。
[DHCPサーバ]
実施の形態2では、図2のDHCPサーバ1の構成において、状態監視部42、内部障害検知部44、及び自己停止部45の機能の一部が異なる。
実施の形態2では、図2のDHCPサーバ1の構成において、状態監視部42、内部障害検知部44、及び自己停止部45の機能の一部が異なる。
内部障害検知部44は、自己DHCPサーバの内部障害を検知する機能と、内部障害からの復旧を検知する機能とを含む。自己停止部45は、内部障害が検知された時点で、自己のDHCPサービス3を停止させ、自己のDHCPサービス3の停止の状態を、相手DHCPサーバへ通知する。状態監視部42は、相手DHCPサーバから、DHCPサービス3の停止の状態を伝える通知を受信した場合、相手DHCPサーバを障害状態として検知する。
内部障害検知部44における内部障害からの復旧の検知の方式は、例えば以下である。制御部101のDHCPサービス3またはOS等は、記憶部102への書き込みアクセスが不可能な状態が解消された場合に、その旨の情報を出力する。内部障害検知部44は、自己DHCPサーバの内部の状態を監視し、上記のようなDHCPサービス3やOS等が出力する情報を参照することにより、内部障害の復旧を検知する。
自己停止部45は、内部障害の復旧の検知に従い、その復旧を、相手DHCPサーバへ通知する。状態監視部42は、相手DHCPサーバから、復旧を伝える通知を受信した場合、相手DHCPサーバの復旧状態として検知する。
[制御状態]
実施の形態2では、図4の制御状態において、以下の点が異なる。
実施の形態2では、図4の制御状態において、以下の点が異なる。
内部障害が原因でSELF-DOWN状態になった場合、冗長サービス4は、自己のDHCPサービス3を停止した状態である、SELF-DOWN状態である旨を、相手DHCPサーバへ通知する。また、SELF-DOWN状態で、冗長サービス4は、自己DHCPサーバの内部障害の復旧を検知した場合、復旧の旨を、相手DHCPサーバへ通知する。
NORMAL状態では、冗長サービス4は、相手DHCPサーバから、SELF-DOWN状態の旨の通知を受けた場合、相手DHCPサーバを障害状態として検知し、自己のDHCPサービス3の制御状態を、NORMALからPARTNER-DOWNへ遷移させる。
PARTNER-DOWN状態では、冗長サービス4は、相手DHCPサーバから、復旧の通知を受けた場合、自己のDHCPサービス3の制御状態を、PARTNER-DOWNからRECOVERへ遷移させる。
[内部障害時の通信シーケンス]
図8は、実施の形態2における、内部障害時のDHCPサーバ1の通信シーケンス例を示す。以下、図8のステップS41〜S50について順に説明する。
図8は、実施の形態2における、内部障害時のDHCPサーバ1の通信シーケンス例を示す。以下、図8のステップS41〜S50について順に説明する。
(S41〜S43) S41,S42は、図7のS21,S22と同様である。S43で、冗長サービス4Aは、S42の内部障害の検知に従い、実施の形態1と同様に、自己のDHCPサービス3Aの制御状態を、NORMALからSELF-DOWNへ遷移させ、自己のDHCPサービス3Aを停止させる。冗長サービス4Aは、自己のDHCPサービス3Aを停止した状態であるSELF-DOWN状態を伝える情報を、DHCPサーバ1Bへ通知する。なお、この時点で、状態監視部42におけるハートビート信号の送信については、実施の形態1と同様に停止させる。
(S44,S45) DHCPサーバ1Bの冗長サービス4Bは、S43の通知を受信する。冗長サービス4Bは、その通知から、相手のDHCPサービス3Aの停止を認識し、DHCPサーバ1Aの障害状態として検知する。冗長サービス4Bは、障害状態の検知に従い、自己のDHCPサービス3Bの制御状態を、NORMALからPARTNER-DOWNへ遷移させる。冗長サービス4Bは、DHCPサービスをDHCPサーバ1AからDHCPサーバ1Bへ集約させるフェイルオーバを実行する。すなわち、冗長サービス4Bは、自己のDHCPサービス3Aによるリース等を開始させる。S45は、図7のS25と同様である。
(S46) SELF-DOWN状態のDHCPサーバ1Aにおいて、冗長サービス4Aの内部障害検知部44は、S42の内部障害からの復旧を検知する。内部障害検知部44は、例えばDHCPサービス3AやOSが出力する情報を参照することにより、内部障害の復旧を検知する。自己停止部45は、その復旧の検知に従い、自己のDHCPサーバ1Aの復旧を、状態監視部42を通じて、DHCPサーバ1Bへ通知する。
(S47〜S50) DHCPサーバ1Bの冗長サービス4Bは、S46の復旧の通知を受信する。冗長サービス4Bは、その通知の内容から、DHCPサーバ1Aの復旧状態として検知する。冗長サービス4Bは、その復旧状態の検知に従い、自己のDHCPサービス3Bの制御状態を、PARTNER-DOWNからRECOVERへ遷移させる。冗長サービス4Bは、DHCPサービスをDHCPサーバ1BからDHCPサーバ1Aへ集約するフェイルバックを実行する。すなわち、冗長サービス4Bは、自己のDHCPサービス3Aによるリース等を停止させる。冗長サービス4Bは、DHCPサーバ1Aの冗長サービス4Aへ、フェイルバックに関する指示を送信する。S48以降は図7のS28以降と同様である。
[効果等]
以上のように、実施の形態2によれば、実施の形態1と同様の効果が得られる。実施の形態2では、DHCPサーバ1Aの内部障害の状態で、かつ、DHCPサーバ1AとDHCPサーバ1Bとの間の通信障害が無い状態である場合、DHCPサーバ1Aは、自己のDHCPサービス3Aを停止させ、その状態をDHCPサーバ1Bへ通知する。DHCPサーバ1Bは、通知によりDHCPサーバ1Aを障害状態と認識し、フェイルオーバを実行する。これにより、DHCPサーバ1BでDHCPサービスの提供を継続することができる。
以上のように、実施の形態2によれば、実施の形態1と同様の効果が得られる。実施の形態2では、DHCPサーバ1Aの内部障害の状態で、かつ、DHCPサーバ1AとDHCPサーバ1Bとの間の通信障害が無い状態である場合、DHCPサーバ1Aは、自己のDHCPサービス3Aを停止させ、その状態をDHCPサーバ1Bへ通知する。DHCPサーバ1Bは、通知によりDHCPサーバ1Aを障害状態と認識し、フェイルオーバを実行する。これにより、DHCPサーバ1BでDHCPサービスの提供を継続することができる。
実施の形態2の変形例として、以下が挙げられる。状態監視部42は、状態監視の方式として、ハートビート通信ではなく、定期的に要求と応答の通信を行う。これにより、状態監視部42は、相手DHCPサーバの状態を確認及び検知する。状態監視部42は、相手DHCPサーバへ状態確認のための要求信号を送信する。状態監視部42は、相手DHCPサーバから要求信号を受信した時、自己DHCPサーバが内部障害の状態である場合には、その内部障害の状態を伝える応答信号を、相手DHCPサーバへ送信する。状態監視部42は、受信したその応答信号から、相手DHCPサーバを障害状態として検知する。
以上、本発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。
1,1A,1B…DHCPサーバ、2,2a,2b…ユーザ端末、3,3A,3B…DHCPサービス、4,4A,4B…冗長サービス、5,5A,5B…リースファイル、9…ネットワーク、20,20a,20b…DHCPクライアントプロセス
Claims (6)
- 冗長DHCPサーバを構成するDHCPサーバであって、
DHCPクライアントにIPアドレスをリースするDHCPサービスを提供するDHCPサービス部と、
前記冗長DHCPサーバを構成する自己DHCPサーバと相手DHCPサーバとの間で、前記DHCPサービスに関する冗長サービスを提供する冗長サービス部と、
前記IPアドレスとリース先DHCPクライアントとの対応関係情報をリース情報として格納するリースファイルと、
を備え、
前記冗長サービス部は、
前記相手DHCPサーバとの間で、前記リースファイルを同期する通信を行う同期通信部と、
前記自己DHCPサーバの内部における前記リースファイルに対する読み出しまたは書き込みが不可能な状態を、内部障害として検知する内部障害検知部と、
前記内部障害が検知された場合に、前記自己DHCPサーバの前記DHCPサービスを停止させて、当該DHCPサービスの制御状態を正常同期状態から自己停止状態へ遷移させる自己停止部と、
前記相手DHCPサーバとの間で、前記相手DHCPサーバの状態を監視する通信を行うことにより、前記相手DHCPサーバの前記DHCPサービスの前記自己停止状態を前記相手DHCPサーバの障害状態として検知する状態監視部と、
前記相手DHCPサーバの障害状態が検知された場合に、前記DHCPサービスを前記相手DHCPサーバから前記自己DHCPサーバへ集約させるフェイルオーバを実行する集約部と、
を有する、
DHCPサーバ。 - 請求項1記載のDHCPサーバにおいて、
前記状態監視部は、前記相手DHCPサーバの前記内部障害からの復旧を検知し、
前記集約部は、前記復旧が検知された場合に、前記DHCPサービスを前記自己DHCPサーバから前記相手DHCPサーバへ集約させるフェイルバックを実行する、
DHCPサーバ。 - 請求項1記載のDHCPサーバにおいて、
前記状態監視部は、
前記相手DHCPサーバとの間で、ハートビート通信を行い、
前記自己DHCPサーバが正常同期状態の場合には、ハートビート信号を前記相手DHCPサーバへ送信し、
前記相手DHCPサーバから前記ハートビート信号を受信した場合には、前記相手DHCPサーバを前記正常同期状態として検知し、
前記相手DHCPサーバから前記ハートビート信号を一定時間経過しても受信できない場合には、前記相手DHCPサーバを障害状態として検知し、
前記自己停止部は、前記内部障害が検知された場合に、前記ハートビート信号の送信を停止させる、
DHCPサーバ。 - 請求項1記載のDHCPサーバにおいて、
前記状態監視部は、
定期的に、前記相手DHCPサーバへ状態確認のための要求信号を送信し、
前記相手DHCPサーバから前記要求信号を受信した場合、前記自己DHCPサーバが前記自己停止状態の場合には、前記自己DHCPサーバの前記自己停止状態を伝える応答信号を送信し、
前記相手DHCPサーバから前記自己停止状態を伝える前記応答信号を受信した場合、前記相手DHCPサーバを前記障害状態として検知する、
DHCPサーバ。 - 請求項1記載のDHCPサーバにおいて、
前記自己停止部は、前記内部障害が検知された場合に、前記自己DHCPサーバの前記自己停止状態を、前記相手DHCPサーバへ通知し、
前記状態監視部は、前記相手DHCPサーバから前記自己停止状態の通知を受けた場合、前記相手DHCPサーバを前記障害状態として検知する、
DHCPサーバ。 - 請求項5記載のDHCPサーバにおいて、
前記内部障害検知部は、前記内部障害からの復旧を検知し、
前記自己停止部は、前記復旧が検知された場合に、前記自己DHCPサーバの復旧を前記相手DHCPサーバへ通知し、
前記状態監視部は、前記相手DHCPサーバから前記復旧の通知を受けた場合、前記相手DHCPサーバの復旧状態として検知し、
前記集約部は、前記相手DHCPサーバの復旧状態が検知された場合に、前記DHCPサービスを前記自己DHCPサーバから前記相手DHCPサーバへ集約させるフェイルバックを実行する、
DHCPサーバ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015008042A JP2016134749A (ja) | 2015-01-19 | 2015-01-19 | Dhcpサーバ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015008042A JP2016134749A (ja) | 2015-01-19 | 2015-01-19 | Dhcpサーバ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016134749A true JP2016134749A (ja) | 2016-07-25 |
Family
ID=56464570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015008042A Pending JP2016134749A (ja) | 2015-01-19 | 2015-01-19 | Dhcpサーバ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016134749A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112889305A (zh) * | 2019-01-17 | 2021-06-01 | 慧与发展有限责任合伙企业 | 用于dhcp故障转移部署中的网络地址冲突减少的短期租约分配 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001230788A (ja) * | 2000-02-16 | 2001-08-24 | Hitachi Cable Ltd | 多重化DHCP(DynamicHostConfigurationProtocol)サーバ |
JP2002009791A (ja) * | 2000-06-23 | 2002-01-11 | Yaskawa Electric Corp | Ipアドレスを動的に割り当てるdhcpサーバシステム及びipアドレスを動的に割り当てるdhcpサーバ |
JP2008097164A (ja) * | 2006-10-10 | 2008-04-24 | Hitachi Ltd | 複数の機能要素から構成されるシステムの故障監視方法 |
JP2012249213A (ja) * | 2011-05-31 | 2012-12-13 | Buffalo Inc | Ipアドレス割り当てシステム及びipアドレス割り当て方法 |
-
2015
- 2015-01-19 JP JP2015008042A patent/JP2016134749A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001230788A (ja) * | 2000-02-16 | 2001-08-24 | Hitachi Cable Ltd | 多重化DHCP(DynamicHostConfigurationProtocol)サーバ |
JP2002009791A (ja) * | 2000-06-23 | 2002-01-11 | Yaskawa Electric Corp | Ipアドレスを動的に割り当てるdhcpサーバシステム及びipアドレスを動的に割り当てるdhcpサーバ |
JP2008097164A (ja) * | 2006-10-10 | 2008-04-24 | Hitachi Ltd | 複数の機能要素から構成されるシステムの故障監視方法 |
JP2012249213A (ja) * | 2011-05-31 | 2012-12-13 | Buffalo Inc | Ipアドレス割り当てシステム及びipアドレス割り当て方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112889305A (zh) * | 2019-01-17 | 2021-06-01 | 慧与发展有限责任合伙企业 | 用于dhcp故障转移部署中的网络地址冲突减少的短期租约分配 |
US20210400015A1 (en) * | 2019-01-17 | 2021-12-23 | Hewlett Packard Enterprise Development Lp | Short-term lease allocation for network address conflict reduction in dhcp failover deployments |
CN112889305B (zh) * | 2019-01-17 | 2023-11-17 | 慧与发展有限责任合伙企业 | 用于dhcp故障转移部署中的网络地址冲突减少的短期租约分配 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10715411B1 (en) | Altering networking switch priority responsive to compute node fitness | |
US7225356B2 (en) | System for managing operational failure occurrences in processing devices | |
US9659075B2 (en) | Providing high availability in an active/active appliance cluster | |
US7792148B2 (en) | Virtual fibre channel over Ethernet switch | |
CN102404390B (zh) | 高速实时数据库的智能化动态负载均衡方法 | |
US10693813B1 (en) | Enabling and disabling links of a networking switch responsive to compute node fitness | |
US9219640B2 (en) | Performing failover in a redundancy group | |
US8880935B2 (en) | Redundancy and load balancing in remote direct memory access communications | |
JP5863942B2 (ja) | ウィットネスサービスの提供 | |
US20130159487A1 (en) | Migration of Virtual IP Addresses in a Failover Cluster | |
US9992058B2 (en) | Redundant storage solution | |
JP2006253900A (ja) | Ipアドレス引き継ぎ方法、ipアドレスアドレス引き継ぎプログラム、サーバおよびネットワークシステム | |
US20150113313A1 (en) | Method of operating a server system with high availability | |
CN110324375B (zh) | 一种信息备份方法及相关设备 | |
JP5775473B2 (ja) | エッジ装置冗長化システム、切替制御装置およびエッジ装置冗長化方法 | |
JP2006235837A (ja) | 負荷分散システム、負荷分散装置管理サーバ、負荷分散装置の切り替え方法及びプログラム | |
JP2016134749A (ja) | Dhcpサーバ | |
JP2009075710A (ja) | 冗長化システム | |
CN111181766B (zh) | 一种冗余fc网络系统及其实现交换机动态配置的方法 | |
US11757987B2 (en) | Load balancing systems and methods | |
CN113852514A (zh) | 服务不中断的数据处理系统、处理设备切换方法、连接设备 | |
US10172028B2 (en) | System and method for seamless TCP connection handoff | |
US9019964B2 (en) | Methods and systems for routing application traffic | |
JP2011248737A (ja) | タスク引継プログラム、処理装置及びコンピュータ・システム | |
CN117201575A (zh) | 数据发送方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180717 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190312 |