JP5416596B2 - ネットワーク中継装置、ネットワークシステム、それらの制御方法 - Google Patents

ネットワーク中継装置、ネットワークシステム、それらの制御方法 Download PDF

Info

Publication number
JP5416596B2
JP5416596B2 JP2010001669A JP2010001669A JP5416596B2 JP 5416596 B2 JP5416596 B2 JP 5416596B2 JP 2010001669 A JP2010001669 A JP 2010001669A JP 2010001669 A JP2010001669 A JP 2010001669A JP 5416596 B2 JP5416596 B2 JP 5416596B2
Authority
JP
Japan
Prior art keywords
network
interface
virtual network
packet
route information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010001669A
Other languages
English (en)
Other versions
JP2011142479A (ja
JP2011142479A5 (ja
Inventor
雅也 新井
圭一郎 山手
信司 野崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2010001669A priority Critical patent/JP5416596B2/ja
Priority to US12/984,266 priority patent/US20110164508A1/en
Publication of JP2011142479A publication Critical patent/JP2011142479A/ja
Publication of JP2011142479A5 publication Critical patent/JP2011142479A5/ja
Application granted granted Critical
Publication of JP5416596B2 publication Critical patent/JP5416596B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワーク中継装置に関する。
高い信頼性(Reliability)および可用性(Availability)を有するネットワークシステムを構築するための方法として、MPLS(Multi−Protocol Label Switching)によるFRR(Fast Reroute)が知られている。MPLSによるFRRでは、ネットワークシステムを構成する各ルータにおいて、事前に運用LSP(Label Switched Path)と予備LSPとを設定する。運用LSP上のノードや回線に障害が発生した場合、各ルータは、通信路を運用LSPから予備LSPに切り替える。このように、MPLSによるFRRでは、事前に運用LSPと予備LSPとを設定しておくことにより、障害発生時のルーティングプロトコルの経路再計算を不要にしている(例えば、非特許文献1)。
また、高い信頼性および可用性を有するネットワークシステムを構築するための他の方法として、MPLSを用いないIP−FRR(Internet Protocol Fast Reroute)が知られている。IP−FRRでは、事前にネットワークシステム内の回線やノードに障害が発生した際の予備経路を計算しておくことで、障害発生時、迅速に予備経路へ切り替えることを可能としている(例えば、非特許文献2)。
従来のMPLSによるFRRでは、ネットワークシステムを構成する全てのルータがMPLSに対応している必要があるため、ネットワークシステムが高価になってしまうという問題があった。また、MPLS網を管理するための知識が必要となるため、運用コストが増大するという問題があった。一方、IP−FRRでは、予備経路を計算するためのルーティングプロトコルの計算量が隣接するルータ数に比例して増大するという問題があった。さらに、IP−FRRでは、事前に予備経路を計算するための条件に制限があるという問題があった。
本発明は、高い信頼性および可用性を有するネットワークシステムであって、MPLS機能を使用することなく、かつ、予備経路を計算するためのルーティングプロトコルの計算コストが従来とほぼ同等であるネットワークシステムを提供することを目的とする。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。同一のアドレスが設定された第1の処理装置および第2の処理装置と、前記第1または第2の処理装置を利用するクライアント装置と、直接的または間接的に接続され、各装置間のパケットを中継するネットワーク中継装置であって、前記第1の処理装置が属する第1の仮想ネットワークの経路情報が記憶される第1の経路情報記憶部と、前記第2の処理装置が属する第2の仮想ネットワークの経路情報が記憶される第2の経路情報記憶部と、前記第1の仮想ネットワークに関する経路情報の広告を受け取ると共に前記第1の仮想ネットワークの経路情報を構築し、構築された経路情報を前記第1の経路情報記憶部に格納し、前記第2の仮想ネットワークに関する経路情報の広告を受け取ると共に前記第2の仮想ネットワークの経路情報を構築し、構築された経路情報を前記第2の経路情報記憶部に格納する経路情報広告部と、前記第1の仮想ネットワークの状態および前記第2の仮想ネットワークの状態を検出する状態検出部と、前記クライアント装置から受信したパケットであって、前記アドレスをあて先とする受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、前記決定される仮想ネットワークに属する前記第1の処理装置もしくは前記第2の処理装置へ転送するパケット転送処理部と、を備える、ネットワーク中継装置。そのほか、本発明は、以下の形態又は適用例として実現することが可能である。
[適用例1]
同一のアドレスが設定された第1の処理装置および第2の処理装置と、前記第1または第2の処理装置を利用するクライアント装置と、直接的または間接的に接続され、各装置間のパケットを中継するネットワーク中継装置であって、
前記第1の処理装置が属する第1の仮想ネットワークの経路情報を記憶する第1の経路情報記憶部と、
前記第2の処理装置が属する第2の仮想ネットワークの経路情報を記憶する第2の経路情報記憶部と、
前記第1の仮想ネットワークに関する経路情報の広告を受け取り前記第1の経路情報記憶部に格納し、前記第2の仮想ネットワークに関する経路情報の広告を受け取り前記第2の経路情報記憶部に格納する経路情報広告部と、
前記第1の仮想ネットワークの状態および前記第2の仮想ネットワークの状態を検出する状態検出部と、
前記クライアント装置から受信したパケットであって、前記アドレスをあて先とする受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、前記第1の処理装置もしくは前記第2の処理装置へ転送するパケット転送処理部と、
を備える、ネットワーク中継装置。
この構成によれば、ネットワーク中継装置は、予め第1の仮想ネットワークの経路情報と、第2の仮想ネットワークの経路情報とを記憶し、パケット転送処理部は、受信パケットを、第1の仮想ネットワークと、第2の仮想ネットワークの状態(例えば、経路上における障害の有無)に基づいて決定される一方の仮想ネットワークの経路情報を用いて、第1の処理装置もしくは第2の処理装置へ転送する。このため、高い信頼性および可用性を有するネットワークシステムであって、MPLS機能を使用することなく、かつ、予備経路を計算するためのルーティングプロトコルの計算コストが従来とほぼ同等であるネットワークシステムを提供することができる。
[適用例2]
適用例1記載のネットワーク中継装置であって、
前記状態検出部は、
前記第1の仮想ネットワークにおける経路上の障害を検出する第1の状態検出部と、
前記第2の仮想ネットワークにおける経路上の障害を検出する第2の状態検出部と、
を備え、
前記ネットワーク中継装置は、さらに、
前記第1の処理装置と、前記第2の処理装置と、前記クライアント装置とに対してそれぞれ接続されているインタフェースが、前記第1の仮想ネットワークと、前記第2の仮想ネットワークのいずれに所属するのかを定義したVRF(Virtual Routing and Forwarding)定義情報を記憶するVRF定義情報記憶部と、
前記第1の状態検出部もしくは前記第2の状態検出部により検出された障害の有無に基づいて、前記経路情報と前記VRF定義情報との少なくともいずれか一方を更新するフェイルオーバ処理部と、
を備え、
前記パケット転送処理部は、
パケットを受信した際に、前記VRF定義情報に従って前記パケットを受信したインタフェースが所属する仮想ネットワークを判定し、前記パケットを受信したインタフェースが所属する仮想ネットワークに対応した経路情報を用いて経路探索をしてパケットを転送する、ネットワーク中継装置。
この構成によれば、フェイルオーバ処理部は、第1の状態検出部もしくは第2の状態検出部により検出された障害の有無に基づいて、経路情報とVRF定義情報との少なくともいずれか一方を更新する。このため、短時間でのフェイルオーバ処理(予備経路への切り替え)が可能となる。
[適用例3]
適用例2記載のネットワーク中継装置であって、
前記VRF定義情報には、
前記第1の処理装置に接続されているインタフェースと、前記クライアント装置に接続されているインタフェースとが前記第1の仮想ネットワークに所属し、
前記第2の処理装置に接続されているインタフェースが前記第2の仮想ネットワークに所属する、
ことが予め定義され、
前記フェイルオーバ処理部は、前記第1の状態検出部により障害が検出された場合に、前記クライアント装置に接続されているインタフェースを、前記第2の仮想ネットワークに所属させるようにVRF定義情報を更新する、ネットワーク中継装置。
この構成によれば、フェイルオーバ処理部は、第1の状態検出部により、第1の仮想ネットワークにおける経路上の障害が検出された場合に、第1の仮想ネットワークに所属しているクライアント端末を、第2の仮想ネットワークに所属させるようにVRF定義情報を更新する。このため、第1の仮想ネットワークの経路上に障害が発生した場合であっても、VRF定義情報の更新によって、短時間でのフェイルオーバ処理(予備経路への切り替え)が可能となる。
[適用例4]
適用例2または3記載のネットワーク中継装置であって、
前記パケット転送処理部は、
パケットを受信した際に、前記VRF定義情報に基づいて、前記パケットを受信したインタフェースが所属する仮想ネットワークと、前記パケットのあて先である装置が接続されているインタフェースが所属する仮想ネットワークとを比較し、仮想ネットワークが同一である場合は前記パケットを転送し、仮想ネットワークが異なる場合は前記パケットを転送せずに廃棄する、ネットワーク中継装置。
この構成によれば、パケット転送処理部は、パケットの送信元である装置が所属する仮想ネットワークとパケットのあて先である装置が所属する仮想ネットワークとが異なる場合はパケットを転送せずに廃棄するため、異なる仮想ネットワークに属する装置間における通信を抑制することができる。この結果、ネットワークシステムにおける安全性を向上させることができる。
[適用例5]
ネットワークシステムであって、
第1の仮想ネットワークに所属する第1の処理装置と、
第2の仮想ネットワークに所属する第2の処理装置と、
前記第1または第2の処理装置を利用するクライアント装置と、
前記第1の処理装置と、前記第2の処理装置と、前記クライアント装置と、直接的または間接的に接続され、各装置間のパケットを中継するネットワーク中継装置と、
を備え、
前記第1の処理装置と、前記第2の処理装置のアドレスは同一に設定され、
前記ネットワーク中継装置は、
前記第1の仮想ネットワークの経路情報を記憶する第1の経路情報記憶部と、
前記第2の仮想ネットワークの経路情報を記憶する第2の経路情報記憶部と、
前記第1の仮想ネットワークに関する経路情報の広告を受け取り前記第1の経路情報記憶部に格納し、前記第2の仮想ネットワークに関する経路情報の広告を受け取り前記第2の経路情報記憶部に格納する経路情報広告部と、
前記第1の仮想ネットワークの状態および前記第2の仮想ネットワークの状態を検出する状態検出部と、
前記クライアント装置から受信したパケットであって、前記アドレスをあて先とする受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、前記第1の処理装置もしくは前記第2の処理装置へ転送するパケット転送処理部と、
を備える、ネットワークシステム。
この構成によれば、ネットワークシステムにおいて、適用例1と同様の効果を得ることができる。
[適用例6]
同一のアドレスが設定された第1の処理装置および第2の処理装置と、前記第1または第2の処理装置を利用するクライアント装置と、直接的または間接的に接続され、各装置間のパケットを中継するネットワーク中継装置の制御方法であって、
(a)前記第1の処理装置が属する第1の仮想ネットワークの経路情報の広告を受け取るとともに記憶する工程と、
(b)前記第2の処理装置が属する第2の仮想ネットワークの経路情報の広告を受け取るとともに記憶する工程と、
(c)前記第1の仮想ネットワークの状態および前記第2の仮想ネットワークの状態を検出する工程と、
(d)前記クライアント装置から受信したパケットであって、前記アドレスをあて先とする受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、前記第1の処理装置もしくは前記第2の処理装置へ転送する工程と、
を備える、ネットワーク中継装置の制御方法。
この構成によれば、適用例1と同様の効果を得ることができる。
[適用例7]
ネットワークシステムであって、
処理装置と接続された第1のネットワーク中継装置と、
前記処理装置を利用するクライアント装置と接続された第2のネットワーク中継装置と、
を備え、
前記第1のネットワーク中継装置の第1のインタフェースと、前記第2のネットワーク中継装置の第1のインタフェースとは、直接的または他のネットワークを介して間接的に接続されて第1の仮想ネットワークを構成し、
前記第1のネットワーク中継装置の第2のインタフェースと、前記第2のネットワーク中継装置の第2のインタフェースとは、直接的または他のネットワークを介して間接的に接続されて第2の仮想ネットワークを構成し、
前記第1のネットワーク中継装置と、前記第2のネットワーク中継装置は、それぞれ、
前記第1の仮想ネットワークの経路情報を記憶する第1の経路情報記憶部と、
前記第2の仮想ネットワークの経路情報を記憶する第2の経路情報記憶部と、
前記第1の仮想ネットワークに関する経路情報の広告を受け取り前記第1の経路情報記憶部に格納し、前記第2の仮想ネットワークに関する経路情報の広告を受け取り前記第2の経路情報記憶部に格納する経路情報広告部と、
受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、あて先装置へ転送するパケット転送処理部と、
を備える、ネットワークシステム。
この構成によれば、第1のネットワーク中継装置の第1のインタフェースと、第2のネットワーク中継装置の第1のインタフェースとは、直接的または他のネットワークを介して間接的に接続されて第1の仮想ネットワークを構成し、第1のネットワーク中継装置の第2のインタフェースと、第2のネットワーク中継装置の第2のインタフェースとは、直接的または他のネットワークを介して間接的に接続されて第2の仮想ネットワークを構成する。すなわち、処理装置とクライアント装置との間の通信経路を2重化した上で、パケット転送処理部は、第1の仮想ネットワークと、第2の仮想ネットワークの状態(例えば、経路上における障害の有無)に基づいて決定される一方の仮想ネットワークの経路情報を用いて、受信パケットをあて先装置へ転送する。このため、このような構成においても適用例1と同様の効果を得ることができる。
[適用例8]
適用例7記載のネットワークシステムであって、
前記第1のネットワーク中継装置は、さらに、前記処理装置が、前記第1の仮想ネットワークと、前記第2の仮想ネットワークのいずれに所属するのかを定義したVRF定義情報を記憶するVRF定義情報記憶部を備え、
前記第2のネットワーク中継装置は、さらに、前記クライアント装置が、前記第1の仮想ネットワークと、前記第2の仮想ネットワークのいずれに所属するのかを定義したVRF定義情報を記憶するVRF定義情報記憶部を備え、
前記第1のネットワーク中継装置の前記パケット転送処理部と、前記第2のネットワーク中継装置の前記パケット転送処理部は、
パケットを受信した際に、前記VRF定義情報に基づいて、前記パケットを受信したインタフェースが所属する仮想ネットワークと、前記パケットのあて先である装置が接続されているインタフェースが所属する仮想ネットワークとを比較し、仮想ネットワークが同一であるか、異なるかを問わずにパケットを転送する、ネットワークシステム。
この構成によれば、パケット転送処理部は、パケットの送信元である装置が所属する仮想ネットワークとパケットのあて先である装置が所属する仮想ネットワークとが異なる場合であっても受信パケットの転送を行う。このため、通信の上り側と下り側において異なる経路を用いてパケットの転送を行うことが可能となる。この結果、ネットワークシステムにおけるパケット転送の柔軟性を向上させることができる。
なお、本発明は、種々の態様で実現することが可能である。例えば、ネットワーク中継装置、ネットワークシステム、ネットワーク中継方法、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記憶媒体等の形態で実現することができる。
本発明の一実施例としてのネットワークシステムの概略構成を示す説明図である。 2台のサーバのIPアドレス情報の一例を示す説明図である。 ホストのIPアドレス情報の一例を示す説明図である。 2台のルータの設定情報の一例を示す説明図である。 ネットワーク装置の構成情報を規定するコンフィギュレーション情報の一例を示す説明図である。 インタフェースデータベースの一例を示す説明図である。 VRF1ルーティングテーブルとVRF2ルーティングテーブルとが作成される様子を示す説明図である。 インタフェースデータベースが図6で示した状態である場合におけるVRF1ルーティングテーブルの一例を示す説明図である。 インタフェースデータベースが図6で示した状態である場合におけるVRF2ルーティングテーブルの一例を示す説明図である。 直結経路制御部で管理される直結経路情報がOSPFプロトコルにより広告される様子を示す説明図である。 監視対象であるルータとのOSPFネイバ状態に障害が発生する前におけるネットワークシステムの動作を示す説明図である。 ネットワーク装置におけるパケット転送処理の手順を示すフローチャートである。 フェイルオーバ処理の手順を示すフローチャートである。 フェイルオーバ処理時におけるネットワークシステムの動作を示す説明図である。 図13のステップS505において更新された後のインタフェースデータベースを示す説明図である。 監視対象であるルータとのOSPFネイバ状態に障害が発生した後におけるネットワークシステムの動作を示す説明図である。 第2実施例におけるネットワークシステムの概略構成を示す説明図である。 ルータの設定情報の一例を示す説明図である。 ネットワーク装置の構成情報を規定するコンフィギュレーション情報の一例を示す説明図である。 ネットワーク装置のインタフェースデータベースの一例を示す説明図である。 ネットワーク装置のVRF1ルーティングテーブルとVRF2ルーティングテーブルとが作成される様子を示す説明図である。 インタフェースデータベースが図20で示した状態である場合におけるネットワーク装置のVRF1ルーティングテーブルの一例を示す説明図である。 インタフェースデータベースが図20で示した状態である場合におけるネットワーク装置のVRF2ルーティングテーブルの一例を示す説明図である。 第1OSPF処理部と第2OSPF処理部と第3OSPF処理部とが互いの経路情報をOSPFプロトコルにより広告する様子を示す説明図である。 ネットワーク装置の構成情報を規定するコンフィギュレーション情報の一例を示す説明図である。 ネットワーク装置のインタフェースデータベースの一例を示す説明図である。 インタフェースデータベースが図26で示した状態である場合におけるネットワーク装置のVRF1ルーティングテーブルの一例を示す説明図である。 インタフェースデータベースが図26で示した状態である場合におけるネットワーク装置のVRF2ルーティングテーブルの一例を示す説明図である。 ネットワーク装置において監視対象であるネットワーク内のルータとのOSPFネイバ状態に障害が発生する前におけるネットワークシステムの動作を示す説明図である。 第2実施例におけるフェイルオーバ処理の手順を示すフローチャートである。 第2実施例のフェイルオーバ処理時におけるネットワークシステムの動作を示す説明図である。 図30のステップS505において更新された後のネットワーク装置のインタフェースデータベースを示す説明図である。 監視対象であるネットワーク内のルータとのOSPFネイバ状態に障害が発生した後におけるネットワークシステムの動作を示す説明図である。 監視対象であるネットワーク内のルータとのOSPFネイバ状態に障害が発生した後において第1OSPF処理部と第2OSPF処理部と第3OSPF処理部とが互いの経路情報をOSPFプロトコルにより広告する様子を示す説明図である。
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.第1実施例:
(A−1)システム構成:
(A−2)障害検出前の動作:
(A−3)フェイルオーバ処理:
(A−4)障害検出後の動作:
B.第2実施例:
(B−1)システム構成:
(B−2)障害検出前の動作:
(B−3)フェイルオーバ処理:
(B−4)障害検出後の動作:
C.変形例:
A.第1実施例:
(A−1)システム構成:
図1は、本発明の一実施例としてのネットワークシステム10の概略構成を示す説明図である。ネットワークシステム10は、2台のサーバ(運用サーバ201、予備サーバ202)と、3台のレイヤ3のネットワーク中継装置(ネットワーク装置100、ルータ401、ルータ402)と、ホストコンピュータ(ホスト301)とを備えている。
第1の処理装置としての運用サーバ201は、所定のサービス(例えば、WEBサービス等のサービス)をホストコンピュータに対して提供するためのサーバコンピュータである。第2の処理装置としての予備サーバ202は、運用サーバ201がサービスを提供し得る状態の間は、サービスを提供せずに待機する。運用サーバ201がサービスを提供し得ない状態の場合は、運用サーバ201に代わって所定のサービスを提供する。すなわち、運用サーバ201はいわゆる運用系サーバ、予備サーバ202はいわゆる待機系サーバである。なお、以降、処理装置のことを「サーバ」とも呼ぶ。
ネットワーク中継装置としてのネットワーク装置100は、2台のサーバと、ホスト301との間のパケットによる通信を中継するレイヤ3のネットワーク中継装置である。ネットワーク装置100は、運用サーバ201を運用系サーバとし、予備サーバ202を待機系サーバとするようにOSPF(Open Shortest Path First)プロトコルを用いた経路制御を行う。
ネットワーク装置100は、3つのインタフェース(インタフェース131〜133)と、コンフィギュレーションデータベース110と、第1の経路情報記憶部としてのVRF1ルーティングテーブル121と、第2の経路情報記憶部としてのVRF2ルーティングテーブル122と、VRF定義情報記憶部としてのインタフェースデータベース140と、パケット転送処理部150と、直結経路制御部160と、第1OSPF処理部161と、第2OSPF処理部162と、フェイルオーバ処理部170とを備えている。
3つのインタフェース(インタフェース131〜133)は、ネットワーク装置100と、ネットワーク装置100に接続される外部装置との間でパケットを送受信する機能を有する。インタフェース131は、ルータ401と回線を介して接続されている。ルータ401は、運用サーバ201と回線を介して接続されている。ルータ401は、ネットワーク装置100とOSPFプロトコルを用いた経路制御を行う。同様に、インタフェース132はルータ40と回線を介して接続されている。ルータ402は、予備サーバ202と回線を介して接続されている。ルータ402は、ネットワーク装置100とOSPFプロトコルを用いた経路制御を行う。なお、ルータ401と、ルータ402との間では、VRF(Virtual Routing and Forwarding)技術によりネットワークが分離されているため、OSPFプロトコルを用いた経路制御は行われない(詳細は後述)。インタフェース133はホスト301と回線を介して接続されている。
コンフィギュレーションデータベース110は、ネットワーク装置100の構成情報を保持するためのデータベースである。インタフェースデータベース140は、ネットワーク装置100における全てのインタフェースの構成情報を保持するためのデータベースである。パケット転送処理部150は、いずれかのインタフェースからパケットを受信した際に、当該パケットを出力すべきインタフェースを判断し、転送を行う処理部である。
直結経路制御部160は、直結経路(ネットワーク中継装置内のインタフェースと、当該インタフェースに回線のみを介して接続される装置との間の経路)に関する経路情報を取得するとともに、経路情報を管理する機能を有する。経路情報広告部および第1の状態検出部としての第1OSPF処理部161は、第1のOSPFドメインに関するOSPFプロトコル動作(例えば、隣接関係の確立や、LSA(Link-State Advertisement:リンクステート広告)の交換、ルータの障害等に伴うネットワークトポロジの変化の検出、すなわち、ネットワークの状態の検出)を行うとともに、経路情報を管理する機能を有する。経路情報広告部および第2の状態検出部としての第2OSPF処理部162は、第2のOSPFドメインに関するOSPFプロトコル動作を行うとともに、経路情報を管理する機能を有する。フェイルオーバ処理部170は、第1OSPF処理部161や、第2OSPF処理部162からOSPFネイバ障害の通知を受けた際(換言すれば、通信経路上のノードや回線等に障害が発生した旨を示す通知を受けた際)、予備経路へ切り替える処理(以降、「フェイルオーバ処理」とも呼ぶ。)を実行する処理部である。
VRF1ルーティングテーブル121と、VRF2ルーティングテーブル122は、サーバとホストとの間の通信を行うために必要なルーティングテーブルである。このように、本実施例におけるネットワーク装置100は、2つのルーティングテーブル(121、122)を備えている。これら2つのルーティングテーブルは、ネットワーク装置100が具備するVRF技術によって保持される。
VRF技術とは、レイヤ3転送を行うネットワーク中継装置に組み込まれている技術であり、複数のルーティングテーブルを保持し、それら複数のルーティングテーブルが同時に機能することを可能とする技術である。同一の装置内に存在するルーティングテーブルが異なれば、互いに干渉されず、独立した動作が可能となる。すなわち、複数のルーティングテーブルに対して、同一のレイヤ3アドレス(以降、「IPアドレス」とも呼ぶ。)を設定することも可能となる。このように、ルーティングテーブルが異なり、同一のIPアドレスを設定可能であるということは、ネットワークが分離されている(すなわち、異なる仮想ネットワークを構成している)ということになる。
クライアント装置としてのホスト301は、いわゆるパーソナルコンピュータであり、ネットワーク装置100を経由して、運用サーバ201(または予備サーバ202)が提供するサービスを利用する。以降、クライアント装置のことを「ホスト」とも呼ぶ。なお、図1では便宜上、ルータ401、ルータ402の内部構造、および、説明上必要としない他のネットワーク装置、回線、ネットワーク装置100の内部構造については図示を省略している。このことは、後述する図においても同様である。
図2は、2台のサーバのIPアドレス情報の一例を示す説明図である。本実施例における運用サーバ201と、予備サーバ202には、図2に示すIPアドレスと、サブネットマスク長と、デフォルトゲートウェイとがそれぞれ設定される。すなわち、運用サーバ201と、予備サーバ202には、同じIPアドレスが設定される。通常のネットワークシステムにおけるIPアドレスは、ネットワーク内における装置やインタフェースを一意に識別するための識別子であるため、同一の値を設定することはできない。しかし、本実施例では、後述するVRFの設定により運用サーバ201が所属するネットワークと、予備サーバ202が所属するネットワークとが異なるため、同一のIPアドレスを設定することが可能となる。
図3は、ホスト301のIPアドレス情報の一例を示す説明図である。本実施例におけるホスト301には、図3に示すIPアドレスと、サブネットマスク長と、デフォルトゲートウェイとが設定される。
図4は、2台のルータの設定情報の一例を示す説明図である。本実施例におけるルータ401と、ルータ402には、図4に示すIPアドレスと、サブネットマスク長と、OSPFプロトコル動作とがそれぞれ設定される。以下、図4のエントリE1、2について、ルータ401を例として説明する。ルータ402については、ルータ401をルータ402と、運用サーバ201を予備サーバ202として読み替えればよい。
エントリE1のインタフェース番号「1」は、ルータ401において、運用サーバ201と回線を介して接続されるインタフェース(図示省略)を識別するための番号である。OSPFプロトコル動作フィールドの値は、ONの場合はOSPFプロトコルを動作させること、OFFの場合はOSPFプロトコルを動作させないことを示している。すなわち、エントリE1は、ルータ401のインタフェース番号1により識別されるインタフェースは、運用サーバ201と接続するためのOSPFプロトコルを動作させないことを示している。エントリE2のインタフェース番号「2」は、ルータ401において、ネットワーク装置100と回線を介して接続されるインタフェース(図示省略)を識別するための番号である。すなわち、エントリE2は、ルータ401のインタフェース番号2により識別されるインタフェースは、ネットワーク装置100と接続するためのOSPFプロトコルを動作させることを示している。
また、ルータIDは、OSPFプロトコルにおいて、装置を一意に識別するための識別子として付与される番号である。ルータ401、402には、同じルータID「2.2.2.2」が設定される。このように、ルータ401、402には、同じIPアドレスと、同じルータIDとを設定することが可能である。これは、前述したサーバと同様、VRFの設定により所属するネットワークが異なることによる。
図5は、ネットワーク装置100の構成情報を規定するコンフィギュレーション情報の一例を示す説明図である。このコンフィギュレーション情報は、コンフィギュレーションデータベース110に保持される。行C1は、第1のVRFを定義している。行C2は、第2のVRFを定義している。行C3は、インタフェース131を定義している。インタフェースの種類はイーサネット(登録商標)である。なお、後述するインタフェース132、133についても、インタフェースの種類は全てイーサネット(登録商標)である。
行C4は、インタフェース131が、第1のVRFのネットワークに所属することを定義している。行C5は、インタフェース131のIPアドレスと、サブネットマスク長とを定義している。行C6は、インタフェース132を定義している。行C7は、インタフェース132が、第2のVRFのネットワークに所属することを定義している。行C8は、インタフェース132のIPアドレスと、サブネットマスク長とを定義している。
ここで、インタフェース131のIPアドレス(行C5)と、インタフェース132のIPアドレス(行C8)とには、同じ値が定義されている。通常のネットワークシステムにおけるIPアドレスは、ネットワーク内における装置やインタフェースを一意に識別するための識別子であるため、同一の値を設定することができない。しかし、インタフェース131と、インタフェース132とは、異なるVRFに属している(行C4、C7)。これは、インタフェース131が所属するネットワークと、インタフェース132が所属するネットワークとが異なることを意味する。このため、インタフェース131、132には同じIPアドレスを設定することができる。同様に、インタフェース131に接続するネットワークに所属する装置(ルータ401、運用サーバ201)と、インタフェース132に接続するネットワークに所属する装置(ルータ402、予備サーバ202)とに同じIPアドレスやルータIDを設定することができる。
行C9は、インタフェース133を定義している。行C10は、インタフェース133が、第1のVRFに所属することを定義している。行C11は、状態監視ルール50(詳細は後述)により、ルータ401とのOSPFネイバ障害を検出した際に、インタフェース133を第2のVRFのネットワークに所属させるよう切り替えを行うことを定義している。行C12は、インタフェース133のIPアドレスと、サブネットマスク長とを定義している。
行C13は、第1のOSPFドメインを定義している。行C14は、第1のOSPFドメインに属するルータのルータIDを定義している。行C15は、インタフェース131をOSPFのエリア番号「0」で動作させることを定義している。行C16は、インタフェース133のIPアドレスと、インタフェース133に回線を介して接続される装置のIPアドレスとを、第1のOSPFドメインの経路情報として広告することを定義している。行C13〜C16の設定により、第1OSPF処理部161は、ルータ401と共にOSPFプロトコルによる経路制御を行い、運用サーバ201、ルータ401に関する経路情報を構築することができる。
行C17は、第2のOSPFドメインを定義している。行C18は、第2のOSPFドメインに属するルータのルータIDを定義している。行C19は、インタフェース132をOSPFのエリア番号「0」で動作させることを定義している。行C20は、インタフェース133のIPアドレスと、インタフェース133に回線を介して接続される装置のIPアドレスとを、第2のOSPFドメインの経路情報として広告することを定義している。行C17〜C20の設定により、第2OSPF処理部162は、ルータ402と共にOSPFプロトコルによる経路制御を行い、予備サーバ202、ルータ402に関する経路情報を構築することができる。
行C21は、状態監視ルール50により、インタフェース131で動作するOSPFのネイバ情報の切断を監視すること、すなわち、ネットワーク装置100とルータ401との間におけるOSPFネイバの状態監視ルールを定義している。なお、図5では、便宜上、説明上必要としないネットワーク装置の構成情報を規定するコンフィギュレーションについては省略している。このことは、後述する図においても同様である。
図6は、インタフェースデータベース140の一例を示す説明図である。インタフェースデータベース140は、インタフェース番号フィールドと、VRF番号フィールドと、IPアドレスフィールドと、サブネットマスク長フィールドとを含んでいる。インタフェース番号フィールドには、ネットワーク装置100が有するインタフェースの識別子が格納されている。VRF番号フィールドには、インタフェースが属するVRFネットワークの識別子が格納されている。IPアドレスフィールドには、インタフェースのIPアドレスが格納されている。サブネットマスク長フィールドには、サブネットマスク(IPアドレスのうちの何ビットをネットワークアドレスに使用するかを定義する値)が格納されている。
このインタフェースデータベース140は、ネットワーク装置100における構成情報を定義したコンフィギュレーションデータベース110(図5)に基づき保持される。すなわち、インタフェースデータベース140のエントリE1には、図5で説明したコンフィギュレーション情報の行C3〜C5で定義された情報が格納される。同様に、エントリE2には、行C6〜C8で定義された情報が、エントリE3には行C9、C10、C12で定義された情報が、それぞれ格納される。なお、パケット転送処理部150いずれかのインタフェースからパケットを受信した際に、パケットの転送先を決定するために検索するルーティングテーブルを決定するために、このインタフェースデータベース140を用いる。詳細については後述する。
図7は、VRF1ルーティングテーブル121と、VRF2ルーティングテーブル122とが作成される様子を示す説明図である。ステップS101において第1OSPF処理部161は、ルータ401(図示省略)とのOSPFプロトコル動作(パケットの送受信)により、ネットワーク装置100とルータ401との間の経路情報を構築する。ステップS102において第1OSPF処理部161は、構築した経路情報をVRF1ルーティングテーブル121に格納する。これは、第1OSPF処理部161がインタフェース131で動作していることと、インタフェース131が第1のVRFのネットワークに属していることによる(図5:行C3〜C5、行C13〜C15)。
ステップS111において第2OSPF処理部162は、ルータ402(図示省略)とのOSPFプロトコル動作により、ネットワーク装置100とルータ402との間の経路情報を構築する。ステップS112において第2OSPF処理部162は、構築した経路情報をVRF2ルーティングテーブル122に格納する。これは、第2OSPF処理部162がインタフェース132で動作していることと、インタフェース132が第2のVRFのネットワークに属していることによる(図5:行C6〜C8、行C17〜C19)。
ステップS121において直結経路制御部160は、ARP処理等を使用して、インタフェース133に接続される装置(ホスト301)の情報をインタフェース133から読み取り、経路情報を構築する。ステップS122において直結経路制御部160は、第1のVRFに関する直結経路をVRF1ルーティングテーブル121に格納する。具体的には、直結経路制御部160は、インタフェース131のIPアドレスと、インタフェース131に回線を介して接続されている装置のIPアドレスと、インタフェース133のIPアドレスと、インタフェース133に回線を介して接続されている装置(ホスト301)のIPアドレスとをVRF1ルーティングテーブル121に格納する。これは、インタフェース131、133が第1のVRFのネットワークに属していることによる(図5:行C3、C4、C9、C10)。
ステップS123において直結経路制御部160は、第2のVRFに関する直結経路をVRF2ルーティングテーブル122に格納する。具体的には、直結経路制御部160は、インタフェース132のIPアドレスと、インタフェース132に回線を介して接続されている装置のIPアドレスと、インタフェース133のIPアドレスと、インタフェース133に回線を介して接続されている装置のIPアドレスとをVRF2ルーティングテーブル122に格納する。これは、インタフェース132が第2のVRFのネットワークに属していること(図5:行C6、C7)、および、状態監視ルール50により障害を検出した際に第2のVRFへ切り替えを行うこと(図5:行C9、C11)による。
なお、図7においては、インタフェース131と、インタフェース132とに関する直結経路を構築する処理、および、コンフィギュレーションデータベース110から各インタフェースに設定したIPアドレスに関する経路情報を構築する処理については記載を省略している。
図8は、インタフェースデータベース140が図6で示した状態である場合における、VRF1ルーティングテーブル121の一例を示す説明図である。VRF1ルーティングテーブル121は、あて先IPアドレスフィールドと、サブネットマスク長フィールドと、ネクストホップIPアドレスフィールドと、出力インタフェースフィールドとを含んでいる。あて先IPアドレスフィールドには、あて先のIPアドレスが格納されている。サブネットマスク長フィールドには、サブネットマスクが格納されている。ネクストホップIPアドレスフィールドには、ネットワーク装置100が次にパケットを転送すべき装置のIPアドレスが格納されている。出力インタフェースフィールドには、パケット転送処理部150がパケットを出力するインタフェースの識別子が格納されている。
VRF1ルーティングテーブル121には、インタフェースデータベース140のVRF番号フィールドの値が「1」であるインタフェースの情報と、当該インタフェースに回線を介して接続されている装置の情報と、第1OSPF処理部161により構築された第1のVRFの経路情報(図7:ステップS101)とが保持される。すなわち、インタフェース131、133、および、ルータ401、運用サーバ201、ホスト301の情報が保持される。
エントリE1には、第1OSPF処理部161により構築された第1のVRFの経路情報としての、運用サーバ201の情報が保持されている。具体的には、あて先IPアドレスフィールドには、運用サーバ201のIPアドレスが格納されている。なお、運用サーバ201のIPアドレス「10.1.1.1」に対してあて先IPアドレスが「10.1.1.0」とされているのは、24ビット長のサブネットマスクが設定されているためである。サブネットマスク長フィールドには、ネットワークあてであることを示す「24」が格納されている。ネクストホップIPアドレスフィールドには、ネットワーク装置100がパケットを転送すべき装置(すなわち、ルータ401)のIPアドレスが格納されている。これは、ネットワーク装置100と、運用サーバ201とが、他の装置(ルータ401)を介して接続されているためである。従って、例えば、ネットワーク装置100と、運用サーバ201とが回線を介して直接接続されている場合、ネクストホップIPアドレスフィールドには、運用サーバ201のIPアドレスが格納される。出力インタフェースフィールドには、ルータ401に接続されている、ネットワーク装置100のインタフェースの識別子が格納されている。
エントリE2には、ネットワーク装置100のインタフェース131の情報が保持されている。具体的には、あて先IPアドレスフィールドには、インタフェース131のIPアドレスが格納されている。サブネットマスク長フィールドには、装置あてであることを示す「32」が格納されている。ネットワーク装置100が、インタフェース131のIPアドレスをあて先IPアドレスとしたパケットを受信した場合、当該パケットは転送せずに、ネットワーク装置100で処理をする必要がある。そのため、ネクストホップIPアドレスフィールドと、出力インタフェースフィールドには値が格納されていない(図中では「−」で示している)。
エントリE3には、ルータ401の情報が保持されている。具体的には、あて先IPアドレスフィールドには、ルータ401のIPアドレスが格納されている。サブネットマスク長フィールドには、装置あてであることを示す「32」が格納されている。ネクストホップIPアドレスフィールドには、ネットワーク装置100がパケットを転送すべき装置(すなわち、ルータ401)のIPアドレスが格納されている。これは、ネットワーク装置100と、ルータ401とが回線を介して直接接続されているためである。出力インタフェースフィールドには、ルータ401に接続されているインタフェースの識別子が格納されている。
エントリE4には、ホスト301の情報が保持されている。詳細については、上述したルータ401(エントリE3)と同様であるため説明を省略する。エントリE5にはインタフェース133の情報が保持されている。詳細については、上述したインタフェース131(エントリE2)と同様であるため説明を省略する。
図9は、インタフェースデータベース140が図6で示した状態である場合における、VRF2ルーティングテーブル122の一例を示す説明図である。VRF2ルーティングテーブル122は、VRF1ルーティングテーブル121と同様のテーブル構成を有している。VRF2ルーティングテーブル122には、インタフェースデータベース140のVRF番号フィールドの値が「2」であるインタフェースの情報と、当該インタフェースに回線を介して接続されている装置の情報と、第2OSPF処理部162により構築された第2のVRFの経路情報(図7:ステップS111)とが保持される。すなわち、インタフェース132、133、および、ルータ402、予備サーバ202、ホスト301の情報が保持される。
エントリE1には、第2OSPF処理部162により構築された第2のVRFの経路情報としての、予備サーバ202の情報が保持されている。エントリE2には、インタフェース132の情報が格納されている。エントリE3には、ルータ402の情報が保持されている。エントリE4には、ホスト301の情報が保持されている。エントリE5にはインタフェース133の情報が保持されている。エントリE1の詳細については、上述した運用サーバ201(図8:エントリE1)と同様であるため説明を省略する。同様に、エントリE2はインタフェース131(図8:エントリE2)と、エントリE3はルータ401(図8:エントリE3)と、エントリE4はホスト301(図8:エントリE4)と、エントリE5はインタフェース133(図8:エントリE5)と、それぞれ同様であるため説明を省略する。
図10は、直結経路制御部160で管理される直結経路情報がOSPFプロトコルにより広告される様子を示す説明図である。ステップS131において直結経路制御部160は、インタフェース133に関する直結経路の情報を第1OSPF処理部161に送信する。ステップS132において第1OSPF処理部161は、インタフェース133に関する直結経路の情報を、第1のOSPFドメインに経路情報として広告する。この動作は、図5で説明したコンフィギュレーションデータベース110の行C16の定義に基づく。ステップS133において直結経路制御部160は、インタフェース133に関する直結経路の情報を第2OSPF処理部162に送信する。ステップS134において第2OSPF処理部162は、インタフェース133に関する直結経路の情報を、第2のOSPFドメインに経路情報として広告する。この動作は、図5の行C20の定義に基づく。なお、経路情報が広告される様子は、例えばプロトコルアナライザを用いてパケットをキャプチャすることによっても確認することができる。
(A−2)障害検出前の動作:
図11は、監視対象であるルータ401とのOSPFネイバ状態に障害が発生する前におけるネットワークシステム10の動作を示す説明図である。まず、図11に示すように、ホスト301はサービスと提供するサーバ(運用サーバ201もしくは予備サーバ202)にアクセスするため、あて先IPアドレスを10.1.1.1とする要求パケットを送信する。このパケットは、図3で説明した自身のデフォルトゲートウェイで指定されているIPアドレス(すなわち、インタフェース133のIPアドレス)へ送信する。
図12は、ネットワーク装置100におけるパケット転送処理の手順を示すフローチャートである。ネットワーク装置100は、ホスト301から送信されたパケットを、インタフェース133において受信する(ステップS11)。次に、ステップS12において、パケット転送処理部150は、インタフェースデータベース140を検索する。具体的には、パケット転送処理部150は、インタフェースデータベース140のインタフェース番号フィールドの値と、パケットを受信したインタフェースの識別子とが一致するエントリを検索する。そして、パケット転送処理部150は、当該一致したエントリのVRF番号フィールドの値を取得する。図6および図11の例では、パケット転送処理部150は、インタフェースの識別子133に一致するエントリE3のVRF番号フィールドの値「1」を取得する。
ステップS13において、パケット転送処理部150は、VRF番号に対応するルーティングテーブルを検索する。本実施例の場合は、VRF番号が「1」の場合は第1のVRFのルーティングテーブル(VRF1ルーティングテーブル121)を使用する。一方、VRF番号が「2」の場合は、第2のVRFのルーティングテーブル(VRF2ルーティングテーブル122)を使用する。図1の例では、ステップS12において求めたVRF番号は「1」であるため、パケット転送処理部150は、VRF1ルーティングテーブル121を検索することとなる。すなわち、パケット転送処理部150は、パケット送信元の装置が所属するVRFネットワーク(仮想ネットワーク)に対応した経路情報を用いて経路探索をする。
パケット転送処理部150は、VRF1ルーティングテーブル121のあて先IPアドレスフィールドの値と、受信したパケットのヘッダ中に含まれるあて先IPアドレスを示す情報とが一致するエントリを検索する。そして、パケット転送処理部150は、一致したエントリの、ネクストホップIPアドレスフィールドの値と、出力インタフェースフィールドの値を取得する。図8および図11の例では、パケット転送処理部150は、あて先IPアドレス10.1.1.1に一致するエントリE1のネクストホップIPアドレスフィールドの値「10.1.2.254」と、出力インタフェースフィールドの値「131」とを取得する。
ステップS14においてパケット転送処理部150は、パケットの入力インタフェースのVRF番号と、パケットの出力インタフェースのVRF番号が一致するか否かを判定する。図6および図8の例では、パケットの入力インタフェース133のVRF番号は「1」、パケットの出力インタフェース131のVRF番号は「1」であるため、一致すると判定される。VRF番号が一致する場合、ステップS15においてパケット転送処理部150は、ステップS13で求めた出力インタフェースからパケットを出力する。インタフェース131から出力されたパケットは、ルータ401へ送信される。パケットを受信したルータ401は、ルータ401内部に保持されている経路情報(図示省略)に基づいてあて先IPアドレス10.1.1.1に対応する装置(運用サーバ201)に対してパケットを転送する。一方、VRF番号が一致しない場合、ステップS16においてパケット転送処理部150は、パケットを転送しないで廃棄する。
上述のようにして、ホスト301からの要求パケットは運用サーバ201へ転送される。運用サーバ201は、ホスト301から受信したパケットを元にしてサービスを行った後、ホスト301に対して応答パケットを送信する。この応答パケットのあて先IPアドレスは、ホスト301のIPアドレス20.1.1.1である。このパケットは、図2で説明した自身のデフォルトゲートウェイで指定されているIPアドレス(すなわち、ルータ401のIPアドレス)へ送信する。
パケットを受信したルータ401は、OSPFプロトコルにより学習し、ルータ401内部に保持されている経路情報に基づいて、ネットワーク装置100のインタフェース131に対してパケットを転送する。
ネットワーク装置100は、ルータ401から転送された応答パケットを、インタフェース131において受信する。その後、パケット転送処理部150は、当該受信パケットについて、図12で説明したものと同様の処理を行うことによって、該当する出力インタフェースからパケットを出力する。この結果、運用サーバ201からの応答パケットは、ホスト301へ転送される。なお、図11では、ホストからの要求を白抜きの矢印、サーバからの応答を斜線を施した矢印で表している(このことは、後述する同種の図においても同様である。)。このようにして、ホスト301と、運用サーバ201との間で、双方向の通信が行われることにより運用サーバ201によるサービスの提供が実現する。
以上のように、ルータ401とのOSPFネイバ状態に障害が発生する前においては、運用サーバ201が運用系サーバとして機能している。
また、パケット転送処理部150は、パケットの送信元である装置が所属する仮想ネットワークとパケットのあて先である装置が所属する仮想ネットワークとが異なる場合はパケットを転送せずに廃棄するため、異なる仮想ネットワークに属する装置間における通信を抑制することができる。この結果、ネットワークシステムにおける安全性を向上させることができる。
一方、予備サーバ202が接続されているインタフェース132は、図6のVRF番号フィールドの値が「2」であるため、第2のVRFに属している。すなわち、第1のVRFに属するインタフェース131、133に接続されている運用サーバ201と、ホスト301とは、同一のネットワークである第1のVRFに所属している。また、第2のVRFに属するインタフェース132に接続されている予備サーバ202は、第2のVRFに所属している。このため、図6に示したインタフェースデータベース140の状態においてホスト301は、予備サーバ202とは異なるVRFネットワークに所属することとなり、予備サーバ202と通信を行うことはない。すなわち、障害検出前においては、予備サーバ202は待機系サーバとして機能している。
具体的には、例えば、ネットワーク装置100が、予備サーバ202からホスト301へのパケットを受信した場合について考える。ネットワーク装置100は、予備サーバ202から送信されたパケットをインタフェース132において受信する(図12:ステップS11)。パケット転送処理部150は、図5に示したインタフェースデータベース140を検索し、インタフェース132に一致するエントリE2のVRFフィールドの値「2」を取得する(図12:ステップS12)。VRFが2であるため、パケット転送処理部150は、図9に示したVRF2ルーティングテーブル122を検索し、あて先IPアドレス20.1.1.1に一致するエントリE4のネクストホップIPアドレスフィールドの値と、出力インタフェースフィールドの値を取得する(図12:ステップS13)。パケット転送処理部150は、パケットの入力インタフェース132のVRF番号「2」と、パケットの出力インタフェース133のVRF番号「1」が一致しないため、パケットを廃棄し、処理を終了する(図12:ステップS14、16)。
上述の通り、あるサーバを運用系サーバとするためには、サーバが回線や他のネットワーク中継装置を介して接続しているインタフェースのVRF番号と、ホストが回線や他のネットワーク中継装置を介して接続しているインタフェースのVRF番号とを同じにすればよい。一方、あるサーバを待機系サーバとするには、サーバが回線や他のネットワーク中継装置を介して接続しているインタフェースのVRF番号と、ホストが回線や他のネットワーク中継装置を介して接続しているインタフェースのVRF番号と、を異なる番号にすればよい。
(A−3)フェイルオーバ処理:
図13は、フェイルオーバ処理の手順を示すフローチャートである。図14は、フェイルオーバ処理時におけるネットワークシステム10の動作を示す説明図である。なお、図14に示すステップ番号は、図13のステップ番号と対応している。また、以下では、第1OSPF処理部161を例示して説明するが、第2OSPF処理部162についても同様のフェイルオーバ処理が行われる。
ステップS501において第1OSPF処理部161は、ルータ401とのOSPFネイバ状態に障害が発生したことを検出する。例えば、第1OSPF処理部161は、ルータ間で定期的に送信されるHelloパケットを所定の時間だけ受信しなかった場合に、OSPFネイバ状態に障害が発生したと判定する。ステップS502において第1OSPF処理部161は、フェイルオーバ処理部170に対して、障害発生通知としてOSPFネイバ情報(OSPFネイバ状態に障害が発生したルータに関する情報)を送信する。
ステップS503においてフェイルオーバ処理部170は、ステップS502で通知されたOSPFネイバ情報に対応する状態監視ルールを、コンフィギュレーションデータベース110から検索する。具体的には、フェイルオーバ処理部170は、OSPFネイバ情報から導かれるルータのIPアドレスと、当該ルータが接続されているインタフェースの番号をもとにして、コンフィギュレーションデータベース110に定義された状態監視ルールを検索する。図5の例では、フェイルオーバ処理部170は、ルータ401のIPアドレスと、インタフェース131とをもとに、行C21に定義されている状態監視ルールの識別番号「50」を検索する。
ステップS504においてフェイルオーバ処理部170は、当該状態監視ルールを使用しているインタフェースを検索する。具体的には、フェイルオーバ処理部170は、ステップS503で検索された状態監視ルールの識別番号をもとにして、コンフィギュレーションデータベース110から、当該状態監視ルールを使用しているインタフェースの識別番号、および、状態監視ルールの内容を検索する。図5の例では、フェイルオーバ処理部170は、状態監視ルールの識別番号「50」をもとに、行C11に定義されているインタフェース133と、状態監視ルール50の内容(ルータ401とのOSPFネイバ障害を検出した際に、インタフェース133を第2のVRFのネットワークに所属させるよう切り替えを行うこと)を検索する。ステップS505においてフェイルオーバ処理部170は、ステップS504で検索された状態監視ルールの内容に基づいて、インタフェースデータベース140(および、コンフィギュレーションデータベース110)のVRF番号を更新する。
図15は、図13のステップS505において更新された後のインタフェースデータベース140を示す説明図である。障害検出前のインタフェースデータベース140を示す図6との違いは、インタフェース番号フィールドの値が「133」のエントリ(エントリE3)のVRF番号フィールドの値が「2」となっている点である。
(A−4)障害検出後の動作:
図16は、監視対象であるルータ401とのOSPFネイバ状態に障害が発生した後におけるネットワークシステム10の動作を示す説明図である。図16に示すように、ホスト301は、サービスを提供するサーバ(運用サーバ201もしくは予備サーバ202)にアクセスするため、あて先IPアドレスを10.1.1.1とする要求パケットを送信する。このパケットは、図3で説明した自身のデフォルトゲートウェイで指定されているIPアドレス(すなわち、インタフェース133のIPアドレス)へ送信する。
ネットワーク装置100は、ホスト301から送信されたパケットをインタフェース133において受信する(図12:ステップS11)。次に、パケット転送処理部150は、図15に示したインタフェースデータベース140を検索し、インタフェース133に一致するエントリE3のVRFフィールドの値「2」を取得する(図12:ステップS12)。VRFが2であるため、パケット転送処理部150は、図9に示したVRF2ルーティングテーブル122を検索する(図12:ステップS13)。パケット転送処理部150は、パケットの入力インタフェース133のVRF番号「2」と、パケットの出力インタフェース132のVRF番号「2」が一致するため、ステップS13で求めた出力インタフェース132からパケットを出力する。インタフェース132から出力されたパケットは、ルータ402へ送信される。パケットを受信したルータ402は、ルータ402内部に保持されている経路情報(図示省略)に基づいて、あて先IPアドレス10.1.1.1に対応する装置(予備サーバ202)に対してパケットを転送する。
上述のようにして、ホスト301からの要求パケットは、予備サーバ202へ転送される。予備サーバ202は、ホスト301から受信したパケットをもとにしてサービスを行った後、ホスト301に対して応答パケットを送信する。この応答パケットのあて先IPアドレスは、ホスト301のIPアドレス20.1.1.1である。このパケットは、図2で説明した自身のデフォルトゲートウェイで指定されているIPアドレス(すなわち、インタフェース132のIPアドレス)へ送信する。
ネットワーク装置100は、予備サーバ202から送信されたパケットを、インタフェース132において受信する。その後、パケット転送処理部150は、当該受信パケットについて、図12で説明したものと同様の処理を行うことによって、該当する出力インタフェースからパケットを出力する。この結果、予備サーバ202からの応答パケットは、ホスト301へ転送される。
以上のように、ルータ401とのOSPFネイバ状態に障害が発生した後においては、予備サーバ202が運用系サーバとして機能することがわかる。
このようにすれば、ネットワーク装置100は、予め第1の仮想ネットワークの経路情報であるVRF1ルーティングテーブル121と、第2の仮想ネットワークの経路情報であるVRF2ルーティングテーブル122とを、記憶部に準備することができる。事前に計算する予備経路は、2つのOSPFドメイン(第1のOSPFドメイン、第2のOSPFドメイン)に関するものだけでよいため、予備経路を準備するための計算コストは従来のルーティングプロトコルとほぼ同等とすることができる。また、予備経路を事前に求めるためには、VRFに対応したインタフェースがあればよく、IP−FRRで必要な条件が不要となるため、ネットワークを柔軟に設計することができる。
パケット転送処理部150は、受信パケットを、第1の仮想ネットワークと、第2の仮想ネットワークのうち、経路上で障害が発生していない一方の仮想ネットワークの経路情報を用いて、第1の処理装置(運用サーバ201)もしくは第2の処理装置(予備サーバ202)へ転送する。また、フェイルオーバ処理部170は、第1の状態検出部(第1OSPF処理部161)により第1の仮想ネットワークにおける経路上の障害が検出された場合に、第1の仮想ネットワークに所属しているクライアント端末(ホスト301)を、第2の仮想ネットワークに所属させるようにVRF定義情報を更新する(第2の仮想ネットワークにおける経路上の障害が検出された場合も同様である)。このため、仮想ネットワークの経路上に障害が発生した場合であっても、VRF定義情報の更新によって、短時間でのフェイルオーバ処理(予備経路への切り替え)が可能となる。上記フェイルオーバ処理の実現には、MPLS機能を必要としないため、ネットワークシステム構築と運用のコストを低減することが可能となる。
これらの結果、高い信頼性および可用性を有するネットワークシステムであって、MPLS機能を使用することなく、かつ、予備経路を計算するためのルーティングプロトコルの計算コストが従来とほぼ同等であるネットワークシステムを提供することができる。
B.第2実施例:
本発明の第2実施例では、処理装置(サーバ)が2重化の構成を採らず、処理装置までの通信経路を2重化する構成について説明する。以下では、第1実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第1実施例と同様の構成部分については先に説明した第1実施例と同様の符号を付し、その詳細な説明を省略する。
(B−1)システム構成:
図17は、第2実施例におけるネットワークシステム10aの概略構成を示す説明図である。図1で示した第1実施例との違いは、予備サーバ202を備えない点、ネットワーク装置100の代わりに2台のネットワーク装置101、102を備える点、およびネットワーク構成であり、他の構成については、第1実施例と同様である。
ネットワーク中継装置としてのネットワーク装置101、102は、運用サーバ201と、ホスト301との間のパケットによる通信を中継するレイヤ3のネットワーク中継装置である。
第2のネットワーク中継装置としてのネットワーク装置101は、3つのインタフェース(インタフェース131〜133)と、第3OSPF処理部163とを備えている。3つのインタフェース(インタフェース131〜133)は、ネットワーク装置101と、ネットワーク装置101に接続される外部装置との間でパケットを送受信する機能を有する。インタフェース131は、ネットワーク1001を構成する1台以上のルータと回線を介して接続されている。インタフェース132は、ネットワーク1002を構成する1台以上のルータと回線を介して接続されている。インタフェース133は、ルータ401と回線を介して接続されている。ルータ401は、ホスト301と回線を介して接続されている。ネットワーク装置101は、ネットワーク1001を構成するルータと、ネットワーク1002を構成するルータと、ルータ401と、ネットワーク装置102との間において、OSPFプロトコルを用いた経路制御を行う。第3OSPF処理部163は、第3のOSPFドメインに関するOSPFプロトコル動作を行うとともに、経路情報を管理する機能を有する。
第1のネットワーク中継装置としてのネットワーク装置102は、3つのインタフェース(インタフェース134〜136)を備えている。3つのインタフェース(インタフェース134〜136)は、ネットワーク装置102と、ネットワーク装置102に接続される外部装置との間でパケットを送受信する機能を有する。インタフェース134は、ネットワーク1001を構成する1台以上のルータと回線を介して接続されている。インタフェース135は、ネットワーク1002を構成する1台以上のルータと回線を介して接続されている。インタフェース136は、運用サーバ201と回線を介して接続されている。ネットワーク装置102は、ネットワーク1001を構成するルータと、ネットワーク1002を構成するルータと、ネットワーク装置101との間において、OSPFプロトコルを用いた経路制御を行う。
ネットワーク1001、1002は、運用サーバ201と、ホスト301との間の通信を中継するネットワークであり、それぞれ1台以上のルータ(図示省略)から構成されている。ネットワーク1001を構成する1台以上のルータは、ネットワーク装置101と、ネットワーク装置102と、ネットワーク1001を構成する他のルータとの間において、OSPFプロトコルを用いた経路制御を行う。ネットワーク1002を構成する1台以上のルータは、ネットワーク装置101と、ネットワーク装置102と、ネットワーク1002を構成する他のルータとの間において、OSPFプロトコルを用いた経路制御を行う。なお、ネットワーク1001を構成するルータと、ネットワーク1002を構成するルータとの間では、VRF技術によりネットワークが分離されているため、OSPFプロトコルを用いた経路制御は行われない。
すなわち、ネットワーク装置101の第1のインタフェース(インタフェース131)とネットワーク装置102の第1のインタフェース(インタフェース134)とは他のネットワーク(ネットワーク1001)を介して間接的に接続されている。また、ネットワーク装置101の第2のインタフェース(インタフェース132)とネットワーク装置102の第2のインタフェース(インタフェース135)とは他のネットワーク(ネットワーク1002)を介して間接的に接続されている。なお、ネットワーク1001、ネットワーク1002は省略してもよい。
図18は、ルータ401の設定情報の一例を示す説明図である。本実施例におけるルータ401には、図18に示すIPアドレスと、サブネットマスク長と、OSPFプロトコル動作とがそれぞれ設定される。エントリE21のインタフェース番号「1」は、ルータ401において、ホスト301と回線を介して接続されるインタフェース(図示省略)を識別するための番号である。すなわち、エントリE21は、ルータ401のインタフェース番号1により識別されるインタフェースは、ホスト301と接続するためのOSPFプロトコルを動作させないことを示している。エントリE22のインタフェース番号「2」は、ルータ401において、ネットワーク装置101と回線を介して接続されるインタフェース(図示省略)を識別するための番号である。すなわち、エントリE22は、ルータ401のインタフェース番号2により識別されるインタフェースは、ネットワーク装置101と接続するためのOSPFプロトコルを動作させることを示している。また、ルータ401には、ルータIDとして「2.2.2.2」が設定されている。
図19は、ネットワーク装置101の構成情報を規定するコンフィギュレーション情報の一例を示す説明図である。このコンフィギュレーション情報は、ネットワーク装置101のコンフィギュレーションデータベース110に保持される。図5に示した第1実施例との違いは、行C11、C16、C20が削除されている点と、行C201〜C208が追加されている点であり、他の構成については第1実施例と同様である。
行C201は、次のa)、b)のことを定義している。
a)状態監視ルール50により、ネットワーク1001内のルータとのOSPFネイバ障害を検出した際に、インタフェース133を第2のVRFのネットワークに所属させるよう切り替えを行うこと。
b)パケットの入力インタフェースが所属するVRFネットワークと、パケットの出力インタフェースが所属するVRFネットワークとが異なる場合であっても、パケットを(廃棄せず)転送すること。
行C202は、次のc)、d)のことを定義している。
c)第3のOSPFドメインの経路情報を、第1のOSPFドメインの経路情報として広告すること。
d)第3のOSPFドメインの経路情報と、第1のOSPFドメインの経路情報とが、異なるVRFネットワークに関するものである場合でも、経路情報の広告を行うこと。
行C13〜15、C202の設定により、第1OSPF処理部161は、ネットワーク1001内のルータおよびネットワーク装置102と共に、OSPFプロトコルにより経路制御を行い、経路情報を構築することができる。
行C203は、次のe)、f)のことを定義している。
e)第3のOSPFドメインの経路情報を、第2のOSPFドメインの経路情報として広告すること。
f)第3のOSPFドメインの経路情報と、第2のOSPFドメインの経路情報とが、異なるVRFネットワークに関するものである場合でも、経路情報の広告を行うこと。
行C17〜19、C203の設定により、第2OSPF処理部162は、ネットワーク1002内のルータおよびネットワーク装置101と共に、OSPFプロトコルにより経路制御を行い、経路情報を構築することができる。
行C204は、第3のOSPFドメインを定義している。行C205は、第3のOSPFドメインに属するルータのルータIDを定義している。行C206は、インタフェース133をOSPFのエリア番号「0」で動作させることを定義している。行C207は、次のg)、h)のことを定義している。
g)第1のOSPFドメインの経路情報を、第3のOSPFドメインの経路情報として広告すること。
h)第1のOSPFドメインの経路情報と、第3のOSPFドメインの経路情報とが、同じVRFネットワークに関するものである場合にのみ、経路情報の広告を行うこと。
行C208は、第2のOSPFドメインの経路情報と、第3のOSPFドメインの経路情報とに関して、行C207で説明したものと同様のことを定義している。行C204〜C208の設定により、第3OSPF処理部163は、ルータ401と共にOSPFプロトコルにより経路制御を行い、経路情報を構築することができる。なお、図19の行C21は、インタフェース131で動作するOSPFのネイバ情報の切断を監視すること、すなわち、ネットワーク装置101とネットワーク1001内のルータとの間におけるOSPFネイバの状態監視ルールを定義している。
図20は、ネットワーク装置101のインタフェースデータベース140の一例を示す説明図である。図6に示した第1実施例との違いは、インタフェースデータベース140に格納されているエントリE3の内容(インタフェース133のIPアドレス)のみである。
図21は、ネットワーク装置101のVRF1ルーティングテーブル121と、VRF2ルーティングテーブル122とが作成される様子を示す説明図である。なお、以下ではネットワーク装置101のVRFルーティングテーブルが作成される様子について説明するが、ネットワーク装置102についても同様に、ルーティングテーブルの作成が行われる。
ステップS601において第1OSPF処理部161は、ネットワーク1001内の第1のOSPFドメインに属するルータ(図示省略)とのOSPFプロトコル動作により、ネットワーク装置101とネットワーク1001内のルータとの間の経路情報を構築する。ステップS602において第1OSPF処理部161は、構築した経路情報をVRF1ルーティングテーブル121に格納する(図19:行C3〜C5、行C13〜C15)。
ステップS611において第2OSPF処理部162は、ネットワーク1002内の第2のOSPFドメインに属するルータ(図示省略)とのOSPFプロトコル動作により、ネットワーク装置101とネットワーク1002内のルータとの間の経路情報を構築する。ステップS612において第2OSPF処理部162は、構築した経路情報をVRF2ルーティングテーブル122に格納する(図19:行C6〜C8、行C17〜C19)。
ステップS621において第3OSPF処理部163は、ルータ401(図示省略)とのOSPFプロトコル動作により、ネットワーク装置101とルータ401との間の経路情報を構築する。ステップS622において第3OSPF処理部163は、構築した経路情報をVRF1ルーティングテーブル121に格納する。これは、インタフェース131、133が第1のVRFのネットワークに属していることによる(図19:行C3、C4、C9、C10)。ステップS623において第3OSPF処理部163は、構築した経路情報をVRF2ルーティングテーブル122に格納する。これは、インタフェース132が第2のVRFのネットワークに属していること(図19:行C6、C7)、および、状態監視ルール50により障害を検出した際に第2のVRFへ切り替えを行うこと(図19:行C9、C201)による。
図22は、インタフェースデータベース140が図20で示した状態である場合における、ネットワーク装置101のVRF1ルーティングテーブル121の一例を示す説明図である。図8に示した第1実施例との違いは、VRF1ルーティングテーブル121に格納されているエントリの内容のみである。
VRF1ルーティングテーブル121には、インタフェースデータベース140のVRF番号フィールドの値が「1」であるインタフェースの情報と、当該インタフェースに回線を介して接続されている装置の情報と、第1OSPF処理部161により構築された第1のVRFの経路情報(図21:ステップS601)と、第3OSPF処理部163により構築された第1のVRFの経路情報(図21:ステップS621)とが保持される。すなわち、インタフェース131、133、および、ネットワーク1001内の第1のOSPFドメインに属するルータや外部装置等、運用サーバ201、ルータ401、ホスト301の情報が保持される。
エントリE21には、第1OSPF処理部161により構築された第1のVRFの経路情報としての、運用サーバ201の情報が保持されている。詳細は、図8のエントリE1と同様である(ただし、ネットワーク装置100をネットワーク装置101と、ルータ401をネットワーク1001内のルータと読み替える)。エントリE22には、ネットワーク装置101のインタフェース131の情報が保持されている。詳細は、図8のエントリE2と同様である。エントリE23には、ネットワーク1001内のルータの情報が保持されている。詳細は、図8のエントリE3と同様である(ただし、ネットワーク装置100をネットワーク装置101と、ルータ401をネットワーク1001内のルータと読み替える)。エントリE24には、ネットワーク装置101のインタフェース133の情報が格納されている。詳細は、図8のエントリE5と同様である。エントリE25には、ルータ401の情報が保持されている。詳細は、図8のエントリE3と同様である(ただし、ネットワーク装置100をネットワーク装置101と読み替える)。
エントリE26には、第1OSPF処理部161により構築された第1のVRFの経路情報としての、外部装置の情報が保持されている。具体的には、あて先IPアドレスフィールドには、外部装置のIPアドレスが格納されている。サブネットマスク長フィールドには、ネットワークあてであることを示す「24」が格納されている。ネクストホップIPアドレスフィールドには、ネットワーク装置101がパケットを転送すべき装置(すなわち、ネットワーク1001内のルータ)のIPアドレスが格納されている。出力インタフェースフィールドには、ネットワーク1001内のルータに接続されている、ネットワーク装置101のインタフェースの識別子が格納されている。
エントリE27には、第3OSPF処理部163により構築された第1のVRFの経路情報としての、ホスト301の情報が保持されている。具体的には、あて先IPアドレスフィールドには、ホスト301のIPアドレスが格納されている。サブネットマスク長フィールドには、ネットワークあてであることを示す「24」が格納されている。ネクストホップIPアドレスフィールドには、ネットワーク装置101がパケットを転送すべき装置(すなわち、ルータ401)のIPアドレスが格納されている。出力インタフェースフィールドには、ルータ401に接続されている、ネットワーク装置101のインタフェースの識別子が格納されている。
エントリE28には、第1OSPF処理部161により構築された第1のVRFの経路情報としての、ネットワーク1001内のサブネットワーク(図示省略)の情報が保持されている。具体的には、あて先IPアドレスフィールドには、ネットワーク1001内のサブネットワークを示すIPアドレスが格納されている。サブネットマスク長フィールドには、ネットワークあてであることを示す「24」が格納されている。ネクストホップIPアドレスフィールドには、ネットワーク装置101がパケットを転送すべき装置(すなわち、ネットワーク1001内のルータ)のIPアドレスが格納されている。出力インタフェースフィールドには、ネットワーク1001内のルータに接続されている、ネットワーク装置101のインタフェースの識別子が格納されている。
なお、エントリE21の経路情報と、エントリE26の経路情報と、エントリE28の経路情報とは、第3OSPF処理部163によって第3のOSPFドメインの経路情報として広告される(図19:行C207)。また、エントリE27の経路情報は、第1OSPF処理部161によって第1のOSPFドメインの経路情報として広告される(図19:行C202)。詳細は後述する。
図23は、インタフェースデータベース140が図20で示した状態である場合における、ネットワーク装置101のVRF2ルーティングテーブル122の一例を示す説明図である。図9に示した第1実施例との違いは、VRF2ルーティングテーブル122に格納されているエントリの内容のみである。
VRF2ルーティングテーブル122には、インタフェースデータベース140のVRF番号フィールドの値が「2」であるインタフェースの情報と、当該インタフェースに回線を介して接続されている装置の情報と、第2OSPF処理部162により構築された第2のVRFの経路情報(図21:ステップS611)と、第3OSPF処理部163により構築された第1のVRFの経路情報(図21:ステップS621)とが保持される。すなわち、インタフェース132、133、および、ネットワーク1002内の第2のOSPFドメインに属するルータや外部装置等、運用サーバ201、ルータ401、ホスト301の情報が保持される。
エントリE21には、第2OSPF処理部162により構築された第2のVRFの経路情報としての、運用サーバ201の情報が保持されている。エントリE22は、ネットワーク装置101のインタフェース132の情報が保持されている。エントリE23には、ネットワーク1002内のルータの情報が保持されている。エントリE24には、ネットワーク装置101のインタフェース133の情報が格納されている。エントリE25には、ルータ401の情報が保持されている。エントリE26には、第2OSPF処理部162より構築された第2のVRFの経路情報としての、外部装置の情報が保持されている。エントリE27には、第3OSPF処理部163により構築された第1のVRFの経路情報としての、ホスト301の情報が保持されている。エントリE28には、第2OSPF処理部162により構築された第2のVRFの経路情報としての、ネットワーク1002内のサブネットワーク(図示省略)の情報が保持されている。エントリE29には、第2OSPF処理部162により構築された第2のVRFの経路情報としての、ネットワーク1002内のサブネットワーク(図示省略)の情報が保持されている。
エントリE1の詳細については、上述した運用サーバ201(図2:エントリE21)と同様であるため説明を省略する。同様に、エントリE22はインタフェース131(図2:エントリE22)と、エントリE23はネットワーク1001内のルータ(図2:エントリE23)と、エントリE24はインタフェース133(図2:エントリE24)と、エントリE25はルータ401(図2:エントリE25)と、エントリE26は第1OSPF処理部161により構築された第1のVRFの経路情報としての外部装置(図2:エントリE26)と、エントリE27はホスト301(図2:エントリE27)と、エントリE28はネットワーク1001内のサブネットワーク(図2:エントリE28)と、エントリE29はネットワーク1001内のサブネットワーク(図2:エントリE28)と、それぞれ同様であるため説明を省略する。
なお、エントリE21の経路情報と、エントリE26の経路情報と、エントリE28の経路情報と、エントリE29の経路情報とは、第3OSPF処理部163によって第3のOSPFドメインの経路情報として広告されない(図19:行C208)。これは、インタフェースのVRF番号が異なっているためである。また、エントリE27の経路情報は、第1OSPF処理部161によって第1のOSPFドメインの経路情報として広告される(図19:行C203)。詳細は後述する。
図24は、第1OSPF処理部161と、第2OSPF処理部162と、第3OSPF処理部163とが、互いの経路情報をOSPFプロトコルにより広告する様子を示す説明図である。なお、以下ではネットワーク装置101のOSPF処理部が、経路情報を広告する様子について説明するが、ネットワーク装置102の各OSPF処理部でも同様の経路情報広告処理が行われる。
ステップS630において第3OSPF処理部163は、第3のOSPFドメインの経路情報(ホスト301に関する経路情報)を、第1OSPF処理部161に送信する。ステップS631において第1OSPF処理部161は、受信した経路情報を、第1のOSPFドメインの経路情報として広告する。この動作は、図19で説明したコンフィギュレーションデータベース110の行C202の定義に基づく。なお、第3のOSPFドメインの経路情報と、第1のOSPFドメインの経路情報とは、インタフェース133と、インタフェース131とが第1のVRFのネットワークに所属することから、同一のVRFネットワークに関するものである。
ステップS632において第3OSPF処理部163は、第3のOSPFドメインの経路情報(ホスト301に関する経路情報)を、第2OSPF処理部162に送信する。ステップS633において第2OSPF処理部162は、受信した経路情報を、第2のOSPFドメインの経路情報として広告する。この動作は、図19で説明したコンフィギュレーションデータベース110の行C203の定義に基づく。なお、第3のOSPFドメインの経路情報と、第2のOSPFドメインの経路情報とは、インタフェース133が第1のVRFのネットワークに所属し、インタフェース132が第2のVRFのネットワークに所属すること、すなわち、異なるVRFのネットワークに所属することから、異なるVRFネットワークに関するものである。しかし、コンフィギュレーションデータベース110の行C203には、OSPFドメインの経路情報が異なるVRFネットワークに関するものであっても広告をする旨が定義されているため、広告が行われる。
ステップS634において第1OSPF処理部161は、第1のOSPFドメインの経路情報(ネットワーク1001内の第1のOSPFドメインに属する外部装置やサブネットワーク、運用サーバ201に関する経路情報)を、第3OSPF処理部163に送信する。ステップS635において第3OSPF処理部163は、受信した経路情報を、第3のOSPFドメインの経路情報として広告する。この動作は、図19で説明したコンフィギュレーションデータベース110の行C207の定義に基づく。すなわち、第3のOSPFドメインの経路情報と、第1のOSPFドメインの経路情報とは、インタフェース133と、インタフェース131とが第1のVRFのネットワークに所属することから、同一のVRFネットワークに関するものであるため、経路情報の広告が行われる(vrf-check)。
一方、第3のOSPFドメインの経路情報と、第2のOSPFドメインの経路情報とは、インタフェース133が第1のVRFのネットワークに所属し、インタフェース132が第2のVRFのネットワークに所属することから、異なるVRFネットワークに関するものである。このため、第2OSPF処理部162は、第2のOSPFドメインの経路情報(ネットワーク1002内の第2のOSPFドメインに属する外部装置やサブネットワーク、運用サーバ201に関する経路情報)を第3OSPF処理部163に送信しない。
図25は、ネットワーク装置102の構成情報を規定するコンフィギュレーション情報の一例を示す説明図である。このコンフィギュレーション情報は、ネットワーク装置102のコンフィギュレーションデータベース110に保持される。図5に示した第1実施例との違いは、行C3〜C12、C14、C15、C18、C19、C21が削除されている点と、行C201〜C215が追加されている点であり、他の構成については第1実施例と同様である。
行C201は、インタフェース134を定義している。インタフェースの種類は、第1実施例と同様にイーサネット(登録商標)である。なお、後述するインタフェース135、136についても、インタフェースの種類は全てイーサネット(登録商標)である。行C202は、インタフェース134が、第1のVRFのネットワークに所属することを定義している。行C203は、インタフェース134のIPアドレスと、サブネットマスク長とを定義している。行C204は、インタフェース135を定義している。行C205は、インタフェース135が、第2のVRFのネットワークに所属することを定義している。行C206は、インタフェース13のIPアドレスと、サブネットマスク長とを定義している。なお、インタフェース134とインタフェース135とに同じIPアドレスが付与されているのは、第1実施例と同様の理由による。
行C207は、インタフェース136を定義している。行C208は、次のi)、j)のことを定義している。
i)状態監視ルール60により、ルータ401とのOSPFネイバ障害を検出した際に、インタフェース136を第のVRFのネットワークに所属させるよう切り替えを行うこと。
j)パケットの入力インタフェースが所属するVRFネットワークと、パケットの出力インタフェースが所属するVRFネットワークとが異なる場合であっても、パケットを(廃棄せず)転送すること。
行C209は、インタフェース136が第2のVRFのネットワークに所属することを定義している。行C210は、インタフェース136のIPアドレスと、サブネットマスク長とを定義している。
行C211は、第1のOSPFドメインに属するルータのルータIDを定義している。行C212は、インタフェース134をOSPFのエリア番号「0」で動作させることを定義している。行C213は、第2のOSPFドメインに属するルータのルータIDを定義している。行C214は、インタフェース135をOSPFのエリア番号「0」で動作させることを定義している。行C215は、状態監視ルール60により、インタフェース135で動作するOSPFのネイバ情報の切断を監視すること、すなわち、ネットワーク装置102とネットワーク1002内のルータとの間におけるOSPFネイバの状態監視ルールを定義している。
図26は、ネットワーク装置102のインタフェースデータベース140の一例を示す説明図である。図6に示した第1実施例との違いは、インタフェースデータベース140に格納されているエントリの内容のみである。
図27は、インタフェースデータベース140が図26で示した状態である場合における、ネットワーク装置102のVRF1ルーティングテーブル121の一例を示す説明図である。図8に示した第1実施例との違いは、VRF1ルーティングテーブル121に格納されているエントリの内容のみである。また、図22で説明したネットワーク装置101のVRF1ルーティングテーブル121ともほぼ同様である。
図28は、インタフェースデータベース140が図26で示した状態である場合における、ネットワーク装置102のVRF2ルーティングテーブル122の一例を示す説明図である。図9に示した第1実施例との違いは、VRF2ルーティングテーブル122に格納されているエントリの内容のみである。また、図23で説明したネットワーク装置101のVRF2ルーティングテーブル122ともほぼ同様である。
(B−2)障害検出前の動作:
図29は、ネットワーク装置101において、監視対象であるネットワーク1001内のルータとのOSPFネイバ状態に障害が発生する前におけるネットワークシステム10aの動作を示す説明図である。まず、ホスト301は運用サーバ201にアクセスするため、あて先IPアドレスを10.1.1.1とする要求パケットを送信する。このパケットは、自身のデフォルトゲートウェイで指定されているルータ401へ送信される。パケットを受信したルータ401は、OSPFプロトコルにより学習し、ルータ401内部に保持されている経路情報に基づいて、ネットワーク装置101のインタフェース133に対してパケットを転送する。
インタフェース133からパケットを受信したネットワーク装置101は、図12に示したパケット転送処理に従ってパケットの出力先を決定する。具体的には、パケット転送処理部150は、ネットワーク装置101のインタフェースデータベース140のインタフェース(図20)の識別子133に一致するエントリE23のVRF番号フィールドの値「1」を取得する(図12:ステップS12)。次に、パケット転送処理部150は、VRF番号に対応するルーティングテーブル(VRF1ルーティングテーブル121)を検索し、一致したエントリの、ネクストホップIPアドレスフィールドの値と、出力インタフェースフィールドの値を取得する(図12:ステップS13)。図22および図29の例では、パケット転送処理部150は、あて先IPアドレス10.1.1.1に一致するエントリE1のネクストホップIPアドレスフィールドの値「10.1.2.254」と、出力インタフェースフィールドの値「131」とを取得する。なお、パケット転送処理部150は、図19の行C201の定義により、パケットが入力されたインタフェースと、パケットが出力されるインタフェースとが異なるVRFネットワークに所属する場合であってもパケットを転送するため、図12のステップS14は省略する。
パケットを受信したネットワーク1001内のルータは、OSPFプロトコルにより学習し、ルータ内部に保持されている経路情報に基づいて、ネットワーク装置102のインタフェース134に対してパケットを転送する。
インタフェース134からパケットを受信したネットワーク装置102は、図12に示したパケット転送処理に従ってパケットの出力先を決定する。具体的には、パケット転送処理部150は、ネットワーク装置102のインタフェースデータベース140(図26)の識別子134に一致するエントリE21のVRF番号フィールドの値「1」を取得する(図12:ステップS12)。次に、パケット転送処理部150は、VRF番号に対応するルーティングテーブル(VRF1ルーティングテーブル121)を検索し、一致したエントリの、ネクストホップIPアドレスフィールドの値と、出力インタフェースフィールドの値を取得する(図12:ステップS13)。図27および図29の例では、パケット転送処理部150は、あて先IPアドレス10.1.1.1に一致するエントリE1のネクストホップIPアドレスフィールドの値「10.1.1.1」と、出力インタフェースフィールドの値「136」とを取得する。なお、パケット転送処理部150は、図25の行C208の定義により、パケットが入力されたインタフェースと、パケットが出力されるインタフェースとが異なるVRFネットワークに所属する場合であってもパケットを転送するため、図12のステップS14は省略する。ネットワーク装置102のインタフェース136から送信されたパケットは、運用サーバ201へと転送される。
上述のようにして、ホスト301からの要求パケットは運用サーバ201へ転送される。運用サーバ201は、ホスト301から受信したパケットを元にしてサービスを行った後、ホスト301に対して応答パケットを送信する。この応答パケットのあて先IPアドレスは、ホスト301のIPアドレス20.1.1.1である。このパケットは、自身のデフォルトゲートウェイで指定されているネットワーク装置102のインタフェース136へ送信される。
インタフェース136からパケットを受信したネットワーク装置102は、図12に示したパケット転送処理に従ってパケットの出力先を決定する。具体的には、パケット転送処理部150は、ネットワーク装置102のインタフェースデータベース140(図26)の識別子136に一致するエントリE23のVRFフィールドの値「2」を取得する(図12:ステップS12)。次に、パケット転送処理部150は、VRF番号に対応するルーティングテーブル(VRF2ルーティングテーブル122)を検索し、一致したエントリのネクストホップIPアドレスフィールドの値と、出力インタフェースフィールドの値を取得する(図12:ステップS13)。図28および図29の例では、パケット転送処理部150は、あて先IPアドレス20.1.1.1に一致するエントリE27のネクストホップIPアドレスフィールドの値「10.1.4.254」と、出力インタフェースフィールドの値「135」とを取得する。なお、パケット転送処理部150は、図25の行C208の定義により、パケットが入力されたインタフェースと、パケットが出力されるインタフェースとが異なるVRFネットワークに所属する場合であってもパケットを転送するため、図12のステップS14は省略する。
パケットを受信したネットワーク1002内のルータは、OSPFプロトコルにより学習し、ルータ内部に保持されている経路情報に基づいて、ネットワーク装置101のインタフェース132に対してパケットを転送する。
インタフェース132からパケットを受信したネットワーク装置101は、図12に示したパケット転送処理に従ってパケットの出力先を決定する。具体的には、パケット転送処理部150は、ネットワーク装置101のインタフェースデータベース140(図20)の識別子132に一致するエントリE22のVRF番号フィールドの値「2」を取得する(図12:ステップS12)。次に、パケット転送処理部150は、VRF番号に対応するルーティングテーブル(VRF2ルーティングテーブル122)を検索し、一致したエントリの、ネクストホップIPアドレスフィールドの値と、出力インタフェースフィールドの値を取得する(図12:ステップS13)。図23および図29の例では、パケット転送処理部150は、あて先IPアドレス20.1.1.1に一致するエントリE27のネクストホップIPアドレスフィールドの値「10.1.3.254」と、出力インタフェースフィールドの値「133」とを取得する。なお、パケット転送処理部150は、図19の行C201の定義により、パケットが入力されたインタフェースと、パケットが出力されるインタフェースとが異なるVRFネットワークに所属する場合であってもパケットを転送するため、図12のステップS14は省略する。
パケットを受信したルータ401は、OSPFプロトコルにより学習し、ルータ内部に保持されている経路情報に基づいて、ホスト301に対してパケットを転送する。
以上のように、第2実施例におけるパケット転送処理部150は、パケットの送信元である装置が所属する仮想ネットワークとパケットのあて先である装置が所属する仮想ネットワークとが異なる場合であっても受信パケットの転送を行う。このため、通信の上り側(ホスト301から運用サーバ201への通信経路)と下り側(運用サーバ201からホスト301への通信経路)において異なる経路を用いてパケットの転送を行うことが可能となる。この結果、ネットワークシステムにおけるパケット転送の柔軟性を向上させることができる。
(B−3)フェイルオーバ処理:
図30は、第2実施例におけるフェイルオーバ処理の手順を示すフローチャートである。図13に示す第1実施例との違いは、ステップS514、S515が追加されている点であり、他の動作については第1実施例と同様である。図31は、第2実施例のフェイルオーバ処理時におけるネットワークシステム10aの動作を示す説明図である。なお、以下ではネットワーク装置101の第1OSPF処理部161を例示して説明する。しかし、例えば、ネットワーク装置101の第2OSPF処理部162、第3OSPF処理部163、ネットワーク装置102においても同様のフェイルオーバ処理が行われる。
ネットワーク装置101の第1OSPF処理部161は、ネットワーク1001内のルータとのOSPFネイバ状態に障害が発生したことを検出する(ステップS501)。障害の発生を検出した第1OSPF処理部161は、フェイルオーバ処理部170に対して、障害発生通知としてOSPFネイバ情報を送信する(ステップS502)。フェイルオーバ処理部170は、OSPFネイバ情報から導かれるネットワーク1001内のルータのIPアドレスと、当該ルータが接続されているインタフェース131の番号をもとにして、コンフィギュレーションデータベース110に定義された状態監視ルールの識別番号「50」を検索する(ステップS503)。フェイルオーバ処理部170は、状態監視ルールの識別番号「50」をもとに、コンフィギュレーションデータベース110の行C201(図19)に定義されているインタフェース133と、状態監視ルールの内容(ネットワーク1001内のルータとのOSPFネイバ障害を検出した際に、インタフェース133を第2のVRFのネットワークに所属させるよう切り替えを行うこと)を検索する(ステップS504)。その後、フェイルオーバ処理部170は、状態監視ルールの内容に基づいて、インタフェースデータベース140のVRF番号を更新する(ステップS505)
ステップS514においてフェイルオーバ処理部170は、OSPFを検索する。具体的には、フェイルオーバ処理部170は、コンフィギュレーションデータベース110から、ステップS504で得られるインタフェース番号を使用しているOSPFドメインを検索する。図31の例では、ステップS504で得られるインタフェース番号は「133」であるため、インタフェース133を使用しているOSPFドメインは第3のOSPFドメインであることがわかる。
ステップS515においてフェイルオーバ処理部170は、ステップS514で得られたOSPFドメインを処理するためのOSPF処理部(ここでは第3OSPF処理部163)に対して、経路広告情報の更新を指示する。これにより、第3OSPF処理部163は、経路広告情報を更新する。
図32は、図30のステップS505において更新された後のネットワーク装置101のインタフェースデータベース140を示す説明図である。障害検出前のインタフェースデータベース140を示す図20との違いは、インタフェース番号フィールドの値が「133」のエントリ(エントリE23)のVRF番号フィールドの値が「2」となっている点である。
(B−4)障害検出後の動作:
図33は、監視対象であるネットワーク1001内のルータとのOSPFネイバ状態に障害が発生した後におけるネットワークシステム10aの動作を示す説明図である。図29に示す障害発生前とは、ホスト301から運用サーバ201へのパケット転送の経路が異なり、運用サーバ201からホスト301へのパケット転送の経路は同じである。
ホスト301は運用サーバ201にアクセスするため、あて先IPアドレスを10.1.1.1とする要求パケットをルータ401へ送信する。パケットを受信したルータ401は、ルータ401内に保持されている経路情報に基づいて、ネットワーク装置101のインタフェース133に対してパケットを転送する。
インタフェース133からパケットを受信したネットワーク装置101は、図12に示したパケット転送処理に従ってパケットの出力先を決定する。具体的には、パケット転送処理部150は、ネットワーク装置101のインタフェースデータベース140のインタフェース(図32)の識別子133に一致するエントリE23のVRF番号フィールドの値「2」を取得する(図12:ステップS12)。次に、パケット転送処理部150は、VRF番号に対応するルーティングテーブル(VRF2ルーティングテーブル122)を検索し、一致したエントリの、ネクストホップIPアドレスフィールドの値と、出力インタフェースフィールドの値を取得する(図12:ステップS13)。図23および図33の例では、パケット転送処理部150は、あて先IPアドレス10.1.1.1に一致するエントリE1のネクストホップIPアドレスフィールドの値「10.1.1.0」と、出力インタフェースフィールドの値「132」とを取得する。
パケットを受信したネットワーク1002内のルータは、ルータ内部に保持されている経路情報に基づいて、ネットワーク装置102のインタフェース135に対してパケットを転送する。
インタフェース135からパケットを受信したネットワーク装置102は、図12に示したパケット転送処理に従ってパケットの出力先を決定する。具体的には、パケット転送処理部150は、ネットワーク装置102のインタフェースデータベース140(図26)の識別子135に一致するエントリE22のVRF番号フィールドの値「2」を取得する(図12:ステップS12)。次に、パケット転送処理部150は、VRF番号に対応するルーティングテーブル(VRF2ルーティングテーブル122)を検索し、一致したエントリの、ネクストホップIPアドレスフィールドの値と、出力インタフェースフィールドの値を取得する(図12:ステップS13)。図28および図33の例では、パケット転送処理部150は、あて先IPアドレス10.1.1.1に一致するエントリE1のネクストホップIPアドレスフィールドの値「10.1.1.1」と、出力インタフェースフィールドの値「136」とを取得する。ネットワーク装置102のインタフェース136から送信されたパケットは、運用サーバ201へと転送される。
上述のようにして、ネットワーク装置101がネットワーク1001内のルータとのOSPFネイバ状態に障害が発生したことを検出した後においても、運用サーバ201からホスト301へのパケット転送経路を切り替えることによって、ホスト301と運用サーバ201との通信が可能である。
図34は、監視対象であるネットワーク1001内のルータとのOSPFネイバ状態に障害が発生した後において、第1OSPF処理部161と、第2OSPF処理部162と、第3OSPF処理部163とが、互いの経路情報をOSPFプロトコルにより広告する様子を示す説明図である。図24に示した障害発生前との違いは、ステップS634の代わりにステップS640が追加されている点のみであり、他の点については、図24と同様である。これは、上述したフェイルオーバ処理において、インタフェース133が第2のVRFのネットワークに所属するように、インタフェースデータベース140(および、コンフィギュレーションデータベース110)のVRF番号が更新されたためである(図30:ステップS505)。
インタフェース133のVRFが「1」から「2」へと更新されたことに伴い、第1OSPF処理部161からの、第1のOSPFドメインの経路情報は送信されない。一方、ステップS640において第2OSPF処理部162は、第2のOSPFドメインの経路情報(ネットワーク1002の第1のOSPFドメインに属する外部装置やサブネットワーク、運用サーバ201に関する経路情報)を、第3OSPF処理部163に送信する。ステップS635において第3OSPF処理部163は、受信した経路情報を、第3のOSPFドメインの経路情報として広告する。
上述のように、第2実施例におけるネットワークシステム10aでは、ネットワークシステム内の回線やノードに障害が発生した際、インタフェースが属するVRFネットワークを変更すると共に、OSPFプロトコルの再経路広告を行い、経路情報の更新を可能としている。また、第2実施例では、ネットワークシステム10a内のネットワーク1001およびネットワーク1002は、異なるVRFネットワークに属している。このため、ネットワーク1001とネットワーク1002のネットワークトポロジが異なる場合であっても、ホスト301と運用サーバ201との間の通信における到達性を保障することができる。
このようにすれば、第1のネットワーク中継装置(ネットワーク装置102)の第1のインタフェース134と、第2のネットワーク中継装置(ネットワーク装置101)の第1のインタフェース131とは、直接的または他のネットワークを介して間接的に接続されて第1の仮想ネットワークを構成し、第1のネットワーク中継装置(ネットワーク装置102)の第2のインタフェース135と、第2のネットワーク中継装置(ネットワーク装置101)の第2のインタフェース132とは、直接的または他のネットワークを介して間接的に接続されて第2の仮想ネットワークを構成する。すなわち、処理装置(運用サーバ201)とクライアント装置(ホスト301)との間の通信経路を2重化した上で、パケット転送処理部150は、第1の仮想ネットワークと第2の仮想ネットワークのうち、経路上で障害が発生していない一方の仮想ネットワークの経路情報を用いて、受信パケットをあて先装置へ転送することができる。このため、このような構成においても、第1実施例と同様の効果を得ることができる。
C.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
C1.変形例1:
上記実施例では、ネットワーク装置がOSPFネイバ状態を監視する構成について説明した。しかし、この構成はあくまで例示であり、任意の構成を採用することができる。例えば、第1実施例において、処理装置(運用サーバ201、予備サーバ202)の負荷を監視し、現在運用サーバとして機能している処理装置の負荷が所定の負荷を超過した際に、フェイルオーバ処理を行って予備経路へ切り替える(すなわち、予備サーバへ処理を切り替える)こととしてもよい。
また、ネットワーク装置から処理装置へのネットワーク負荷を監視し、ネットワーク負荷に応じて予備経路への切り替えを行うものとしてもよい。
さらに、例えば、現在運用サーバとして機能している処理装置をリプレイスする際等に、フェイルオーバ処理を行って予備経路へ切り替える(すなわち、予備サーバへ処理を切り替える)こととしてもよい。
C2.変形例2:
上記実施例では、ネットワークシステム内のノードや回線に障害が発生したことを検出するための監視対象と監視方法についての一例として、OSPFネイバの状態を監視するものとして説明した。しかし、監視対象および監視方法は、任意のものを採用することができる。例えば、サーバへの通信の到達可能性を監視対象としてもよいし、任意のインタフェースの状態を監視対象とすることもできる。
また、例えば、ネットワーク装置以外の外部装置(例えば、管理端末等)がOSPFネイバ状態を監視し、障害を検出した際にネットワーク装置に対して、障害の発生を通知する構成を採用することもできる。
さらに、ネットワーク装置以外の外部装置(例えば、管理端末等)がOSPFネイバ状態を検出した際に、管理端末等にその旨を表示する構成を採用することも可能である。この場合、ネットワーク管理者が運用コマンドによって、フェイルオーバ処理を実行する構成としてもよい。
C3.変形例3:
上記実施例では、ネットワークシステム内の2台のルータ(ルータ401、402)は物理的に異なる装置であるものとした。しかし、2台のルータは物理的に異なる装置である必要はない。例えば、ルータ401、402は物理的には1台のルータであって、VRF機能を用いて論理的に2台のルータのように振舞う構成を採用することもできる。
また、ネットワークシステム内の2台のサーバ(運用サーバ201、予備サーバ202)についても同様に、物理的に異なる装置とする必要はない。例えば、運用サーバ201と予備サーバ202とを論理サーバとして構成することもできる。また、インタフェース131と、インタフェース132とを論理インタフェースとして構成することもできる。
さらに、ネットワークシステム内の2つのネットワーク(ネットワーク1001、1002)を構成する装置についても、物理的に異なる装置である必要はない。例えば、ネットワーク1001、1002を構成する装置の一部または全てが、物理的には同一の装置で構成されることとしてもよい。
C4.変形例4:
上記実施例では、OSPFプロトコルを使用することを例に挙げて説明した。しかし、ネットワーク装置間において使用されるルーティングプロトコルは、OSPFプロトコルに限らず、任意のプロトコルを採用することができる。また、例えば、複数のプロトコルを組み合わせて制御する構成を採用することも可能である。具体的には、上記第2実施例において、ネットワーク1001との間においてはOSPFプロトコルを用いた経路制御を行い、ネットワーク1002との間においてはBGPを用いた経路制御を行うこととしてもよい。これらルーティングプロトコルの組合せについても、限定されない。
また、上記実施例では、レイヤ3プロトコルとして、IPv4(Internet Protocol version 4)を使用する例について説明した。しかし、レイヤ3プロトコルとしては、任意のプロトコルを採用可能である。例えば、IPv6(Internet Protocol version 6)を使用することも可能である。
C5.変形例5:
上記実施例では、ネットワーク装置において、第1のOSPF処理部が第1のVRFのルーティングテーブルに経路情報を作成し、第2のOSPF処理部が第2のVRFのルーティングテーブルに経路情報を作成し、パケットの転送時には、これらルーティングテーブルのいずれか一方が用いられるものとした。しかし、パケット転送時に使用される経路情報は、一方のOSPF処理部が作成した経路情報に限定しなくてもよい。具体的には、例えば、第1のOSPF処理部が、第1および第2のVRFのルーティングテーブルにそれぞれ経路情報を作成し、第2のOSPF処理部が、第1および第2のVRFのルーティングテーブルにそれぞれ経路情報を作成する。その上で、同一のあて先についての経路に関しては、出力インタフェースが第1のVRFネットワークに属するもの(インタフェース131)と、第2のVRFネットワークに属するもの(インタフェース132)とで、マルチパスになるような構成を採用することも可能である。
C6.変形例6:
上記実施例では、説明を簡単にするため、2つのVRFを使用する構成について説明した。しかし、ネットワーク装置が備えるVRFの個数は任意に定めることができる。また、ネットワーク装置は、VRF属性を持たないグローバルネットワークを含むものとしても良い。この場合、当該グローバルネットワークは、VRF属性を持たない一種のVRFとして考えることも可能である。
C7.変形例7:
上記実施例では、ネットワークシステム構成の一例を示した。しかし、ネットワークシステム構成は、上述した態様に限らず、本発明の要旨を逸脱しない範囲において任意に定めることができる。具体的には、例えば、ネットワークシステムを構成するサーバやホストの台数は任意に決定することができる。また、サーバやホストは、ネットワーク装置と他のネットワーク装置を介して間接的に接続されるものとしても良い。なお、サーバに設定するIPアドレスが同じであればよく、ネットワーク内の装置のIPアドレスは、必ずしも同じにする必要はない。
上記実施例では、各OSPFドメインに所属するネットワーク装置を例示して説明した。しかし、OSPFドメインに所属するネットワーク装置は、任意に構成することが可能である。例えば、第1実施例において、ネットワーク装置100を除いた第1のOSPFドメインに所属するネットワーク装置は、ルータ401であるものとした。しかし、ルータ401に限る必要はなく、他の装置を加えたり、一部の装置を除外したりすることも可能である。
C8.変形例8:
上記実施例では、ネットワーク装置の構成の一例を示した。しかし、ネットワーク装置の構成は、上述した態様に限らず、本発明の要旨を逸脱しない範囲において任意に定めることができる。具体的には、例えば、ネットワーク装置が有するインタフェースを、VLAN(Virtual Local Area Network)で多重化する論理的なインタフェースであるものとすることができる。また、リンクアグリゲーションや、トンネルインタフェースや、MPLS(Multi-Protocol Label Switching)のLSP(Label Switched Path)といった仮想的なインタフェースを用いても良い。
また、上記実施例では、ネットワーク装置が備える各テーブルについて、その構成の一例を示した。しかし、これらのテーブルが備えるフィールドは、その発明の要旨を逸脱しない範囲において任意に定めることができる。例えば、上記に例示したフィールド以外のフィールドを備えるものとしても良い。また、各テーブルには、ダイレクトマップ方式を用いることも可能である。
C9.変形例9:
上記実施例において、ハードウェアによって実現されるものとした構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されるものとした構成の一部をハードウェアに置き換えるようにしてもよい。
10,10a…ネットワークシステム
50…状態監視ルール
60…状態監視ルール
100…ネットワーク装置
101…ネットワーク装置
102…ネットワーク装置
110…コンフィギュレーションデータベース
121…VRF1ルーティングテーブル
122…VRF2ルーティングテーブル
131…インタフェース
132…インタフェース
133…インタフェース
134…インタフェース
135…インタフェース
136…インタフェース
140…インタフェースデータベース
150…パケット転送処理部
160…直結経路制御部
161…第1OSPF処理部
162…第2OSPF処理部
163…第3OSPF処理部
170…フェイルオーバ処理部
201…運用サーバ
202…予備サーバ
301…ホスト
401…ルータ
402…ルータ
1001…ネットワーク
1002…ネットワーク

