(57)【要約】【課題】  稼動系と待機系とからなる冗長構成を採用するとともに仮想ネットワークアドレスを用いるシステムにおいて、サービスの提供の中断時間を短縮することができるようにネットワークアドレスを引継ぐ。【解決手段】  稼動系のサーバ１及び待機系のサーバ２に対してそれぞれ固有のＭＡＣアドレス及びＩＰアドレスを付与するとともに、両者に共通に仮想ＭＡＣアドレス及び仮想ＩＰアドレスを設定する。サーバ１、２間に、コネクション２０２を設定する。待機系のサーバ２は、仮想ＭＡＣアドレスによる通信データが送信されてきた場合に、コネクション２０２を介してその通信データを稼動系のサーバ１に転送し、コネクション２０２の切断によって稼動系のサーバ１に障害を検知し、障害を検知した場合には、仮想ＭＡＣアドレスによる通信データに対する処理を自装置内で行う。【選択図】        図１
2005136690.tif 000002
【特許請求の範囲】
【請求項１】
同一のネットワークに接続されそれぞれネットワークインターフェースを有し前記ネットワークインターフェースにはそれぞれ固有のネットワークアドレスが付与されている第１及び第２のネットワーク装置の間でネットワークアドレスを引き継ぐネットワークアドレス引継ぎ方法であって、
前記第１及び第２のネットワーク装置の一方を稼動系、他方を待機系として冗長構成を構築する段階と、
前記第１及び第２のネットワーク装置の前記ネットワークインターフェースに対し、同一の仮想ネットワークアドレスを付与する段階と、
前記第１のネットワーク装置と前記第２のネットワーク装置との間で通信データ転送のためのコネクションを確立する段階と、
前記待機系であるネットワーク装置が、前記ネットワークから前記仮想ネットワークアドレスを用いて通信データが送信されてきた場合に、前記コネクションを介して前記通信データを前記稼動系であるネットワーク装置に転送する段階と、
前記コネクションが切断されたことによって、前記待機系であるネットワーク装置が前記稼動系であるネットワーク装置の障害を検知する段階と、
前記障害を検知した場合に、前記待機系であるネットワーク装置が、前記通信データの転送を取りやめて、自装置内で前記通信データに基づく処理を実行する段階と、
を有する、ネットワークアドレス引継ぎ方法。
【請求項２】
前記稼動系であるネットワーク装置は、自装置内での障害の発生を検出した場合に、前記コネクションを自発的に切断する、請求項１に記載のネットワークアドレス引継ぎ方法。
【請求項３】
前記ネットワークはイーサネットによるネットワークであり、前記コネクションを介してイーサネットフレームのデータ部分が転送される、請求項１または２に記載のネットワークアドレス引継ぎ方法。
【請求項４】
ネットワークに接続するネットワーク装置であって、
前記ネットワークに対して接続して固有のネットワークアドレスが設定されるとともに、前記ネットワーク内の他のネットワーク装置と共通の仮想ネットワークアドレスが設定される物理インターフェースと、
前記固有のネットワークアドレスを用いた通信データに対する処理を実行する第１の処理部と、
前記仮想ネットワークアドレスを用いた通信データに対する処理を実行する第２の処理部と、
前記他のネットワーク装置との間にコネクションを確立するコネクション処理部と、
を有し、
前記ネットワーク装置は前記他のネットワーク装置とともに稼動系及び待機系からなる冗長構成を形成し、
前記ネットワーク装置が待機系である場合に、前記第２の処理部は、前記仮想ネットワークアドレスを用いた通信データを前記コネクション処理部に渡し、前記コネクション処理部は渡された前記通信データを前記コネクションを介して前記他のネットワーク装置に転送し、前記コネクションの切断が検出されると、前記第２の処理部は前記仮想ネットワークアドレスを用いた通信データを前記コネクション処理部に渡すことなく自ら処理する、ネットワーク装置。
【請求項５】
前記第２の処理部は、前記コネクションを介して前記コネクション処理部が前記通信データを受け取った場合に、前記受け取った通信データに対する処理を実行する、請求項４に記載のネットワーク装置。
【請求項６】
前記ネットワークはイーサネットによるネットワークであり、前記コネクションを介してイーサネットフレームのデータ部分を転送する、請求項１または２に記載のネットワーク装置。
【請求項７】
固有のネットワークアドレスが設定されたネットワークインターフェースを有し、ネットワークに接続されたコンピュータに、
前記ネットワーク内の他のコンピュータとの間にコネクションを確立する手順と、
前記コンピュータが稼動系及び待機系からなる冗長構成における待機系として動作している場合に、前記仮想ネットワークアドレスを用いて送信されてきた通信データを前記コネクションを介して前記稼動系であるネットワーク装置に転送する手順と、
前記コンピュータが前記待機系として動作している場合に、前記コネクションが切断されたことによって、前記稼動系である前記他のコンピュータの障害を検知する段階と、
前記コンピュータが前記待機系として動作している場合に、前記障害を検知したとき、前記通信データに基づく処理を実行する手順と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれネットワークインターフェースを持つ複数の装置間でのネットワークアドレスの引継ぎ方法と、そのような引継ぎ方法を実行するネットワーク装置とに関する。
【背景技術】
【０００２】
信頼性を要求されるネットワークシステムでは、同じ構成のシステムを２系統用意して、一方を稼動系として動作させ、他方は待機系として待機させておき、稼動系において障害が発生した場合には、即座に待機系に切り替えることが行われている。ここで、稼動系のシステム及び待機系のシステムが同一のネットワークに接続するとともにネットワークアドレスで識別されるものである場合、一般には同一ネットワーク内では同一のネットワークアドレスを異なる装置に割当てることはできないので、稼動系−待機系を構成する２系統のシステムにはそれぞれ異なるネットワークアドレスを割当てる必要がある。しかしながら、異なるネットワークアドレスを割当てた場合、稼動系システムから待機系システムへの切り替えに際し、それまで稼動系システムに対してアクセスしていたネットワーク機器（クライアントなど）は、待機系システムにアクセスするために、それまでの稼動系システムのネットワークアドレスとは異なる待機系システムのネットワークアドレスを使用しなければならない。多数のネットワーク機器が接続するネットワークシステムにおいて、各ネットワーク機器が通信先のネットワークアドレスを即座に変更できるようにすることは困難である。
【０００３】
そこで、複数の装置間でのネットワークアドレス引継ぎの技術が、例えば、ＶＲＲＰ（Virtual Router Redundancy Protocol：仮想ルータ冗長プロトコル）として、ＲＦＣ(request for Comments)２３３８（非特許文献１）に提案されている。ＶＲＲＰでは、稼動系−待機系を構成する複数台のルータもしくはサーバにおいて、稼動系が定期的に生存信号を発し、稼動系からの生存信号が到来しないことによって待機系は稼動系の障害を検知し、そのような障害が検知された場合には、優先度の高いルータもしくはサーバを稼動系とする。その際、稼動系と待機系との間でネットワークアドレスを引き継ぐようにして、それまで稼動系システムにアクセスしていたネットワーク機器は、通信先のネットワークアドレスを変更することなく、待機系システムにアクセスできるようにしている。ＶＲＲＰにおけるネットワークアドレスの引継ぎ方法は、待機系が、待機系と稼動系との間で共通の仮想ネットワークアドレスをあらかじめ指定しておき、稼動系が正常に動作している場合には、稼動系のみがその仮想ネットワークアドレスをネットワーク上で用い、稼動系に障害が生じて待機系が稼動系に切り替わる際に、待機系だったシステムが仮想ネットワークアドレスを有効にすることで、ネットワークアドレスを引き継ぐ、というものである。このような引継ぎ方法を採用することにより、同一ネットワーク上に同一のネットワークアドレスが重複することを避けつつ、稼動系から待機系へのアクセスの切り替えがスムースに行われるようにしている。
【非特許文献１】S. Knight et al.,"Virtual Router Redundancy Protocol", RFC2338, April 1999, pp. 1-8. （[online]、インターネット、＜ＵＲＬ： ftp://ftp.rfc-editor.org/in-notes/rfc2338.txt＞）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したように従来のＶＲＲＰでは、稼動系から送出される定期的な生存信号を検出し、この検出結果に基づいて待機系が稼動系から仮想ネットワークアドレスを引き継いでいるが、この手法では、生存信号の検出にかかる周期的な待ち時間や、生存信号の検出後のネットワークアドレス引継ぎのための処理時間が、仮想ネットワークアドレスを用いたネットワークアクセスにおける中断時間となり、その間はサービスを提供することができないという問題点がある。
【０００５】
そこで本発明の目的は、仮想ネットワークアドレスを用いるサービスの提供の中断時間を短縮することが可能なネットワークアドレス引継ぎ方法を提供することにある。
【０００６】
本発明の別の目的は、仮想ネットワークアドレスを用いるサービスの提供の中断時間を短縮することが可能なネットワークアドレス引継ぎ方法に対応したネットワーク装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のネットワークアドレス引継ぎ方法は、同一のネットワークに接続されそれぞれネットワークインターフェースを有しネットワークインターフェースにはそれぞれ固有のネットワークアドレスが付与されている第１及び第２のネットワーク装置の間でネットワークアドレスを引き継ぐネットワークアドレス引継ぎ方法であって、第１及び第２のネットワーク装置の一方を稼動系、他方を待機系として冗長構成を構築する段階と、第１及び第２のネットワーク装置のネットワークインターフェースに対し、同一の仮想ネットワークアドレスを付与する段階と、第１のネットワーク装置と第２のネットワーク装置との間で通信データ転送のためのコネクションを確立する段階と、待機系であるネットワーク装置が、ネットワークから仮想ネットワークアドレスを用いて通信データが送信されてきた場合に、コネクションを介して通信データを稼動系であるネットワーク装置に転送する段階と、コネクションが切断されたことによって、待機系であるネットワーク装置が稼動系であるネットワーク装置の障害を検知する段階と、障害を検知した場合に、待機系であるネットワーク装置が、通信データの転送を取りやめて、自装置内で通信データに基づく処理を実行する段階と、を有する。
【０００８】
本発明のネットワーク装置は、ネットワークに接続するネットワーク装置であって、ネットワークに対して接続して固有のネットワークアドレスが設定されるとともに、ネットワーク内の他のネットワーク装置と共通の仮想ネットワークアドレスが設定される物理インターフェースと、固有のネットワークアドレスを用いた通信データに対する処理を実行する第１の処理部と、仮想ネットワークアドレスを用いた通信データに対する処理を実行する第２の処理部と、他のネットワーク装置との間にコネクションを確立するコネクション処理部と、を有し、ネットワーク装置は他のネットワーク装置とともに稼動系及び待機系からなる冗長構成を形成し、ネットワーク装置が待機系である場合に、第２の処理部は、仮想ネットワークアドレスを用いた通信データをコネクション処理部に渡し、コネクション処理部は渡された通信データをコネクションを介して他のネットワーク装置に転送し、コネクションの切断が検出されると、第２の処理部は仮想ネットワークアドレスを用いた通信データをコネクション処理部に渡すことなく自ら処理する。
【０００９】
本発明では、同一ネットワーク上に存在するネットワークインターフェースを有する複数のネットワーク装置に同一の仮想ネットワークアドレスを持たせ、稼動系・待機系の冗長構成の場合において、待機系で受け付けた仮想ネットワークアドレスに対しての通信データを速やかに稼動系に転送し、稼動系がその転送された通信データを処理する。このことにより、ネットワークに接続した複数の装置に実質的に同一ネットワークアドレスが付与されている場合であっても、通信データを処理する装置を１つに集中することで、データの整合性が取れなくなる矛盾を解決する。
【００１０】
また、通信データを稼動系へ転送するために、稼動系と待機系との間でコネクションを設定し、そのコネクションの切断を契機に稼動系の障害を判断するため、周期的な生存信号の待ち時間及びネットワークアドレス引継ぎ処理に関する時間を削減し、仮想ネットワークアドレスによるサービス提供の中断時間を短縮することが可能である。
【発明の効果】
【００１１】
本発明により、従来、障害発生時等に、ネットワークアドレスを引き継ぐためにかかっていた、処理時間を短縮することが可能になる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。図１は本発明の実施の一形態のネットワークアドレス引継ぎ方法が適用されるネットワークの構成の一例を示している。
【００１３】
典型的にはイーサネットで構築されたＬＡＮ（ローカルエリアネットワーク）２０１に対して、２台のサーバ１、２が接続している。これら２台のサーバ１、２は、一方が稼動系、他方が待機系として動作するものであり、正常動作時には、サーバ１が稼動系、サーバ２が待機系であるとする。サーバ１及びサーバ２は、ＬＡＮ２０１内において、同一ＩＰ(Internet protocol)サブネット内のネットワークに接続しており、サーバ１のネットワークインターフェースは、ＩＰアドレスとしてＡを持ち、ＭＡＣ(media access control)アドレスとしてａを持っている。またサーバ２のネットワークインターフェースは、ＩＰアドレスとしてＢを持ち、ＭＡＣアドレスとしてｂを持っている。ここではＡ≠Ｂであり、ａ≠ｂである。さらにサーバ１とサーバ２のネットワークインターフェースには、冗長構成用として、共通に、仮想ＩＰアドレスＣと仮想ＭＡＣアドレスｃとが設定されている。サーバ１とサーバ２との間には、ＬＡＮ２０１を介して、コネクション２０２が確立しており、サーバ１、２は、コネクション２０２を介して論理的に接続している。
【００１４】
ＬＡＮ２０１には、さらに、クライアント１０１〜１０４が接続しており、クライアント１０１〜１０４は、その必要とするサービスの提供を受けるために、サーバ１、２のうち現に稼動系となっているサーバに接続する。
【００１５】
ここに示したネットワークシステムでは、サーバ１とサーバ２の双方が仮想ＩＰアドレスＣ及び仮想ＭＡＣアドレスｃを同時にアクティブに設定しても、待機系のサーバは、仮想ＩＰアドレスＣ及び仮想ＭＡＣアドレスｃをあて先として用いる通信データを受け取った場合には、その通信データを、イーサネットフレーム上のデータ部分のみからなるデータとしてコネクション２０２を介して稼動系のサーバに転送する。その結果、仮想ＩＰアドレスＣ及び仮想ＭＡＣアドレスｃに対しての通信は、すべて稼動系のサーバ１へと転送され、処理されることとなる。したがって、同一アドレスをあて先として指定する通信データが異なるサーバに分散して送られることによって生じる、通信データの矛盾や不一致が生じない。同一ネットワーク上に同一のＩＰアドレス及び同一のＭＡＣアドレスが設定されたサーバが存在しても、データの整合性が保証される。
【００１６】
図２は、このようなサーバ１、２の具体的な構成を示している。サーバ１、２は、ＬＡＮ２０１との接続点となる物理インターフェース３０１、４０１を備えている。物理インターフェース３０１、４０１には、その製造時に、それぞれ固有のＭＡＣアドレスａ、ｂが設定されている。さらにサーバ１、２は、それぞれ、物理インターフェース３０１、４０１に付与されたＭＡＣアドレス（ＭＡＣアドレスａ、ｂ）及びイーサネットの処理を行うイーサネット処理部３０２、４０２と、付与されているＭＡＣアドレスに関連付けられたＩＰアドレスの処理を行うＩＰ処理部３０４、４０４と、ＩＰ処理部３０４、４０４で処理される実ＩＰアドレスによるＩＰパケットに関する上位のプロトコル処理を行うＴＣＰ(transmission control protocl)／ＵＤＰ(user datagram protocol)処理部３０５、４０５と、仮想ＭＡＣアドレス及びイーサネットの処理を行う仮イーサネット処理部３０３、４０３と、仮想ＭＡＣアドレスに関連付けられる仮想ＩＰアドレスの処理を行う仮ＩＰ処理部３０６、４０６と、仮ＩＰ処理部３０６、４０６で処理される仮想ＩＰアドレスによるＩＰパケットに関する上位のプロトコル処理を行う仮ＴＣＰ／ＵＤＰ処理部３０７、４０７と、それらのサーバが提供するサービスを実行するためのサービスプログラム３０９、４０９と、を備えている。さらにサーバ１、２は、コネクション２０２に関する処理を実行するために、それぞれ、コネクション処理部３０８、４０８を備えている。サーバ１のサービスプログラム３０９は、ＴＣＰ／ＵＤＰ処理部３０５及び仮ＴＣＰ／ＵＤＰ処理部３０７に任意にバインドすることができ、同様に、サーバ２のサービスプログラム４０９は、ＴＣＰ／ＵＤＰ処理部４０５及び仮ＴＣＰ／ＵＤＰ処理部４０７に任意にバインドすることができる。
【００１７】
次に、本実施形態の動作を説明する。ここでは、当初はサーバ１が稼動系サーバであり、サーバ２が待機系サーバであるとする。
【００１８】
稼動系であるサーバ１に対して、その実ＭＡＣアドレス（ＭＡＣアドレスａ）でアクセスがあった場合には、物理インターフェース３０１で受け付けられてイーサネット処理部３０２においてＭＡＣアドレス処理とイーサネット処理とがなされ、実ＭＡＣアドレスに対応付けられた実ＩＰアドレス（ＩＰアドレスＡ）による処理がＩＰ処理部３０４でなされ、さらに上位のプロトコル処理がＴＣＰ／ＵＤＰ処理部３０５で行われることになる。また、稼動系であるサーバ１は、仮想ＭＡＣアドレス及び仮想ＩＰアドレスによるアクセスを受け付けた場合には、仮イーサネット処理部３０３において仮想ＭＡＣアドレスの処理とイーサネット処理とがなされ、仮想ＭＡＣアドレスに対応付けられた仮想ＩＰアドレスによる処理が仮ＩＰ処理部３０６でなされ、さらに上位のプロトコル処理が仮ＴＣＰ／ＵＤＰ処理部３０７で行われることになる。同様に、待機系であるサーバ２に対して、その実アドレス（ＭＡＣアドレスｂ）でアクセスがあった場合には、物理インターフェース４０１で受け付けられてイーサネット処理部４０２においてＭＡＣアドレス処理とイーサネット処理とがなされ、実ＭＡＣアドレスに対応付けられた実ＩＰアドレス（ＩＰアドレスＢ）による処理がＩＰ処理部４０４でなされ、さらに上位のプロトコル処理がＴＣＰ／ＵＤＰ処理部４０５で行われることになる。
【００１９】
待機系であるサーバ２に対して仮想ＭＡＣアドレス及び仮想ＩＰアドレスに基づいてアクセスがなされた場合には、仮イーサネット処理部４０３において仮想ＭＡＣアドレスが処理されるともに、それらの通信データは、コネクション処理部４０８において、イーサネット部分のデータが処理され、イーサネットフレームにおけるデータ部分のみからなるデータとされる。そして、そのように処理されたデータは、コネクション２０２を介して、稼動系であるサーバ１のコネクション処理部３０８に転送される。そのようにデータが転送されると、稼動系であるサーバ１において、コネクション処理部３０８は、受信したデータ（イーサネットフレーム上のデータ）を仮イーサネット処理部３０３を経由してＩＰ処理部３０６へ渡す。これにより、仮想ＩＰアドレス及び仮想ＭＡＣアドレスに対する通信データは、同一アドレスを持つ複数のホスト（ここでは稼動系のサーバ１及び待機系のサーバ２）に分散することなく、すべて稼動系のサーバ１の通信処理部に転送され、処理されることになる。したがって、同一の仮想ＩＰアドレスや同一の仮想ＭＡＣアドレスが異なる複数のサーバに割当てられていても、矛盾のない処理が可能となる。
【００２０】
なお、このシステムでは、稼動系であるサーバ１において、そのサービスプログラム３０９が仮想アドレスを用いて通信データを送信する際には、サービスプログラム単位で送信するデータを、稼動系であるサーバ１の物理インターフェース３０１から送信してもよい。あるいは、コネクション処理部３０８、コネクション２０２、及び待機系であるサーバ２のコネクション処理部４０８を経由して、待機系のサーバ２の物理インターフェース４０１から送信してもよい。さらには、ランダムにあるいは規則的に稼動系のサーバ１の物理インターフェース３０１と待機系のサーバ２の物理インターフェース４０１のいずれかを選択してその物理インターフェースから送信するようにしてもよい。本実施形態のシステムでは、稼動系のサーバ１のサービスプログラム３０９がどの物理インターフェースをどのように用いて通信データを送信するかは、任意に設定可能である。
【００２１】
次に、稼動系であるサーバ１に障害が発生した場合の処理について説明する。
【００２２】
稼動系であるサーバ１で障害が発生し、そのサーバ１がサービス提供が不可能な状態になれば、サーバ１は、仮想ＩＰアドレス及び仮想ＭＡＣアドレスの使用を停止する。また、サーバ１に関連したネットワーク関連のハードウェアの障害の場合には、サーバ１の物理インターフェース３０１そのものが使用不可となる。このような場合、稼動系のサーバ１と待機系のサーバ２の間に生成されているコネクション２０２は、稼動系のサーバ１によって自発的に切断されるか、その障害自体によって切断される。
【００２３】
正常に動作している待機系のサーバ２は、コネクション２０２の切断をうけて稼動系のサーバ１での障害発生を検知する。サーバ１での障害発生を検知されると、そのことがコネクション処理部４０８から仮イーサネット処理部４０３に通知され、仮イーサネット処理部４０３は、仮想ＩＰアドレス（ＩＰアドレスＣ）及び仮想ＭＡＣアドレス（ＭＡＣアドレスｃ）を受け取った際の処理を切り替え、特に、データの送り先をコネクション処理部４０８から仮ＩＰ処理部４０６に切り替える。その結果、待機系のサーバ２では、それ以降、仮想ＩＰアドレス（ＩＰアドレスＣ）及び仮想ＭＡＣアドレス（ＭＡＣアドレスｃ）に対する通信データを受け取った場合、仮想ＭＡＣアドレスに関する処理が仮イーサネット処理部４０３で行われるともに、その仮想ＭＡＣアドレスに対応付けられた仮想ＩＰアドレスの処理が仮ＩＰ処理部４０６で行われるようになる。そして仮想ＩＰアドレスに対する上位のプロトコル処理が、仮ＴＣＰ／ＵＤＰ処理部４０７で行われ、そこにバインドされているサービスプログラム４０９に対してデータが受け渡される。結局、それまで待機系であったサーバ２が、稼動系のサーバとして動作することになる。
【００２４】
このとき、稼動系であったサーバ１においてはサービスプログラム３０９のみに障害が発生し、その他の処理部３０４〜３０８や物理インターフェース３０１には障害が発生せず、サービスプログラム３０９の再起動のみでその障害が復旧可能な場合には、再度、待機系であったサーバ２（現在稼動系として動作しているサーバ）との間にコネクション２０２を生成し、仮想ＩＰアドレス及び仮想ＭＡＣアドレスを稼動系であったサーバ１上で有効にする。その結果、稼動系であったサーバ１は復旧し、今度は、待機系のサーバとして動作を開始する。
【００２５】
一方、稼動系であったサーバ１における障害が、回復するために保守者による復旧作業を必要とするものであった場合には、その後、保守者によってサーバ１の復旧作業が行われる。その結果、障害を起こしたサーバ１が復旧すれば、サーバ１は、待機系として動作を開始する。また、待機系であったサーバ２は稼動系として動作を行い続ける。さらに、管理者は、待機系と稼動系とのサーバの切り替えを手動操作によって行うことができる。現在、稼動系であるサーバに障害が生じた場合には、稼動系と待機系の切り替えが同様に行われる。
【００２６】
以上、本発明の好ましい実施形態について、本発明に基づくネットワーク装置がサーバである場合について説明したが、本発明はこれに限定されるものではない。図３は、本発明に基づくネットワーク装置がルータである場合の、本発明のネットワークアドレス引継ぎ方法が適用されるネットワークの構成の一例を示している。
【００２７】
イーサネットで構築されたＬＡＮ２０１に対して、２台のルータ３、４が接続している。これら２台のサーバ３、４は、一方が稼動系、他方が待機系として動作するものであり、ここでは説明のため、正常動作時には、サーバ３が稼動系、サーバ４が待機系であるとする。さらにこれのルータ３、４は、ＬＡＮ２０１とは別のＬＡＮ２０３に対しても接続しており、ＬＡＮ２０１とＬＡＮ２０３との間でのルーティングを実行する。ＬＡＮ２０１側において、ルータ３、４は、同一ＩＰサブネット内のネットワークに接続しており、ルータ３のネットワークインターフェースは、ＩＰアドレスとしてＡを持ち、ＭＡＣアドレスとしてａを持っている。ルータ４のネットワークインターフェースは、ＩＰアドレスＢとＭＡＣアドレスｂを持っている。ここではＡ≠Ｂであり、ａ≠ｂである。さらにルータ３及びルータ４のネットワークインターフェースには、冗長構成用として、共通に、仮想ＩＰアドレスＣと仮想ＭＡＣアドレスｃとが設定されている。ルータ３とルータ４との間には、ＬＡＮ２０１を介して、コネクション２０２が確立しており、ルータ３、４は、コネクション２０２を介して論理的に接続している。ＬＡＮ２０３側においても、ルータ３、４にはそれぞれ固有のＩＰアドレス及びＭＡＣアドレスが設定されるとともに、ルータ３、４に共通に、仮想ＩＰアドレスと仮想ＭＡＣアドレスが設定されている。ＬＡＮ２０１には、さらに、クライアント１０１〜１０４が接続しており、クライアント１０１〜１０４は、ルータ３、４のうち現に稼動系となっているルータに接続する。
【００２８】
ルータ３、４から構成されるこの稼動系−冗長系システムでは、稼動系と冗長系との間の切り替えとそれにともなうネットワークアドレス引継ぎの処理は、ＬＡＮ２０１側から見た場合の処理もＬＡＮ２０３側から見た場合の処理も同様であるので、以下では、ＬＡＮ２０１側から見た処理について説明する。
【００２９】
上述したサーバ１、２の場合と同様に、ルータ３とルータ４が仮想ＩＰアドレスＣ及び仮想ＭＡＣアドレスｃを同時にアクティブに設定しても、待機系のルータ４に対する仮想ＩＰアドレスＣ及び仮想ＭＡＣアドレスｃをあて先として用いる通信データは、コネクション２０２を通じて、イーサネットフレーム上のデータ部分のみからなるデータとして、稼動系のルータ３へと転送される。その結果、仮想ＩＰアドレスＣ及び仮想ＭＡＣアドレスｃに対しての通信は、すべて稼動系のルータ３へと転送され、処理されることとなる。したがって、同一のアドレスをあて先として指定する通信データが分散することによる、通信データの矛盾・不一致が生じない。同一ネットワーク上に同一のＩＰアドレス及びＭＡＣアドレスが設定されたノードが存在してもデータの整合性が保証される。
【００３０】
このようなルータ３、４は、ＬＡＮ２０３に対するネットワークインターフェースが設けられていることを除けば、図２に示したサーバ１、２と同じ構成を有している。ネットワークアドレス引継ぎの処理自体はＬＡＮ２０１側でもＬＡＮ２０３側でも同じであるので、以下では、ＬＡＮ２０１側でのネットワークアドレス引継ぎの処理について、図２を参照して説明する。ただし、図２におけるサーバ１及びサーバ２は、それぞれ、ルータ３及びルータ４に読み替えるものとする。
【００３１】
ルータ３は、サーバ１と同様に、物理インターフェース３０１、イーサネット処理部３０２、仮イーサネット処理部３０３、ＩＰ処理部３０４、ＴＣＰ／ＵＤＰ処理部３０５、仮ＩＰ処理部３０６、仮ＴＣＰ／ＵＤＰ処理部３０７、コネクション処理部３０８及びサービスプログラム３０９を備えており、ルータ４は、サーバ２と同様に、物理インターフェース４０１、イーサネット処理部４０２、仮イーサネット処理部４０３、ＩＰ処理部４０４、ＴＣＰ／ＵＤＰ処理部４０５、仮ＩＰ処理部４０６、仮ＴＣＰ／ＵＤＰ処理部４０７、コネクション処理部４０８及びサービスプログラム４０９を備えている。サービスプログラム３０９、４０９としては、例えば、ルーティングエンジンやフィルタリングの機能を提供するものが挙げられる。ルータ３のサービスプログラム３０９は、ＴＣＰ／ＵＤＰ処理部３０５及び仮ＴＣＰ／ＵＤＰ処理部３０７に任意にバインドすることができ、ルータ４のサービスプログラム４０９は、ＴＣＰ／ＵＤＰ処理部４０５及び仮ＴＣＰ／ＵＤＰ処理部４０７に任意にバインドすることができる。
【００３２】
次に、図３に示した稼動系のルータ３及び待機系のルータ４からなるシステムの動作について説明する。
【００３３】
稼動系のルータ３に対してその実ＭＡＣアドレス（ＭＡＣアドレスａ）及び実ＩＰアドレス（ＩＰアドレスＡ）によってアクセスがなされた場合、あるいは待機系のルータ４に対してその実ＭＡＣアドレス（ＭＡＣアドレスｂ）及び実ＩＰアドレス（ＩＰアドレスＢ）によってアクセスがなされた場合には、上述と同様に、物理インターフェース３０１、４０１で受け付けられてイーサネット処理部３０２、４０２においてＭＡＣアドレス処理とイーサネット処理とがなされ、実ＩＰアドレスによる処理がＩＰ処理部３０４、４０４でなされ、さらに上位のプロトコル処理がＴＣＰ／ＵＤＰ処理部３０５、４０５で行われる。また、稼動系であるルータ３は、仮想ＭＡＣアドレス及び仮想ＩＰアドレスによるアクセスを受け付けた場合には、仮イーサネット処理部３０３において仮想ＭＡＣアドレスの処理とイーサネット処理とがなされ、仮想ＭＡＣアドレスに対応付けられた仮想ＩＰアドレスによる処理が仮ＩＰ処理部３０６でなされ、さらに上位のプロトコル処理が仮ＴＣＰ／ＵＤＰ処理部３０７で行われることになる。
【００３４】
待機系であるルータ４に対して、仮想ＭＡＣアドレス及び仮想ＩＰアドレスをあて先とする通信データが送られて送ると、上述した場合と同様に、コネクション処理部４０８においてイーサネット部分のデータが処理され、イーサネットフレームにおけるデータ部分のみからなるデータのみとされ、この処理されたデータは、コネクション２０２を経由して稼動系のルータ３のコネクション処理部３０８へ転送される。稼動系のルータ３においては、コネクション処理部３０８は、コネクション２０２を介して受信したデータをイーサネット処理部３０３を経由してＩＰ処理部３０６へ渡す。これにより、仮想ＩＰアドレス及び仮想ＭＡＣアドレスに対する通信データは、同一アドレスを持つ複数のホストに分散することなく、すべて稼動系のルータ３の通信処理部に転送され、処理されることになる。したがって、矛盾のない処理が可能となる。
【００３５】
稼動系のルータ３においてルーティングエンジンやフィルタリングなどのサービスプログラム３０９が仮想アドレスを用いて通信データを送信する際には、サービスプログラム単位で送信するデータを、稼動系のルータ３の物理インターフェース３０１から送信するか、コネクション２０２を介して待機系のルータ４の物理インターフェース４０１から送信するか、または、ランダムにあるいは予めで定められた規則にしたがっていずれかの物理インターフェース３０１、４０１を使用して送信するかを任意に設定可能である。
【００３６】
稼動系のルータ３で障害が発生した場合の処理を説明する。ルータ３において障害が発生し、ルータ３がサービス提供が不可能な状態になれば、ルータ３は、仮想ＩＰアドレス及び仮想ＭＡＣアドレスの使用を停止する。またネットワーク関連のハードウェアの障害の場合には、ルータ３の物理インターフェース３０１そのものが使用不可となる。このような場合、稼動系のルータ３と待機系のルータ４の間で生成されているコネクション２０２が、稼動系のルータ３によって自発的に、あるいはその障害そのものに起因して、切断される。
【００３７】
待機系のルータ４では、コネクション２０２の切断を受けて、稼動系のサーバ３での障害発生を検知し、それ以降は、仮想ＩＰアドレス及び仮想ＭＡＣアドレスをあて先とする通信データは、仮ＩＰ処理部４０６へ受け渡される。その後、ルータ４は、プロトコル処理を仮ＴＣＰ／ＵＤＰ処理部４０７において行い、そこにバインドされているサービスプログラム４０９へデータを受け渡す。
【００３８】
このとき、稼動系であったルータ３での障害はサービスプログラム３０９のみに発生し、そのルータ３の各処理部３０４〜３０８及び物理インターフェース３０１には障害は発生しておらず、そのサービスプログラムの再起動のみで障害が復旧可能な場合には、ルータ３と待機系であったルータ４との間に、再度、コネクション２０２を生成し、仮想ＩＰアドレス及び仮想ＭＡＣアドレスをルータ３上で有効にし、そのルータ３が待機系としての動作を開始するようにする。
【００３９】
一方、稼動系であったルータ３における障害が保守者による復旧作業を必要とするものであった場合には、保守者によって復旧が行われ、そのルータ３が復旧すれば、ルータ３は待機系のルータとしての動作を開始する。待機系であったルータ４は、稼動系のルータとしての動作を続行する。管理者によって待機系と稼動系とのルータの切り替えが行われるか、現在、稼動系であるルータに障害が生じた場合には、稼動系と待機系の切り替えが同様に行われる。
【００４０】
以上、本発明の実施形態について、本発明に基づくネットワーク装置がサーバあるいはルータである場合について説明したが、本発明は、ネットワークインターフェースを有するあらゆるネットワーク装置に対して適用することができる。
【００４１】
また、上述したサーバあるいはルータのような本発明に基づくネットワーク装置は、専用のハードウェア装置によって構成することもできるし、あるいは、このようなネットワーク装置を実現するためのコンピュータプログラムを汎用のコンピュータシステムに読み込ませ、そのプログラムを実行させることによっても実現できる。プログラムは、磁気テープやＣＤ−ＲＯＭなどの記録媒体によってコンピュータに読み込まれ、あるいは、ネットワークを介してコンピュータに読み込まれる。
【００４２】
ネットワーク装置を構成するためのコンピュータは、具体的には、ＣＰＵ（中央処理装置）と、プログラムやデータを格納するためのハードディスク装置と、主メモリと、キーボードやマウスあるいは入力用スイッチなどの入力装置と、ＣＲＴあるいは発光ダイオードを有する表示パネルなどの表示装置と、磁気テープやＣＤ−ＲＯＭ等の記録媒体を読み取る読み取り装置と、ネットワークとの接続部を構成する通信インターフェースと、から構成されている。通信インターフェースは、物理インターフェース３０１、４０１に対応するものである。ハードディスク装置、主メモリ、入力装置、表示装置、読み取り装置及び通信インターフェースは、いずれもＣＰＵに接続している。このコンピュータシステムでは、上述したネットワーク装置を構成するためのプログラムを格納した記録媒体から読み出してハードディスク装置に格納し、あるいはネットワークを介してハードディスク装置に格納し、ハードディスク装置に格納されたプログラムをＣＰＵが実行することにより、上述したネットワーク装置として機能する。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の一形態のネットワークアドレス引継ぎ方法が適用されるネットワークの構成の一例を示す図である。
【図２】本発明に基づくネットワーク装置の構成の一例を示すブロック図である。
【図３】本発明の実施の一形態のネットワークアドレス引継ぎ方法が適用されるネットワークの構成の別の例を示す図である。
【符号の説明】
【００４４】
１、２    サーバ
３、４    ルータ
１０１〜１０４    クライアント
２０１、２０３    ＬＡＮ（ローカルエリアネットワーク）
２０２    コネクション
３０１、４０１    物理インターフェース
３０２、４０２    イーサネット処理部
３０３、４０３    仮イーサネット処理部
３０４、４０４    ＩＰ処理部
３０５、４０５    ＴＣＰ／ＵＤＰ処理部
３０６、４０６    仮ＩＰ処理部
３０７、４０７    仮ＴＣＰ／ＵＤＰ処理部
３０８、４０８    コネクション処理部
３０９、４０９    サービスプログラム
【図１】
2005136690.tif 000003
【図２】
2005136690.tif 000004
【図３】
2005136690.tif 000005