(57)【要約】【課題】本発明は、LACを跨いだ形でのシステム間冗長化を行う際に、現用系LACから予備系LACへの切り替えが生じた場合でもLNSとの接続性を維持し、信頼性を向上させることが可能になる。【解決手段】現用系レイヤ２トンネリングプロトコル（L2TP）トンネルの発信側のクライアント装置及び予備系L2TPトンネルの発信側のクライアント装置に接続されたパケット転送装置は、現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、クライアント装置と現用系及び予備系L2TPトンネルの受信側のサーバ装置との対応テーブルを更新するテーブル更新部と、更新された対応テーブルを参照して、パケットの送信元アドレス又は宛先アドレスを書き換えるアドレス変換部と、送信元アドレス又は宛先アドレスが書き換えられたパケットを転送する転送処理部とを有する。【選択図】図１
2013168816.tif 000002
【特許請求の範囲】
【請求項１】
現用系レイヤ２トンネリングプロトコル（L2TP）トンネルの発信側のクライアント装置及び予備系L2TPトンネルの発信側のクライアント装置に接続されたパケット転送装置であって、
現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、クライアント装置と現用系及び予備系L2TPトンネルの受信側のサーバ装置との対応テーブルを更新するテーブル更新部と、
更新された対応テーブルを参照して、パケットの送信元アドレス又は宛先アドレスを書き換えるアドレス変換部と、
送信元アドレス又は宛先アドレスが書き換えられたパケットを転送する転送処理部と、
を有するパケット転送装置。
【請求項２】
前記アドレス変換部は、クライアント装置から送信されたパケットの送信元アドレスを自装置のアドレスに書き換え、サーバ装置から送信されたパケットの宛先アドレスを現用系L2TPトンネルのクライアント装置のアドレスに書き換える、請求項１に記載のパケット転送装置。
【請求項３】
現用系及び予備系L2TPトンネルのクライアント装置にコントロールパケットを送信するコントロールパケット処理部を更に有し、
前記テーブル更新部は、コントロールパケットに対して現用系L2TPトンネルのクライアント装置から応答がなく、予備系L2TPトンネルのクライアント装置から応答がある場合、前記対応テーブルにおいて現用系L2TPトンネルのクライアント装置の情報を更新する、請求項１又は２に記載のパケット転送装置。
【請求項４】
現用系L2TPトンネルに対して複数の予備系L2TPトンネルが確立されている場合、
前記コントロールパケット処理部は、現用系L2TPトンネルのクライアント装置にコントロールパケットを送信し、応答がない場合、所定の順序で予備系L2TPトンネルのクライアント装置にコントロールパケットを送信する、請求項３に記載のパケット転送装置。
【請求項５】
現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを検知した予備系L2TPトンネルのクライアント装置からコントロールパケットを受信するコントロールパケット処理部を更に有し、
前記テーブル更新部は、予備系L2TPトンネルのクライアント装置からコントロールパケットを受信した場合、前記対応テーブルにおいて現用系L2TPトンネルのクライアント装置の情報を更新する、請求項１又は２に記載のパケット転送装置。
【請求項６】
前記テーブル更新部は、クライアント装置から送信されたデータパケットの送信元アドレスに基づいて、現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、
前記テーブル更新部は、現用系L2TPトンネルから予備系L2TPトンネルに切り替わった場合、前記対応テーブルにおいて現用系L2TPトンネルのクライアント装置の情報を更新する、請求項１又は２に記載のパケット転送装置。
【請求項７】
現用系レイヤ２トンネリングプロトコル（L2TP）トンネルの発信側のクライアント装置及び予備系L2TPトンネルの発信側のクライアント装置に接続されたパケット転送装置であって、
クライアント装置から送信されたデータパケットの送信元アドレス及び送信元ポート番号に基づいて、現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、現用系L2TPトンネルのクライアント装置と送信元ポート番号との対応テーブルを更新するテーブル更新部と、
更新された対応テーブルを参照して、パケットの送信元アドレス又は宛先アドレスを書き換えるアドレス変換部と、
送信元アドレス又は宛先アドレスが書き換えられたパケットを転送する転送処理部と、
を有するパケット転送装置。
【請求項８】
現用系レイヤ２トンネリングプロトコル（L2TP）トンネルの発信側のクライアント装置及び予備系L2TPトンネルの発信側のクライアント装置に接続された装置におけるパケット転送方法であって、
現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、クライアント装置と現用系及び予備系L2TPトンネルの受信側のサーバ装置との対応テーブルを更新するステップと、
更新された対応テーブルを参照して、パケットの送信元アドレス又は宛先アドレスを書き換えるステップと、
送信元アドレス又は宛先アドレスが書き換えられたパケットを転送するステップと、
を有するパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置及びパケット転送方法に関する。
【背景技術】
【０００２】
IPネットワークにおいて、VPN（Virtual Private Network）をサポートするために用いられるプロトコルとして、L2TP（Layer 2 Tunneling Protocol）などのトンネリングプロトコルがある。L2TPトンネルの両端はLAC（L2TP Access Concentrator）とLNS（L2TP Network Server）との関係からなり、LACはLNSとの間のL2TPトンネルの発信側のクライアント装置（イニシエーター）であり、LNSは新しいL2TPトンネルの開始を待つ受信側のサーバ装置である。一度L2TPトンネルが確立されると、LACとLNSとの間で双方向の通信が開始され、様々な上位プロトコルがL2TPトンネル上を通過する。
【０００３】
L2TPセッションは、L2TPトンネル内で、PPP（Point-to-Point Protocol）などの上位プロトコルに対して確立される。それぞれのセッションのトラフィックは、L2TPによって隔離され、１つのトンネルを利用して複数の仮想ネットワークを構築する事ができる。
【０００４】
L2TPトンネル内において交換されるパケットは、LACとLNSとの間の信頼性を確保するために用いるコントロールパケットと、LACとLNSとの間で送受信するデータパケットとに分類される。L2TPトンネルでは、コントロールパケットによりLACとLNSとの間の信頼性を保つために、LACとLNSとの間で整合性を保つためのシーケンス番号が用いられる（非特許文献１〜３参照）。現在提案されているLACとLNSとの間で整合性を保つためのシーケンス番号についてはオプションとなっており、また、データパケットは再送されないため、信頼性が確保できない。信頼性の確保のために、LACからLNSに対して異なるトンネルを用いることで複数の接続による冗長化を図ることが考えられる。例えば、１つのLAC内でトンネルの冗長化を図ることが検討されている（特許文献１参照）。しかし、複数のLACの間で冗長化を図るために１つのLNSから複数のLACに同一のトンネルを構築することは、LNSとLACとの間の通信に用いられるシーケンス番号を常時一致させる必要があるので困難である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２８３４２７号公報
【非特許文献】
【０００６】
【非特許文献１】RFC 2661 Layer Two Tunneling Protocol "L2TP", August 1999
【非特許文献２】RFC 3931 Layer Two Tunneling Protocol - Version 3 (L2TPv3), March 2005
【非特許文献３】RFC 4951 Fail Over Extensions for Layer 2 Tunneling Protocol (L2TP) "failover", August 2007
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、LACとなるシステムの大容量化に伴い、LACを跨いだ形でのシステム間冗長化を行うことで、信頼性を向上させる検討が行われている。システム間冗長をすることにより、片側システムで障害に発生したとしても、システム間の切替によって信頼性のあるネットワークを構築することができる。
【０００８】
例えば、システム間で冗長化を実現する方法として、VRRP（Virtual Router Redundancy Protocol）などの仮想化プロトコルを用いる方法がある。これは、システム間冗長化された複数のLACをネットワーク上で仮想的に１つのシステムとして見せる方法である。しかし、ネットワーク上では仮想的に１つのシステムであっても、システム間では情報が引継がれなければシステム間の切替が完了しても、その先のシステムへの接続はできない。そこで、システムに収容しているセッション情報（トンネルID、セッションID）をシステム間で同期する技術を用い、システム間で同期を行うことで、システム間切替が発生しても、継続的な通信が可能となる。通常時は、システム間冗長を構築するシステムのうち、片側が現用系、もう片側が予備系として運用する。一方で、システム間でセッション情報が同期された状態であっても、LACとLNSの関係性は１対１においては、システム間の冗長化をしても、システム間切替によって接続が継続できない場合がある。これは、現用系LACにおける情報はLNSとのトンネル生成時に構築されるが、予備系LACにおける情報は構築されないためである。従って、システム間冗長を実現したとしても、現用系LACとLNSとの間で使用しているシーケンス番号が予備系LACは把握できていないため、予備系LACからLNSへ送信しても、LNSで廃棄される。結果として、予備系LACにシステム間の切替後にLNSへの再接続が必要となる。
【０００９】
上記よりシステム間の冗長化をした構成おいては、システム間でL2TPトンネルのセッション情報（トンネルID、セッションID、シーケンス番号）を現用系と予備系との間で共有することにより、複数のLACをシステム間で同期することができると想定される。しかし、単なるシステム間同期だけでは、LNSは現用系LACのみと接続をしていることになり、IPアドレスの異なる予備系LACに関する情報を保持していない。このため、システム間切替によって、LNSはIPアドレスの異なる予備系LACからのパケットを破棄してしまい、LACとLNSとの間でセッションが切断されてしまうという問題がある。
【００１０】
また、冗長化していないシステムとの接続を行う際に管理が複雑になるという問題がある。
【００１１】
このような問題に鑑みて、本発明は、LACを跨いだ形でのシステム間冗長化を行う際に、現用系LACから予備系LACへの切り替えにおける信頼性を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
本発明のパケット転送装置は、
現用系レイヤ２トンネリングプロトコル（L2TP）トンネルの発信側のクライアント装置及び予備系L2TPトンネルの発信側のクライアント装置に接続されたパケット転送装置であって、
現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、クライアント装置と現用系及び予備系L2TPトンネルの受信側のサーバ装置との対応テーブルを更新するテーブル更新部と、
更新された対応テーブルを参照して、パケットの送信元アドレス又は宛先アドレスを書き換えるアドレス変換部と、
送信元アドレス又は宛先アドレスが書き換えられたパケットを転送する転送処理部と、
を有することを特徴とする。
【００１３】
本発明のパケット転送装置は、
現用系レイヤ２トンネリングプロトコル（L2TP）トンネルの発信側のクライアント装置及び予備系L2TPトンネルの発信側のクライアント装置に接続されたパケット転送装置であって、
クライアント装置から送信されたデータパケットの送信元アドレス及び送信元ポート番号に基づいて、現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、現用系L2TPトンネルのクライアント装置と送信元ポート番号との対応テーブルを更新するテーブル更新部と、
更新された対応テーブルを参照して、パケットの送信元アドレス又は宛先アドレスを書き換えるアドレス変換部と、
送信元アドレス又は宛先アドレスが書き換えられたパケットを転送する転送処理部と、
を有することを特徴とする。
【００１４】
本発明のパケット転送方法は、
現用系レイヤ２トンネリングプロトコル（L2TP）トンネルの発信側のクライアント装置及び予備系L2TPトンネルの発信側のクライアント装置に接続された装置におけるパケット転送方法であって、
現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、クライアント装置と現用系及び予備系L2TPトンネルの受信側のサーバ装置との対応テーブルを更新するステップと、
更新された対応テーブルを参照して、パケットの送信元アドレス又は宛先アドレスを書き換えるステップと、
送信元アドレス又は宛先アドレスが書き換えられたパケットを転送するステップと、
を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、LACを跨いだ形でのシステム間冗長化を行う際に、現用系LACから予備系LACへの切り替えが生じた場合でもLNSとの接続性を維持し、信頼性を向上させることが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施例に係るシステムの構成図
【図２】本発明の第１実施例に係るL2TP中間介在装置の構成図
【図３】本発明の第１実施例に係るLNSアドレステーブルの一例を示す図
【図４】本発明の第１実施例に係るLACアドレステーブルの一例を示す図
【図５】本発明の第１実施例に係るアドレス変換対応テーブルの一例を示す図
【図６】本発明の第１実施例に係るパケット転送方法のフローチャート
【図７】本発明の第１実施例に係るHelloパケット処理方法のフローチャート
【図８】本発明の第２実施例に係るLACアドレステーブルの一例を示す図
【図９】本発明の第２実施例に係るHelloパケット処理方法のフローチャート
【図１０】本発明の第３実施例に係るHelloパケット処理方法のフローチャート
【図１１】本発明の第４実施例に係るL2TP中間介在装置の構成図
【図１２】本発明の第４実施例に係るLACアドレステーブルの一例を示す図
【図１３】本発明の第４実施例に係るパケット転送方法のフローチャート（その１）
【図１４】本発明の第４実施例に係るパケット転送方法のフローチャート（その２）
【図１５】本発明の第４実施例に係るパケット転送方法のフローチャート（その３）
【図１６】本発明の第４実施例に係るパケット転送方法のフローチャート（その４）
【図１７】本発明の第５実施例に係るLACアドレステーブルの一例を示す図
【図１８】本発明の第５実施例に係るパケット転送方法のフローチャート（その１）
【図１９】本発明の第５実施例に係るパケット転送方法のフローチャート（その２）
【図２０】本発明の第５実施例に係るパケット転送方法のフローチャート（その３）
【図２１】本発明の第５実施例に係るパケット転送方法のフローチャート（その４）
【発明を実施するための形態】
【００１７】
以下、本発明の実施例について詳細に説明する。
【００１８】
図１に、本発明の実施例に係るシステムの構成図を示す。
【００１９】
本発明の実施例では、複数のLACを用いてレイヤ２トンネリングプロトコル（L2TP）トンネルのシステム間冗長構成を構築する。図１（Ａ）に示すように、本発明の実施例では、冗長構成されたL2TPトンネルの発信側のクライアント装置LAC11及びLAC12と、L2TPトンネルの受信側のサーバ装置LNSとの間に、L2TP中間介在装置を設ける。なお、説明の便宜上、L2TP中間介在装置はLNSと別の装置として示されているが、L2TP中間介在装置の各機能部はLNS内に組み込まれてもよい。L2TP中間介在装置は、冗長構成の複数のLACからのL2TPトンネルを集約し、また、冗長構成のL2TPトンネルのうち現用系L2TPトンネルからのパケットをLNSに送信するためのL2TPトンネルを生成する。ここでは、L2TP中間介在装置とLAC11との間のL2TPトンネルが現用系L2TPトンネルであり、L2TP中間介在装置とLAC12との間のL2TPトンネルが予備系L2TPトンネルであると仮定する。以下では、現用系L2TPトンネルの発信側のクライアント装置を現用系LACと呼び、予備系L2TPトンネルの発信側のクライアント装置を予備系LACと呼ぶ。
【００２０】
図１（Ｂ）に示すように、LACとL2TP中間介在装置との間のパケットのIPアドレスは、LNS側にLNSのIPアドレスIP_LNS_Aを用い、LAC側にLACのIPアドレスIP_LAC11又はIP_LAC12を用いる。このように、LACに接続する加入者端末にとってはL2TP中間介在装置が存在しない場合と同じアドレスが用いられる。また、LNSとL2TP中間介在装置との間のパケットのIPアドレスは、LNS側にLNSのIPアドレスIP_LNS_Aを用い、LAC側にL2TP中間介在装置のIPアドレスIP_P_LAC1を用いる。ここでは、IP_P_LAC1を疑似LACアドレスと呼ぶ。このように、LNSにとってはLACの切り替えにかかわらず、同じアドレス（疑似LACアドレス）が用いられるため、LNSにおいて冗長構成の複数のLACの情報を登録する必要がなくなる。
【００２１】
L2TP中間介在装置は、現用系LACと予備系LACとの間の切り替え機能を具備することで、LACの切り替えに伴うLNSへの再接続なしに、システム間切り替えを実現する。具体的には、L2TP中間介在装置は、現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断し、LACとLNSとのアドレス変換対応テーブルを更新する。この対応テーブルは、図１（Ｂ）に示すようにLNSのIPアドレスとL2TP中間介在装置のIPアドレスとLACのIPアドレスとの対応関係を示すものである。例えば、L2TP中間介在装置は、コントロールパケットを用いて現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断してもよく、クライアント装置から送信されたデータパケットのヘッダを用いて現用系L2TPトンネルから予備系L2TPトンネルに切り替わったことを判断してもよい。
【００２２】
L2TP中間介在装置は、LAC11が現用系である場合、LAC11から送信されたパケットの送信元（Src）アドレスIP_LAC11をL2TP中間介在装置のアドレスIP_P_LAC1に書き換え、LNSから送信されたパケットの宛先（Dst）アドレスIP_P_LAC1をLAC11のアドレスIP_LAC11に書き換える。また、L2TP中間介在装置は、LAC12が現用系に切り替わったことを検出した場合、LAC12から送信されたパケットの送信元アドレスIP_LAC12をL2TP中間介在装置のアドレスIP_P_LAC1に書き換え、LNSから送信されたパケットの宛先アドレスIP_P_LAC1をLAC12のアドレスIP_LAC12に書き換える。このようにして、パケットを現用系LACに転送する。
【００２３】
なお、LAC11とLAC12との間で、L2TPトンネルのセッション情報（トンネルID、セッションID、シーケンス番号）を共有することで、セッションの切断が行われずにサービス継続が可能な切り替え（ステートフル切り替え）が実現できる。ここで、トンネルIDとはL2TPトンネルの識別子であり、セッションIDとはL2TPトンネル内に確立されたセッションの識別子であり、シーケンス番号とはLNSとLACとの間でパケットを送受信するために用いられる識別番号である。例えば、LACはシーケンス番号1を用いてパケットを送信する際に、LNSからの応答時に用いるシーケンス番号2を指定できる。LNSは、シーケンス番号2でパケットを送信することにより、LNSとLACとの間の通信が維持される。
【００２４】
＜第１実施例：構成＞
第１実施例では、LACが１＋１冗長構成である場合、すなわち、１つの現用系LACに対して１つの予備系LACが予め設定されている場合を仮定する。加入者端末は、冗長構成のLACに接続できるものとする。冗長構成のLACからLNSに対しては、図１（Ａ）を参照して説明した通り、L2TP中間介在装置を介して接続される。L2TP中間介在装置には、以下に説明する通り、現用系LAC及び予備系LACのIPアドレスと、現用系／予備系の状態とが事前に設定されているものとする。また、LNSへのパケットの送信元アドレスは、図１（Ｂ）を参照して説明した通り、L2TP中間介在装置のIPアドレス（疑似LACアドレス）に集約するものとする。
【００２５】
ユーザからの接続要求を契機に、現用系LACは、例えばPPP/L2TPの接続シーケンスに従い、L2TPトンネルを確立する。現用系LACとLNSとの間でL2TPトンネルが確立された場合、現用系LACとLNSとの間で通信が行われる。LNSから送信されるパケットの宛先アドレスは、図１（Ｂ）を参照して説明した通り、L2TP中間介在装置のIPアドレス（疑似LACアドレス）に集約され、L2TP中間介在装置が現用系LACにパケットを振り分ける。また、現用系LACと予備系LACとの間で、L2TPトンネルのセッション情報（トンネルID、セッションID、シーケンス番号）が同期されるものとする。同期のタイミングは任意である。例えば、所定の周期でセッション情報が同期されてもよく、セッション情報が更新されたときにセッション情報が同期されてもよい。
【００２６】
このような１＋１冗長構成においてLACが切り替わったことを判断するためにL2TPの生存確認信号（Keep-Alive信号）であるHelloパケットに対する応答の有無を用いる。具体的には、L2TP中間介在装置は、現用系LACとLNSとの間でHelloパケットによる生存確認をする契機に、Helloパケットに対する応答（ZLB ACKパケット）があれば、生存確認ができたものとして、LNSにZLB ACKパケットを転送する。L2TP中間介在装置は、ZLB ACKパケットの受信により、現用系LACと予備系LACとの間で同期がとれていることを認識する。
【００２７】
現用系LACの障害によりLNSとの通信ができなくなった場合、すなわち、現用系LACと予備系LACとの間でシステム間の切り替えが生じた場合、L2TP中間介在装置は、Helloパケットに対する応答を受信しなくなる。この場合、予備系LACにHelloパケットを送信する。予備系LACからZKB ACKパケットを受信した場合、LNSとの接続先のLACを予備系LACとし、現用系LACへのシステム間の切り替えが行われるまで、LNSと予備系LACとの間で通信を行う。
【００２８】
現用系LACが復帰し、予備系LACとの間でセッション情報の同期が完了した場合、システム間の切り替えが可能となる。現用系LACは、例えばフェイルオーバ（failover）手順（非特許文献３参照）に従い、元のセッションを回復させることで、通信を復旧させる。
【００２９】
図２に、本発明の第１実施例に係るL2TP中間介在装置１０の構成図を示す。L2TP中間介在装置１０は、処理対象パケット検出部１０１と、コントロールパケット処理部１０３と、テーブル更新部１０５と、LNSアドレステーブル１０７と、LACアドレステーブル１０９と、アドレス変換対応テーブル１１１と、アドレス変換部１１３と、転送処理部１１５とを有する。
【００３０】
処理対象パケット検出部１０１は、L2TP中間介在装置１０に入力されたパケットが処理対象パケットであるか否かを検出する。処理対象パケット検出部１０１は、入力されたパケットが、Helloパケットであるか、Helloパケットに対する応答（ZLB ACKパケット）であるかを検出する。Helloパケット及びZLB ACKパケットである場合、このコントロールパケットをコントロールパケット処理部１０３に出力する。また、処理対象パケット検出部１０１は、入力されたパケットの宛先アドレスを確認し、LACからのL2TPパケットであるか、LNSからのL2TPパケットであるかを検出する。LACからのL2TPパケット又はLNSからのL2TPパケットである場合、当該パケットをアドレス変換部１１３に出力する。処理対象外パケットは、転送処理部１１５に出力される。
【００３１】
コントロールパケット処理部１０３は、LNSからのHelloパケットを受信した場合、このHelloパケットをLACに転送するために転送処理部１１５に出力する。また、コントロールパケット処理部１０３は、Helloパケットに対してLACからのZLB ACKパケットを受信した場合、このZLB ACKパケットをLNSに転送するために転送処理部１１５に出力する。
【００３２】
テーブル更新部１０５は、LACアドレステーブル１０９と、アドレス変換対応テーブル１１１とを更新する。現用系LACへのHelloパケットに対して応答がなく、予備系LACへのHelloパケットに対して応答がある場合、LACアドレステーブル１０９の現用系及び予備系の情報を入れ替え、アドレス変換対応テーブル１１１のLNSのIPアドレスを新たに現用系になったLNSのIPアドレスに更新する。具体的な更新方法については、後述する。
【００３３】
図３に、本発明の第１実施例に係るLNSアドレステーブル１０７の一例を示す。LNSアドレステーブル１０７は、LNSのIPアドレスIP_LNS_AとL2TP中間介在装置のIPアドレスIP_P_LAC1とを格納する。LNSアドレステーブル１０７は、１つ又は複数のLNSのIPアドレスを個別指定してもよく（例えば、10.10.10.10/32）、登録情報を最低限度にとどめるため、LNSのアドレスそのものでなく、LNSの存在するIPアドレス空間を範囲指定してもよい（例えば、10.10.10.0/24）。このLNSアドレステーブル１０７は、処理対象パケット検出部１０１において、LACからLNS方向のパケットであるか、LNSからLAC方向のパケットであるかを見分けるために使用される。
【００３４】
図４に、本発明の第１実施例に係るLACアドレステーブル１０９の一例を示す。LACアドレステーブル１０９は、現用系LAC及び予備系LACのIPアドレスと、現用系／予備系の状態（ACT/SBY）と、LACのアドレスをLNSに一意に見せるためのL2TP中間介在装置のIPアドレス（疑似LACアドレス）とを格納する。LACアドレステーブル１０９は、対象となるLACからHelloパケットに対する応答したか否かを示すZLB ACK応答に関する情報を更に格納してもよい。ここでは、１＋１冗長構成であるため、１つの現用系LACに対して１つの予備系LACが設定されており、この現用系LACに対する疑似LACアドレスは、予備系LACに対する疑似LACアドレスと同じである。
【００３５】
図５に、本発明の第１実施例に係るアドレス変換対応テーブル１１１の一例を示す。アドレス変換対応テーブル１１１は、現用系LACのIPアドレスと、L2TP中間介在装置のIPアドレス（疑似LACアドレス）と、LNSのIPアドレスとを格納する。このアドレス変換対応テーブル１１１は、アドレス変換部１１３においてパケットのアドレスを変換するために使用される。
【００３６】
アドレス変換部１１３は、アドレス変換対応テーブル１１１を参照して、現用系LACから送信されたL2TPパケットの送信元アドレスIP_LAC11をL2TP中間介在装置のアドレスIP_P_LAC1に書き換え、LNSから送信されたL2TPパケットの宛先アドレスIP_P_LAC1を現用系LACのアドレスIP_LAC11に書き換える。更に、アドレスを書き換えたL2TPパケットを転送するために転送処理部１１５に出力する。
【００３７】
転送処理部１１５は、Helloパケット、ZLB ACKパケット、L2TPパケット及び処理対象外パケットを宛先アドレスに転送する。
【００３８】
＜第１実施例：動作＞
図６に、本発明の第１実施例に係るパケット転送方法のフローチャートを示す。
【００３９】
ステップＳ１０１において、処理対象パケット検出部１０１は、入力されたパケットが処理対象パケットであるか否かを検出する。Helloパケットである場合、ステップＳ１０３に進む。ステップＳ１０３については、図７等を参照して以下に説明する。
【００４０】
処理対象パケット検出部１０１は、LNSアドレステーブル１０７を参照し、入力されたパケットの宛先アドレスがL2TP中間介在装置のIPアドレス（疑似LACアドレス）IP_P_LAC1であるか否かを検出する。宛先アドレスがIP_P_LAC1である場合、LNSからのパケットであるため、ステップＳ１０５に進む。なお、冗長化されたL2TPトンネルを収容するL2TP中間介在装置のIPアドレスは１つであるため、このアドレス宛のパケットを処理対象とする。
【００４１】
ステップＳ１０５において、アドレス変換部１１３は、アドレス変換対応テーブル１１１に従い、宛先アドレスのIP_P_LAC1をLACのアドレスIP_LAC11に変換する。
【００４２】
処理対象パケット検出部１０１は、LNSアドレステーブル１０７を参照し、入力されたパケットの宛先アドレスがLNSのIPアドレスIP_LNS_Aであるか否かを検出する。宛先アドレスがIP_LNS_Aである場合、LACからのパケットであるため、ステップＳ１０７に進む。なお、入力されたパケットの宛先アドレスがLNSのアドレスそのものでなく、LNSの存在するIPアドレス空間であるか否かが検出されてもよい。
【００４３】
ステップＳ１０７において、アドレス変換部１１３は、アドレス変換対応テーブル１１１に従い、送信元アドレスのIP_P_LAC11を中間介在装置のIPアドレス（疑似LACアドレス）IP_P_LAC1に変換する。
【００４４】
なお、ステップＳ１０１において処理対象外パケットであると判断された場合、アドレス変換は行われない。
【００４５】
ステップＳ１０９において、転送処理部１１５は、パケットを宛先アドレスに転送する。
【００４６】
図７に、本発明の第１実施例に係るHelloパケット処理方法のフローチャートを示す。
【００４７】
ステップＳ１５１において、LNSはLACに対してHelloパケットを定期的に送信する。なお、このときのHelloパケットの宛先アドレスは、L2TP中間介在装置のIPアドレスとなる。ステップＳ１５３において、LNSからHelloパケットを受信すると、コントロールパケット処理部１０３は、アドレス変換対応テーブル１１１に従い、Helloパケットの宛先アドレスを現用系LACのアドレスに変換し、転送処理部１１５を介して転送する。このときに、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答待ちに更新してもよい。現用系LACと予備系LACとの間でL2TPトンネルのセッション情報（トンネルID、セッションID、シーケンス番号）が同期されている場合、ステップＳ１５５において、現用系LACはZLB ACKパケットを返信する。このときのZLB ACKパケットの送信元アドレスは、現用系LACのIPアドレスとなる。コントロールパケット処理部１０３は、現用系LACからZLB ACKパケットを受信すると、ステップＳ１５７において、アドレス変換対応テーブル１１１に従い、ZLB ACKパケットの送信元アドレスをL2TP中間介在装置のIPアドレスに変換し、転送処理部１１５を介して転送する。現用系LACからZLB ACKパケットを受信した場合、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答有（○）に更新してもよい。
【００４８】
ステップＳ１５９において、現用系LACで故障が発生した場合、予備系LACに系切り替えが行われる。予備系LACと現用系LACとの間でセッション情報が同期されているため、予備系LACは同期したセッション情報を用いて、加入者端末とLNSとの間の通信を継続できる。ステップＳ１６１において、LNSはLACに対してHelloパケットを定期的に送信する。しかし、系切り替えが行われた場合、ステップＳ１６３に示すように、LNSからのHelloパケットは、現用系LACには届かない。この場合、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答待ちに更新してもよい。Helloパケットに対して一定期間応答がない場合、ステップＳ１６５において、コントロールパケット処理部１０３は、LACアドレステーブル１０９に従い、Helloパケットの宛先アドレスを予備系LACのアドレスに変換し、転送処理部１１５を介して転送する。ステップＳ１６７において、セッション情報の同期がとれている予備系LACはZLB ACKパケットを返信する。このときのZLB ACKパケットの送信元アドレスは、予備系LACのIPアドレスとなる。予備系LACからZLB ACKパケットを受信すると、テーブル更新部１０５は、LACアドレステーブル１０９の予備系／現用系の状態（ACT/SBY）を入れ替える。また、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答有（○）に更新してもよい。更に、テーブル更新部１０５は、アドレス変換対応テーブル１１１のLNSのアドレスを現用系LACのアドレスから予備系LACのアドレスに変更する。ステップＳ１６９において、コントロールパケット処理部１０３は、アドレス変換対応テーブル１１１に従い、ZLB ACKパケットの送信元アドレスをL2TP中間介在装置のIPアドレスに変換し、転送処理部１１５を介して転送する。
【００４９】
以降、加入者端末とLNSとの間の通信は、予備系LAC（切り替え後の現用系LAC）を経由して行われる。
【００５０】
ステップＳ１７１において、現用系LACの故障が回復し、系切り替えが行われた場合、ステップＳ１７３及びＳ１７５に示すように、LNSからのHelloパケットは、予備系LACには届かない。この場合、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答待ちに更新してもよい。Helloパケットに対して一定期間応答がない場合、ステップＳ１７７において、コントロールパケット処理部１０３は、LACアドレステーブル１０９に従い、Helloパケットの宛先アドレスを現用系LACのアドレスに変換し、転送処理部１１５を介して転送する。また、ステップＳ１７９において、現用系LACは予備系LACとのセッション情報の同期が完了した場合、ZLB ACKパケットを返信する。このときのZLB ACKパケットの送信元アドレスは、現用系LACのIPアドレスとなる。現用系LACからZLB ACKパケットを受信すると、テーブル更新部１０５は、LACアドレステーブル１０９の予備系／現用系の状態（ACT/SBY）を入れ替える。また、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答の情報を応答有（○）に更新してもよい。更に、テーブル更新部１０５は、アドレス変換対応テーブル１１１のLNSのアドレスを予備系LACのアドレスから現用系LACのアドレスに変更する。ステップＳ１８１において、コントロールパケット処理部１０３は、アドレス変換対応テーブル１１１に従い、ZLB ACKパケットの送信元アドレスをL2TP中間介在装置のIPアドレスに変換し、転送処理部１１５を介して転送する。
【００５１】
以降、加入者端末とLNSとの間の通信は、現用系LACを経由して行われる。
【００５２】
なお、図７では、ステップＳ１６３においてL2TP中間介在装置がHelloパケットに対する応答を受信しない場合、１回目のHelloパケットは現用系LACに送信し、２回目以降は予備系LACに送信しているが、予備系LACに対して送信するタイミング（送信回数）については、この限りではない。例えば、２回目のHelloパケットまで現用系LACに送信し、３回目以降は予備系LACに送信してもよい。
【００５３】
＜第２実施例：構成＞
第２実施例では、LACがＮ＋Ｍ冗長構成である場合、すなわち、Ｎ台の現用系LACに対して共用されるＭ台の予備系候補のLACが予め設定されている場合を仮定する。加入者端末は、冗長構成のLACに接続できるものとする。冗長構成のLACからLNSに対しては、図１（Ａ）を参照して説明した通り、L2TP中間介在装置を介して接続される。L2TP中間介在装置には、以下に説明する通り、現用系LAC及び予備系候補のLACのIPアドレスが事前に設定されているものとし、LACからの要求時に現用系及び予備系の状態を設定してもよい。また、LNSへのパケットの送信元アドレスは、図１（Ｂ）を参照して説明した通り、L2TP中間介在装置のIPアドレス（疑似LACアドレス）に集約するものとする。
【００５４】
ユーザからの接続要求を契機に、現用系LACは、例えばPPP/L2TPの接続シーケンスに従い、L2TPトンネルを確立する。現用系LACとLNSとの間でL2TPトンネルが確立された場合、現用系LACとLNSとの間で通信が行われる。LNSから送信されるパケットの宛先アドレスは、図１（Ｂ）を参照して説明した通り、L2TP中間介在装置のIPアドレス（疑似LACアドレス）に集約され、L2TP中間介在装置が現用系LACにパケットを振り分ける。また、現用系LACと予備系LACとの間で、L2TPトンネルのセッション情報（トンネルID、セッションID、シーケンス番号）が同期されるものとする。同期のタイミングは任意である。例えば、所定の周期でセッション情報が同期されてもよく、セッション情報が更新されたときにセッション情報が同期されてもよい。
【００５５】
このようなＮ＋Ｍ冗長構成においてLACが切り替わったことを判断するためにL2TPの生存確認信号（Keep-Alive信号）であるHelloパケットに対する応答の有無を用いる。具体的には、L2TP中間介在装置は、現用系LACとLNSとの間でHelloパケットによる生存確認をする契機に、Helloパケットに対する応答（ZLB ACKパケット）があれば、生存確認ができたものとして、LNSにZLB ACKパケットを転送する。また、L2TP中間介在装置は、予備系LACの存在を確認するために、生存確認ができた現用系LACに対する予備系候補のLACにHelloパケットを送信してもよい。なお、既に現用系LACに対する予備系LACの存在が確認できている場合、予備系候補のLACにHelloパケットを送信しなくてもよい。L2TP中間介在装置は、ZLB ACKパケットの受信により、現用系LACと予備系LACとの間で同期がとれていることを認識する。
【００５６】
現用系LACの障害によりLNSとの通信ができなくなった場合、すなわち、現用系LACと予備系LACとの間でシステム間の切り替えが生じた場合、L2TP中間介在装置は、Helloパケットに対する応答を受信しなくなる。この場合、予備系候補のLACにHelloパケットを送信する。Ｎ台の現用系LACに対して共用されるＭ台の予備系候補のLACが設定されているため、所定の順序で予備系候補のLACにHelloパケットを送信する。予備系候補のLACからZKB ACKパケットを受信した場合、LNSとの接続先のLACを予備系LACとし、現用系LACへのシステム間の切り替えが行われるまで、LNSと予備系LACとの間で通信を行う。
【００５７】
現用系LACが復帰し、予備系LACとの間でセッション情報の同期が完了した場合、システム間の切り替えが可能となる。現用系LACは、例えばフェイルオーバ（failover）手順（非特許文献３参照）に従い、元のセッションを回復させることで、通信を復旧させる。
【００５８】
本発明の第２実施例に係るL2TP中間介在装置１０は、下記の処理を除き、図２と同様に構成される。
【００５９】
コントロールパケット処理部１０３は、LNSからのHelloパケットを受信した場合、このHelloパケットをLACに転送するために転送処理部１１５に出力する。また、コントロールパケット処理部１０３は、Helloパケットに対してLACからのZLB ACKパケットを受信した場合、このZLB ACKパケットをLNSに転送するために転送処理部１１５に出力する。また、コントロールパケット処理部１０３は、予備系LACの存在を確認するために、ZLB ACKパケットを受信した現用系LACに対する予備系候補のLACにHelloパケットを送信してもよい。なお、既に現用系LACに対する予備系LACの存在が確認できている場合、予備系候補のLACにHelloパケットを送信しなくてもよい。
【００６０】
本発明の第２実施例に係るLNSアドレステーブル１０７及びアドレス変換対応テーブル１１１は、図３及び図５と同様である。
【００６１】
図８に、本発明の第２実施例に係るLACアドレステーブル１０９の一例を示す。LACアドレステーブル１０９は、現用系LAC及び予備系候補のLACのIPアドレスと、予備系候補のLACがＮ台の現用系LACに対して共用されていることを示す共用予備フラグと、LACのアドレスをLNSに一意に見せるためのL2TP中間介在装置のIPアドレス（疑似LACアドレス）とを格納する。LACアドレステーブル１０９は、対象となるLACからHelloパケットに対する応答したか否かを示すZLB ACK応答に関する情報を更に格納してもよい。ここでは、Ｎ＋Ｍ冗長構成であるため、予備系候補のLACに対する疑似LACアドレスは、未定となっており、予備系LACに切り替わったときに設定される。
【００６２】
＜第２実施例：動作＞
本発明の第２実施例に係るパケット転送方法は、ステップＳ１０３におけるHelloパケット処理方法を除き、図６と同様である。
【００６３】
図９に、本発明の第２実施例に係るHelloパケット処理方法のフローチャートを示す。
【００６４】
ステップＳ２５１において、LNSはLACに対してHelloパケットを定期的に送信する。なお、このときのHelloパケットの宛先アドレスは、L2TP中間介在装置のIPアドレスとなる。ステップＳ２５３において、LNSからHelloパケットを受信すると、コントロールパケット処理部１０３は、アドレス変換対応テーブル１１１に従い、Helloパケットの宛先アドレスを現用系LACのアドレスに変換し、転送処理部１１５を介して転送する。このときに、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答待ちに更新してもよい。また、コントロールパケット処理部１０３は、予備系LACの存在を確認するために、ZLB ACKパケットを受信した現用系LACに対する予備系候補のLACにHelloパケットを送信してもよい。現用系LACと予備系LACとの間でL2TPトンネルのセッション情報（トンネルID、セッションID、シーケンス番号）が同期されている場合、ステップＳ２５５において、現用系LACはZLB ACKパケットを返信する。このときのZLB ACKパケットの送信元アドレスは、現用系LACのIPアドレスとなる。コントロールパケット処理部１０３は、現用系LACからZLB ACKパケットを受信すると、ステップＳ２５７において、アドレス変換対応テーブル１１１に従い、ZLB ACKパケットの送信元アドレスをL2TP中間介在装置のIPアドレスに変換し、転送処理部１１５を介して転送する。現用系LACからZLB ACKパケットを受信した場合、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答有（○）に更新してもよい。
【００６５】
ステップＳ２５９において、現用系LACで故障が発生した場合、予備系LACに系切り替えが行われる。予備系LACと現用系LACとの間でセッション情報が同期されているため、予備系LACは同期したセッション情報を用いて、加入者端末とLNSとの間の通信を継続できる。ステップＳ２６１において、LNSはLACに対してHelloパケットを定期的に送信する。しかし、系切り替えが行われた場合、ステップＳ２６３に示すように、LNSからのHelloパケットは、現用系LACには届かない。この場合、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答待ちに更新してもよい。Helloパケットに対して一定期間応答がない場合、ステップＳ２６５〜Ｓ２６９において、コントロールパケット処理部１０３は、LACアドレステーブル１０９に従い、Helloパケットの宛先アドレスを予備系候補のLACのアドレスに変換し、複数の現用系LACにより共用されている予備系候補のLACに対して順番に転送処理部１１５を介して転送する。ここでは、３つの予備系候補のLACが設定されているものとする。ステップＳ２７１において、セッション情報の同期がとれている予備系LACはZLB ACKパケットを返信する。このときのZLB ACKパケットの送信元アドレスは、予備系LACのIPアドレスとなる。予備系LACからZLB ACKパケットを受信すると、テーブル更新部１０５は、LACアドレステーブル１０９の現用系LACのLACグループを削除し、予備系LACにLACグループを割り当てる。また、予備系LACの共用予備フラグを削除し、疑似LACアドレスを設定する。また、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答有（○）に更新してもよい。更に、テーブル更新部１０５は、アドレス変換対応テーブル１１１のLNSのアドレスを現用系LACのアドレスから予備系LACのアドレスに変更する。ステップＳ２７３において、コントロールパケット処理部１０３は、アドレス変換対応テーブル１１１に従い、ZLB ACKパケットの送信元アドレスをL2TP中間介在装置のIPアドレスに変換し、転送処理部１１５を介して転送する。
【００６６】
以降、加入者端末とLNSとの間の通信は、予備系LAC（切り替え後の現用系LAC）を経由して行われる。現用系LACの故障が回復した場合の処理は、LACアドレステーブル１０９の設定を除き、図７と同様である。LACアドレステーブル１０９の設定については、現用系LACへの系切り替えが行われた場合、テーブル更新部１０５は、LACアドレステーブル１０９の現用系LACにLACグループを割り当て、予備系LAC（切り替え後の現用系LAC）に共用予備フラグを設定し、予備系LACのLACグループ及び疑似LACアドレスを削除する。
【００６７】
＜第３実施例＞
第３実施例では、第１実施例又は第２実施例において、L2TP中間介在装置がLACの切り替えをより早く判断する方法について説明する。第１実施例又は第２実施例では、LNSがHelloパケットを送信し、L2TP中間介在装置がLACにHelloパケットを転送していたが、第３実施例では、系切り替えにより、予備系LAC（切り替え後の現用系LAC）がHelloパケットを送信し、L2TP中間介在装置がLNSにHelloパケットを送信する。
【００６８】
本発明の第３実施例に係るL2TP中間介在装置１０は、下記の処理を除き、図２と同様に構成される。
【００６９】
コントロールパケット処理部１０３は、LNSからのHelloパケットを受信した場合、このHelloパケットをLACに転送するために転送処理部１１５に出力する。また、コントロールパケット処理部１０３は、Helloパケットに対してLACからのZLB ACKパケットを受信した場合、このZLB ACKパケットをLNSに転送するために転送処理部１１５に出力する。更に、コントロールパケット処理部１０３は、LACからのHelloパケットを受信した場合、このHelloパケットをLNSに転送するために転送処理部１１５に出力する。また、コントロールパケット処理部１０３は、Helloパケットに対してLNSからのZLB ACKパケットを受信した場合、このZLB ACKパケットをLACに転送するために転送処理部１１５に出力する。
【００７０】
テーブル更新部１０５は、LACアドレステーブル１０９と、アドレス変換対応テーブル１１１とを更新する。予備系LACからのHelloパケットに対してLNSから応答がある場合、LACアドレステーブル１０９の現用系及び予備系の情報を入れ替え、アドレス変換対応テーブル１１１のLNSのIPアドレスを新たに現用系になったLNSのIPアドレスに更新する。具体的な更新方法については、後述する。
【００７１】
本発明の第３実施例に係るパケット転送方法は、ステップＳ１０３におけるHelloパケット処理方法を除き、図６と同様である。
【００７２】
ステップＳ３５１〜Ｓ３５７は、図７のステップＳ１５１〜Ｓ１５７と同様に行われる。
【００７３】
ステップＳ３５９において、現用系LACで故障が発生した場合、予備系LACに系切り替えが行われる。予備系LACと現用系LACとの間でセッション情報が同期されているため、予備系LACは同期したセッション情報を用いて、加入者端末とLNSとの間の通信を継続できる。系切り替えが完了した場合、ステップＳ３６１において、予備系LACはLNSに対してHelloパケットを送信する。予備系LACからHelloパケットを受信すると、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答待ちに更新してもよい。ステップＳ３６３において、コントロールパケット処理部１０３は、LACアドレステーブル１０９及びアドレス変換対応テーブル１１１に従い、ZLB ACKパケットの送信元アドレスをL2TP中間介在装置のIPアドレスに変換し、転送処理部１１５を介して転送する。LNSは、Helloパケットを受信すると、ZLB ACKパケットを送信する（Ｓ３６５）。LNSからZLB ACKパケットを受信すると、テーブル更新部１０５は、LACアドレステーブル１０９の予備系／現用系の状態（ACT/SBY）を入れ替える。また、テーブル更新部１０５は、LACアドレステーブル１０９のZLB ACK応答に関する情報を応答有（○）に更新してもよい。更に、テーブル更新部１０５は、アドレス変換対応テーブル１１１のLNSのアドレスを現用系LACのアドレスから予備系LACのアドレスに変更する。ステップＳ３６７において、コントロールパケット処理部１０３は、アドレス変換対応テーブル１１１に従い、ZLB ACKパケットの宛先アドレスを予備系LAC（切り替え後の現用系LAC）のアドレスに変換し、転送処理部１１５を介して転送する。
【００７４】
以降、加入者端末とLNSとの間の通信は、予備系LAC（切り替え後の現用系LAC）を経由して行われる。
【００７５】
なお、図１０は、第１実施例の図７を変更したHelloパケット処理方法を示しているが、系切り替えにより予備系LACがHelloパケットを送信するという概念は、第２実施例にも同様に適用可能である。また、現用系LACの故障が回復し、現用系LACに系切り替えが行われた場合にも同様に適用可能である。
【００７６】
＜第４実施例：構成＞
第４実施例では、LACが１＋１冗長構成である場合、すなわち、１つの現用系LACに対して１つの予備系LACが予め設定されている場合を仮定する。加入者端末は、冗長構成のLACに接続できるものとする。冗長構成のLACからLNSに対しては、図１（Ａ）を参照して説明した通り、L2TP中間介在装置を介して接続される。L2TP中間介在装置には、以下に説明する通り、現用系LAC及び予備系LACのIPアドレスと、現用系／予備系の状態とが事前に設定されているものとする。また、LNSへのパケットの送信元アドレスは、図１（Ｂ）を参照して説明した通り、L2TP中間介在装置のIPアドレス（疑似LACアドレス）に集約するものとする。
【００７７】
ユーザからの接続要求を契機に、現用系LACは、例えばPPP/L2TPの接続シーケンスに従い、L2TPトンネルを確立する。現用系LACとLNSとの間でL2TPトンネルが確立された場合、現用系LACとLNSとの間で通信が行われる。LNSから送信されるパケットの宛先アドレスは、図１（Ｂ）を参照して説明した通り、L2TP中間介在装置のIPアドレス（疑似LACアドレス）に集約され、L2TP中間介在装置が現用系LACにパケットを振り分ける。また、現用系LACと予備系LACとの間で、L2TPトンネルのセッション情報（トンネルID、セッションID、シーケンス番号）が同期されるものとする。同期のタイミングは任意である。例えば、所定の周期でセッション情報が同期されてもよく、セッション情報が更新されたときにセッション情報が同期されてもよい。
【００７８】
このような１＋１冗長構成においてLACが切り替わったことを判断するためにL2TPパケットのアドレス情報を用いる。具体的には、L2TP中間介在装置は、LACからのL2TPパケットを受信した場合、L2TPパケットの送信元アドレスが現用系LACのアドレスと一致するか否かを確認する。一致する場合、現用系LACは正常に動作しているものとして、LNSにL2TPパケットを転送する。一致しない場合、予備系LACからデータが送信されていると判断し、L2TP中間介在装置における現用系LACのアドレスを更新する。なお、LNSからのパケットは、宛先アドレスを変換して、現用系LACに転送する。
【００７９】
このように、LACの切り替わりに応じて、動的に現用系LACを検出し、最新の現用系LACとLNSとの間で通信が継続される。
【００８０】
図１１に、本発明の第４実施例に係るL2TP中間介在装置４０の構成図を示す。L2TP中間介在装置４０は、処理対象パケット検出部４０１と、テーブル更新部４０５と、LNSアドレステーブル４０７と、LACアドレステーブル４０９と、アドレス変換対応テーブル４１１と、アドレス変換部４１３と、転送処理部４１５とを有する。
【００８１】
処理対象パケット検出部４０１は、L2TP中間介在装置４０に入力されたパケットが処理対象パケットであるか否かを検出する。処理対象パケット検出部４０１は、入力されたパケットが、入力されたパケットの宛先アドレスを確認し、LACからのL2TPパケットであるか、LNSからのL2TPパケットであるかを検出する。LACからのL2TPパケット又はLNSからのL2TPパケットである場合、当該パケットをアドレス変換部４１３に出力する。処理対象外パケットは、転送処理部４１５に出力される。
【００８２】
テーブル更新部４０５は、LACアドレステーブル４０９と、アドレス変換対応テーブル４１１とを更新する。テーブル更新部４０５は、LACからのL2TPパケットを受信した場合、L2TPパケットの送信元アドレスが現用系LACのアドレスと一致するか否かを確認する。一致する場合、現用系LACのアドレスを更新する必要はない。一致しない場合、テーブル更新部４０５は、予備系LACからデータが送信されていると判断し、現用系LACのアドレスを更新する。具体的な更新方法については、後述する。
【００８３】
本発明の第４実施例に係るLNSアドレステーブル４０７及びアドレス変換対応テーブル４１１は、図３及び図５と同様である。
【００８４】
図１２に、本発明の第４実施例に係るLACアドレステーブル４０９の一例を示す。LACアドレステーブル４０９は、現用系LAC及び予備系LACのIPアドレスと、現用系／予備系の状態（ACT/SBY）と、LACのアドレスをLNSに一意に見せるためのL2TP中間介在装置のIPアドレス（疑似LACアドレス）とを格納する。ここでは、１＋１冗長構成であるため、１つの現用系LACに対して１つの予備系LACが設定されており、この現用系LACに対する疑似LACアドレスは、予備系LACに対する疑似LACアドレスと同じである。
【００８５】
アドレス変換部４１３は、アドレス変換対応テーブル４１１を参照して、現用系LACから送信されたL2TPパケットの送信元アドレスIP_LAC11をL2TP中間介在装置のアドレスIP_P_LAC1に書き換え、LNSから送信されたL2TPパケットの宛先アドレスIP_P_LAC1を現用系LACのアドレスIP_LAC11に書き換える。更に、アドレスを書き換えたL2TPパケットを転送するために転送処理部４１５に出力する。
【００８６】
転送処理部４１５は、L2TPパケット及び処理対象外パケットを宛先アドレスに転送する。
【００８７】
＜第４実施例：動作＞
図１３に、本発明の第４実施例に係るパケット転送方法のフローチャートを示す。
【００８８】
ステップＳ４０１において、処理対象パケット検出部４０１は、入力されたパケットが処理対象パケットであるか否かを検出する。
【００８９】
処理対象パケット検出部４０１は、LNSアドレステーブル４０７を参照し、入力されたパケットの宛先アドレスがL2TP中間介在装置のIPアドレス（疑似LACアドレス）IP_P_LAC1であるか否かを検出する。宛先アドレスがIP_P_LAC1である場合、LNSからのパケットであるため、ステップＳ４０３に進む。なお、冗長化されたL2TPトンネルを収容するL2TP中間介在装置のIPアドレスは１つであるため、このアドレス宛のパケットを処理対象とする。
【００９０】
ステップＳ４０３において、アドレス変換部４１３は、アドレス変換対応テーブル４１１に従い、宛先アドレスのIP_P_LAC1をLACのアドレスIP_LAC11に変換する。
【００９１】
処理対象パケット検出部４０１は、LNSアドレステーブル４０７を参照し、入力されたパケットの宛先アドレスがLNSのIPアドレスIP_LNS_Aであるか否かを検出する。宛先アドレスがIP_LNS_Aである場合、LACからのパケットであるため、ステップＳ４０５に進む。なお、入力されたパケットの宛先アドレスがLNSのアドレスそのものでなく、LNSの存在するIPアドレス空間であるか否かが検出されてもよい。
【００９２】
ステップＳ４０５において、テーブル更新部４０５は、パケットの送信元アドレスがアドレス変換対応テーブル４１１の現用系LACアドレスと一致するか否かを検出する。一致する場合、テーブル更新部４０５は、アドレス変換対応テーブル４１１及びLACアドレステーブル４０９を更新する必要はない。一致しない場合、テーブル更新部４０５は、予備系LACに切り替わったと判断し、アドレス変換対応テーブル４１１のLACアドレスを書き換える。また、LACアドレステーブル４０９の現用系／予備系の状態（ACT/SBY）の情報を更新する。
【００９３】
ステップＳ４０７において、アドレス変換部４１３は、アドレス変換対応テーブル４１１に従い、送信元アドレスのIP_P_LAC11を中間介在装置のIPアドレス（疑似LACアドレス）IP_P_LAC1に変換する。
【００９４】
なお、ステップＳ４０１において処理対象外パケットであると判断された場合、アドレス変換は行われない。
【００９５】
ステップＳ４０９において、転送処理部４１５は、パケットを宛先アドレスに転送する。
【００９６】
図１４〜図１６を参照して、本発明の第４実施例に係るパケット転送方法について更に詳細に説明する。
【００９７】
ステップＳ４２１において、処理対象パケット検出部４０１は、LNSアドレステーブル４０７を参照し、入力されたパケットの宛先アドレスを確認する。
【００９８】
ステップＳ４２３において、処理対象パケット検出部４０１は、LNSアドレステーブル４０７を参照することにより、入力されたパケットの宛先アドレスがLNSのIPアドレスIP_LNS_Aであるか否かを検出する。宛先アドレスがLNSのIPアドレスである場合、ステップＳ４２５に進む。ステップＳ４２５は図１６を参照して以下に説明する。
【００９９】
ステップＳ４２７において、処理対象パケット検出部４０１は、LACアドレステーブル４０９を参照することにより、入力されたパケットの宛先アドレスがL2TP中間介在装置のIPアドレス（疑似LACアドレス）IP_P_LAC1である場合、ステップＳ４２９に進む。なお、疑似LACアドレスはLNSアドレステーブル４０７を参照することにより確認されてもよい。ステップＳ４２９は図１５を参照して以下に説明する。
【０１００】
入力されたパケットの宛先アドレスがL2TP中間介在装置のIPアドレスである場合、LNSからLAC方向へのパケットであることが分かる。図１５のステップＳ４３１において、処理対象パケット検出部４０１は、アドレス変換対応テーブル４１１に宛先アドレスに対応するエントリが存在するか否かを確認する。存在しない場合、ステップＳ４３３においてパケットは破棄される。存在する場合、アドレス変換部４１３は、アドレス変換対応テーブル４１１から、入力されたパケットの送信元アドレスLNS_A及び宛先アドレスIP_P_LAC1の組み合わせに対応したLACアドレスIP_LAC11を抽出し、宛先アドレスIP_P_LAC1を抽出されたLACアドレスIP_LAC11に変換し、転送処理部４１５を介して転送する。
【０１０１】
一方、入力されたパケットの宛先アドレスがLNSのIPアドレスである場合、LACからLNS方向へのパケットであることが分かる。図１６のステップＳ４４１において、処理対象パケット検出部４０１は、LACアドレステーブル４０９に送信元アドレスに対応するエントリが存在するか否かを確認する。存在しない場合、パケットは転送処理部４１５を介して転送される。存在する場合、ステップＳ４４３において、テーブル更新部４０５は、LACアドレステーブル４０９において送信元アドレスに対応するLACの状態が予備系（SBY）になっているか確認する。LACの状態が現用系（ACT）である場合、すなわち、入力されたパケットが現用系LACからのパケットである場合、ステップＳ４４７に進む。LACの状態が予備系（SBY）である場合、すなわち、入力されたパケットが予備系LACからのパケットである場合、ステップＳ４４５に進む。
【０１０２】
ステップＳ４４５において、テーブル更新部４０５は、LACアドレステーブル４０９の該当するLACグループの予備系／現用系の状態（ACT/SBY）を入れ替える。更に、テーブル更新部４０５は、アドレス変換対応テーブル４１１のLACのアドレスを現用系LAC（切り替え前の現用系LAC）のアドレスIP_LAC11から予備系LAC（切り替え後の現用系LAC）のアドレスIP_LAC12に変更する。
【０１０３】
ステップＳ４４７において、LNSのアドレスと疑似LACアドレスとLACのアドレスとの組み合わせを取得する。具体的には、LACアドレスは、入力パケットの送信元アドレスとなり、疑似LACアドレスは、LACアドレステーブル４０９から、LACアドレスに対応する疑似LACアドレスを取得する。また、LNSアドレスは、入力パケットの宛先アドレスである。アドレス変換部４１３は、入力パケットの送信元アドレスを、取得した疑似LACアドレスに変換する。
【０１０４】
ステップＳ４４９において、テーブル更新部４１１は、アドレス変換対応テーブル４１１に、ステップＳ４４７で決定されたLNSのアドレスと疑似LACアドレスとLACのアドレスとの組み合わせが存在するか否かを確認する。存在しない場合、ステップＳ４５１において、テーブル更新部４１１は、アドレス変換対応テーブル４１１にこれらの組み合わせを登録する。そして、パケットは転送処理部４１５を介して転送される。
【０１０５】
以降、加入者端末とLNSとの間の通信は、アドレス変換対応テーブル４１１における切り替え後の現用系LACを経由して行われる。
【０１０６】
＜第５実施例：構成＞
第５実施例では、LACがＮ＋Ｍ冗長構成である場合、すなわち、Ｎ台の現用系LACに対して共用されるＭ台の予備系候補のLACが予め設定されている場合を仮定する。加入者端末は、冗長構成のLACに接続できるものとする。現用系LAC及び予備系候補のLACの組み合わせは、ポート番号により識別するものとする。例えば、送信元ポート番号は、任意の番号を用いることができるため、同じLACグループの現用系LAC及び予備系候補のLACは同じ送信元ポート番号を使うものとする。冗長構成のLACからLNSに対しては、図１（Ａ）を参照して説明した通り、L2TP中間介在装置を介して接続される。また、LNSへのパケットの送信元アドレスは、図１（Ｂ）を参照して説明した通り、L2TP中間介在装置のIPアドレス（疑似LACアドレス）に集約するものとする。
【０１０７】
ユーザからの接続要求を契機に、現用系LACは、例えばPPP/L2TPの接続シーケンスに従い、L2TPトンネルを確立する。現用系LACとLNSとの間でL2TPトンネルが確立された場合、現用系LACとLNSとの間で通信が行われる。LNSから送信されるパケットの宛先アドレスは、図１（Ｂ）を参照して説明した通り、L2TP中間介在装置のIPアドレス（疑似LACアドレス）に集約され、L2TP中間介在装置が現用系LACにパケットを振り分ける。また、現用系LACと予備系LACとの間で、L2TPトンネルのセッション情報（トンネルID、セッションID、シーケンス番号）が同期されるものとする。同期のタイミングは任意である。例えば、所定の周期でセッション情報が同期されてもよく、セッション情報が更新されたときにセッション情報が同期されてもよい。
【０１０８】
このようなＮ＋Ｍ冗長構成においてLACが切り替わったことを判断するためにL2TPパケットのアドレス情報及び送信元ポート番号を用いる。具体的には、L2TP中間介在装置は、LACからのL2TPパケットを受信した場合、L2TPパケットの送信元アドレス及び送信元ポート番号が現用系LACのアドレス及び送信元ポート番号と一致するか否かを確認する。一致する場合、現用系LACは正常に動作しているものとして、LNSにL2TPパケットを転送する。一致しない場合、予備系LACからデータが送信されていると判断し、L2TP中間介在装置における現用系LACのアドレスを更新する。なお、LNSからのパケットは、宛先アドレスを変換して、現用系LACに転送する。
【０１０９】
このように、LACの切り替わりに応じて、動的に現用系LACを検出し、最新の現用系LACとLNSとの間で通信が継続される。
【０１１０】
本発明の第５実施例に係るL2TP中間介在装置１０は、下記の処理を除き、図１１と同様に構成される。本発明の第５実施例では、アドレス変換対応テーブル４１１は使用されなくてもよい。その代わりに、以下の通りLACアドレステーブル４０９が使用され、現用系LACアドレスの情報は、LACアドレステーブル４０９に格納される。
【０１１１】
テーブル更新部４０５は、LACアドレステーブル４０９を更新する。テーブル更新部４０５は、LACからのL2TPパケットを受信した場合、L2TPパケットの送信元アドレス及び送信元ポート番号が現用系LACのアドレス及び送信元ポート番号と一致するか否かを確認する。一致する場合、現用系LACのアドレスを更新する必要はない。一致しない場合、テーブル更新部４０５は、予備系LACからデータが送信されていると判断し、現用系LACのアドレスを更新する。具体的な更新方法については、後述する。
【０１１２】
本発明の第５実施例に係るLNSアドレステーブル４０７は、図３と同様である。
【０１１３】
図１７に、本発明の第５実施例に係るLACアドレステーブル４０９の一例を示す。LACアドレステーブル４０９は、LACグループに対応する送信元ポート番号と、現用系LACのIPアドレスと、LACのアドレスをLNSに一意に見せるためのL2TP中間介在装置のIPアドレス（疑似LACアドレス）及び送信元ポート番号とを格納する。このLACアドレステーブル４０９は、アドレス変換部４１３においてパケットのアドレスを変換するために使用される。
【０１１４】
アドレス変換部４１３は、LACアドレステーブル４０９を参照して、現用系LACから送信されたL2TPパケットの送信元アドレスIP_LAC11をL2TP中間介在装置のアドレスIP_P_LAC1に書き換え、LNSから送信されたL2TPパケットの宛先アドレスIP_P_LAC1を現用系LACのアドレスIP_LAC11に書き換える。更に、アドレスを書き換えたL2TPパケットを転送するために転送処理部４１５に出力する。
【０１１５】
転送処理部４１５は、L2TPパケット及び処理対象外パケットを宛先アドレスに転送する。
【０１１６】
＜第５実施例：動作＞
図１８に、本発明の第５実施例に係るパケット転送方法のフローチャートを示す。
【０１１７】
ステップＳ５０１において、処理対象パケット検出部４０１は、入力されたパケットが処理対象パケットであるか否かを検出する。
【０１１８】
処理対象パケット検出部４０１は、LNSアドレステーブル４０７を参照し、入力されたパケットの宛先アドレスがL2TP中間介在装置のIPアドレス（疑似LACアドレス）IP_P_LAC1であるか否かを検出する。宛先アドレスがIP_P_LAC1である場合、LNSからのパケットであるため、ステップＳ５０３に進む。なお、冗長化されたL2TPトンネルを収容するL2TP中間介在装置のIPアドレスは１つであるため、このアドレス宛のパケットを処理対象とする。
【０１１９】
ステップＳ５０３において、アドレス変換部４１３は、LACアドレステーブル４０９に従い、宛先アドレスである疑似LACアドレスIP_P_LAC1及び送信元ポート番号を現用系LACのアドレスIP_LAC11及び送信元ポート番号に変換する。
【０１２０】
処理対象パケット検出部４０１は、LNSアドレステーブル４０７を参照し、入力されたパケットの宛先アドレスがLNSのIPアドレスIP_LNS_Aであるか否かを検出する。宛先アドレスがIP_LNS_Aである場合、LACからのパケットであるため、ステップＳ５０５に進む。なお、入力されたパケットの宛先アドレスがLNSのアドレスそのものでなく、LNSの存在するIPアドレス空間であるか否かが検出されてもよい。
【０１２１】
ステップＳ５０５において、テーブル更新部４０５は、LACアドレステーブル４０９を参照して、送信元ポート番号からLACグループを特定する。そして、テーブル更新部４０５は、パケットの送信元アドレスが、送信元ポート番号に対応する現用系LACアドレスと一致するか否かを検出する。一致する場合、テーブル更新部４０５は、LACアドレステーブル４０９を更新する必要はない。一致しない場合、テーブル更新部４０５は、予備系LACに切り替わったと判断し、LACアドレステーブル４０９の現用系LACアドレスを書き換える。
【０１２２】
ステップＳ５０７において、アドレス変換部４１３は、LACアドレステーブル４０９に従い、送信元アドレスのIP_P_LAC11及び送信元ポート番号を中間介在装置のIPアドレス（疑似LACアドレス）IP_P_LAC1及び送信元ポート番号に変換する。
【０１２３】
なお、ステップＳ５０１において処理対象外パケットであると判断された場合、アドレス変換は行われない。
【０１２４】
ステップＳ５０９において、転送処理部４１５は、パケットを宛先アドレスに転送する。
【０１２５】
図１９〜図２１を参照して、本発明の第５実施例に係るパケット転送方法について更に詳細に説明する。
【０１２６】
ステップＳ５２１において、処理対象パケット検出部４０１は、LNSアドレステーブル４０７を参照し、入力されたパケットの宛先アドレスを確認する。
【０１２７】
ステップＳ５２３において、処理対象パケット検出部４０１は、LNSアドレステーブル４０７を参照することにより、入力されたパケットの宛先アドレスがLNSのIPアドレスIP_LNS_Aであるか否かを検出する。宛先アドレスがLNSのIPアドレスである場合、ステップＳ５２５に進む。ステップＳ５２５は図２１を参照して以下に説明する。
【０１２８】
ステップＳ５２７において、処理対象パケット検出部４０１は、LACアドレステーブル４０９を参照することにより、入力されたパケットの宛先アドレスがL2TP中間介在装置のIPアドレス（疑似LACアドレス）IP_P_LAC1である場合、ステップＳ５２９に進む。なお、疑似LACアドレスはLNSアドレステーブル４０７を参照することにより確認されてもよい。ステップＳ５２９は図２０を参照して以下に説明する。
【０１２９】
入力されたパケットの宛先アドレスがL2TP中間介在装置のIPアドレスである場合、LNSからLAC方向へのパケットであることが分かる。図２０のステップＳ５３１において、処理対象パケット検出部４０１は、LACアドレステーブル４０９に宛先アドレス及び送信元ポート番号（疑似LACアドレス及び送信元ポート番号）に対応するエントリが存在するか否かを確認する。存在しない場合、ステップＳ５３３においてパケットは破棄される。存在する場合、アドレス変換部４１３は、LACアドレステーブル４０９から、入力されたパケットの宛先アドレスIP_P_LAC1並びにポート番号1701の組み合わせに対応した現用系LACアドレスIP_LAC11及び送信元ポート番号1701を抽出し、宛先アドレスIP_P_LAC1及び送信元ポート番号1701を抽出されたLACアドレスIP_LAC11及びポート番号1701に変換し、転送処理部４１５を介して転送する。なお、第５実施例のLACアドレステーブル４０９で用いられている送信元ポート番号1701は単なる一例であり、現用系LAC及び予備系候補のLACの組み合わせを識別するための如何なる番号が用いられてもよい。
【０１３０】
一方、入力されたパケットの宛先アドレスがLNSのIPアドレスである場合、LACからLNS方向へのパケットであることが分かる。図２１のステップＳ５４１において、処理対象パケット検出部４０１は、LACアドレステーブル４０９に送信元ポート番号が存在するか否かを確認する。存在しない場合、ステップＳ５４５に進む。存在する場合、ステップＳ５４３において、テーブル更新部４０５は、LACアドレステーブル４０９において、パケットの送信元アドレスが送信元ポート番号に対応する現用系LACアドレスと一致するか確認する。一致する場合、すなわち、入力されたパケットが現用系LACからのパケットである場合、ステップＳ５４７に進む。一致しない場合、すなわち、入力されたパケットが予備系LACからのパケットである場合、ステップＳ５４５に進む。
【０１３１】
ステップＳ５４５において、テーブル更新部４０５は、LACアドレステーブル４０９に送信元ポート番号が存在しない場合、LACアドレステーブル４０９にエントリを新規に登録する。また、テーブル更新部４０５は、LACアドレステーブル４０９に送信元ポート番号が存在するが、アドレスが一致しない場合、予備系LACからのパケットであると判断し、LACアドレステーブル４０９の該当するLACグループの現用系LACアドレスをパケットの送信元アドレスに書き換える。
【０１３２】
ステップＳ５４７において、アドレス変換部４１３は、LACアドレステーブル４０９に従い、パケットの送信元アドレスを対応する疑似LACアドレスに変換する。そして、パケットは転送処理部４１５を介して転送される。
【０１３３】
以降、加入者端末とLNSとの間の通信は、LACアドレステーブル４０９における切り替え後の現用系LACを経由して行われる。
【０１３４】
なお、第５実施例においては、現用系L2TPトンネルに対して複数の予備系L2TPトンネルが確立されている場合について主に説明したが、１つの現用系L2TPトンネルに対して１つの予備系L2TPトンネルが確立されている場合、すなわち、１＋１冗長構成にも同様に適用可能である。
【０１３５】
＜本発明の実施例による効果＞
本発明の実施例によれば、LACを跨いだ形でのシステム間冗長化を行う際に、現用系LACから予備系LACへの切り替えにおける信頼性を向上させることが可能になる。仮にシステム間切り替えが生じたとしても、予備系LACからLNSまでの接続性が切れないようにすることが可能になる。そのため、セッションの切断が行われずにサービス継続が可能な切り替え（ステートフル切り替え）が実現できる。
【０１３６】
更に、L2TP中間介在装置を用いることにより、LNSへの追加機能が不要になる。また、L2TP中間介在装置において現用系LAC及び予備系LACの切り替えを行うことにより、ユーザに対する接続断時間を抑制できる。更に、LNSとLACとの間のトンネル再接続処理を抑制できる。
【０１３７】
また、システム間切り替えはLACにて行われ、L2TP中間介在装置は、その切り替えを検出してテーブルを更新すればよいため、LNS及びL2TP中間介在装置へのトンネルの再設定は必要なく、システム間切り替えの自動化が実現できる。
【０１３８】
更に、LACのシステム切替先が複数存在する場合においても、これらの予備系候補のLACの中から切替先の予備系LACを検出することができる。
【０１３９】
説明の便宜上、本発明の実施例に係る装置は機能的なブロック図を用いて説明しているが、本発明の装置は、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。
【０１４０】
説明の便宜上、本発明の実施例に係る方法は処理の流れを示すフローチャートを用いて説明しているが、本発明の方法は、実施例に示す順序と異なる順序で実施されてもよい。
【０１４１】
以上、本発明の実施例について説明したが、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【０１４２】
１０    L2TP中間介在装置
１０１  処理対象パケット検出部
１０３  コントロールパケット処理部
１０５  テーブル更新部
１０７  LNSアドレステーブル
１０９  LACアドレステーブル
１１１  アドレス変換対応テーブル
１１３  アドレス変換部
１１５  転送処理部
４０    L2TP中間介在装置
４０１  処理対象パケット検出部
４０５  テーブル更新部
４０７  LNSアドレステーブル
４０９  LACアドレステーブル
４１１  アドレス変換対応テーブル
４１３  アドレス変換部
４１５  転送処理部
【図１】
2013168816.tif 000003
【図２】
2013168816.tif 000004
【図３】
2013168816.tif 000005
【図４】
2013168816.tif 000006
【図５】
2013168816.tif 000007
【図６】
2013168816.tif 000008
【図７】
2013168816.tif 000009
【図８】
2013168816.tif 000010
【図９】
2013168816.tif 000011
【図１０】
2013168816.tif 000012
【図１１】
2013168816.tif 000013
【図１２】
2013168816.tif 000014
【図１３】
2013168816.tif 000015
【図１４】
2013168816.tif 000016
【図１５】
2013168816.tif 000017
【図１６】
2013168816.tif 000018
【図１７】
2013168816.tif 000019
【図１８】
2013168816.tif 000020
【図１９】
2013168816.tif 000021
【図２０】
2013168816.tif 000022
【図２１】
2013168816.tif 000023