Claims (8)

  1. 同一のアドレスが設定された第1の処理装置および第2の処理装置と、前記第1または第2の処理装置を利用するクライアント装置と、直接的または間接的に接続され、各装置間のパケットを中継するネットワーク中継装置であって、
    前記第1の処理装置が属する第1の仮想ネットワークの経路情報記憶される第1の経路情報記憶部と、
    前記第2の処理装置が属する第2の仮想ネットワークの経路情報記憶される第2の経路情報記憶部と、
    前記第1の仮想ネットワークに関する経路情報の広告を受け取ると共に前記第1の仮想ネットワークの経路情報を構築し、構築された経路情報を前記第1の経路情報記憶部に格納し、前記第2の仮想ネットワークに関する経路情報の広告を受け取ると共に前記第2の仮想ネットワークの経路情報を構築し、構築された経路情報を前記第2の経路情報記憶部に格納する経路情報広告部と、
    前記第1の仮想ネットワークの状態および前記第2の仮想ネットワークの状態を検出する状態検出部と、
    前記クライアント装置から受信したパケットであって、前記アドレスをあて先とする受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、前記決定される仮想ネットワークに属する前記第1の処理装置もしくは前記第2の処理装置へ転送するパケット転送処理部と、
    を備える、ネットワーク中継装置。
  2. 請求項1記載のネットワーク中継装置であって、
    前記状態検出部は、
    前記第1の仮想ネットワークにおける経路上の障害を検出する第1の状態検出部と、
    前記第2の仮想ネットワークにおける経路上の障害を検出する第2の状態検出部と、
    を備え、
    前記ネットワーク中継装置は、さらに、
    前記第1の処理装置と、前記第2の処理装置と、前記クライアント装置とに対してそれぞれ接続されているインタフェースが、前記第1の仮想ネットワークと、前記第2の仮想ネットワークのいずれに所属するのかを定義したVRF定義情報を記憶するVRF定義情報記憶部と、
    前記第1の状態検出部もしくは前記第2の状態検出部により検出された障害の有無に基づいて、前記経路情報と前記VRF定義情報との少なくともいずれか一方を更新するフェイルオーバ処理部と、
    を備え、
    前記パケット転送処理部は、
    パケットを受信した際に、前記VRF定義情報に従って前記パケットを受信したインタフェースが所属する仮想ネットワークを判定し、前記パケットを受信したインタフェースが所属する仮想ネットワークに対応した経路情報を用いて経路探索をしてパケットを転送する、ネットワーク中継装置。
  3. 請求項2記載のネットワーク中継装置であって、
    前記VRF定義情報には、
    前記第1の処理装置に接続されているインタフェースと、前記クライアント装置に接続されているインタフェースとが前記第1の仮想ネットワークに所属し、
    前記第2の処理装置に接続されているインタフェースが前記第2の仮想ネットワークに所属する、
    ことが予め定義され、
    前記フェイルオーバ処理部は、前記第1の状態検出部により障害が検出された場合に、前記クライアント装置に接続されているインタフェースを、前記第2の仮想ネットワークに所属させるようにVRF定義情報を更新する、ネットワーク中継装置。
  4. 請求項2または3記載のネットワーク中継装置であって、
    前記パケット転送処理部は、
    パケットを受信した際に、前記VRF定義情報に基づいて、前記パケットを受信したインタフェースが所属する仮想ネットワークと、前記パケットのあて先である装置が接続されているインタフェースが所属する仮想ネットワークとを比較し、仮想ネットワークが同一である場合は前記パケットを転送し、仮想ネットワークが異なる場合は前記パケットを転送せずに廃棄する、ネットワーク中継装置。
  5. ネットワークシステムであって、
    第1の仮想ネットワークに所属する第1の処理装置と、
    第2の仮想ネットワークに所属する第2の処理装置と、
    前記第1または第2の処理装置を利用するクライアント装置と、
    前記第1の処理装置と、前記第2の処理装置と、前記クライアント装置と、直接的または間接的に接続され、各装置間のパケットを中継するネットワーク中継装置と、
    を備え、
    前記第1の処理装置と、前記第2の処理装置のアドレスは同一に設定され、
    前記ネットワーク中継装置は、
    前記第1の仮想ネットワークの経路情報記憶される第1の経路情報記憶部と、
    前記第2の仮想ネットワークの経路情報記憶される第2の経路情報記憶部と、
    前記第1の仮想ネットワークに関する経路情報の広告を受け取ると共に前記第1の仮想ネットワークの経路情報を構築し、構築された経路情報を前記第1の経路情報記憶部に格納し、前記第2の仮想ネットワークに関する経路情報の広告を受け取ると共に前記第2の仮想ネットワークの経路情報を構築し、構築された経路情報を前記第2の経路情報記憶部に格納する経路情報広告部と、
    前記第1の仮想ネットワークの状態および前記第2の仮想ネットワークの状態を検出する状態検出部と、
    前記クライアント装置から受信したパケットであって、前記アドレスをあて先とする受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、前記決定される仮想ネットワークに属する前記第1の処理装置もしくは前記第2の処理装置へ転送するパケット転送処理部と、
    を備える、ネットワークシステム。
  6. 同一のアドレスが設定された第1の処理装置および第2の処理装置と、前記第1または第2の処理装置を利用するクライアント装置と、直接的または間接的に接続され、各装置間のパケットを中継するネットワーク中継装置の制御方法であって、
    (a)前記第1の処理装置が属する第1の仮想ネットワークの経路情報の広告を受け取ると共に前記第1の仮想ネットワークの経路情報を構築し、構築された経路情報を記憶させる工程と、
    (b)前記第2の処理装置が属する第2の仮想ネットワークの経路情報の広告を受け取ると共に前記第2の仮想ネットワークの経路情報を構築し、構築された経路情報を記憶させる工程と、
    (c)前記第1の仮想ネットワークの状態および前記第2の仮想ネットワークの状態を検出する工程と、
    (d)前記クライアント装置から受信したパケットであって、前記アドレスをあて先とする受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、前記決定される仮想ネットワークに属する前記第1の処理装置もしくは前記第2の処理装置へ転送する工程と、
    を備える、ネットワーク中継装置の制御方法。
  7. ネットワークシステムであって、
    処理装置と接続された第1のネットワーク中継装置と、
    前記処理装置を利用するクライアント装置と接続された第2のネットワーク中継装置と、
    を備え、
    前記第1のネットワーク中継装置の第1のインタフェースと、前記第2のネットワーク中継装置の第1のインタフェースとは、直接的または他のネットワークを介して間接的に接続されて第1の仮想ネットワークを構成し、
    前記第1のネットワーク中継装置の第2のインタフェースと、前記第2のネットワーク中継装置の第2のインタフェースとは、直接的または他のネットワークを介して間接的に接続されて第2の仮想ネットワークを構成し、
    前記第1のネットワーク中継装置と、前記第2のネットワーク中継装置は、それぞれ、
    前記第1の仮想ネットワークの経路情報記憶される第1の経路情報記憶部と、
    前記第2の仮想ネットワークの経路情報記憶される第2の経路情報記憶部と、
    前記第1の仮想ネットワークに関する経路情報の広告を受け取ると共に前記第1の仮想ネットワークの経路情報を構築し、構築された経路情報を前記第1の経路情報記憶部に格納し、前記第2の仮想ネットワークに関する経路情報の広告を受け取ると共に前記第2の仮想ネットワークの経路情報を構築し、構築された経路情報を前記第2の経路情報記憶部に格納する経路情報広告部と、
    受信パケットを、ネットワークの状態に基づいて決定される一方の仮想ネットワークの経路情報を用いて、前記決定される仮想ネットワークに属するあて先装置へ転送するパケット転送処理部と、
    を備える、ネットワークシステム。
  8. 請求項7記載のネットワークシステムであって、
    前記第1のネットワーク中継装置は、さらに、前記処理装置が、前記第1の仮想ネットワークと、前記第2の仮想ネットワークのいずれに所属するのかを定義したVRF定義情報を記憶するVRF定義情報記憶部を備え、
    前記第2のネットワーク中継装置は、さらに、前記クライアント装置が、前記第1の仮想ネットワークと、前記第2の仮想ネットワークのいずれに所属するのかを定義したVRF定義情報を記憶するVRF定義情報記憶部を備え、
    前記第1のネットワーク中継装置の前記パケット転送処理部と、前記第2のネットワーク中継装置の前記パケット転送処理部は、
    パケットを受信した際に、前記VRF定義情報に基づいて、前記パケットを受信したインタフェースが所属する仮想ネットワークと、前記パケットのあて先である装置が接続されているインタフェースが所属する仮想ネットワークとを比較し、仮想ネットワークが同一であるか、異なるかを問わずにパケットを転送する、ネットワークシステム。
