以下、実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
まず、第1の実施形態の中継装置について図1を用いて説明する。図1は、第1の実施形態の中継装置の構成例を示す図である。
中継装置1および対向中継装置2は、第1のネットワーク7と第2のネットワーク8との間の通信を中継する中継装置であり、マスタスレーブ関係にある。中継装置1と対向中継装置2は、第1のネットワーク7と第2のネットワーク8をメッシュ構成に接続し通信経路を冗長に構成する。
中継装置1および対向中継装置2は、ネットワークに対していずれか一方がマスタ権(たとえば、マスタ権6a,6b)を有するマスタとなり、他方がマスタ権を有しないスレーブとなる。なお、マスタ権は、中継装置1および対向中継装置2が通信を中継するネットワークごとに設定される。たとえば、マスタ権6aは、第1のネットワーク7に対するマスタ権であり、マスタ権6bは、第2のネットワーク8に対するマスタ権である。
中継装置1は、中継トラフィック情報取得部3と、対向トラフィック情報取得部4と、検出部5と、切替制御部6と、を備える。中継トラフィック情報取得部3は、中継トラフィック情報(たとえば、中継トラフィック情報3a,3b)を取得する。中継トラフィック情報は、中継装置1が中継する通信のトラフィック情報であり、中継装置1が中継する通信の宛先と送信元とを含む。
対向トラフィック情報取得部4は、対向トラフィック情報(たとえば、対向トラフィック情報4a,4b)を取得する。対向トラフィック情報は、対向中継装置2が中継する通信のトラフィック情報であり、対向中継装置2が中継する通信の宛先と送信元とを含む。たとえば、中継装置1と対向中継装置2は、相互にトラフィック情報(中継トラフィック情報、対向トラフィック情報)を交換する。
検出部5は、中継トラフィック情報と対向トラフィック情報との比較から非対称ルーティングを検出する。
たとえば、中継トラフィック情報取得部3が取得した中継トラフィック情報3aは、宛先を第1のネットワーク7、送信元を第2のネットワーク8とするトラフィックと、宛先を第2のネットワーク8、送信元を第1のネットワーク7とするトラフィックとを含む。また、対向トラフィック情報取得部4が取得した対向トラフィック情報4aは、空であり、トラフィックがないことを示す。すなわち、中継装置1は、第1のネットワーク7から第2のネットワーク8に向かう通信パス9a(9)のトラフィックと、第2のネットワーク8から第1のネットワーク7に向かう通信パス9b(9)のトラフィックとを中継している。対向中継装置2は、第1のネットワーク7と第2のネットワーク8間の通信を中継していない。したがって、検出部5は、中継トラフィック情報3aと対向トラフィック情報4aとの比較により、非対称ルーティングの発生を検出しない。
また、中継トラフィック情報取得部3が取得した中継トラフィック情報3bは、宛先を第2のネットワーク8、送信元を第1のネットワーク7とするトラフィックを含む。また、対向トラフィック情報取得部4が取得した対向トラフィック情報4bは、宛先を第1のネットワーク7、送信元を第2のネットワーク8とするトラフィックを含む。すなわち、中継装置1は、第1のネットワーク7から第2のネットワーク8に向かう通信パス9aのトラフィックを中継し、対向中継装置2は、第2のネットワーク8から第1のネットワーク7に向かう通信パス9c(9)のトラフィックを中継している。したがって、検出部5は、中継トラフィック情報3bと対向トラフィック情報4bとの比較により、非対称ルーティングの発生を検出する。
なお、非対称ルーティングの発生は、出力ポートと出力先とを関係付けた中継情報(たとえば、MACアドレステーブルなど)の更新停止によるエージングタイム経過後の中継情報の喪失を惹起する。中継情報の喪失は、ユニキャストフラッディング発生の原因となる。
切替制御部6は、非対称ルーティングの検出により中継装置1と対向中継装置2のマスタ権の切替を制御する。たとえば、通信パス9aと通信パス9cによる非対称ルーティングは、中継装置1と第2のネットワーク8との間で障害を検知して対向中継装置2がマスタ権6bを得た場合に発生し得る。切替制御部6は、対向中継装置2にマスタ権6aを切り替える。これにより、宛先を第2のネットワーク8、送信元を第1のネットワーク7とするトラフィックは、通信パス9aから通信パス9d(9)に切り替わり、非対称ルーティングが解消する。
このように、中継装置1は、マスタ権の切替制御により非対称ルーティングを解消できる。中継装置1は、非対称ルーティングの解消によりユニキャストフラッディングの発生を防止できる。
[第2の実施形態]
次に、第2の実施形態のレイヤ3スイッチを備えるネットワークシステムについて図2を用いて説明する。図2は、第2の実施形態のネットワークシステムの構成例を示す図である。
ネットワークシステム10は、複数のIPネットワークを複数のレイヤ3スイッチ20によりメッシュ状に接続する。ネットワークシステム10は、複数のIPネットワーク間に複数の通信パスを有する冗長構成をとり、たとえば、サーバ11とクライアント12を通信パス31と通信パス32で接続する。
レイヤ3スイッチは、IPによる中継制御をおこなう中継装置であり、複数のIPネットワークを接続する。IPネットワークは、LAN、またはWAN(Wide Area Network)、通信キャリアが運用する基幹通信ネットワークなどであり、VLANであってもよい。レイヤ3スイッチは、ルーティングプロトコル(たとえば、RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、BGP(Border Gateway Protocol)など)を用いてIPによる中継制御をおこなう。
レイヤ3スイッチ20a,20bは、LAN(b)とLAN(c)を接続する。また、レイヤ3スイッチ20aとレイヤ3スイッチ20bは、ルーティングプロトコルを用いて対向レイヤ3スイッチにIPネットワークのルート(経路)情報を通知する通信パス21a(21)を有する。対向レイヤ3スイッチは、マスタとスレーブの関係にあるレイヤ3スイッチ20のうちの一方のレイヤ3スイッチ20に対する他方のレイヤ3スイッチ20である。レイヤ3スイッチ20aに対する対向レイヤ3スイッチは、レイヤ3スイッチ20bであり、またレイヤ3スイッチ20bに対する対向レイヤ3スイッチは、レイヤ3スイッチ20aである。すなわち、レイヤ3スイッチ20aとレイヤ3スイッチ20bは、マスタスレーブ関係にある一群のレイヤ3スイッチ20を構成する。
レイヤ3スイッチ20c,20dは、LAN(a)とLAN(b)を接続する。また、レイヤ3スイッチ20cとレイヤ3スイッチ20dは、ルーティングプロトコルを用いて対向レイヤ3スイッチにIPネットワークのルート情報を通知する通信パス21b(21)を有する。レイヤ3スイッチ20cに対する対向レイヤ3スイッチは、レイヤ3スイッチ20dであり、またレイヤ3スイッチ20dに対する対向レイヤ3スイッチは、レイヤ3スイッチ20cである。すなわち、レイヤ3スイッチ20cとレイヤ3スイッチ20dは、マスタスレーブ関係にある一群のレイヤ3スイッチ20を構成する。
レイヤ3スイッチ20は、中継装置の冗長化をサポートするGW(GateWay)冗長化プロトコル(たとえば、VRRPや、HSRP(Hot Standby Router Protocol)など)により、障害発生時に迂回経路を使用して通信の信頼性を確保する。
このようなネットワークシステム10は、サーバ11とクライアント12との間で複数の通信パスが存在するため、サーバ11向けのトラフィックとクライアント向けのトラフィックでルーティングが異なる非対称ルーティングが発生し得る。
次に、第2の実施形態のネットワークシステムの通常時の通信パスについて図3を用いて説明する。図3は、第2の実施形態のネットワークシステムの通常時の通信パスの一例を示す図である。
ネットワークシステム10は、LAN(a)としてのVLAN(10)、LAN(b)としてのVLAN(20)、およびLAN(c)としてのVLAN(30)を複数のレイヤ3スイッチ20で接続する。たとえば、VLAN(10)はIPアドレスが「192.168.10.0/24」であり、VLAN(20)はIPアドレスが「192.168.20.0/24」であり、VLAN(30)はIPアドレスが「192.168.30.0/24」である。サーバ11はIPアドレスが「192.168.30.254」であり、クライアント12はIPアドレスが「192.168.10.1」である。
レイヤ3スイッチ20aとレイヤ3スイッチ20bは、VLAN(30)に対して一群のレイヤ3スイッチ20(仮想レイヤ3スイッチ)を構成する。VLAN(30)に対してレイヤ3スイッチ20aはマスタであり、レイヤ3スイッチ20bはスレーブである。レイヤ3スイッチ20aは、サーバ11からの仮想レイヤ3スイッチ宛ての通信に応答して通信を中継する。
また、レイヤ3スイッチ20aとレイヤ3スイッチ20bは、VLAN(20)に対して一群のレイヤ3スイッチ20(仮想レイヤ3スイッチ)を構成する。VLAN(20)に対してレイヤ3スイッチ20aはマスタであり、レイヤ3スイッチ20bはスレーブである。
レイヤ3スイッチ20cとレイヤ3スイッチ20dは、VLAN(10)に対して一群のレイヤ3スイッチ20(仮想レイヤ3スイッチ)を構成する。VLAN(10)に対してレイヤ3スイッチ20cはマスタであり、レイヤ3スイッチ20dはスレーブである。レイヤ3スイッチ20cは、クライアント12からの仮想レイヤ3スイッチ宛ての通信に応答して通信を中継する。
また、レイヤ3スイッチ20cとレイヤ3スイッチ20dは、VLAN(20)に対して一群のレイヤ3スイッチ20(仮想レイヤ3スイッチ)を構成する。VLAN(20)に対してレイヤ3スイッチ20cはマスタであり、レイヤ3スイッチ20dはスレーブである。
仮想レイヤ3スイッチのマスタ権は、仮想レイヤ3スイッチを構成するレイヤ3スイッチ20のうちプライオリティの大きなレイヤ3スイッチ20が得る。すなわち、プライオリティは、レイヤ3スイッチ20cとレイヤ3スイッチ20dのうちいずれが仮想レイヤ3スイッチのマスタ権を得るか判断するための評価値である。
仮想レイヤ3スイッチを構成するレイヤ3スイッチ20は、VRRPによりプライオリティを適宜通知し合う。たとえば、レイヤ3スイッチ20cはプライオリティが「150」であり、レイヤ3スイッチ20dはプライオリティが「100」であるから、VLAN(10)に対してレイヤ3スイッチ20cがマスタ権を有する。また、レイヤ3スイッチ20cはプライオリティが「150」であり、レイヤ3スイッチ20dはプライオリティが「100」であるから、VLAN(20)に対してレイヤ3スイッチ20cがマスタ権を有する。
これにより、サーバ11からクライアント12への通信は、通信パス33を経由し、クライアント12からサーバ11への通信は、通信パス34を経由する。したがって、図3に示すネットワークシステム10は、非対称ルーティングが発生していない状態である。
次に、第2の実施形態のレイヤ3スイッチの通常時のルーティングについて図4を用いて説明する。図4は、第2の実施形態のレイヤ3スイッチの通常時のルーティングの一例を示す図である。図4に示すレイヤ3スイッチ20c,20dは、図3に示すネットワークシステム10のレイヤ3スイッチ20c,20dであり、非対称ルーティングが発生していない状態である。
レイヤ3スイッチ20(20c,20d)は、L2スイッチング部22,24と、ルーティング部23とを有する。レイヤ3スイッチ20は、L2スイッチング部22,24によりレイヤ2スイッチ(L2SW)としての機能を有する。また、レイヤ3スイッチ20は、ルーティング部23によりIPアドレスを用いたルーティング機能を有する。
L2スイッチング部22,24は、ポートごとに接続する通信機器(たとえば、クライアント12a,12b)を、MACアドレステーブルで管理する。L2スイッチング部22,24は、MACアドレステーブルを参照して、宛先に対応するポートに対してイーサネット(登録商標)フレームを送出する。
ここで、MACアドレステーブルについて図5を用いて説明する。図5は、第2の実施形態のMACアドレステーブルの一例を示す図である。MACアドレステーブル80は、PC(Personal Computer)の名前と、MACアドレスと、ポート番号を対応付けた情報である。1番目のエントリは、MACアドレスが「00:01:02:03:04:05」のPCA(たとえば、クライアント12a)が、ポート番号「1」のポートに接続されていることを示す。2番目以降のエントリについても同様である。
なお、レイヤ3スイッチ20cのL2スイッチング部22とレイヤ3スイッチ20dのL2スイッチング部22は、相互に接続し、VLAN(20)内で通信可能である。また、レイヤ3スイッチ20cのL2スイッチング部24とレイヤ3スイッチ20dのL2スイッチング部24は、相互に接続し、VLAN(10)内で通信可能である。
ルーティング部23は、ルーティングテーブルを参照して、IPネットワーク間のルーティングをおこなう。レイヤ3スイッチ20は、L2スイッチング部22,24と、ルーティング部23とにより、VLAN間のルーティングをおこなうことができる。
ここで、ルーティングテーブルについて図6を用いて説明する。図6は、第2の実施形態のルーティングテーブルの一例を示す図である。ルーティングテーブル81は、宛先ネットワークと、ゲートウェイ、VLAN(宛先ネットワークの名称)を対応付けた情報である。1番目のエントリは、宛先ネットワークのIPアドレスが「192.168.10.0/24」であり、宛先ネットワークのゲートウェイのIPアドレスが「192.168.10.254」であり、宛先ネットワークの名称がVLAN(10)であることを示す。2番目のエントリについても同様である。
また、ルーティング部23は、IPアドレスをMACアドレスに変換するためのARP(Address Resolution Protocol)テーブルを保持する。ここで、ARPテーブルについて図7を用いて説明する。図7は、第2の実施形態のARPテーブルの一例を示す図である。ARPテーブル82は、IPアドレスと、MACアドレスを対応付けた情報である。1番目のエントリは、IPアドレスが「192.168.10.1」であり、MACアドレスが「00:01:02:03:04:05」であることを示す。2番目のエントリについても同様である。
次に、第2の実施形態のネットワークシステムの障害発生時の通信パスについて図8を用いて説明する。図8は、第2の実施形態のネットワークシステムの障害発生時の通信パスの一例を示す図である。
図8に示すネットワークシステム10は、レイヤ3スイッチ20cとクライアント12との間で、たとえば、通信ケーブルの断線や、コネクタの接触不良、通信インタフェースの故障などの障害が発生している状態を示す。
レイヤ3スイッチ20cは、クライアント12との間の通信不良を検出して、VLAN(10)に対するマスタ権のプライオリティを150から90に更新する。これにより、レイヤ3スイッチ20cとともにVLAN(10)に対して仮想レイヤ3スイッチを構成するレイヤ3スイッチ20dは、レイヤ3スイッチ20cよりもマスタ権のプライオリティが大きくなりマスタ権を獲得する。したがって、VLAN(10)に対して仮想レイヤ3スイッチは、レイヤ3スイッチ20dがマスタとなり、レイヤ3スイッチ20cがスレーブとなる。
なお、VLAN(20)に対する仮想レイヤ3スイッチは、マスタ権の変更が生じない。これにより、サーバ11からクライアント12への通信は、通信パス35を経由し、クライアント12からサーバ11への通信は、通信パス36を経由する。このとき、図8に示すネットワークシステム10は、非対称ルーティングが発生する。
なお、このような非対称ルーティングは、上位VLANと下位VLANとで異なるレイヤ3スイッチ20がマスタ権を有する場合に発生し得る。また、非対称ルーティングは、障害発生時の他、保守切替等によっても生じ得る。
次に、第2の実施形態のレイヤ3スイッチの障害発生時のルーティングについて図9を用いて説明する。図9は、第2の実施形態のレイヤ3スイッチの障害発生時のルーティングの一例を示す図である。図9に示すレイヤ3スイッチ20c,20dは、図8に示すネットワークシステム10のレイヤ3スイッチ20c,20dであり、非対称ルーティングが発生している状態である。
レイヤ3スイッチ20cとクライアント12bとの間で障害が発生している場合、レイヤ3スイッチ20cは、VLAN(20)に対してマスタであっても、VLAN(10)に対してスレーブである。このとき、VLAN(20)からVLAN(10)への通信パス351は、レイヤ3スイッチ20cのルーティング部23を通る。VLAN(10)からVLAN(20)への通信パス361は、VLAN(10)に対してマスタのレイヤ3スイッチ20dのルーティング部23を通る。
レイヤ3スイッチ20cのルーティング部23は、ARPによりIPアドレスと、IPアドレスに対応するMACアドレスとを学習し、ARPテーブルを更新する。ARPテーブルの学習内容は、ARPタイマ25がタイムアップするまで保持される。ARPタイマ25は、たとえば、デフォルトで4時間が設定されるが、設定変更可能である。
また、レイヤ3スイッチ20cのL2スイッチング部24は、ARPのReplyによりポート番号と、ポート番号に対応するMACアドレスとを学習し、MACアドレステーブルを更新する。MACアドレステーブルの学習内容は、MACエージングタイマ26がタイムアップするまで保持される。MACエージングタイマ26は、たとえば、デフォルトで5分が設定されるが、設定変更可能である。
しかしながら、レイヤ3スイッチ20cは、VLAN(10)に対してスレーブであることから、ARPのReplyを受信しないので、ARPテーブルおよびMACアドレステーブルは、新規に学習することがない。そのため、ARPテーブルは、ARPタイマ25のタイムアップにより保持している学習内容を喪失する。また、MACアドレステーブルは、MACエージングタイマ26のタイムアップにより保持している学習内容を喪失する。ARPタイマ25とMACエージングタイマ26との差分から、MACアドレステーブルは、ARPテーブルより先に学習内容を喪失する。
MACアドレステーブルが学習内容を保持しないことにより、レイヤ3スイッチ20cのL2スイッチング部24は、すべてのポートに対してイーサネットフレームを送出するユニキャストフラッディングを生じる。ユニキャストフラッディングは、本来の宛先以外の物理回線に不必要なトラフィックが流入することによる通信回線の輻輳や、レイヤ3スイッチ20におけるフラッディング処理のためのトラフィック複製処理による機器負荷の増大を生じる。また、ユニキャストフラッディングは、サーバ11やクライアント12などに不要なトラフィックを受信させて、NIC(Network Interface Card)やCPU(Central Processing Unit)などの装置負荷を増大させる。
レイヤ3スイッチ20は、ユニキャストフラッディングを生じる非対称ルーティングを以下のような構成により防止する。次に、レイヤ3スイッチ20の構成について図10を用いて説明する。図10は、第2の実施形態のレイヤ3スイッチの構成例を示す図である。
レイヤ3スイッチ20は、制御モジュール50とトラフィック処理部70を備える。制御モジュール50は、レイヤ3スイッチ20のトラフィック制御、およびルーティング制御、マスタ権切替制御などをおこなう。トラフィック処理部70は、レイヤ3スイッチ20を通るトラフィックを処理する。
トラフィック処理部70は、インタフェース処理部71と、複数のインタフェース部72を備える。インタフェース部72は、ネットワークポートなどの物理インタフェースであり、トラフィックの出入口である。レイヤ3スイッチ20は、インタフェース部72を介して対向レイヤ3スイッチ29を含む、通信機器と接続する。インタフェース処理部71は、各インタフェース部72の状態管理を含め、各インタフェース部72を流出入するトラフィックを処理する。
制御モジュール50は、抑制制御部60と、ルーティング制御部53を備える。ルーティング制御部53は、L3SW設定情報51にもとづいて、ルーティングプロトコルの処理と、ルーティングテーブル52の管理をおこなう。L3SW設定情報51は、レイヤ3スイッチ20に設定される情報であり、制御モジュール50が備える図示しない不揮発性メモリに記憶される。L3SW設定情報51は、ARPタイマ25やMACエージングタイマ26の設定時間、VRRPのプライオリティ、VLAN設定などを含む。
抑制制御部60は、非対称ルーティングを抑制する制御をおこなう。抑制制御部60は、冗長構成制御部62と、トラフィック監視部63と、トラフィックデータベース部65を備える。トラフィック監視部63は、インタフェース処理部71が処理するトラフィックを監視する。トラフィック監視部63は、インタフェース処理部71が処理するトラフィックの宛先と送信元を収集し、タイムアウト値64で設定される時間がタイムアウトするまでの間、トラフィック情報としてトラフィックデータベース部65に保持する。トラフィックデータベース部65、およびタイムアウト値64は、制御モジュール50が備える図示しないメモリ上に構成される。
冗長構成制御部62は、非対称ルーティングの発生を検知する。冗長構成制御部62は、トラフィックデータベース部65に格納するトラフィック情報を待機時間61で設定されるタイミングで対向レイヤ3スイッチに送信する。すなわち、待機時間61は、対向レイヤ3スイッチ29にとってトラフィックデータベース部65に格納するトラフィック情報の取得間隔時間である。
待機時間61は、制御モジュール50が備える図示しないメモリ上に構成される。なお、待機時間61は、フラッディングを防止するために、MACエージングタイマ26より小さな値であることが望ましい。たとえば、待機時間61は、MACエージングタイマ26の8割程度の大きさである。また、待機時間61は、MACエージングタイマ26の設定変更があった場合に、MACエージングタイマ26の8割程度の大きさとして、あるいは所定の差分だけ小さな値として、MACエージングタイマ26の設定変更に連動して更新されることが望ましい。
冗長構成制御部62は、対向レイヤ3スイッチ29からも対向レイヤ3スイッチ29が収集したトラフィック情報を受信する。冗長構成制御部62は、トラフィックデータベース部65が保持するトラフィック情報と、対向レイヤ3スイッチ29から取得したトラフィック情報とから非対称ルーティングの発生を検知する。
冗長構成制御部62は、非対称ルーティングの発生を検知すると、非対称ルーティングを解消するため、L3SW設定情報51を更新する。具体的には、冗長構成制御部62は、非対称ルーティングの発生を検知したVLANに対するマスタ権のプライオリティを変更する。プライオリティの変更を受けて、ルーティング制御部53は、VRRPにより対向レイヤ3スイッチ29との間で、マスタ権の更新をおこなう。非対称ルーティングの発生の検知、および非対称ルーティングの解消の詳細については、後で詳述する。
これにより、レイヤ3スイッチ20は、非対称ルーティングの発生の検知と、非対称ルーティングの解消をおこなうことができる。したがって、レイヤ3スイッチ20は、非対称ルーティングの解消によりユニキャストフラッディングの発生を防止できる。
次に、抑制制御部60ハードウェア構成について図11を用いて説明する。図11は、第2の実施形態の抑制制御部のハードウェア構成例を示す図である。
抑制制御部60は、プロセッサ601、ワークメモリ602、不揮発性メモリ603、入出力インタフェース604、バス605を備える。抑制制御部60は、プロセッサ601によって装置全体が制御されている。プロセッサ601には、バス605を介して複数の周辺機器が接続されている。プロセッサ601は、マルチプロセッサであってもよい。プロセッサ601は、たとえばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ601は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
ワークメモリ602は、たとえばRAM(Random Access Memory)であって、抑制制御部60の主記憶装置として使用される。ワークメモリ602には、プロセッサ601に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ワークメモリ602には、プロセッサ601による処理に必要な各種データが格納される。
不揮発性メモリ603は、抑制制御部60の電源遮断時において記憶内容を保持する。不揮発性メモリ603は、たとえば、EEPROM(Electrically Erasable Programmable Read-Only Memory)やフラッシュメモリなどの半導体記憶装置や、HDDなどである。また、不揮発性メモリ603は、抑制制御部60の補助記憶装置として使用される。不揮発性メモリ603には、OSのプログラムやファームウェア、アプリケーションプログラム、および各種データが格納される。また、不揮発性メモリ603は、トラフィックデータベース部65、タイムアウト値64、および待機時間61を格納する。
入出力インタフェース604は、ルーティング制御部53やインタフェース処理部71と接続する。プロセッサ601は、入出力インタフェース604を介してルーティング制御部53やインタフェース処理部71との間で情報の入出力をおこなうことができる。
なお、抑制制御部60は、図示しない機器接続インタフェースを設けてもよい。機器接続インタフェースは、抑制制御部60に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェースには、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、機器接続インタフェースとの通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなう装置である。メモリカードは、カード型の記録媒体である。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、ルーティング制御部53や、インタフェース処理部71も抑制制御部60と同様のハードウェアにより実現することができ、全体としてレイヤ3スイッチ20を実現することができる。第1の実施の形態に示した中継装置1も同様である。
抑制制御部60は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。抑制制御部60(コンピュータ)に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、抑制制御部60に実行させるプログラムを不揮発性メモリ603に格納しておくことができる。プロセッサ601は、不揮発性メモリ603内のプログラムの少なくとも一部をワークメモリ602にロードし、プログラムを実行する。また抑制制御部60に実行させるプログラムを、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ601からの制御により、不揮発性メモリ603にインストールされた後、実行可能となる。またプロセッサ601が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。また抑制制御部60に実行させるプログラムを、通信可能に接続された管理装置などの外部装置から送信することもできる。管理装置から受信したプログラムは、たとえばプロセッサ601からの制御により、不揮発性メモリ603にインストールされた後、実行可能となる。
次に、第2の実施形態のトラフィック監視処理について図12を用いて説明する。図12は、第2の実施形態のトラフィック監視処理のフローチャートを示す図である。
トラフィック監視処理は、インタフェース処理部71が処理するトラフィックを監視する処理である。トラフィック監視処理は、トラフィック監視部63がレイヤ3スイッチ20の稼働中に実行する処理である。
[ステップS11]トラフィック監視部63は、インタフェース処理部71へのトラフィックの流入を監視する。トラフィック監視部63は、インタフェース処理部71へのトラフィックの流入を検出するとステップS12にすすむ。
[ステップS12]トラフィック監視部63は、検出したトラフィックのうちからトラフィック情報を取得する。
[ステップS13]トラフィック監視部63は、取得したトラフィック情報をトラフィックデータベース部65に格納して、ステップS11にすすむ。
これにより、レイヤ3スイッチ20は、レイヤ3スイッチ20の稼働中のトラフィック情報をトラフィックデータベース部65に保持することができる。
次に、第2の実施形態のトラフィック情報転送処理について図13を用いて説明する。図13は、第2の実施形態のトラフィック情報転送処理のフローチャートを示す図である。
トラフィック情報転送処理は、トラフィックデータベース部65が保持するトラフィック情報を対向レイヤ3スイッチ29に向けて送信する処理である。トラフィック情報転送処理は、冗長構成制御部62がレイヤ3スイッチ20の稼働中に実行する処理である。
[ステップS21]冗長構成制御部62は、トラフィックデータベース部65が保持するトラフィック情報を読み出す。
[ステップS22]冗長構成制御部62は、読み出したトラフィック情報の転送をルーティング制御部53に依頼する。ルーティング制御部53は、冗長構成制御部62からの依頼を受けて、対向レイヤ3スイッチ29にトラフィック情報を転送する。
[ステップS23]冗長構成制御部62は、待機時間61を取得する。
[ステップS24]冗長構成制御部62は、待機時間61が経過するまで待機した後、ステップS21にすすむ。すなわち、待機時間61は、レイヤ3スイッチ20にとってトラフィックデータベース部65に格納するトラフィック情報の取得間隔時間(読みだし間隔時間)である。
これにより、レイヤ3スイッチ20は、待機時間61ごとに、対向レイヤ3スイッチ29にトラフィック情報を転送できる。
次に、第2の実施形態のプライオリティ変更処理について図14を用いて説明する。図14は、第2の実施形態のプライオリティ変更処理のフローチャートを示す図である。
プライオリティ変更処理は、非対称ルーティングの発生を検知してプライオリティの変更をおこなう処理である。プライオリティ変更処理は、冗長構成制御部62がレイヤ3スイッチ20の稼働中に実行する処理である。
[ステップS31]冗長構成制御部62は、対向レイヤ3スイッチ29のトラフィック情報を取得する。対向レイヤ3スイッチ29のトラフィック情報は、対向レイヤ3スイッチ29からルーティング制御部53が一旦取得することから、冗長構成制御部62は、ルーティング制御部53を介して対向レイヤ3スイッチ29のトラフィック情報を取得することができる。
[ステップS32]冗長構成制御部62は、トラフィックデータベース部65が保持するトラフィック情報を取得する。
[ステップS33]冗長構成制御部62は、対向レイヤ3スイッチ29のトラフィック情報とトラフィックデータベース部65が保持するトラフィック情報とを比較する。冗長構成制御部62は、対向レイヤ3スイッチ29のトラフィック情報とトラフィックデータベース部65が保持するトラフィック情報とで、送信元と宛先が逆のトラフィックがあるか否かを判定する。冗長構成制御部62は、送信元と宛先が逆のトラフィックがある場合にステップS34にすすみ、送信元と宛先が逆のトラフィックがない場合にステップS40にすすむ。
ここで、通常時のトラフィック情報と、障害発生時のトラフィック情報について図15および図16を用いて説明する。まず、通常時のトラフィック情報について図15を用いて説明する。図15は、第2の実施形態の通常時のトラフィック情報の一例を示す図である。
L3SW#1トラフィック情報83は、レイヤ3スイッチ20のトラフィック情報の一例であり、L3SW#2トラフィック情報84は、対向レイヤ3スイッチ29のトラフィック情報の一例である。
通常時、すなわち非対称ルーティングが発生していない時、VLAN(10)に対する仮想レイヤ3スイッチのトラフィックは、上りトラフィックと下りトラフィックのいずれもがレイヤ3スイッチ20を通り、対向レイヤ3スイッチ29を通らない。したがって、L3SW#1トラフィック情報83は、上りトラフィックと下りトラフィックのトラフィック情報を有するが、L3SW#2トラフィック情報84は、上りトラフィックと下りトラフィックのいずれのトラフィック情報も有しない。
これにより、冗長構成制御部62は、L3SW#1トラフィック情報83にあるトラフィックと比較して、送信元と宛先が逆のトラフィックがL3SW#2トラフィック情報84にないことから、非対称ルーティングが発生していないと判定できる。
なお、トラフィック情報は、たとえば、L3SW#1トラフィック情報83のように、VRRP情報を含むものであってもよい。VRRP情報は、UpLinkの所属VLANおよびState情報と、DownLinkの所属VLANおよびState情報とを含む。UpLinkの所属VLANは、上位VLANの識別情報であり、UpLinkのState情報は、上位VLANに対するマスタ権の種別(Master(マスタ)、Backup(スレーブ))である。DownLinkの所属VLANは、下位VLANの識別情報であり、DownLinkのState情報は、下位VLANに対するマスタ権の種別である。
次に、障害発生時のトラフィック情報について図16を用いて説明する。図16は、第2の実施形態の障害発生時のトラフィック情報の一例を示す図である。
L3SW#1トラフィック情報85は、レイヤ3スイッチ20のトラフィック情報の一例であり、L3SW#2トラフィック情報86は、対向レイヤ3スイッチ29のトラフィック情報の一例である。
障害発生時、すなわち非対称ルーティングが発生している時、VLAN(10)に対する仮想レイヤ3スイッチのトラフィックは、下りトラフィックがレイヤ3スイッチ20を通り、上りトラフィックが対向レイヤ3スイッチ29を通る。したがって、L3SW#1トラフィック情報85は、下りトラフィックのトラフィック情報を有し、L3SW#2トラフィック情報86は、上りトラフィックのトラフィック情報を有する。
これにより、冗長構成制御部62は、L3SW#1トラフィック情報85にあるトラフィックと、送信元と宛先が逆のトラフィックがL3SW#2トラフィック情報86にあることから、非対称ルーティングが発生していると判定できる。
[ステップS34]冗長構成制御部62は、トラフィックデータベース部65が保持するトラフィック情報に非対称ルーティングフラグの状態を確認する。冗長構成制御部62は、トラフィックデータベース部65が保持するトラフィック情報に非対称ルーティングフラグがセットされていればステップS37にすすみ、非対称ルーティングフラグがリセット(クリア)されていればステップS35にすすむ。
非対称ルーティングフラグは、レイヤ3スイッチ20が非対称ルーティングの検出状態を示し、トラフィック情報に含まれる。非対称ルーティングフラグは、レイヤ3スイッチ20が非対称ルーティングを検出したときにセットされ、非対称ルーティングが解消したとされたときにリセットされる。たとえば、非対称ルーティングが検出されていないとき、非対称ルーティングフラグは、「無(リセット)」(L3SW#1トラフィック情報83参照)である。非対称ルーティングが検出されたとき、非対称ルーティングフラグは、「無」から「有(セット)」に更新される(L3SW#1トラフィック情報85参照)。
[ステップS35]冗長構成制御部62は、非対称ルーティングフラグをセットする。
[ステップS36]冗長構成制御部62は、UpLink側のVLANに対する仮想レイヤ3スイッチのマスタ権に対するプライオリティを設定値に変更する。設定値は、非対称ルーティングフラグがリセットされている状態で非対称ルーティングを検出した時に設定する値であり、非対称ルーティングが発生しているVLANに対する仮想レイヤ3スイッチのマスタ権を喪失する程度の、予め設定した値である。なお、冗長構成制御部62は、プライオリティの設定値への変更に代えて、プライオリティから設定値を減算するものであってもよい。
[ステップS37]冗長構成制御部62は、非対称ルーティングフラグをリセットする。
[ステップS38]冗長構成制御部62は、UpLink側のVLANに対する仮想レイヤ3スイッチのマスタ権に対するプライオリティをデフォルト値に変更する。デフォルト値は、非対称ルーティングフラグがセットされている状態で非対称ルーティングを検出した時に設定する値である。
[ステップS39]冗長構成制御部62は、待機時間61を取得する。
[ステップS40]冗長構成制御部62は、待機時間61が経過するまで待機した後、ステップS31にすすむ。
これにより、レイヤ3スイッチ20は、非対称ルーティングの発生の検知と、検知時の状態に応じたプライオリティの変更をおこなうことができる。
次に、第2の実施形態のマスタ権更新処理について図17を用いて説明する。図17は、第2の実施形態のマスタ権更新処理のフローチャートを示す図である。
マスタ権更新処理は、マスタ権を更新する処理である。マスタ権更新処理は、プライオリティ変更処理におけるプライオリティの変更にもとづいてルーティング制御部53が実行する処理である。なお、マスタ権更新処理は、所定時間ごとに実行されるものであってもよい。
[ステップS41]ルーティング制御部53は、VRRPのメッセージを生成し、対向レイヤ3スイッチ29に通知する。VRRPのメッセージは、プライオリティ変更処理において変更したプライオリティを含む。
[ステップS42]ルーティング制御部53は、VRRPにしたがい対向レイヤ3スイッチ29との間でマスタ権の更新をおこなう。
次に、第2の実施形態のトラフィック情報タイムアウト監視処理について図18を用いて説明する。図18は、第2の実施形態のトラフィック情報タイムアウト監視処理のフローチャートを示す図である。
トラフィック情報タイムアウト監視処理は、トラフィックデータベース部65に格納したトラフィック情報のタイムアウトを監視する処理である。トラフィック情報タイムアウト監視処理は、トラフィック監視部63がレイヤ3スイッチ20の稼働中に実行する処理である。
[ステップS51]トラフィック監視部63は、タイムアウト値64を取得する。
[ステップS52]トラフィック監視部63は、トラフィックデータベース部65への格納からタイムアウト値64だけ時間経過(タイムアウト)したトラフィック情報の有無を判定する。トラフィック監視部63は、タイムアウトしたトラフィック情報がある場合にステップS53にすすむ。
なお、トラフィックデータベース部65は、トラフィック情報の格納時にトラフィック情報と併せてトラフィック情報の格納時間を保持することで、トラフィック監視部63は、トラフィック情報のタイムアウトを判定できる。
[ステップS53]トラフィック監視部63は、トラフィックデータベース部65からタイムアウトしたトラフィック情報を削除する。
これにより、トラフィックデータベース部65は、タイムアウト値64の時間分の最新のトラフィック情報を保持することができる。すなわち、タイムアウト値64は、レイヤ3スイッチ20にとって冗長構成制御部62が取得するトラフィック情報の取得対象を決定する時間(取得対象時間)である。
ここで、レイヤ3スイッチ20がおこなう非対称ルーティングの発生の検知と、検知時の状態に応じたプライオリティの変更について、図8および図9に示した障害発生例に適用して説明する。図8および図9に示した障害が発生すると、レイヤ3スイッチ20cは、トラフィック監視処理によりL3SW#1トラフィック情報85をトラフィックデータベース部65に保持する。レイヤ3スイッチ20cは、トラフィック情報転送処理によりL3SW#1トラフィック情報85をレイヤ3スイッチ20d(対向レイヤ3スイッチ29)に通知するとともに、レイヤ3スイッチ20dよりL3SW#2トラフィック情報86を取得する。レイヤ3スイッチ20cは、プライオリティ変更処理により、VLAN(10)に対する非対称ルーティングの発生を検知し、非対称ルーティングフラグをセット(L3SW#1トラフィック情報85参照)する。レイヤ3スイッチ20cは、VLAN(20)に対する仮想レイヤ3スイッチのマスタ権に対するプライオリティを変更する。非対称ルーティングは、VLAN(20)に対する仮想レイヤ3スイッチのマスタ権に対するプライオリティの変更により解消する。
非対称ルーティングの解消について、図19を用いて説明する。図19は、第2の実施形態のネットワークシステムの障害対処時の通信パスの一例を示す図である。
レイヤ3スイッチ20cは、VLAN(20)に対する仮想レイヤ3スイッチのマスタ権に対するプライオリティを「150」から「90」に変更する。レイヤ3スイッチ20cは、変更後のプライオリティ「90」を含むVRRPパケット55をレイヤ3スイッチ20dに通知する。レイヤ3スイッチ20cとレイヤ3スイッチ20dは、VRRPによりVLAN(20)に対する仮想レイヤ3スイッチのマスタ権をレイヤ3スイッチ20cからレイヤ3スイッチ20dに引き継ぐ。
なお、VLAN(20)に対する仮想レイヤ3スイッチは、マスタ権の変更により、サーバ11からクライアント12への通信は、通信パス37を経由し、クライアント12からサーバ11への通信は、通信パス38を経由する。
この障害対処時の、レイヤ3スイッチのルーティングについて図20を用いて説明する。図20は、第2の実施形態のレイヤ3スイッチの障害対処時のルーティングの一例を示す図である。図20に示すレイヤ3スイッチ20c,20dは、図19に示すネットワークシステム10のレイヤ3スイッチ20c,20dであり、非対称ルーティングを解消した状態である。
VLAN(20)に対する仮想レイヤ3スイッチのマスタ権の引継により、レイヤ3スイッチ20cは、VLAN(10)およびVLAN(20)に対してスレーブである。また、レイヤ3スイッチ20dは、VLAN(10)およびVLAN(20)に対してマスタである。
このとき、VLAN(20)からVLAN(10)への通信パス371およびVLAN(10)からVLAN(20)への通信パス381は、いずれもレイヤ3スイッチ20dのルーティング部23を通る。このように、レイヤ3スイッチ20は、非対称ルーティングを解消する。したがって、レイヤ3スイッチ20は、非対称ルーティングの解消によりユニキャストフラッディングの発生を防止できる。
次に、第2の実施形態のネットワークシステムの障害復旧時の通信パスについて図21を用いて説明する。図21は、第2の実施形態のネットワークシステムの障害復旧時の通信パスの一例を示す図である。
図8および図9に示した障害発生が復旧すると、レイヤ3スイッチ20cは、障害原因が除去されたことから、VLAN(10)に対する仮想レイヤ3スイッチのマスタ権に対するプライオリティを「90」(障害発生時)から「150」(通常時)に戻す。
これにより、レイヤ3スイッチ20cは、VLAN(10)に対する仮想レイヤ3スイッチのマスタ権を得る。一方、レイヤ3スイッチ20dは、VLAN(20)に対する仮想レイヤ3スイッチのマスタ権を得ていることから、ネットワークシステム10は、VLAN(10)に対して再び非対称ルーティングが発生する。
次に、第2の実施形態のレイヤ3スイッチの障害復旧時のルーティングについて図22を用いて説明する。図22は、第2の実施形態のレイヤ3スイッチの障害復旧時のルーティングの一例を示す図である。図22に示すレイヤ3スイッチ20c,20dは、図21に示すネットワークシステム10のレイヤ3スイッチ20c,20dであり、非対称ルーティングが発生している状態である。
障害原因が除去された後、レイヤ3スイッチ20cは、VLAN(10)に対してマスタであっても、VLAN(20)に対してスレーブである。このとき、VLAN(20)からVLAN(10)への通信パス401は、レイヤ3スイッチ20dのルーティング部23を通る。VLAN(10)からVLAN(20)への通信パス391は、VLAN(10)に対してマスタのレイヤ3スイッチ20cのルーティング部23を通る。
このときのレイヤ3スイッチ20cおよびレイヤ3スイッチ20dのトラフィック情報について、図23を用いて説明する。図23は、第2の実施形態の障害復旧時のトラフィック情報の一例を示す図である。
図21および図22に示した障害原因が除去された後の非対称ルーティングが発生すると、レイヤ3スイッチ20cは、トラフィック監視処理によりL3SW#1トラフィック情報87をトラフィックデータベース部65に保持する。レイヤ3スイッチ20cは、トラフィック情報転送処理によりL3SW#1トラフィック情報87をレイヤ3スイッチ20d(対向レイヤ3スイッチ29)に通知するとともに、レイヤ3スイッチ20dよりL3SW#2トラフィック情報88を取得する。レイヤ3スイッチ20cは、プライオリティ変更処理により、VLAN(10)に対する非対称ルーティングの発生を検知し、非対称ルーティングフラグをリセット(L3SW#1トラフィック情報87参照)する。レイヤ3スイッチ20cは、VLAN(20)に対する仮想レイヤ3スイッチのマスタ権に対するプライオリティをデフォルト値に戻す。非対称ルーティングは、VLAN(20)に対する仮想レイヤ3スイッチのマスタ権に対するプライオリティの変更により解消する。
通常状態復帰(障害原因除去後の非対称ルーティングの解消)について、図24を用いて説明する。図24は、第2の実施形態のネットワークシステムの通常状態復帰時の通信パスの一例を示す図である。
レイヤ3スイッチ20cは、VLAN(20)に対する仮想レイヤ3スイッチのマスタ権に対するプライオリティを「90」から「150(デフォルト値)」に変更する。レイヤ3スイッチ20cは、変更後のプライオリティ「150」を含むVRRPパケット56をレイヤ3スイッチ20dに通知する。レイヤ3スイッチ20cとレイヤ3スイッチ20dは、VRRPによりVLAN(20)に対する仮想レイヤ3スイッチのマスタ権をレイヤ3スイッチ20dからレイヤ3スイッチ20cに引き継ぐ。
なお、VLAN(20)に対する仮想レイヤ3スイッチは、マスタ権の変更により、サーバ11からクライアント12への通信は、通信パス41を経由し、クライアント12からサーバ11への通信は、通信パス42を経由する。
この通常状態復帰時の、レイヤ3スイッチのルーティングについて図25を用いて説明する。図25は、第2の実施形態のレイヤ3スイッチの通常状態復帰時のルーティングの一例を示す図である。図25に示すレイヤ3スイッチ20c,20dは、図24に示すネットワークシステム10のレイヤ3スイッチ20c,20dであり、非対称ルーティングを解消した状態である。
VLAN(20)に対する仮想レイヤ3スイッチのマスタ権の引継により、レイヤ3スイッチ20cは、VLAN(10)およびVLAN(20)に対してマスタである。また、レイヤ3スイッチ20dは、VLAN(10)およびVLAN(20)に対してスレーブである。
このとき、VLAN(20)からVLAN(10)への通信パス411およびVLAN(10)からVLAN(20)への通信パス421は、いずれもレイヤ3スイッチ20cのルーティング部23を通る。このように、レイヤ3スイッチ20は、非対称ルーティングを解消して通常状態に復帰する。したがって、レイヤ3スイッチ20は、障害発生時だけでなく障害復旧時の非対称ルーティングも解消することによりユニキャストフラッディングの発生を防止できる。
以上、中継装置1、レイヤ3スイッチ20を例示して説明したが、その他の情報処理装置においても適用可能である。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、中継装置1、レイヤ3スイッチ20が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。