以下に添付図面を参照して、本願に係るネットワークシステム、ネットワーク管理装置、ネットワーク管理プログラム及びネットワーク管理方法の実施形態を詳細に説明する。なお、本願に係るネットワークシステム、ネットワーク管理装置、ネットワーク管理プログラム及びネットワーク管理方法は、以下の実施形態により限定されるものではない。また、以下では、本願に係るネットワークシステムをホームゲートウェイに適用したホームゲートウェイ仮想化システムを一例に挙げて説明する。また、以下で表記するアドレスのうち、所定の表記のないものについては、IPアドレスを意味する。
(第1の実施形態)
まず、第1の実施形態に係るホームゲートウェイ仮想化システムについて説明する。第1の実施形態に係るホームゲートウェイ仮想化システムは、ユーザに対して負担をかけることなく、HNWに対して柔軟なサービスを提供することで、ユーザがHNWを十分に利用することを可能にする。ここで、従来技術において、ユーザがHNWを十分に利用することができない場合の一例を説明する。上述した従来技術では、ユーザ宅内のHGWにインターネット接続機能が備わっているため、ユーザに負担をかけることなく当該機能の拡充が困難であり、HNWに対して提供されるサービスに一定の限界があり、ユーザがHNWを十分に利用することができない場合があった。また、上述した従来技術では、HNWとクラウド側で構成されるNW(Network)とで異なるセグメントのNWであるため、クラウド側に配置したリソースに対して、例えば、UPnPなどの規格のリソースを容易に扱うことができず、HNWに対して提供されるサービスに一定の限界があり、ユーザがHNWを十分に利用することができない場合があった。
そこで、第1の実施形態に係るホームゲートウェイ仮想化システムは、ユーザに対して負担をかけることなく、HNWに対して柔軟なサービスを提供することで、ユーザがHNWを十分に利用することを可能にする。以下、図1を用いて、第1の実施形態に係るホームゲートウェイ仮想化システムの構成の一例を説明する。図1は、第1の実施形態に係るホームゲートウェイ仮想化システム1の構成の一例を示す図である。図1に示すように、第1の実施形態に係るホームゲートウェイ仮想化システム1は、ユーザ宅内に構築されたホームネットワーク(HNW)2に配置されたL2終端装置100と、インターネットに接続されるインターネットデータセンター(iDC:internet Data Center)3とを有し、例えば、閉域網やインターネット等のネットワーク4を介してHNW2とiDC3上の仮想HGW201とが接続される。
ここで、ホームゲートウェイ仮想化システム1においては、図1に示すように、HNW2とiDC3とがL2接続される。例えば、HNW2とiDC3上の仮想HGW201とは、図1に示すように、拠点間を同一セグメント化するL2TPv3(L2 Tunneling Protocol version 3)や、広域イーサネット(登録商標)、L2専用線、その他L2−VPN(Virtual Private Network)等によってL2接続される。
iDC3は、図1に示すように、仮想HNW201〜仮想HNW20nが構築される。仮想HNW201〜仮想HNW20nは、同様の構成を有していることから、以下では、仮想HNW201を一例に挙げて説明する。仮想HNW201は、図1に示すように、受側L2終端装置200と、仮想HGW(Home Gateway:ホームゲートウェイ)300と仮想化されたリソースとして、例えば、アプリケーションサーバ(サービスAP)やストレージサーバ(HDD)等とを有する。
ここで、第1の実施形態に係るホームゲートウェイ仮想化システム1は、図1に示すように、L2終端装置100と受側L2終端装置200とがL2接続されることで、HNW2と仮想HNW201とを同一L2セグメントNWとして扱うことができる。つまり、従来のホームネットワークの一部がiDC3上に配置されることとなる。そして、仮想HGW300が、例えば、DHCP(Dynamic Host Configuration Protocol)や、DHCPv6、ICPMv6のRAメッセージ(Router Advertisement)、静的割当てなどにより、同一のセグメントのHNWとして扱われるHNW2及び仮想HNW201上の端末等に対してIPアドレスを割当てたり、IPv6アドレスのプレフィックスを通知したりする。このように、ホームゲートウェイ仮想化システム1は、従来、ユーザ宅内のHNW2上に配置されたHGWをiDC3上の仮想HNW201上に配置することで、HGWの主要な機能を仮想HNW201内で管理することができる。
以下、図2〜4を用いて、L2終端装置100、受側L2終端装置200及び仮想HGW300について説明する。図2は、第1の実施形態に係るL2終端装置100の構成の一例を説明するための図である。例えば、L2終端装置100は、図2に示すように、LAN(Local Area Network)側IF(Interface)110aと、WAN(Wide Area Network)側IF110bと、IP通信部120a及び120bと、L2接続処理部130とを有する。
LAN側IF110aは、端末などのHNW2側の機器とL2終端装置100側との各種情報をやり取りするもので、Ethernet(登録商標)の終端や無線LANのアクセスポイントなどが挙げられる。WAN側IF110bは、iDC3側とL2終端装置100側との各種情報をやり取りする。IP通信部120a及び120bは、IP通信に係る各種処理を実行する。L2接続処理部130は、受側L2終端装置200とのL2接続を実行する。例えば、L2接続処理部130は、L2TPv3(RFC3931)や、EtherIP(RFC3378)、広域イーサネット(登録商標)、L2専用線、その他L2−VPNなどによる拠点間のL2レベルでのVPN接続を実現するための機能を有する。
図3は、第1の実施形態に係る受側L2終端装置200の構成の一例を説明するための図である。例えば、受側L2終端装置200は、図3に示すように、LAN側IF210aと、WAN側IF210bと、L2接続処理部230とを有する。
LAN側IF210aは、仮想HNW側の機器と受側L2終端装置200側との各種情報をやり取りする。WAN側IF210bは、L2終端装置100側とiDC3側との各種情報をやり取りする。L2接続処理部230は、L2トンネル接続の対向側の装置であるL2終端装置100とのL2接続を実行する。例えば、L2接続処理部130は、L2TPv3や、EtherIP、広域イーサネット(登録商標)、L2専用線、その他L2−VPNなどによる拠点間のL2レベルでのVPN接続を実現するための機能を有する。
図4は、第1の実施形態に係る仮想HGW300の構成の一例を示す図である。例えば、仮想HGW300は、図4に示すように、LAN側IF310aと、WAN側IF310bと、IP通信部320a及び320bと、アドレス管理制御部360と、アドレス管理部370とを有する。
LAN側IF310aは、端末などの仮想HNW側及びHNW側の機器と仮想HGW300との各種情報をやり取りする。WAN側IF310bは、iDC3とインターネット上の装置との各種情報をやり取りする。IP通信部320a及び320bは、IP通信に係る各種処理を実行する。
アドレス管理制御部360は、後述するアドレス管理部370を制御する。アドレス管理部370は、IPv4(DHCP(以下、DHCPv4と表記する)、静的アドレス設定など)や、IPv6(DHCPv6、ICPMv6(RAメッセージ)、静的アドレス設定など)などのアドレス管理機能を少なくとも1以上有し、同一L2セグメントNW(HNW側及び仮想HNW側)内の装置にIPアドレスを割当てる。
そして、仮想HGW300は、その他一般的なHGWに備わっている機能を有するとともに、デフォルトゲートウェイとしてインターネット接続をするブロードバンドルータとしての機能を有する。
[第1の実施形態の効果]
上述したように、第1の実施形態によれば、ホームゲートウェイ仮想化システム1は、iDC3が、仮想的な宅内ネットワークである仮想HNWと、前記仮想HNWとインターネットとを接続する仮想HGW300と、前記仮想HNWにL2トンネルを接続するための受側L2終端装置200とを備える。そして、HNWにL2終端装置100が配置され、受側L2終端装置200とL2終端装置100との間にL2トンネルが構築される。従って、第1の実施形態に係るホームゲートウェイ仮想化システム1は、HNWと仮想HNWとを同一のセグメントのHNWとして扱うことができ、ユーザに負担をかけることなく、HNWに対して柔軟なサービスを提供することを可能にする。その結果、第1の実施形態に係るホームゲートウェイ仮想化システム1は、ユーザがHNWを十分に利用することを可能にする。
(第2の実施形態)
上述した第1の実施形態においては、単一拠点のHNWのインターネット接続を行う場合について説明した。第2の実施形態では、複数拠点のHNWのインターネット接続を同一の仮想HGWによって行う場合について説明する。
図5は、第2の実施形態に係るホームゲートウェイ仮想化システムの構成の一例を示す図である。図5に示すように、第2の実施形態に係るホームゲートウェイ仮想化システム1は、仮想HNW201内の受側L2終端装置200と、HNW21及びHNW22それぞれのL2終端装置100とが、L2トンネル接続により接続される。さらに、第2の実施形態に係るホームゲートウェイ仮想化システム1では、HNW内のL2終端装置100に限られず、図5に示すように、L2トンネル接続機能を有するリモート端末または、L2トンネル接続機能を有するモバイルルータを持ち運ぶことで、受側L2終端装置200に対してリモートからのアクセスが可能である。
[第2の実施形態の効果]
上述したように、第2の実施形態によれば、受側L2終端装置200は、複数拠点のL2終端装置との間でL2接続する。そして、仮想HGWは、各HNW或いはリモート端末のインターネット接続を実行する。従って、第2の実施形態に係るホームゲートウェイ仮想化システム1は、単一の仮想HNWを用いて、複数拠点のインターネット接続を実行させることで、各HNWや、リモート端末やリモート接続したNWを同一のポリシーによって管理することができ、HGWにおけるポリシーの管理及び設定に係る負荷を低減させることを可能にする。
(第3の実施形態)
上述した第1及び第2の実施形態では、各HNWとiDC3内の仮想HNW201とをL2トンネルによって接続し、仮想HNW内の仮想HGWによってインターネット接続させる場合について説明した。かかる場合には、上述したように、HNW側のIPアドレスが仮想HNW側で管理されることとなる。ここで、仮にHNWと仮想HNWとの間のL2接続が切断された場合、例えば、L2トンネル接続された拠点間でIP通信が通らなくなった場合、HNW内の通信が機能しなくなる場合があり、ユーザがHNWを十分に利用することができない場合があった。そこで、第3の実施形態では、HNWと仮想HNWとの間のL2接続が切断された場合であっても、HNW内の通信を機能させ、L2接続が復旧した場合に、エラーが発生することなく再び同一L2セグメントNWとなるように、HNWと仮想HNWとで利用されているアドレスの衝突が生じないようにIPアドレスを管理することで、ユーザがHNWを十分に利用することを可能にする場合について説明する。
まず、HNWと仮想HNWとの間のL2接続が切断された後、IPアドレスの管理が想定されるケースについて説明する。図6は、第3の実施形態に係るIPアドレスの管理の想定ケースを説明するための図である。例えば、IPアドレスの管理の想定ケースとしては、図6に示すように、回線故障やL2トンネルの故障などによる通信断後の新規アドレスの利用がHNW内及び仮想HNW内でそれぞれある場合と、ない場合とが考えられる。そこで、以下では、仮想HNW内及びHNW内で共に新規アドレスの利用がない場合をケースAとし、仮想HNW内での新規アドレスの利用がなく、HNW内で新規アドレスの利用がある場合をケースBとし、通信断後の仮想HNW内の新規アドレスの利用があり、HNW内で新規アドレスの利用がない場合をケースCとし、仮想HNW内及びHNW内で共に新規アドレスの利用がある場合をケースDとして説明する。
なお、この新規アドレスの利用がある/ないについては、運用で取り決めてもよく、または、機器によって新規アドレスの利用ができないように制御することで実現してもよい。また、以後説明するアドレス管理は、少なくとも、IPv4の場合はDHCPv4によるプライベートアドレスの払出しを、IPv6の場合は、リンクローカルアドレスの生成、RAメッセージによるプレフィックス配布に基づくグローバルユニキャストアドレスの生成、DHCPv6によるグローバルユニキャストアドレスの払出しが該当する。
ここで、上述した4つのケースのアドレス管理を実行する第3の実施形態に係るL2終端装置100の構成について説明する。図7は、第3の実施形態に係るL2終端装置100の構成の一例を示す図である。なお、図7においては、第1の実施形態で説明したものと同様の機能を有するものに同一符号を付し、詳細な説明は省略する。
図7に示すように、第3の実施形態に係るL2終端装置100は、新たにL2通信制御部140と、疎通確認部150と、代理機能制御部160と、アドレス管理代理部170と、記憶部180と、アドレス情報取得部190とを有する。L2通信制御部140は、WAN側(仮想HNW側)と、LAN側(HNW側)との間の通信の許可/遮断を制御する。疎通確認部150は、対向側と定期的にエコー要求及び応答などを実行することで疎通を確認する。具体的には、疎通確認部150は、仮想HNW300又は受側L2終端装置200との間でICMP(Internet Control Message Protocol)v4/ICMPv6のエコー要求メッセージなどを送信して所定期間内の応答の有無により、L2接続の疎通確認を実行する。ここで、疎通確認部150は、エコー要求を送信してから所定期間応答が返ってこない場合や、通信不可を示すエラーメッセージを受けた場合に、通信断と判定する。そして、疎通確認部150は、通信断と判定した後もエコー要求を送信して、応答が返ってきた場合に、L2接続の通信断から復旧したと判定する。
代理機能制御部160は、疎通確認部150による疎通確認の結果、通信断であると判定された場合に、アドレス管理代理部170を起動させて、アドレス管理代理処理を実行させる。そして、代理機能制御部160は、疎通確認部150による疎通確認の結果、L2接続の通信断から復旧したと判定された場合に、必要であれば所定の処理の完了を待って、アドレス管理代理部170を終了させる。その後、代理機能制御部160は、ステートフルアドレス管理の場合は、アドレス管理代理部170によって管理されたアドレス情報を仮想HGW300に送信させる。
アドレス管理代理部170は、DHCPv4、DHCPv6、ICMPv6(例えば、RAメッセージ)などの機能を用いることで、HNW内のアドレスの生成、払い出しなどの管理を実行する。具体的には、アドレス管理代理部170は、代理機能制御部160によって起動されてアクティブな状態になると、上述した4つの想定ケースに応じたアドレス管理を実行する。ここで、アドレス管理代理部170によって実行される想定ケースは、予め運用の段階で決定される場合であってもよい。なお、アドレス管理代理部170による4つの想定ケースに応じたアドレス管理の詳細については、後に詳述する。
記憶部180は、アドレス情報を記憶する。具体的には、記憶部180は、仮想HNWで利用されているアドレス情報や、HNWで利用されているアドレス情報、各NWで利用が予約されているアドレス情報などを記憶する。アドレス情報取得部190は、L2接続が通信断となった後で、重複アドレス検出(DAD:Duplication Address Detection、RFC4862など)に用いるアドレスを、L2通信断前にパケットキャプチャ等により取得する。または、アドレス情報取得部190は、DHCPv4/v6により払出されたアドレスや各NWに割り当てられるアドレス範囲に関する情報を仮想HGW300から通知を受ける等して取得する。
次に、第3の実施形態に係る受側L2終端装置200及び仮想HGW300の構成について、図8及び図9を用いて説明する。図8は、第3の実施形態に係る受側L2終端装置200の構成の一例を示す図である。また、図9は、第3の実施形態に係る仮想HGW300の構成の一例を示す図である。なお、図8及び図9においては、第1の実施形態で説明したものと同様の機能を有するものに同一符号を付し、詳細な説明は省略する。
図8に示すように、例えば、第3の実施形態に係る受側L2終端装置200は、新たにL2通信制御部240と、疎通確認部250とを有する。L2通信制御部240は、WAN側(仮想HNW側)と、LAN側(HNW側)との間の通信の許可/遮断を制御する。疎通確認部250は、対向側と定期的にエコー要求及び応答などを実行することで疎通を確認する。具体的には、疎通確認部250は、L2終端装置100との間でICMPv4/ICMPv6のエコー要求メッセージなどを送信して所定期間内の応答の有無により、L2接続の疎通確認を実行し、その結果を仮想HGW300に通知する。
図9に示すように、例えば、第3の実施形態に係る仮想HNW300は、新たに疎通確認部350と、記憶部380と、アドレス情報取得部390を有する。疎通確認部350は、対向側と定期的にエコー要求及び応答などを実行することで疎通を確認する。具体的には、疎通確認部350は、L2終端装置100との間でICMPv4/ICMPv6のエコー要求メッセージなどを送信して所定期間内の応答の有無により、L2接続の疎通確認を実行する。ここで、疎通確認部250と疎通確認部350は両方備えていることは必須ではなく、いずれか一方が備わっていればよい。例えば、疎通確認部350が動作するのであれば、疎通確認部250は必須ではない。
記憶部380は、アドレス情報を記憶する。例えば、記憶部380は、アドレス管理部370によって割当てられたIPアドレスの情報などを記憶する。また、例えば、記憶部380は、L2の通信断後に払出される、或いは、生成されるアドレスが同一L2セグメントNWでユニークなものとなるように、アドレスの重複検出を実行するためのアドレスである各NWで使用されている、または各NW及び仮想HNWで使用予定であるアドレスを記憶する。アドレス情報取得部390は、L2接続が確立している間、DADの過程で通知されるアドレスをパケットキャプチャ等により取得する。または、アドレス情報取得部390は、DHCPv4/v6のアドレス管理情報などを取得する。
以上、第3の実施形態に係るL2終端装置100、受側L2終端装置200及び仮想HGW300の構成について説明した。かかる構成のもと、L2終端装置100や仮想HGW300は、上述した4つの想定ケースに応じたアドレス管理を実行する。以下では、まず、アドレス管理の基本的な手順を説明した後、4つの想定ケースにおけるアドレス管理について説明する。図10は、第3の実施形態に係るアドレス管理の基本手順を説明するためのシーケンス図である。なお、図10においては、L2終端装置100が仮想HGW300との間で疎通確認を行う場合について説明するが、受側L2終端装置200との間で疎通確認を実行する場合であってもよい。
図10に示すように、L2終端装置100と仮想HGW300とは、事前にアドレス情報を共有する(ステップS101)。具体的には、ステートフルアドレス管理の場合、運用開始時に初期設定で各HNW(仮想HNWを含む)にて扱われるアドレス空間が決定される。或いは、アドレス情報取得部190及びアドレス情報取得部390が、L2接続が切断されるまでの間に、定期的に各HNWで使用されているアドレス情報を交換する。すなわち、HNW側(/仮想HNW側)では、仮想HNW側(/HNW側)で使用している、または使用予定であるアドレスが把握される。ここで、初期設定の時点で、アドレス情報が共有されない場合があってもよい。なお、ステートレスアドレス管理の場合は、アドレス情報取得部190は、対向NWで利用されているアドレスをキャプチャする等して取得する。
そして、L2終端装置100と仮想HGW300との間で、疎通確認を実行する(ステップS102)。具体的には、L2終端装置100及び仮想HGW300は、疎通確認部150と疎通確認部350との間でエコー要求メッセージの送受信を実行することにより、疎通確認を実行する。なお、ステップS102おいては、L2終端装置100及び仮想HGW300の両側からエコー要求メッセージが送信される場合であってもよく、或いは、L2終端装置100側からのみエコー要求メッセージが送信される場合であってもよいが、少なくともアドレス管理機能を代理する必要があるNW側からは疎通確認するものとする。
続いて、L2終端装置100において、疎通確認部150が通信断であるか否かを判定する(ステップS103)。ここで、通信断ではない場合には(ステップS103否定)、疎通確認部150は、ステップS102(またはステップS101)に戻って、疎通確認を継続して実行する。一方、通信断であった場合には(ステップS103肯定)、代理機能制御部160がアドレス管理代理部170をアクティブ化させ(ステップS104)、アドレス管理代理部170は、HNW側のアドレスを管理する。具体的には、アドレス管理代理部150は、仮想HGWのアドレス管理機能(アドレスの生成、更新、消滅、アドレス重複チェックなど)を代理することで、HNW側のアドレスを管理する。なお、詳細については後述する。また、通信断の間、仮想HGW300は、通信断以前に既に払出しているアドレスおよび通信断後の仮想HNWのアドレスを管理する。
その後、疎通確認部150が疎通確認を継続し(ステップS106)、復旧したか否かを判定する(ステップS107)。ここで、復旧していない場合には(ステップS107否定)、アドレス管理代理部170は、ステップS105に戻って、HNW側のアドレスの管理を引き続き実行する。一方、復旧した場合には(ステップS107肯定)、代理機能制御部160が、通信断中に実行されたアドレス管理情報を仮想HGW300に送信させる(ステップS108)。
そして、仮想HGW300において、アドレス管理情報を受信すると、アドレス管理部370が、アドレス管理情報を自身が管理するアドレス情報に統合して(ステップS109)、処理を終了する。つまり、仮想HGW300は、同一セグメントL2NWのアドレス情報を管理している状態に戻ることとなる。なお、上述したステップS108におけるアドレス管理情報の送信処理と、ステップS109におけるアドレス管理情報とアドレス情報との統合処理については、ステートフルアドレスの管理の場合にのみ実行される。
以下、上述した4つの想定ケース(ケースA〜ケースD)について説明する。まず、ケースA(通信断後、仮想HNW及びHNWともに新規アドレスの利用がない場合)のアドレス管理について説明する。
かかる場合、L2終端装置100においては、アドレスの払い出しがDHCPv4/DHCPv6によるステートフルアドレスの管理およびリンクローカルアドレス生成やRAメッセージのプレフィックス通知によるステートレスアドレスの管理のいずれの方法であっても同一の対応を実行できる。すなわち、ケースAの場合、L2終端装置100は、以下のように、アドレスを管理する。
(1)まず、L2終端装置100と仮想HGW300との間で、定期的なアドレス情報の事前共有は必須ではない。
(2)次に、L2終端装置100においては、疎通確認部150が、仮想HGW300との間で、ICMPv4/ICMPv6のエコー要求メッセージなどを送信して、疎通確認を実行する。なお、疎通確認は、受側L2終端装置200との間で実行されてもよい。また、L2終端装置100と仮想HGW300とが相互に確認してもよく、或いは、L2終端装置100のみが確認のためのエコー要求を送信してもよい。ここで、L2接続が確立している間は、仮想HGW300が同一L2セグメントNWのアドレス管理を行う。そして、疎通確認部150は、エコー要求を送信してから所定期間応答が返ってこない場合や、通信不可のエラーメッセージの応答を受けた場合、通信断と判定する。
(3)L2終端装置100においては、代理機能制御部160は、疎通確認部150によって通信断と判定された場合に、アドレス管理代理部170を起動させて、仮想HGW300のアドレス管理の機能を代理する。ここで、(i)HNW側の端末に、L2終端装置100をデフォルトGWとして認識させるために、L2終端装置100をHNW側のNWインターフェースのアドレスに仮想HGW(デフォルトGW)のアドレスを付与するようにしてもよい。一方、このように認識させない場合であって、IPv6通信可能なNWの場合には、端末が受信したRAメッセージの送信元アドレスをデフォルトGWのアドレスとみなされないようにするために、L2終端装置100が生成して送信するRAメッセージ内のルータ有効期限のパラメータを「0」に設定する。(ii)DHCPv4/DHCPv6によるステートフルアドレス管理の場合、L2終端装置100においては、アドレス管理代理部170が、HNW内の通信断前から接続済み(仮想HGW300からIPアドレス割当済)の端末から受ける仮想HGW300宛のアドレスリース期間更新要求に代理で応答し、既に割当てられている端末のアドレスのリース期間を更新して、更新内容(端末の識別情報、更新期間や更新されたアドレス、リリースした場合は使用終了したアドレス情報)を記憶する。(iii)RAメッセージによるステートレスアドレス管理の場合、L2終端装置100においては、アドレス管理代理部170が、定期的にRAメッセージをHNW内に送信することで、アドレスのリース期間を更新させる。なお、リンクローカルアドレスの更新はL2終端装置100からのRAメッセージ等に頼る必要はない。
(4)その後、L2終端装置100においては、疎通確認部150が、通信断後も疎通確認を行い、通信可能であることを示す応答が返ってきたことで復旧を検知した場合、以下の処理を実行する。(i)DHCPv4/DHCPv6によるステートフルアドレスの管理の場合、L2終端装置100においては、アドレス管理代理部170が、付与していたデフォルトGWアドレスを付与前の状態に変更した後(付与していた場合)、代理機能制御部160が、記憶部180に記憶しているアドレスの情報(リーステーブル情報)を仮想HGW300へ送信する。(ii)RAメッセージによるステートレスアドレスの管理の場合、L2終端装置100は、特に何もしない。そして、L2終端装置100においては、代理機能制御部160が、起動していたアドレス管理代理部170を停止(ディスアクティブ)させる。なお、L2通信可能な状態に復旧していても、アドレス管理代理部170起動中は、L2接続の対向側への通信(つまり、L2終端装置100のLAN側からWAN側への通信)を通さないように制御してもよい。具体的には、L2通信制御部140は、LAN側からWAN側への通信を遮断し、また、L2通信制御部240は、仮想HGW300からの通信以外の、またはすべてのLAN側からWAN側への通信を遮断し、アドレス管理代理部170が停止したこと、停止したことの通知を受けたことを契機に遮断を解除してもよい。
(5)仮想HGW300においては、アドレス情報取得部390が、受信した情報を、記憶部380に記憶しているアドレスのリーステーブルに反映させることで、同一L2セグメントNWのアドレスの状態の整合性を維持する。(i)DHCPv4/DHCPv6のステートフルアドレス管理の場合、通信断を検知した後は、仮想HNW(及びHNW)で新たなアドレスを割当てないように仮想HGW(及びL2終端装置)が制御し、復旧を検知した後はこの制御を解除するようにしてもよい。また、L2通信可能な状態に復旧していても、L2終端装置においてアドレス管理代理部170起動中は、L2接続の対向側への通信(つまり、仮想HGW300のWAN側からLAN側への通信)を通さないように制御してもよい。
次に、ケースB(通信断後、仮想HNWで新規アドレスの利用がなく、HNWで新規アドレスの利用がある場合)のアドレス管理について説明する。かかる場合、L2終端装置100は、アドレスの払い出しがDHCPv4によるステートフルアドレス管理の場合(ケースB−1)と、DHCPv6によるステートフルアドレス管理の場合(ケースB−2)と、IPv6のRAメッセージやリンクローカルアドレスによるステートレスアドレス管理の場合(ケースB−3)とでそれぞれ異なる対応を実行する。まず、ケース(B−1)の場合について説明する。かかる場合、L2終端装置100は、以下のように、アドレスを管理する。
(1)L2終端装置100と仮想HGWとは、以下、(i)又は(ii)のいずれかによりアドレス情報を共有する。(i)L2接続中に、仮想HGW300とL2終端装置100の間で、仮想HGW300のアドレス情報取得部390が、HNWに割当可能な空きアドレス空間の情報を定期的またはL2接続が確立している間に、L2終端装置100に通知する。そして、L2終端装置100においては、疎通確認部150が通信断を検知したときに、アドレス管理代理部170が、通知を受けて記憶部180が記憶していた空きアドレス空間から、HNW内の新たなアドレス割当要求に対して割当てを行う。(ii)割当るアドレス空間を事前設定しておく。いずれの場合でも、例えば、仮想HGW300においては、アドレス管理部370が、同一L2セグメントNWに対して、アドレスを最小値からインクリメントして割当てることとする(192.168.1.1,192.168.1.2,…)。そして、通信断を検知した後、HNW内では、新たなアドレス割当要求に対して、L2終端装置100のアドレス管理代理部170は、アドレスを最大値からデクリメントして割当てることとする(192.168.1.255,192.168.1.254,…)。なお、上記した例は、192.168.1.0/24の場合の例である。また、別例として、仮想HGW300には、払出すアドレス空間のアドレスとして奇数番目の値を割当て(192.168.1.1,192.168.1.3,…)、L2終端装置100には、払出すアドレス空間のアドレスとして偶数番目のアドレスを割り当てることで(192.168.1.2,192.168.1.4,…)、平時は、同一L2セグメントNW内に対して、奇数番目の値のアドレスが払出され、通信断後は、仮想HNWに対しては仮想HGW300から奇数番目のアドレスが払い出され、HNWに対してはL2終端装置100から偶数番目のアドレスが払い出されることとなる。或いは、単純に各HNWに対して各々重複しない連番のアドレス空間を割当てることとしてもよい。または、このアドレス空間は、仮想HGW300が既に払出したアドレスを除いたアドレス空間であってもよく、この場合は、アドレス空間が動的に変わるため、定期的に各HNWに通知することが望ましい。
(2)L2終端装置100においては、疎通確認部150が、仮想HGWとの間で、ICMPv4/ICMPv6のエコー要求メッセージなどを送信して、疎通確認を実行する(ケースAと同様)。
(3)L2終端装置100においては、疎通確認部150が通信断と判定した場合に、代理機能制御部160が、アドレス管理代理部170を起動させて、仮想HGW300のアドレス管理の機能を代理する(ケースAと同様)。さらに、(i)L2終端装置100のアドレス管理代理部170は、HNW側に参加した端末に対して、DHCPv4に基づいてIPアドレスを割当て、代理処理した内容(払い出したアドレス、使用中のアドレス情報)を記憶する。(ii)各NWで、割当てられたアドレス空間以外のアドレスが手動設定によってある端末で使用されようとした場合は、L2終端装置100のアドレス管理代理部170は、このアドレスが使用されているか確認するARP要求が通知されるので、通知を受けたことを契機として、既に使用中であるという趣旨のARP応答を生成して通知してもよい。なお、仮想HNW内であれば仮想HGW300が、HNW内であればL2終端装置100が実施すればよい。
(4)L2終端装置100においては、疎通確認部150が通信断から復旧を検知した場合、代理機能制御部160が、記憶内容を仮想HGW300へ送信し、さらにアドレス管理代理部170を停止させる。そして、仮想HGW300のアドレス情報取得部390は、受信した内容を自身のアドレスのリーステーブルに反映させる。
次に、ケース(B−2)の場合について説明する。かかる場合、ケース(B−1)と同様に、あらかじめ各NWで使用可能なアドレス空間を割当てておくという手順を取ってもよいが、ここでは、L2終端装置100は、以下のように、アドレスを管理する。
(1)L2接続が確立している間、仮想HGW300のアドレス情報取得部390は、定期的に、自身が管理しているアドレス情報(アドレスリーステーブル:払出したアドレス、払出し先の端末のDUID、有効期限など)をHNW側のL2終端装置100へ送信し、L2終端装置100のアドレス情報取得部190は、受信したアドレス情報を記憶部180に格納する。
(2)L2終端装置100の疎通確認部150は、L2接続の疎通確認を実行する。
(3)L2終端装置100においては、疎通確認部150がL2接続の通信断を検出した場合、以下の(i)〜(iv)のアドレス管理代理部170を起動させ、仮想HGW300の代理を行い、アドレスを管理する。(i)L2終端装置100のアドレス管理代理部170は、デフォルトGWのアドレスをL2終端装置100のHNW側のNWインターフェースに設定する。(ii)デフォルトGWのアドレスを設定せずにRAのメッセージを送信する場合は、L2終端装置100のアドレス管理代理部170は、自装置がデフォルトGW(デフォルトルータ)であると各端末に認識されないために、送信するRAメッセージにはルータ有効期限「0」を設定する。(iii)RAメッセージ機能(DHCPv6でアドレスなどを払い出しすることを端末へ通知)。(iv)DHCPv6サーバ機能(アドレス払い出し、アドレス期限更新、DNSサーバアドレス通知など)。
(4)L2終端装置100においては、疎通確認部150がL2接続の復旧を検知すると、代理機能制御部160が、記憶部180に記憶して管理しているアドレス情報(少なくとも切断から復旧までの間の情報、或いは、全情報であってもよい)を仮想HGW300へ送信して、起動していたアドレス管理代理部170を停止させる。なお、通信断以降、このアドレス管理代理部170の機能を停止させるまで、L2通信制御部140によって、LAN側から仮想HNW側への通信を止めるよう制御してもよい。かかる場合には、仮想HGW300のアドレス情報取得部390が、アドレス情報を正しく反映したことのL2終端装置100への通知を契機に、L2終端装置100の配下の端末からL2接続の対向側への通信を通すようにL2通信制御部140によって制御してもよい。
(5)仮想HGW300のアドレス情報取得部390は、受信したアドレス情報を自身が記憶部380で管理しているアドレス情報に反映(追加、更新、削除)させる。なお、切断から復旧までの間、仮想HNW側は、仮想HGW300により通常通りアドレス管理(リース更新など)をする。
次に、ケース(B−3)の場合について説明する。かかる場合、L2終端装置100は、以下の3つの方法のいずれかによりアドレスを管理する。以下、3つの方法をそれぞれケース(B−31)、ケース(B−32)、ケース(B33)と記す。なお、これらの方法は、少なくとも各端末のグローバルユニキャストアドレスだけではなくリンクローカルアドレスの生成及び設定にも適用されるものであり、ケース(B−2)に併用されてもよいものである。まず、ケース(B−31)について説明する。ケース(B−31)は、L2接続復旧後、HNWのアドレスを1度リセットする場合を示す。
(1)L2終端装置100と仮想HGWとの間で、定期的なアドレス情報の事前共有は行われないものとする。
(2)L2終端装置100の疎通確認部150は、仮想HGW300との間で、ICMPv4/ICMPv6のエコー要求メッセージなどを送信して、疎通確認を実行する。
(3)通信断検出後、L2終端装置100の代理機能制御部160は、アドレス管理代理部170のアドレス管理代理機能を起動する。つまり、グローバルユニキャストアドレス生成の場合は、L2終端装置100のアドレス管理代理部170が、RAメッセージを送信してプレフィックスを通知する。リンクローカルアドレス生成の場合は、L2終端装置100がプレフィックスを通知する必要はない。
(4)L2終端装置100においては、疎通確認部150がL2接続復旧を検知すると、代理機能制御部160が、HNW内の端末のアドレスの有効期限を「0」にさせるためのRAメッセージをHNW内に送信する(LAN側インターフェース側のみに送信する)とともに、切断後に起動していたアドレス管理代理機能を停止させる。
以後、HNW内の端末は、設定されていたアドレスがリフレッシュされたので、RS(Router Solicitation)メッセージを送信する等してプレフィックスを取得し、アドレス生成及び設定を行うことになるが、RAメッセージを送信するのは仮想HGW300となる。これで、端末が生成するアドレスは、同一L2セグメントNWに対してDADを実施するので、同一L2セグメントNW内で一意になる。ここで、アドレスを失効する対象は、HNWではなく仮想HNW側でもよい。かかる場合、仮想HGW300の疎通確認部350が復旧を検知した後に、アドレスの有効期限を「0」にさせるためのRAメッセージを送信する。受側L2終端装置200は、このRAメッセージの送信が完了するまでの間、L2通信制御部240によって対向NWへの通信を通さないよう制御し、例えば、L2接続復旧後の仮想HNW側からの1回目のRAメッセージをフィルタリングするなどして、RAメッセージの送信完了後に、対向NWへの通信を通すように制御をすることとなる。または、仮想HGW300は、このRAメッセージを通知した後で受側L2終端装置200へL2トンネルの対向側との通信を通すことを許可するための制御メッセージを通知してもよい。
次に、ケース(B−32)の場合ついて説明する。ケース(B−32)は、アドレス重複が生じないものとする場合を示す。これは、IPv6においてインターフェースIDとして64ビットの空間が与えられるため、アドレス重複する可能性は極めて小さいものであると楽観的にとらえる場合である。つまり、ケース(B−31)と異なる点は、アドレスのリフレッシュをしない点である。
(1)L2終端装置100と仮想HGWとの間で、定期的なアドレス情報の事前共有は行われないものとする。
(2)L2終端装置100の疎通確認部150は、仮想HGW300との間で、ICMPv4/ICMPv6のエコー要求メッセージなどを送信して、疎通確認を実行する。
(3)通信断検出後、L2終端装置100の代理機能制御部160は、アドレス管理代理部170のアドレス管理代理機能を起動する。
(4)L2終端装置100においては、疎通確認部150がL2接続復旧を検知すると、代理機能制御部160が、切断後に起動していたアドレス管理代理機能を停止させる。
次に、ケース(B−33)の場合について説明する。ケース(B−33)は、以下の場合を示す。まず、前提として、通信断から復旧までの間に該当HNW以外のNW(仮想HNWや他のHNW)で新たなアドレスの割当てがない場合に、L2終端装置100のアドレス情報取得部190は、L2接続の確立中に、他NW(以下では仮想HNWのみの場合を例示する)内で使用されているアドレスを記憶部180に格納する。そして、L2終端装置100のアドレス管理代理部170は、通信断後にHNW内でアドレスが生成されてDADが実行された場合、生成されたアドレスが、記憶しているアドレス(仮想HNWで使用されているアドレス)と重複しているか否かを判定する。ここで、重複している場合には、アドレス管理代理部170は、そのアドレスを使用している仮想HNW側の端末の代わりに、アドレス重複を示す応答を送信する。
ここで、各NWで使用されるIPアドレスの関係を以下のように記す。「{X}」は、「同一セグメント内で使用されるIPアドレスの集合」を示す。「{Y}」は、「仮想HNW内で使用されるIPアドレスの集合」を示す。「{Z(i)}」は、「HNW(i)(i≧1)内で使用されるIPアドレスの集合」を示す。すなわち、「{X}={Y}+Σ{Z(i)}」が成立する。以下、説明を簡単にするため、Z(i)=Z(i=1)の場合を説明する。
L2接続が確立中に、定期的に仮想HNW内で使用されているアドレスをHNW側のL2終端装置100に通知する場合、以下の2つの方法(i)及び(ii)が実行される。まず、方法(i)について説明する。方法(i)は、同一L2セグメントNW内のアドレス{X}とHNW内のアドレス({Z})を特定し、 仮想HNW内のアドレス({Y}={X}−{Z})を特定する場合を示す。
(1)仮想HGW300のアドレス情報取得部390は、同一L2セグメントNWを流れるDADのためのICMPv6のNS(Neighbor Solicitation。例えば、送信元アドレスが::に設定されているNSメッセージなど)を監視して、そのNSメッセージ内のターゲットアドレスを特定し、アドレス({X})として記憶部380に格納する。そして、仮想HGW300のアドレス管理部370は、アドレス({X})が格納される都度、または定期的にL2終端装置100に特定したアドレスを通知する。
(2)L2終端装置100のアドレス情報取得部190は、HNW内側から受けるDADのためのNSメッセージを監視して、そのNSメッセージ内のターゲットアドレスを特定する。ただし、このNSメッセージに対するターゲットアドレスがアドレス重複であることを示すICMPv6のNA(Neighbor Advertisement)メッセージを受けた場合は特定の対象から除く({Z})。なお、{X}の特定の場合も同様である。これにより、L2終端装置100は、{X}と{Z}が得られるので、アドレス({Y})を求めることが可能である。そして、アドレス情報取得部190は、このアドレスを記憶部180に記憶させる。ここで、DADについて簡単に説明する。端末は、自端末が使用したいアドレスをターゲットアドレスとしてNSメッセージに含めてNW内にマルチキャストする。この時点では、この端末は使用したいアドレスを送信元として用いて通信することはできない。次に、NW内で同じアドレスを既に使用している端末がある場合は、この端末が受信したNSメッセージに対して、既に使用中である旨を示すNAメッセージを送信する。NSメッセージを送信した端末は、対応するNAメッセージを受けた場合は、ターゲットアドレスが既に使用中であると判断して、この使用しないこととする。所定期間内にこのNAメッセージを受けなかった場合は、ターゲットアドレスを自端末のアドレスとして使用することができる。
次に、方法(ii)について説明する。方法(ii)は、{Y}を直接特定する場合を示す。
(1)L2終端装置100のアドレス情報取得部190は、L2トンネルの対向側から受信するメッセージを監視して、(仮想HNW側からの)DADのためのNSメッセージを検出して、NSメッセージ内のターゲットアドレスを特定する。このNSメッセージに対するターゲットアドレスがアドレス重複であることを示すNAメッセージを受けた場合は、アドレス情報取得部190は、特定の対象から除く。これにより、L2終端装置100は、{Y}を直接求めることができる。
L2終端装置100は、上記した方法(i)又は(ii)により、仮想HNW内のアドレス{Y}を特定して記憶部180に記憶する。そして、L2終端装置100においては、代理機能制御部160が、通信断後、アドレス管理代理機能を起動させる。そして、HNW内の端末から、生成されたアドレスに対するDADのためのNSメッセージを受けつけた場合、L2終端装置100のアドレス管理代理部170は、メッセージ内のターゲットアドレスが、記憶しているアドレス{Y}と重複するか否かを確認し、重複している場合、つまり仮想HNWで使用されている場合は、そのアドレスを使用している仮想HNW上の端末リソースの代わりに、そのアドレスを送信元としてアドレス重複を示すNAメッセージを生成して送信する。疎通確認部150が復旧を検知した後、代理機能制御部160は、アドレス管理代理機能を終了する。以上は、RAメッセージによりIPv6のグローバルユニキャストアドレスの管理について説明したが、リンクローカルアドレスの管理についても同様である。異なる点は、リンクローカルアドレスの生成は、RAメッセージによってプレフィックスの通知を受ける必要がない点である。
続いて、ケースC(通信断後、仮想HNWで新規アドレスの利用があり、HNWで新規アドレスの利用がない場合)のアドレス管理について説明する。かかる場合、L2終端装置100においては、アドレスの払い出しがDHCPv4/DHCPv6によるステートフルアドレス管理の場合、ケースA又はケース(B−1)、(B−2)のいずれかを実行してもよい。仮想HGW300内で同一L2セグメントNW内に払い出したIPアドレスを管理しているため、HNW側で新規にアドレスが利用されることがなければ、仮想HNW側で新規に払い出しても衝突することがないためである。HNW側では、払出し済みまたは生成済みのアドレスのリース期間の更新のみを行えばよい。
一方、RAメッセージによるステートレスアドレス管理の場合、L2終端装置100は、HNW側と仮想HNW側の動作機能がケース(B−31)〜(B−33)の場合と対称となるものであり、それを加味して、ケース(B−31)〜(B−33)と同様にアドレスを管理する。ここで、ケース(B−31)及び(B−32)の場合、HNW側のアドレス管理代理部150は、L2接続切断後に新規アドレスを払出すことはないように制御されている。また、ケース(B−33)の場合も同様に、アドレス管理代理部150は、RAメッセージによりプレフィックスを広告せず、L2接続切断前にHNW側で使用されているアドレスを仮想HNW側に通知する。そして、仮想HGW300が、ケース(B−33)のアドレス管理代理機能の必要機能も担うこととなる。すなわち、仮想HGW300が、HNW内のアドレス{Z}を特定し、L2接続切断後は、仮想HNW内で新たなアドレス生成のためのDADのためのNSメッセージが流れた場合、{Z}を保持するホスト端末を代替する挙動を取ることとなる。なお、NSメッセージのターゲットアドレスが{Z}と重複するアドレスである場合は、そのホスト端末の代わりにアドレス重複を示すNAメッセージを生成して送信する。
次に、ケースD(通信断後、仮想HNW及びHNWともに新規アドレスの利用がある場合)のアドレス管理について説明する。かかる場合、L2終端装置100は、アドレスの払い出しがDHCPv4の場合、ケース(B−1)と同様のアドレス管理を実行する。また、アドレスの払い出しがDHCPv6の場合、ケース(B−1)、(B−2)と同様の手順であってもよいが、L2終端装置100は、各NW(仮想HNW、HNW1、HNW2、、、)ごとに割当て可能なアドレス空間を事前に設定される。
一方、アドレスの生成がRAメッセージによる場合や、リンクローカルアドレス生成の場合、L2終端装置100は、ケース(B−31)又は(B−32)と同様にアドレスを管理する。或いは、L2終端装置100は、ケース(B−33)に類するアドレス管理を実行することも可能である。以下、その方法について説明する。
(1)L2終端装置100と仮想HGW300との間で、定期的なアドレス情報の事前共有は必須ではないが、L2切断前までに対向NWで利用されているアドレスを把握しておく必要がある。
(2)L2終端装置100の疎通確認部150は、仮想HGW300との間で、ICMPv4/ICMPv6のエコー要求メッセージなどを送信して、疎通確認を実行する。
(3)通信断検出後、L2終端装置100の代理機能制御部160は、アドレス管理代理部170のアドレス管理代理機能を起動する。さらに、通信断(検知)から復旧(検知)までの間に、L2終端装置100及び仮想HGW300は、自NWで新たに使用されたアドレスの特定を含めて、この期間中に自NWで利用されているアドレス情報を、それぞれ取得して、各記憶部に記憶する。例えば、新たに生成されるアドレスについては、DADのために流れるNSメッセージ、NAメッセージをキャプチャし、払出し済みのアドレスについては、通信メッセージからソースアドレス(必要であればディスティネーションアドレスも)をキャプチャする等によって取得して、リスト化する等して記憶部180に記憶させればよい。これは、グローバルユニキャストアドレスでもリンクローカルアドレスでも同様である。なお、上記したアドレス情報のリスト化は、復旧検知時点で使用されているアドレス情報がリスト化されていればよい。
(4)復旧検知後、L2終端装置及び仮想HGW300は、各NWで使用されているアドレスが、これらNWをつなげた同一L2セグメントNWで重複しないことを確認するため、または重複がある場合はその重複を解消するために、アドレス整合処理を実行する。ここで、L2終端装置100及び仮想HGW300は、以下に示す3つの方法(i)〜(iii)のいずれかでアドレス整合処理を実行する。まず、方法(i)について説明する。
L2終端装置及び仮想HGW300においては、それぞれアドレス情報取得部190及びアドレス情報取得部390が、対向するNWで利用されているアドレスのリストを取得して、取得した対向NWのアドレスのリストと自NWのアドレスのリストとを照合する。なお、リストの取得は、相互に交換する場合であってもよく、或いは、一方のみが取得する場合であってもよい。
そして、リストの照合の結果、重複するアドレスが発見されなかった場合、L2終端装置100においては、代理機能制御部160が、アドレス管理代理部170を終了させる。一方、重複するアドレスが発見された場合、L2終端装置100及び仮想HGW300は、事前に決定した一方のNWのアドレスを、ケース(B−31)と同様の方法により、リフレッシュさせて、L2終端装置100においては、代理機能制御部160が、アドレス管理代理部170を終了させる。
次に、方法(ii)について説明する。方法(ii)の場合、HNWのL2終端装置100のアドレス管理代理部170は、リストに記載のアドレス(少なくとも、通信断〜復旧の間に新たに使用されたアドレス)を使用している端末を代理して、対向NW(仮想HNW)に対してのみこのアドレスのDADを実施する(自NW内にはDADを実施しない)。なお、仮想NWからHNWに対してDADを実施する場合であってもよい。また、方法(ii)の場合、アドレス情報は、少なくともDADを実施する側のみリスト化できていればよい。
その後、アドレス重複を示すNAメッセージが返ってこなかった場合、L2終端装置100の代理機能制御部160は、アドレス管理代理部170を終了させる。一方、重複するアドレスがある旨を示すNAメッセージの応答があった場合、L2終端装置及び仮想HGW300は、事前に決定されていた一方のNWのアドレスを、ケース(B−31)と同様の方法により、リフレッシュさせて、L2終端装置100は、アドレス管理代理部170を終了させる。
次に、方法(iii)について説明する。方法(iii)は、方法(i)及び(ii)において重複するアドレスが発見された場合の異なる方法を示す。かかる場合には、仮想HGW300またはL2終端装置100は、発見されたアドレスを使用する片方のNWのこのアドレスを使用している端末のみに対して、アドレスの有効期限を「0」にするメッセージを送信する。なお、既存のRAメッセージはマルチキャストであるため、ユニキャスト用の新たなメッセージを定義して、送信側と受信側でこのメッセージの処理に対応させる。これにより、アドレス重複している一方のNWの端末のアドレスをリフレッシュさせて、L2終端装置100は、アドレス管理代理部170を終了させる。これらの方法において、通信断から復旧しても、アドレスの整合処理が完了して、アドレス管理代理部170を終了するまでの間、つまり、同一L2セグメントNWのアドレスの整合性が取られるまでの間は、各NWのL2を終端する装置は、NW内から対向側NWへの通信を遮断しておくのが望ましい。例えば、HNW側から仮想HNW側への通信、及び仮想HNW側からHNW側への通信をL2通信制御部140及びL2通信制御部240で止めるよう制御し、整合処理が完了した場合、仮想HGW300からその旨の通知をL2通信制御部140及びL2通信制御部240を備える各装置に通知することで、この制御を解除する。L2終端装置100と仮想HGW300の間の疎通確認等の通信は通すように制御してもよい。
以上、4つの想定ケースに応じたアドレスの管理について説明した。ここで、4つの想定ケースを区分する新規アドレスの払い出しの「あり」、「なし」は、運用による決め事とする場合であってもよい。また、L2接続が切断した場合、L2接続が復旧するまでの間(また、同一L2セグメントNWでアドレスの整合性の確認を終えるまでの間)、DHCPv4/v6による新規アドレスを払い出さない/RAメッセージでプレフィックスを広告しないように、仮想HGW300又はL2終端装置100によって、制御される場合であってもよい。
また、上述したすべてのケースにおけるステートフルアドレス管理の場合、仮想HGW300(代理ではないDHCPサーバ機能を含む)は、L2接続切断を検知したことを契機に、払出し済みのアドレスのリース期間を、自らさらに所定期間延長することとしてもよい。
例えば、仮想HGW300(DHCPサーバ機能を有する)は、HNW側に払出したアドレスについて、L2接続が復旧する前にリース期間を終了して再利用可能な状態になってしまうと、このアドレスを仮想HNWに払出す可能性がある。かかる場合、HNW側でこのアドレスを使用し続けた状態でL2接続が復旧すると、アドレスの衝突が起こってしまう。従って、延長する所定期間は、任意に決定することができるが、L2接続が復旧するまでであってもよい。なお、L2接続の切断を検知することなく、リース期間を終了して再利用可能となったアドレスは、従来通り払出しても構わない。
[第3の実施形態の効果]
上述したように、第3の実施形態によれば、仮想HGW300におけるアドレス管理部370は、受側L2終端部200とL2終端部100との間にL2トンネルが構築された場合に、仮想HNW及びHNWにおけるIPアドレスを管理する。そして、L2終端装置100におけるアドレス管理代理部170は、L2トンネルにおける通信が切断された場合に、HNWにて用いられるIPアドレスが、仮想HNWにて用いられるIPアドレスと重複しないように管理する。従って、第3の実施形態に係るホームゲートウェイ仮想化システム1は、L2トンネルにおける通信が切断された場合であってもHNWを機能させ、L2接続の通信復旧時にIPアドレスの衝突を抑止することを可能にする。その結果、第3の実施形態に係るホームゲートウェイ仮想化システム1は、ユーザがHNWを十分に利用することを可能にする。
また、第3の実施形態によれば、アドレス管理部370は、L2トンネルにおける通信の切断が復旧した場合に、仮想HNW内のIPアドレスと、HNW内のIPアドレスとの統合処理を実行する。従って、第3の実施形態に係るホームゲートウェイ仮想化システム1は、L2接続の通信復旧時にIPアドレスの衝突をより確実に抑止することを可能にする。
(第4の実施形態)
上述した第1、第2及び第3の実施形態では、仮想HNW側にIPv4及びIPv6のインターネット等の他ネットワークへの出口となるゲートウェイ機能を備える場合について説明した。第4の実施形態では、IPv4又はIPv6のデフォルトGW機能(ブロードバンドルータ機能)をHNW側に備える場合について説明する。図11は、第4の実施形態に係るホームゲートウェイ仮想化システム1の構成の一例を示す図である。
例えば、図11に示すように、第4の実施形態に係るホームゲートウェイ仮想化システム1は、HNWにHGW/L2終端装置400を備える。HGW/L2終端装置400は、IPv6のブロードバンドルータ機能を有し、DHCPv6、RAメッセージ及び静的割当などのアドレス割当てを実行する。一方、仮想HGW300は、IPv4のブロードバンドルータ機能を有し、DHCPv4及び静的割当てなどのアドレス割当てを実行する。また、iDCは、プライベートアドレスとグローバルアドレスのアドレス変換処理を実行するNAT装置が備えられる構成であってもよい。なお、このNAT装置は、NAT444等のLarge Scale NATやCarrier Grade NATなども考えられる。
次に、HGW/L2終端装置400の構成について説明する。図12は、第4の実施形態に係るHGW/L2終端装置400の構成の一例を示す図である。例えば、HGW/L2終端装置400は、図12に示すように、第3の実施形態に係るL2終端装置100にアドレス管理部470bと、アドレス管理制御部460bを加えた構成を有する。
アドレス管理制御部460bは、後述するアドレス管理部470bを制御する。アドレス管理部470bは、IPv6(DHCPv6、ICPMv6(RAメッセージ:Router Advertisement)、静的アドレス設定)などのアドレス管理機能を有し、同一L2セグメントNW(HNW側及び仮想HNW側)内の装置にIPアドレスやIPv6アドレスのプレフィックスを割当てる。すなわち、第4の実施形態に係るHGW/L2終端装置400は、ホームゲートウェイ仮想化システムのIPv6の管理系400bを備える。
ここで、疎通確認部450によって、L2接続が切断されたと判定された場合には、IPv6の管理系400bは、HNW内のIPv6に係るIPアドレスを管理する。また、疎通確認部450によって、L2接続が切断されたと判定された場合には、アドレス管理代理部470a及び代理機能制御部460aを含むIPv4の代理管理系400aは、アドレス管理代理機能がアクティブとなり、HNW内のIPv4に係るIPアドレスの管理を代理する。なお、図12に示すその他の構成については、第3の実施形態に係るL2終端装置100と同様であることから説明を省略する。
次に、第4の実施形態に係る仮想HGW300の構成について説明する。図13は、第4の実施形態に係る仮想HGW300の構成の一例を示す図である。例えば、HGW300は、図13に示すように、第3の実施形態に係る仮想HGW300にアドレス管理代理部370b及び代理機能制御部360bを含むIPv6の代理管理系300bを加えた構成を有する。
代理機能制御部360bは、疎通確認部350によって、L2接続が切断されたと判定された場合、アドレス管理代理部370bを起動させてアクティブにする。アドレス管理代理部370bは、疎通確認部350によって、L2接続が切断されたと判定された場合、仮想HNW内のIPv6のIPアドレスの管理を代理する。また、アドレス管理部370a及びアドレス管理制御部360aを含むIPv4の管理系300aは、仮想HNW内のIPv4に係るIPアドレスを管理する。なお、図13に示すその他の構成については、第3の実施形態に係る仮想HGW300と同様であることから説明を省略する。また、上述した実施形態では、HGW/L2終端装置400がIPv6の管理系を備える場合について説明したが、実施形態はこれに限定されものではなく、例えば、HGW/L2終端装置400がIPv4の管理系を備える場合であってもよい。
[第4の実施形態の効果]
上述したように、第4の実施形態によれば、IPv6のGWがHNW側に配置され、IPv4のGWが仮想HNW側に配置される。従って、第4の実施形態に係るホームゲートウェイ仮想化システム1は、HGWに係る負荷を分散することを可能にする。
(第5の実施形態)
上述した第1〜3の実施形態では、仮想HNW側にIPv4及びIPv6のブロードバンドルータ機能を備える場合について説明した。第5の実施形態では、IPv4及びIPv6のブロードバンドルータ機能をHNW側に備える場合について説明する。つまり、第3の実施形態とは対称の構成となり、第3の実施形態のHNW側のアドレス管理に係る構成が、第5の実施形態の仮想HNW側のアドレス管理に係る構成となり、第3の実施形態の仮想HNW側のアドレス管理に係る構成が、第5の実施形態のHNW側のアドレス管理に係る構成となる。図14は、第5の実施形態に係るシステムの構成の一例を示す図である。
例えば、図14に示すように、第5の実施形態に係るシステムは、HNWにHGW/L2終端装置400を備える。HGW/L2終端装置400は、IPv4/IPv6のブロードバンドルータ機能を有し、DHCPv4、DHCPv6、RAメッセージ及び静的割当などのアドレス割当てを実行する。
次に、第5の実施形態に係るHGW/L2終端装置の構成について説明する。図15は、第5の実施形態に係るHGW/L2終端装置400の構成の一例を示す図である。なお、第5の実施形態に係るHGW/L2終端装置400は、第4の実施形態に係るHGW/L2終端装置と比較して、アドレス管理部470の処理内容が異なる。以下、これを中心に説明する。
アドレス管理部470は、IPv4(DHCPv4、静的アドレス設定など)や、IPv6(DHCPv6、ICPMv6(RAメッセージ)、静的アドレス設定)などのアドレス管理機能を有し、同一L2セグメントNW(HNW側及び仮想HNW側)内の装置にIPアドレスを割当てる。
次に、第5の実施形態に係る受側L2終端装置200の構成について説明する。図16は、第5の実施形態に係る受側L2終端装置200の構成の一例を示す図である。図16に示すように、第5の実施形態に係る受側L2終端装置200は、第3の実施形態に係る受側L2終端装置200と比較して、新たにIP通信部220aと、IP通信部220bと、代理機能制御部260と、アドレス管理代理部270と、記憶部280と、アドレス情報取得部290とを有する点が異なる。以下、これらについて説明する。
IP通信部220a及びIP通信部220bは、IP通信に係る各種処理を実行する。代理機能制御部260、アドレス管理代理部270、記憶部280及びアドレス情報取得部290は、それぞれ上述した第3の実施形態に係るL2終端装置100における代理機能制御部160、アドレス管理代理部170、記憶部180及びアドレス情報取得部190と同様の機能を有する。すなわち、第5の実施形態に係る受側L2終端装置200は、疎通確認部250によってL2接続の通信断を検出した場合に、仮想HNW内のアドレス管理の機能を代理する。
[第5の実施形態の効果]
上述したように、第5の実施形態によれば、HNWのHGW/L2終端装置が、IPv4及びIPv6のブロードバンドルータ機能を備える。従って、第5の実施形態に係るシステムは、システム上の任意の位置にHGWを配置することを可能にする。
(第6の実施形態)
これまで第1〜第5の実施形態を説明したが、本願に係る実施形態は、第1〜第5の実施形態に限定されるものではない。すなわち、これらの実施形態は、その他の様々な形態で実行されることが可能であり、種々の省略、置き換え、変更を行うことができる。
上述した実施形態における仮想HNW側のリソースは、それぞれハードであってもよく、ソフトウェアで仮想化したものであってもよい。ソフトウェアで仮想した場合には、公知のクラウド技術によりリソースの拡充をより容易に実現することを可能にする。
また、上述した実施形態では、拠点としてHNWを用いる場合について説明した。しかしながら、実施形態はこれに限定されるものはなく、企業NWであってもよく、例えば、遠隔にある複数の拠点(端末やネットワーク)をL2のトンネル接続などで同一L2セグメントNW化する場合であってもよい。
また、上述した実施形態においては、IPv4及びIPv6の両方を用いる場合について説明した。しかしながら、実施形態はこれに限定されるものではなく、例えば、いずれか一方のみを扱う場合であってもよい。
各装置の分散・統合の具体的形態(例えば、図7の形態)は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、アドレス管理代理部170と、代理機能制御部160とを一つの処理部として統合してもよく、一方、疎通確認部150をエコー要求メッセージの送信を実行するメッセージ送信部と、L2接続が切断されたか否かを判定する判定部とに分散してもよい。
また、アドレス管理代理部170をL2終端装置100の外部装置としてネットワーク経由で接続するようにしてもよく、或いは、アドレス管理代理部170及び代理機能制御部160を別の装置がそれぞれ有し、ネットワークに接続されて協働することで、上述したL2終端装置の機能を実現するようにしてもよい。
また、L2トンネルを形成させる機能を有する装置を、L2終端装置100あるいは受側L2終端装置200の外部装置としてネットワーク経由で接続されて協働することで、L2終端装置100と受側L2終端装置200との間にL2トンネルを形成させるようにしてもよい。
上述した実施形態で説明したL2終端装置100及び仮想HGW300は、あらかじめ用意されたプログラムをコンピュータで実行することで実現することもできる。そこで、以下では、図7に示したL2終端装置100又は図9で示した仮想HGW300と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
図17は、第6の実施形態に係るネットワーク管理プログラムを実行するコンピュータ1000を示す図である。図17に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図17に示すように、ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログムモジュール1093およびプログラムデータ1094を記憶する。第6の実施形態に係るネットワーク管理プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1090に記憶される。具体的には、L2終端装置100と同様の機能を実現する場合、上記実施形態で説明した疎通確認部150と同様の情報処理を実行する確認ステップと、代理機能制御部160と同様の情報処理を実行する代理機能制御ステップと、アドレス管理代理部170と同様の情報処理を実行する代理ステップと、アドレス情報取得部190と同様の情報処理を実行する取得ステップとが記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。一方、仮想HGWと同様の機能を実現する場合、上記実施形態で説明した疎通確認部350と同様の情報処理を実行する確認ステップと、アドレス管理制御部360と同様の情報処理を実行する管理制御ステップと、アドレス管理部370と同様の情報処理を実行する管理ステップと、アドレス情報取得部390と同様の情報処理を実行する取得ステップとが記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、上記実施形態で説明したデータベースに記憶されるデータのように、プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュールやプログラムデータを必要に応じてRAM1012に読み出して、確認ステップと、代理機能制御部ステップと、代理ステップと、取得ステップとを実行する、或いは、確認ステップと、管理制御ステップと、管理ステップと、取得ステップとを実行する。
なお、プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュールやプログラムデータは、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
これらの実施形態やその変形は、本願が開示する技術に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。