特許第6445408号(P6445408)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

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

▶ 日本電信電話株式会社の特許一覧
<>
  • 特許6445408-通信システムおよび設定方法 図000002
  • 特許6445408-通信システムおよび設定方法 図000003
  • 特許6445408-通信システムおよび設定方法 図000004
  • 特許6445408-通信システムおよび設定方法 図000005
  • 特許6445408-通信システムおよび設定方法 図000006
  • 特許6445408-通信システムおよび設定方法 図000007
  • 特許6445408-通信システムおよび設定方法 図000008
  • 特許6445408-通信システムおよび設定方法 図000009
  • 特許6445408-通信システムおよび設定方法 図000010
  • 特許6445408-通信システムおよび設定方法 図000011
  • 特許6445408-通信システムおよび設定方法 図000012
  • 特許6445408-通信システムおよび設定方法 図000013
  • 特許6445408-通信システムおよび設定方法 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6445408
(24)【登録日】2018年12月7日
(45)【発行日】2018年12月26日
(54)【発明の名称】通信システムおよび設定方法
(51)【国際特許分類】
   H04L 12/713 20130101AFI20181217BHJP
   H04L 12/70 20130101ALI20181217BHJP
   H04L 12/803 20130101ALI20181217BHJP
【FI】
   H04L12/713
   H04L12/70 D
   H04L12/803