JP2010001669A 2010-01-07 2010-01-07 ネットワーク中継装置、ネットワークシステム、それらの制御方法 Active JP5416596B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010001669A JP5416596B2 (ja) 2010-01-07 2010-01-07 ネットワーク中継装置、ネットワークシステム、それらの制御方法
US12/984,266 US20110164508A1 (en) 2010-01-07 2011-01-04 Network relay apparatus, network system, and control method of network relay apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010001669A JP5416596B2 (ja) 2010-01-07 2010-01-07 ネットワーク中継装置、ネットワークシステム、それらの制御方法

Publications (3)

Publication Number Publication Date
JP2011142479A JP2011142479A (ja) 2011-07-21
JP2011142479A5 JP2011142479A5 (ja) 2012-05-10
JP5416596B2 true JP5416596B2 (ja) 2014-02-12

Family

ID=44224634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010001669A Active JP5416596B2 (ja) 2010-01-07 2010-01-07 ネットワーク中継装置、ネットワークシステム、それらの制御方法

Country Status (2)

Country Link
US (1) US20110164508A1 (ja)
JP (1) JP5416596B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5498102B2 (ja) * 2009-09-02 2014-05-21 アラクサラネットワークス株式会社 ネットワークシステム、ネットワーク中継装置、それらの制御方法
JP5618886B2 (ja) * 2011-03-31 2014-11-05 株式会社日立製作所 ネットワークシステムおよび計算機振り分け装置、計算機振り分け方法
JP5726062B2 (ja) * 2011-12-22 2015-05-27 アラクサラネットワークス株式会社 ネットワーク中継装置及び経路制御方法
US9800423B1 (en) 2012-05-14 2017-10-24 Crimson Corporation Determining the status of a node based on a distributed system
US9319310B2 (en) * 2012-11-15 2016-04-19 Compass Electro Optical Systems Ltd. Distributed switchless interconnect
US9413610B2 (en) * 2013-04-24 2016-08-09 Ciena Corporation Network-based DHCP server recovery
TWI586124B (zh) * 2013-04-26 2017-06-01 Nec Corp Communication node, communication system, packet processing method and program
US10038566B1 (en) * 2013-10-23 2018-07-31 Ivanti, Inc. Systems and methods for multicast message routing
DE112014006607T5 (de) * 2014-04-21 2017-01-12 Mitsubishi Electric Corporation Kommunikationsvorrichtung, integriertes Wagen-Verwaltungssystem und Routingtabellen-Aktualisierungsverfahren
US10834150B1 (en) 2014-12-26 2020-11-10 Ivanti, Inc. System and methods for self-organizing multicast
US10116526B2 (en) 2016-05-13 2018-10-30 Ivanti, Inc. Systems and methods for providing a self-electing service
CN107800549B (zh) 2016-08-30 2020-01-03 新华三技术有限公司 基于交换设备的端口实现多租户设备环境mdc的方法和装置
GB2555791B (en) * 2016-11-08 2020-06-03 Siemens Mobility Ltd Safety-critical router
CN109428814B (zh) * 2017-09-04 2022-12-02 中兴通讯股份有限公司 一种组播流量传输方法、相关设备和计算机可读存储介质
WO2019221170A1 (ja) * 2018-05-17 2019-11-21 日本電信電話株式会社 情報管理システム及び情報管理方法
US10931568B2 (en) * 2018-07-02 2021-02-23 Hewlett Packard Enterprise Development Lp Hitless maintenance of a L3 network
CN113273147B (zh) * 2018-11-02 2022-08-26 华为技术有限公司 用于实现控制器边界网关协议(cBGP)的系统及方法
US10812320B2 (en) * 2019-03-01 2020-10-20 At&T Intellectual Property I, L.P. Facilitation of disaster recovery protection for a master softswitch
US11394693B2 (en) * 2019-03-04 2022-07-19 Cyxtera Cybersecurity, Inc. Establishing network tunnel in response to access request
US11233730B2 (en) * 2019-07-09 2022-01-25 Nvidia Corporation Network routing using aggregated links
CN112348562B (zh) * 2020-09-27 2024-03-26 北京淇瑀信息科技有限公司 基于路由成本消耗的计算机辅助资源投放管理方法及平台
CN118368239A (zh) * 2023-01-17 2024-07-19 中兴通讯股份有限公司 路由方法及其装置、存储介质、计算机程序产品

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512078B2 (en) * 2003-10-15 2009-03-31 Texas Instruments Incorporated Flexible ethernet bridge
US7844691B2 (en) * 2004-12-30 2010-11-30 Xstor Systems, Inc. Scalable distributed storage and delivery
JP4344333B2 (ja) * 2005-03-04 2009-10-14 日本電信電話株式会社 パケット転送装置、パケット転送ネットワークシステムおよびパケット転送方法
US7869436B1 (en) * 2005-10-13 2011-01-11 Cisco Technology, Inc. Methods and apparatus for connecting to virtual networks using non supplicant authentication
GB2432480A (en) * 2005-11-16 2007-05-23 Tyntec Ltd Relay for forwarding signals to a destination network not directly reachable
JP2007258855A (ja) * 2006-03-22 2007-10-04 Hitachi Ltd ルータ装置における論理的冗長化構成を実現する仮想ルータ方式
US8249081B2 (en) * 2006-09-29 2012-08-21 Array Networks, Inc. Dynamic virtual private network (VPN) resource provisioning using a dynamic host configuration protocol (DHCP) server, a domain name system (DNS) and/or static IP assignment
JP4773987B2 (ja) * 2007-02-01 2011-09-14 アラクサラネットワークス株式会社 端末所属切換システム
JP4820780B2 (ja) * 2007-06-22 2011-11-24 西日本電信電話株式会社 接続先移行方法及び接続先移行システム
US8305884B2 (en) * 2007-09-14 2012-11-06 Ciena Corporation Systems and methods for a self-healing carrier ethernet topology
US8036229B2 (en) * 2007-10-08 2011-10-11 Cisco Technology, Inc. Switch with virtual network identifier re-write capability
US8020203B2 (en) * 2007-12-03 2011-09-13 Novell, Inc. Techniques for high availability of virtual private networks (VPN's)
US7796607B2 (en) * 2008-05-30 2010-09-14 At&T Intellectual Property I, L.P. Scalable multiprotocol label switching based virtual private networks and methods to implement the same

Also Published As

Publication number Publication date
JP2011142479A (ja) 2011-07-21
US20110164508A1 (en) 2011-07-07

Similar Documents

Publication Publication Date Title
JP5416596B2 (ja) ネットワーク中継装置、ネットワークシステム、それらの制御方法
CN112565067B (zh) 用于多播保护的到冗余多播源节点的最大冗余树
US11032197B2 (en) Reroute detection in segment routing data plane
US8576721B1 (en) Local forwarding bias in a multi-chassis router
US8917729B1 (en) Fast reroute for multiple label switched paths sharing a single interface
CN101326762B (zh) 在自治系统中构造和实现备用路径的方法
US8489913B2 (en) Network system and network relay apparatus
US9391885B1 (en) MPLS label usage in Ethernet virtual private networks
US8068409B2 (en) Fast OSPF inactive router detection
US8670444B2 (en) Network system and network apparatus
CN107547370B (zh) 流量转发方法、装置及系统
WO2021169258A1 (zh) 转发报文的方法、发布路由信息的方法、装置及系统
JP7091923B2 (ja) 転送装置、転送方法及びプログラム
JP4109692B2 (ja) ラベルスイッチネットワークにおけるセッション確立方法及びラベルスイッチノード
WO2015131560A1 (zh) 一种分配分段路由标记的方法和分段路由节点
US11646960B2 (en) Controller provided protection paths
JP2011142479A5 (ja)
KR102245989B1 (ko) 가상사설망의 이중화 관리 방법 및 그 방법이 구현된 네트워크 스위칭장치
US8811158B1 (en) Fast reroute for common network routes
WO2022061798A1 (en) Label deduction with flexible-algorithm
US10999183B2 (en) Link state routing protocol adjacency state machine
JP2017228935A (ja) パケット転送制御装置、パケット転送制御方法、およびパケット転送制御プログラム
KR100475436B1 (ko) 분산형 라우터 및 그 분산형 라우터의 에이알피 패킷 처리방법
US10735252B2 (en) Outside router fault detection
KR20210037086A (ko) 가상 애니캐스트 노드를 이용한 네트워크 절체 관리 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120314

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131115

R150 Certificate of patent or registration of utility model

Ref document number: 5416596

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250