【請求項の数】4
【全頁数】16
(21)【出願番号】特願2015-158288(P2015-158288)
(22)【出願日】2015年8月10日
(65)【公開番号】特開2017-38218(P2017-38218A)
(43)【公開日】2017年2月16日
【審査請求日】2017年8月28日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】金子 斉
(72)【発明者】
【氏名】鈴木 昭徳
【審査官】 玉木 宏治
(56)【参考文献】
【文献】 特開2012−186528(JP,A)
【文献】 特開2006−333077(JP,A)
【文献】 特開2015−061229(JP,A)
【文献】 特開2014−003451(JP,A)
【文献】 特開2004−274737(JP,A)
【文献】 特開2004−032758(JP,A)
【文献】 特開2003−348136(JP,A)
【文献】 伊藤 玄蕃,VRRPの仕組みを理解しましょう,ネットワークマガジン,株式会社アスキー,2006年12月 1日,第11巻、第12号,pp.100-103
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−955
(57)【特許請求の範囲】
【請求項1】
端末ごとに異なるVLANが割り当てられた各端末と接続される複数のルータと、該複数のルータを制御するサーバとを有する通信システムであって、
前記サーバは、
各ルータの負荷を監視する監視部と、
前記端末からDHCP DISCOVERメッセージを受信した場合に、前記監視部によって監視された各ルータの負荷に応じて、各ルータに対して優先度に関するPriority情報をDHCP OFFERメッセージのオプションフィールドにおけるベンダ固有情報を設定するためのフィールドに設定し、該DHCP OFFERメッセージのパケットを送信する送信部と、
を有し、
同一のVLAN上において同一のIPアドレスが割り当てられた各ルータは、
前記サーバから前記Priority情報を含むパケットを受信すると、該Priority情報に基づいて、自身の優先度を設定する設定部と、
前記端末から接続先のルータのMACアドレスを問い合わせるアドレス要求を受信する受信部と、
前記設定部によって設定された自身の優先度が、前記複数のルータのなかで最も高い場合には、マスタのルータとして、前記受信部によって受信された前記アドレス要求の送信元の端末に対して、自ルータのMACアドレスを応答する応答部と、
前記応答部によって前記MACアドレスが応答された端末を送信元または送信先とするパケットを中継する中継部と、
を有し、
前記端末と接続された全てのルータのうち、一つのルータがマスタのルータとして、接続された端末を送信元または送信先とするパケットを中継し、該マスタのルータが故障した場合には、他のルータが新しいマスタのルータに切り替わることを特徴とする通信システム。
【請求項2】
端末ごとに異なるVLANが割り当てられた各端末と接続される複数のルータと、該複数のルータを制御するサーバとを有する通信システムであって、
前記サーバは、
各ルータの負荷を監視する監視部と、
所定の契機に、前記監視部によって監視された各ルータの負荷に応じて、各ルータに対して優先度に関するPriority情報をDHCP FORCERENEWメッセージのオプションフィールドにおけるベンダ固有情報を設定するためのフィールドに設定し、該DHCP FORCERENEWメッセージのパケットを送信する送信部と、
を有し、
同一のVLAN上において同一のIPアドレスが割り当てられた各ルータは、
前記サーバから前記Priority情報を含むパケットを受信すると、該Priority情報に基づいて、自身の優先度を設定する設定部と、
前記端末から接続先のルータのMACアドレスを問い合わせるアドレス要求を受信する受信部と、
前記設定部によって設定された自身の優先度が、前記複数のルータのなかで最も高い場合には、マスタのルータとして、前記受信部によって受信された前記アドレス要求の送信元の端末に対して、自ルータのMACアドレスを応答する応答部と、
前記応答部によって前記MACアドレスが応答された端末を送信元または送信先とするパケットを中継する中継部と、
を有し、
前記端末と接続された全てのルータのうち、一つのルータがマスタのルータとして、接続された端末を送信元または送信先とするパケットを中継し、該マスタのルータが故障した場合には、他のルータが新しいマスタのルータに切り替わることを特徴とする通信システム。
【請求項3】
端末ごとに異なるVLANが割り当てられた各端末と接続される複数のルータと、該複数のルータを制御するサーバとを有する通信システムにより実行される設定方法であって、
前記サーバが、各ルータの負荷を監視する監視工程と、
前記サーバが、前記端末からDHCP DISCOVERメッセージを受信した場合に、前記監視工程によって監視された各ルータの負荷に応じて、各ルータに対して優先度に関するPriority情報をDHCP OFFERメッセージのオプションフィールドにおけるベンダ固有情報を設定するためのフィールドに設定し、該DHCP OFFERメッセージのパケットを送信する送信工程と、
同一のVLAN上において同一のIPアドレスが割り当てられた各ルータが、前記サーバから前記Priority情報を含むパケットを受信すると、該Priority情報に基づいて、自身の優先度を設定する設定工程と、
前記各ルータが、前記端末から接続先のルータのMACアドレスを問い合わせるアドレス要求を受信する受信工程と、
前記各ルータが、前記設定工程によって設定された自身の優先度が、前記複数のルータのなかで最も高い場合には、マスタのルータとして、前記受信工程によって受信された前記アドレス要求の送信元の端末に対して、自ルータのMACアドレスを応答する応答工程と、
前記マスタのルータが、前記応答工程によって前記MACアドレスが応答された端末を送信元または送信先とするパケットを中継する中継工程と、
前記複数のルータのうち前記マスタのルータ以外の一つの他のルータが、前記端末と接続された全てのルータのうちの一つのマスタのルータであって、接続された端末を送信元または送信先とするパケットを中継するマスタのルータが故障した場合には、前記他のルータを新しいマスタのルータに切り替える切替工程と、
を含んだことを特徴とする設定方法。
【請求項4】
端末ごとに異なるVLANが割り当てられた各端末と接続される複数のルータと、該複数のルータを制御するサーバとを有する通信システムにより実行される設定方法であって、
前記サーバが、各ルータの負荷を監視する監視工程と、
前記サーバが、所定の契機に、前記監視工程によって監視された各ルータの負荷に応じて、各ルータに対して優先度に関するPriority情報をDHCP FORCERENEWメッセージのオプションフィールドにおけるベンダ固有情報を設定するためのフィールドに設定し、該DHCP FORCERENEWメッセージのパケットを送信する送信工程と、
同一のVLAN上において同一のIPアドレスが割り当てられた各ルータが、前記サーバから前記Priority情報を含むパケットを受信すると、該Priority情報に基づいて、自身の優先度を設定する設定工程と、
前記各ルータが、前記端末から接続先のルータのMACアドレスを問い合わせるアドレス要求を受信する受信工程と、
前記各ルータが、前記設定工程によって設定された自身の優先度が、前記複数のルータのなかで最も高い場合には、マスタのルータとして、前記受信工程によって受信された前記アドレス要求の送信元の端末に対して、自ルータのMACアドレスを応答する応答工程と、
前記マスタのルータが、前記応答工程によって前記MACアドレスが応答された端末を送信元または送信先とするパケットを中継する中継工程と、
前記複数のルータのうち前記マスタのルータ以外の一つの他のルータが、前記端末と接続された全てのルータのうちの一つのマスタのルータであって、接続された端末を送信元または送信先とするパケットを中継するマスタのルータが故障した場合には、前記他のルータを新しいマスタのルータに切り替える切替工程と、
を含んだことを特徴とする設定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システムおよび設定方法に関する。
【背景技術】
【0002】
従来、各端末にVLAN(Virtual Local Area Network)を一つ割り当てて、他のユーザからのパケットの影響を抑止し、無断使用を防止する通信システムが知られている。また、このような通信システムの冗長化構成として、例えば、図13に例示するように、ACT(Active) のルータとSBY(standby)のルータにY字型にVLANを張ることが知られている。
【0003】
例えば、図13の例では、端末30Aは、ACTのルータ200AとSBYのルータ200Cと「VLAN1」を経由して接続されており、端末30Bは、ACTのルータ200BとSBYのルータ200Cと「VLAN2」を経由して接続されている。
【0004】
このような構成において、ACTのルータが故障した場合には、SBYのルータのIPアドレスをデフォルトゲートウェイとして払い出し直す。例えば、図13の例では、ACTのルータ200Aに故障が発生した場合には、DHCP(Dynamic Host Configuration Protocol)サーバ100は、端末30Aに対して再設定を指示するメッセージであるDHCP FORCERENEWを送信し、DHCPサーバ100の探索メッセージであるDHCP DISCOVERからやり直すことで、SBYのルータ200CのIPアドレスをデフォルトゲートウェイとして払い出し直す。
【0005】
また、ルータ負荷の是正やファイル更新などの工事のために収容替えを行う場合にも、DHCPサーバ100がユーザ端末30Aに対してDHCP FORCERENEWを送信し、DHCP DISCOVERからやり直して、収容先のルータを変更する。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】”Dynamic Host Configuration Protocol”、[online]、[2015年8月4日検索]、インターネット<http://www.ietf.org/rfc/rfc2131.txt.pdf/>
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来の技術では、ACTのルータの故障時等には、SBYのルータのIPアドレスをデフォルトゲートウェイとして払い出し直すために、DHCPサーバ100がユーザ端末30Aに対してDHCP FORCERENEWを送信し、DHCP DISCOVERからやり直すので、サービス停止時間が長いという課題があった。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明の通信システムは、端末ごとに異なるVLANが割り当てられた各端末と、該各端末とそれぞれ接続される複数のルータとを有する通信システムであって、端末ごとに異なるVLANが割り当てられ、該VLANを介して前記複数のルータのうちの全てのルータと接続される端末と、同一のVLAN上において同一のIPアドレスが割り当てられた複数のルータと、を有し、前記端末と接続された全てのルータのうち、一つのルータがマスタのルータとして、接続された端末を送信元または送信先とするパケットを中継し、該マスタのルータが故障した場合には、他のルータが新しいマスタのルータに切り替わることを特徴とする。
【0009】
また、本発明の通信システムは、端末ごとに異なるVLANが割り当てられた各端末と接続される複数のルータと、該複数のルータを制御するサーバとを有する通信システムであって、前記サーバは、各ルータの負荷を監視する監視部と、所定の契機に、前記監視部によって監視された各ルータの負荷に応じて、各ルータに対して優先度に関するPriority情報を含むパケットを送信する送信部と、を有し、同一のVLAN上において同一のIPアドレスが割り当てられた各ルータは、前記サーバから前記Priority情報を含むパケットを受信すると、該Priority情報に基づいて、自身の優先度を設定する設定部と、前記端末から接続先のルータのMACアドレスを問い合わせるアドレス要求を受信する受信部と、前記設定部によって設定された自身の優先度が、前記複数のルータのなかで最も高い場合には、マスタのルータとして、前記受信部によって受信された前記アドレス要求の送信元の端末に対して、自ルータのMACアドレスを応答する応答部と、前記応答部によって前記MACアドレスが応答された端末を送信元または送信先とするパケットを中継する中継部と、を有することを特徴とする。
【0010】
また、本発明の設定方法は、端末ごとに異なるVLANが割り当てられた各端末と接続される複数のルータと、該複数のルータを制御するサーバとを有する通信システムにより実行される設定方法であって、前記サーバが、各ルータの負荷を監視する監視工程と、前記サーバが、所定の契機に、前記監視工程によって監視された各ルータの負荷に応じて、各ルータに対して優先度に関するPriority情報を含むパケットを送信する送信工程と、同一のVLAN上において同一のIPアドレスが割り当てられた各ルータが、前記サーバから前記Priority情報を含むパケットを受信すると、該Priority情報に基づいて、自身の優先度を設定する設定工程と、前記各ルータが、前記端末から接続先のルータのMACアドレスを問い合わせるアドレス要求を受信する受信工程と、前記各ルータが、前記設定工程によって設定された自身の優先度が、前記複数のルータのなかで最も高い場合には、マスタのルータとして、前記受信工程によって受信された前記アドレス要求の送信元の端末に対して、自ルータのMACアドレスを応答する応答工程と、前記マスタのルータが、前記応答工程によって前記MACアドレスが応答された端末を送信元または送信先とするパケットを中継する中継工程と、を含んだことを特徴とする。
【発明の効果】
【0011】
本発明によれば、ルータの故障時であってもサービス停止時間を短くすることが可能である。
【図面の簡単な説明】
【0012】
図1図1は、第一の実施の形態に係る通信システムの構成の一例を示す図である。
図2図2は、第一の実施の形態に係る通信システムにおける各ルータについて説明する図である。
図3図3は、第一の実施の形態に係るDHCPサーバの構成を示すブロック図である。
図4図4は、第一の実施の形態に係るルータ負荷情報記憶部が記憶する情報の一例を示す図である。
図5図5は、DHCP OFFERメッセージのパケット構成を示す図である。
図6図6は、第一の実施の形態に係るルータの構成を示すブロック図である。
図7図7は、第一の実施の形態に係るPRIO情報記憶部が記憶する情報の一例を示す図である。
図8図8は、第一の実施の形態に係るアドレス情報記憶部が記憶する情報の一例を示す図である。
図9図9は、第一の実施の形態に係る通信システムのアドレス払い出し時の処理を説明する図である。
図10図10は、第一の実施の形態に係るDHCPサーバのPRIO情報送信処理の流れを示すフローチャートである。
図11図11は、第一の実施の形態に係るルータのPRIO情報設定処理の流れを示すフローチャートである。
図12図12は、設定プログラムを実行するコンピュータを示す図である。
図13図13は、従来の通信システムを説明する図である。
【発明を実施するための形態】
【0013】
以下に、本願に係る通信システムおよび設定方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る通信システムおよび設定方法が限定されるものではない。
【0014】
[第一の実施の形態]
以下の実施の形態では、第一の実施の形態に係る通信システムの構成、DHCPサーバの構成、ルータの構成、DHCPサーバおよびルータの処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
【0015】
[通信システムの構成]
図1は、第一の実施の形態に係る通信システムの構成の一例を示す図である。第一の実施の形態に係る通信システムは、DHCPサーバ10、複数のルータ20A〜20Cおよび複数の端末30A、30Bを有する。また、図1に示すように、第一の実施の形態に係る通信システムでは、複数のルータ20A〜20CにVLANを張るシステムが構築されている。なお、図1に示す各装置や機能の数は、あくまで一例であり、これに限られるものではない。また、複数のルータ20A〜20Cおよび複数の端末30A、30Bについて、特に区別なく説明する場合には、適宜ルータ20、端末30と記載する。
【0016】
DHCPサーバ10は、同一セグメント内の端末30A、30Bに対しネットワーク設定情報を送信する。このネットワーク設定情報は、端末30がデータ通信を行うための設定情報であり、端末30に割り当てるIPアドレス、端末30の利用するデフォルトゲートウェイのIPアドレスなどを含む。
【0017】
また、DHCPサーバ10は、DHCP DISCOVERの受信時等を契機に、負荷の小さいルータ20がマスタになるようにVRRPのPriority(以下、適宜PRIOと記載する)情報を変更する。具体的には、DHCPサーバ10は、DHCP DISCOVERを受信した場合に、DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)にPRIO情報を設定して、ルータ20に送信する。
【0018】
ルータ20は、VLANで接続された端末30の通信を中継する。また、端末30は、端末ごとに異なるVLANが割り当てられ、該VLANを介して複数のルータ20のうちの全てのルータ20と接続される。ルータ20には、接続するVLANごとに、実IPアドレス、実MACアドレス、VRRPにおいて同一の仮想IPアドレスが割り振られたルータ20のグループを識別するVRID(Virtual Router ID)、マスタ(アクティブ)またはスレーブ(スタンバイ)になるのかを決めるための情報であるPRIO情報、仮想IPアドレス、仮想MACアドレスが設定されている。
【0019】
例えば、図2に例示するように、ルータ20Aは、VLAN1について、実IPアドレス「10.1.1.1」、実MACアドレス「70:58:12:27:B7:17」、VRID「1」、PRIO「200→50」と、仮想IPアドレス「10.1.1.5」、仮想MACアドレス「00:00:5E:00:01:01」が設定されている。
【0020】
また、ルータ20Aは、DHCPサーバ10からPRIO情報を受け付けると、該PRIO情報からPRIO情報を設定する。具体的には、ルータ20Aは、DHCP OFFERメッセージを受信し、DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)に設定されたPRIO情報を設定する。例えば、図2の例では、ルータ20Aは、PRIO情報「200」が設定されていたが、DHCP OFFERメッセージを受信し、DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)に設定されたPRIO情報が「50」であったため、PRIO情報が200から50に更新される(図2では「200→50」と記載)。
【0021】
このように、DHCPサーバ10は、各ルータ20の負荷に応じて、PRIO情報を変更する。そして、各ルータのなかで最もPRIO情報の値が大きいルータがマスタになる。例えば、図2の例では、ルータ20AのPRIO情報が「200」から「50」に変更され、ルータ20BのPRIO情報が「100」から「200」に変更され、ルータ20CのPRIO情報が「50」から「100」に変更されたので、ルータ20Aからルータ20Bにマスタが変更される。
【0022】
マスタのルータ20Bとなった後、端末30は、DHCP REQUESTをDHCPサーバ10に送信する。そして、DHCPサーバ10は、DHCP ACKを端末30に応答する。
【0023】
その後、各ルータ20A〜20Cは、端末30から各ARP(Address Resolution Protocol)要求を受け付けた場合には、ルータ20BのみがARP応答として、ルータ20Bの仮想MACアドレスを応答する。そして、図示しないスイッチは、ARP応答により学習することで、該端末30を宛先とするパケット、または、端末30を送信元とするパケットを受信した場合に、ルータ20Bへ転送する。これにより、ルータ20Bがマスタとして動作することになる。
【0024】
ここで、通信システムでは、同一VLAN上の各ルータ20A〜20Cの仮想IPアドレスは同一であるため、マスタのルータ20Bが故障した時は、DHCP DISCOVERからやり直す必要はなく、新マスタのルータがGARP(Gratuitous ARP)メッセージを送信することにより、スイッチが学習して、即時にマスタのルータが切り替わる。
【0025】
[DHCPサーバの構成]
次に、図3を用いて、図1に示したDHCPサーバ10の構成を説明する。図3は、第一の実施の形態に係るDHCPサーバ10の構成を示すブロック図である。図3に示すように、このDHCPサーバ10は、通信処理部11、制御部12および記憶部13を有する。以下にこれらの各部の処理を説明する。
【0026】
通信処理部11は、ルータ20との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部11は、ルータ20に対してPRIO情報を設定したDHCP OFFERメッセージを送信する。
【0027】
記憶部13は、制御部12による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、ルータ負荷情報記憶部13aを有する。例えば、記憶部13は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
【0028】
ルータ負荷情報記憶部13aは、接続された各ルータ20の負荷に関する情報を記憶する。例えば、ルータ負荷情報記憶部13aは、負荷に関する情報として、各ルータ20における加入者の収容数を記憶する。図4の例を挙げて説明すると、ルータ負荷情報記憶部13aは、ルータ20を識別する「ルータ名」と各ルータ20の収容数を示す「負荷」とを対応付けて記憶する。図4の例では、ルータ負荷情報記憶部13aは、例えば、ルータ名「ルータ1」と負荷「2000」とを対応付けて記憶する。これは、「ルータ1」の収容数が「2000」であることを意味する。なお、負荷に関する情報として、収容数に限定されるものではなく、例えば、各ルータ20のCPUやメモリに関する情報を記憶してもよい。
【0029】
制御部12は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、監視部12aおよび送信部12bを有する。
【0030】
監視部12aは、各ルータ20の負荷を監視する。例えば、監視部12aは、所定の時間間隔で、各ルータ20に対して現在の収容数の情報を要求し、取得した収容数の情報をルータ負荷情報記憶部13aに格納する。なお、監視部12aは、外部の装置から各ルータ20の負荷に関する情報を取得するようにしてもよい。
【0031】
送信部12bは、所定の契機に、監視部12aによって監視された各ルータ20の負荷に応じて、各ルータ20に対して優先度に関するPRIO情報を含むパケットを送信する。例えば、送信部12bは、端末30からDHCP DISCOVERを受信した際に、各ルータ20の負荷が小さいほど、大きい値をPRIO情報として、DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)に設定する。
【0032】
また、送信部12bは、DHCP FORCERENEWメッセージを送る際に、DHCP FORCERENEWメッセージにPRIO情報を設定してもよい。具体的には、送信部12bは、監視部12aによって監視された各ルータの負荷に応じて、PRIO情報をDHCP FORCERENEWメッセージのオプションフィールド(Option field)におけるVender-Specific-Informationに設定し、該DHCP FORCERENEWメッセージを送信する。
【0033】
ここで、図5に示すように、DHCP OFFERメッセージのパケット構成について説明する。図5は、DHCP OFFERメッセージのパケット構成を示す図である。図5に示すように、DHCP OFFERメッセージでは、オプションフィールド(Option field)におけるベンダ固有情報を設定するためのフィールドであるoption code 43(Vender-Specific-Information)に、PRIO情報を設定する。
【0034】
[ルータの構成]
次に、図6を用いて、図1に示したルータ20の構成を説明する。図6は、第一の実施の形態に係るルータ20の構成を示すブロック図である。図6に示すように、このルータ20は、通信処理部21、制御部22および記憶部23を有する。以下にこれらの各部の処理を説明する。
【0035】
通信処理部21は、DHCPサーバ10や端末30等との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部21は、DHCPサーバ10からDHCP OFFERメッセージを受信する。
【0036】
記憶部23は、制御部22による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、PRIO情報記憶部23aおよびアドレス情報記憶部23bを有する。
【0037】
PRIO情報記憶部23aは、自装置に設定されたPRIO情報の値を記憶する。例えば、図7に例示するように、PRIO情報記憶部23aは、「VRID」と「PRIO」とを対応付けて記憶する。図7の例では、例えば、VRID「VRID1」とPRIO情報「200」とが対応付けて記憶されている。
【0038】
アドレス情報記憶部23bは、自装置のアドレスに関する情報を記憶する。例えば、図8に例示するように、VRIDに対応付けて、「実IPアドレス」、「実MACアドレス」、「仮想IPアドレス」および「仮想MACアドレス」を記憶する。図8の例では、例えば、アドレス情報記憶部23bは、「VRID1」に対応付けて、実IPアドレス「10.1.1.1」、実MACアドレス「70:58:12:27:B7:17」、仮想IPアドレス「10.1.1.5」および、仮想MACアドレス「00:00:5E:00:01:01」を記憶する。
【0039】
制御部22は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、設定部22a、受信部22b、応答部22cおよび中継部22dを有する。
【0040】
設定部22aは、DHCPサーバ10からPRIO情報を含むパケットを受信すると、該PRIO情報に基づいて、自身の優先度を設定する。例えば、設定部22aは、DHCPサーバ10からPRIO情報を含むDHCP OFFERメッセージを受信すると、該DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)に設定されたPRIO情報を抽出し、PRIO情報記憶部23aに格納する。そして、設定部22aは、VRRP手順に基づき他のルータ20と互いのPRIO情報を交換し、自装置のPRIO情報の値が最も高い場合には、自装置をマスタとして設定する。
【0041】
受信部22bは、端末30から接続先のルータ20のMACアドレスを問い合わせるARP要求を受信する。具体的には、受信部22bは、端末30からARP要求を受信した場合に、応答部22cにARP要求を受信した旨を通知する。
【0042】
応答部22cは、設定部22aによって設定された自身のPRIO情報の値が、複数のルータ20のなかで最も高い場合には、受信部22bによって受信されたARP要求の送信元の端末30に対して、自装置の仮想MACアドレスを応答する。具体的には、応答部22cは、受信部22bからARP要求を受信した旨の通知をした場合に、自装置がマスタであれば、ARP要求の送信元の端末30に対して、アドレス情報記憶部23bを参照し、自装置の仮想MACアドレスを応答する。また、自装置がマスタでない場合には、受信したARP要求を破棄する。
【0043】
中継部22dは、応答部22cによってMACアドレスが応答された端末30を送信元または送信先とするパケットを中継する。例えば、中継部22dは、接続対象となった端末30を宛先とするパケット、または、接続対象となった端末30を送信元とするパケットを受信した場合に、NAT(Network Address Translation)変換等を行って当該パケットを宛先に送信する。
【0044】
図9に示すように、第一の実施の形態に係る通信システムのアドレス払い出し時の処理を説明する。図9は、第一の実施の形態に係る通信システムのアドレス払い出し時の処理を説明する図である。図9に示すように、端末30は、スイッチ(SW)40を介して、DHCP DISCOVERを各ルータ20A〜20C経由でDHCPサーバ10に送信する(図9の(1)参照)。そして、DHCPサーバ10は、DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)にPRIO情報を設定し、各ルータ20A〜20CにDHCP OFFERメッセージを送信する(図9の(2)参照)。
【0045】
そして、各ルータ20A〜20Cは、DHCPサーバ10からPRIO情報を含むDHCP OFFERメッセージを受信すると、該DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)に設定されたPRIO情報を抽出し、PRIO情報記憶部23aに格納する。そして、設定部22aは、VRRP手順に基づき他のルータ20と互いのPRIO情報を交換し、自装置のPRIO情報の値が最も高い場合には、自装置をマスタとして設定する。図9の例では、ルータ20AのPRIOが「200」から「50」に変更され、ルータ20BのPRIOが「100」から「200」に変更され、ルータ20CのPRIOが「50」から「100」に変更されたので、ルータ20Aからルータ20Bにマスタが変更される。
【0046】
そして、新マスタであるルータ20BのみがDHCP OFFERメッセージをリレーして端末30に送信し、他のルータ20A、20CについてはDHCP OFFERメッセージをリレーしないこととする。このようにして、VRRPのPRIO情報の変更を利用して負荷の小さいルータ20Bをマスタにするので、VRRPを冗長化だけでなく、負荷平準化を実現することが可能である。
【0047】
また、上記の説明では、端末20が収容先のルータを決める際のアドレス払い出し時の処理を例に説明したが、収容先のルータを変更する際の収容替時にも、同様の手順でマスタを変更することが可能である。例えば、DHCP10が、端末30A対して再設定を指示するメッセージであるDHCP FORCERENEWメッセージのoption code 43(Vender-Specific-Information)にPRIO情報を設定し、各ルータ20A〜20CにDHCP FORCERENEWメッセージを送信する。
【0048】
そして、各ルータ20A〜20Cは、DHCPサーバ10からPRIO情報を含むDHCP FORCERENEWメッセージを受信すると、該DHCP FORCERENEWメッセージのoption code 43(Vender-Specific-Information)に設定されたPRIO情報を抽出し、PRIO情報記憶部23aに格納する。そして、設定部22aは、VRRP手順に基づき他のルータ20と互いのPRIO情報を交換し、自装置のPRIO情報の値が最も高い場合には、自装置をマスタとして設定する。
【0049】
そして、新マスタであるルータ20BのみがDHCP FORCERENEWメッセージをリレーして端末30に送信し、他のルータ20A、20CについてはDHCP FORCERENEWメッセージをリレーしないこととする。
【0050】
その後、端末30は、DHCP REQUESTをDHCPサーバ10に送信する。そして、DHCPサーバ10は、DHCP ACKを端末30に応答する。
【0051】
[DHCPサーバの処理流れ]
次に、図10を用いて、第一の実施の形態に係るDHCPサーバ10の処理の流れを説明する。図10は、第一の実施の形態に係るDHCPサーバのPRIO情報送信処理の流れを示すフローチャートである。
【0052】
図10に示すように、DHCPサーバ10は、端末30からDHCP DISCOVERを受信すると(ステップS101肯定)、各ルータ20の負荷に基づいて、DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)にPRIO情報を設定する(ステップS102)。そして、DHCPサーバ10は、各ルータ20にDHCP OFFERメッセージを送信する(ステップS103)。
【0053】
例えば、送信部12bは、端末30からDHCP DISCOVERを受信した際に、各ルータ20の負荷が小さいほど、大きい値をPRIO情報として、DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)に設定する。
【0054】
[ルータの処理流れ]
次に、図11を用いて、第一の実施の形態に係るルータ20の処理の流れを説明する。図11は、第一の実施の形態に係るルータのPRIO情報設定処理の流れを示すフローチャートである。
【0055】
図11に示すように、ルータ20は、DHCPサーバ10からPRIO情報を含むDHCP OFFERメッセージを受信すると(ステップS201肯定)、該DHCP OFFERメッセージのoption code 43(Vender-Specific-Information)に設定されたPRIO情報を抽出する(ステップS202)。
【0056】
そして、ルータ20は、VRRP手順に基づき他のルータ20と互いのPRIO情報を交換し(ステップS203)、自装置のPRIO情報の値が最も高いか否かを判定する(ステップS204)。この結果、ルータ20は、自装置のPRIO情報の値が最も高い場合には(ステップS204肯定)、自装置をマスタとして設定する(ステップS205)。
【0057】
[第一の実施形態の効果]
このように、第一の実施形態に係る通信システムでは、各ルータ20について同一VLAN上での仮想IPアドレスは同一であるため、マスタルータ故障時は、DHCP DISCOVERからやり直す必要はなく、新マスタが発するGARPによりスイッチが学習して即時にマスタのルータを切り替えることができる。また、VRRPのPRIO情報の変更を利用して負荷の小さいルータ20をマスタにするので、VRRPを冗長化だけでなく、ルータの負荷を平準化することができる。このため、ルータの負荷を平準化するとともに、ルータ20の故障時であってもサービス停止時間を短くすることが可能である。
【0058】
また、DHCP DISCOVER等を契機に、DHCP OFFERを用いてPRIO情報を変更して、マスタを切り替えることにより、負荷平準化を実現でき、また、ファイル更新などの工事に伴う収容替時も、DHCP FORCERENEWまたはDHCP ACKを用いてPRIO情報の変更によりディフォルトGWの仮想IPアドレスを変えることなく、新マスタからのGARPによるSWの学習テーブル変更のみであるから、サービス停止時間は短い。さらに、各ルータをACTとして使用するため、リソースの無駄が小さく、ルータ故障時の切り替え時の切り替え先が故障しているリスクが小さいという効果を奏する。
【0059】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0060】
また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0061】
[プログラム]
図12は、設定プログラムを実行するコンピュータを示す図である。コンピュータ1000は、例えば、メモリ1010、CPU(Central Processing Unit)1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0062】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
【0063】
ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、DHCPサーバ10やルータ20の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1031に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。なお、ハードディスクドライブ1031は、SSD(Solid State Drive)により代替されてもよい。
【0064】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0065】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0066】
10 DHCPサーバ
11、21 通信処理部
12、22 制御部
12a 監視部
12b 送信部
13、23 記憶部
13a ルータ負荷情報記憶部
20、20A〜20C ルータ
22a 設定部
22b 受信部
22c 応答部
22d 中継部
23a PRIO情報記憶部
23b アドレス情報記憶部
30、30A、30B 端末
40 スイッチ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13