JP2016103784A - 監視装置、監視プログラムおよび監視方法 - Google Patents
監視装置、監視プログラムおよび監視方法 Download PDFInfo
- Publication number
- JP2016103784A JP2016103784A JP2014242011A JP2014242011A JP2016103784A JP 2016103784 A JP2016103784 A JP 2016103784A JP 2014242011 A JP2014242011 A JP 2014242011A JP 2014242011 A JP2014242011 A JP 2014242011A JP 2016103784 A JP2016103784 A JP 2016103784A
- Authority
- JP
- Japan
- Prior art keywords
- link
- physical link
- physical
- packet
- monitoring
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
【課題】リンクアグリゲーション区間における振り分けルールの変更を把握すること。【解決手段】記憶部11は、パケットに含まれるアドレスの所定の関数により算出される算出値と物理リンクL1,L2,L3,L4のうちパケットが出力される物理リンクとの対応を示す振り分けテーブルT1を記憶する。演算部12は、収集したパケットの算出値のうち所定期間以上取得が途絶えた算出値の組が振り分けテーブルT1に記憶された物理リンクに対応する算出値の組として存在する場合に、リンクアグリゲーション区間における振り分けテーブルT1が変更されると判定する。【選択図】図1
Description
本発明は監視装置、監視プログラムおよび監視方法に関する。
情報処理システムでは、クライアントコンピュータやサーバコンピュータなどの種々の情報処理装置がネットワークを介して接続され、データ通信を行う。ネットワークは、複数の中継装置を含む。例えば、ある中継装置のポートと他の中継装置のポートとを所定のケーブルで接続することで通信路(物理リンク)が形成される。中継装置は、転送対象のパケットに含まれるアドレスに基づいて、当該パケットを送出するポートを選択する。アドレスとして、例えばOSI(Open Systems Interconnection)参照モデルの第2層では、MAC(Media Access Control)アドレスが用いられる。同第3層ではIP(Internet Protocol)アドレスが用いられる。
また、中継装置間の通信品質を向上させる方法として、リンクアグリゲーションと呼ばれる技術が知られている。リンクアグリゲーションは、2つの中継装置の間に物理リンクを複数設け、複数の物理リンクを束ねて1つの論理リンクを形成する技術である。リンクアグリゲーションを用いることで、1つの物理リンクよりも高速な通信路を実現できる。また、複数の物理リンクを同時に使用できるため、一部の物理リンクが故障しても通信路が完全に切断されることを防止し、可用性を向上できる。
リンクアグリゲーションでは、中継装置においてパケットに含まれるアドレスに基づくハッシュ計算を行い、計算されたハッシュ値から出力先の物理リンクを決定することが多い。ある送信元端末から宛先端末に送信される情報列を1つの物理リンク上で伝送させることで、情報列の順序逆転を防ぐためである。
ところで、情報処理システムでは、通信品質の監視が行われることがある。例えば、複数の物理リンクを含むリンクアグリゲーショングループが構成されているときに、Eth−LT(Ethernet-Link Trace、Ethernetは登録商標)と呼ばれる機能を用いて、特定のユーザの通信に対する伝送品質を監視可能にする提案がある。この提案では、ユーザMACフレーム中のMACヘッダ情報や伝送品質を監視するための伝送品質監視フレーム中のMACヘッダ情報を、Eth−LTのLTM(Link Trace Message)に追加する。LTMを受信したレイヤ2スイッチは、リンクアグリゲーショングループに属する何れかの物理リンクへLTMを送出する際、LTMに含まれるユーザMACフレームのMACヘッダ情報により送出先の物理リンクを決定する。レイヤ2スイッチは、決定した送出先と同じ物理リンクに伝送品質監視フレームが送出されるよう負荷分散ルールを追加設定する。更に、レイヤ2スイッチは、決定した送出先の物理リンクの識別子を、LTMに対する応答であるLTR(Link Trace Reply)に追加して、LTMの送信元に応答する。
任意の中継装置が転送するパケットを監視装置により収集し、収集したパケットに基づいて、ネットワークにおけるパケットロスなどの通信品質の劣化有無を監視することが考えられる。情報の収集ポイントを局所化することで、各中継装置から監視用の情報を個別に収集するよりも、ネットワーク監視を効率的に行えるためである。
ネットワーク内にリンクアグリゲーショングループにより接続された2つの中継装置間(以降リンクアグリゲーション区間とする)がある場合、リンクアグリゲーション区間における物理リンク毎の通信品質を、収集したパケットに基づいて監視することが考えられる。例えば、物理リンクに対するハッシュ値の振り分けルールの情報を監視装置に格納しておく。監視装置は、品質劣化のある通信のパケットから計算されるハッシュ値が、振り分けルール内のある物理リンクに対応するハッシュ値のみである場合、当該物理リンクで通信品質の劣化が生じている可能性があると判定できる。
ところが、実際に利用される振り分けルールが常に同じとは限らない。中継装置には物理リンクに対するハッシュ値の振り分けルールを変更するものもある。ルールが変更されるタイミングとしては、例えばリンクアグリゲーション区間の何れかの物理リンクが障害により利用不能となったタイミングや、障害から回復した物理リンクでの通信が再開されたタイミングが挙げられる。
振り分けルールが変更されているにも関わらず変更前のルールを用いて監視を行ってしまうと、何れの物理リンクで通信品質の劣化が生じているかについて適正な判断を行えない。そこで、収集したパケットからリンクアグリゲーション区間における振り分けルールの変更を把握する方法が問題となる。
また、振り分けルールの変更方法は、中継装置のベンダに応じて異なる。このため、監視対象のスイッチ毎に、ハッシュ値と出力先の物理リンクとの対応関係の情報の作成および監視装置への入力をユーザに強いると、ユーザの作業負担が増大するおそれがある。
1つの側面では、本発明は、リンクアグリゲーション区間における振り分けルールの変更を把握できる監視装置、監視プログラムおよび監視方法を提供することを目的とする。
また、1つの側面では、本発明は、ユーザによる監視のための設定作業を支援できる監視装置を提供することを目的とする。
また、1つの側面では、本発明は、ユーザによる監視のための設定作業を支援できる監視装置を提供することを目的とする。
1つの態様では、2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置が提供される。この監視装置は、記憶部と演算部とを有する。記憶部は、パケットに含まれるアドレスの所定の関数により算出される算出値と複数の物理リンクのうちパケットが出力される物理リンクとの対応を示す対応情報を記憶する。演算部は、収集したパケットの算出値のうち所定期間以上取得が途絶えた算出値の組が対応情報に記憶された物理リンクに対応する算出値の組として存在する場合に、リンクアグリゲーション区間における対応情報が変更されると判定する。
また、1つの態様では、2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置が提供される。この監視装置は、記憶部と演算部とを有する。記憶部は、パケットに含まれるアドレスの所定の関数により算出される算出値と複数の物理リンクのうちパケットが出力される物理リンクとの対応を示す対応情報を記憶する。演算部は、収集したパケットの算出値のうち一時的に取得が途絶えた算出値の組が対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合に、リンクアグリゲーション区間における対応情報が変更されたと判定する。
また、1つの態様では、2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置が提供される。この監視装置は、記憶部と演算部とを有する。記憶部は、パケットに含まれるアドレスの所定の関数により算出される算出値と複数の物理リンクのうちパケットが出力される物理リンクとの対応を示す第1の対応情報と、物理リンクが障害から復旧した後に使用される復旧後の第2の対応情報とを、中継装置のベンダの識別情報に対応付けて記憶する。演算部は、何れかのベンダの識別情報の入力を受け付け、入力されたベンダの識別情報に対応する第1および第2の対応情報と、収集したパケットの算出値とに基づいて、複数の物理リンクそれぞれの通信品質を監視する。
1つの側面では、リンクアグリゲーション区間における振り分けルールの変更を把握できる。また、1つの側面では、ユーザによる監視のための設定作業を支援できる。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の監視装置を示す図である。監視装置10は、中継装置20,20a,20b,20cにより形成されるネットワークの通信品質を監視する。中継装置20,20a,20b,20cは、例えばレイヤ2スイッチまたはレイヤ3スイッチである。監視装置10は、中継装置20と接続されている。監視装置10は、ネットワークで転送されるパケットを中継装置20から収集する。監視装置10は、収集したパケットに基づいてネットワークの通信品質の監視を行う。
[第1の実施の形態]
図1は、第1の実施の形態の監視装置を示す図である。監視装置10は、中継装置20,20a,20b,20cにより形成されるネットワークの通信品質を監視する。中継装置20,20a,20b,20cは、例えばレイヤ2スイッチまたはレイヤ3スイッチである。監視装置10は、中継装置20と接続されている。監視装置10は、ネットワークで転送されるパケットを中継装置20から収集する。監視装置10は、収集したパケットに基づいてネットワークの通信品質の監視を行う。
中継装置20,20aは1本のケーブル(例えば、TP(Twisted Pair)ケーブルや光ケーブルなど)で接続されている。すなわち、中継装置20,20aの間には1つの物理リンクが存在する。中継装置20a,20bは4本のケーブルで接続されている。すなわち、中継装置20a,20bの間には4つの物理リンクL1,L2,L3,L4が存在する。中継装置20b,20cは1本のケーブルで接続されている。すなわち、中継装置20a,20bの間には1つの物理リンクが存在する。
中継装置20は、監視装置10および端末装置30,30a,30bと接続されている。中継装置20cは、端末装置40,40a,40bと接続されている。端末装置30,30a,30b,40,40a,40bは、例えばクライアントコンピュータやサーバコンピュータである。端末装置30,30a,30b,40,40a,40bは、中継装置20,20a,20b,20cを介して通信可能である。
中継装置20a,20bは、リンクアグリゲーションの技術により、物理リンクL1,L2,L3,L4を1つに束ね、1つの論理リンクとして扱う。リンクアグリゲーションは、IEEE(Institute of Electrical and Electronics Engineers)802.1axで規定されている。1つに束ねられた物理リンクL1,L2,L3,L4のグループを、リンクアグリゲーショングループ(LAG:Link Aggregation Group)と呼ぶことがある。LAGが存在する中継装置20a,20bの間の区間を、リンクアグリゲーション区間と呼ぶことができる。物理リンクL1,L2,L3,L4では、障害によるリンクダウンおよび中継装置20a,20bによるダウンからの自動復旧が発生することがある。中継装置20a,20bは、リンクアグリゲーション制御プロトコル(LACP:Link Aggregation Control Protocol)を用いて相互に通信し、一部の物理リンクで障害が発生した際のダウンした物理リンクのハッシュ値を別の正常な物理リンクに振り分ける。また、中継装置20a,20bは、リンク障害から復旧した際に、復旧した物理リンクへハッシュ値の再振り分けを行う。
中継装置20a,20bは、端末装置間で送受信されるパケットを、物理リンクL1,L2,L3,L4の何れを用いて転送するかを、パケットに含まれるアドレスから計算されるハッシュ値に基づいて決定する。中継装置20a,20bは、所定のハッシュ化アルゴリズム(ハッシュ関数ということもある)により、送信元アドレスおよび宛先アドレスの1つの組に対して1つのハッシュ値を計算する。中継装置20a,20bは、ハッシュ計算用のアドレスとして、IPアドレスを用いる。ハッシュ計算用のアドレスとしてMACアドレスを用いてもよい。
例えば、中継装置20a,20bは、物理リンクL1,L2,L3,L4の全てがアクティブな状態では、8種類のハッシュ値(0,1,2,3,4,5,6,7)を物理リンクL1,L2,L3,L4に2種類ずつ均等に振り分ける。物理リンクとハッシュ値との対応関係は1対多(本例の場合、1対2)である。例えば、物理リンクL1には、ハッシュ値の組(0,4)が振り分けられる。物理リンクL2には、ハッシュ値の組(1,5)が振り分けられる。物理リンクL3には、ハッシュ値の組(2,3)が振り分けられる。物理リンクL4には、ハッシュ値の組(6,7)が振り分けられる。
中継装置20a,20bは、物理リンクL1,L2,L3,L4の一部の物理リンクで障害が発生すると、物理リンクとハッシュ値との対応関係を変更する。具体的には、障害により物理リンクがダウンした場合、障害の発生した物理リンクに振り分けていた2つのハッシュ値を、別の正常な物理リンクに振り分け直す。また、ダウンした物理リンクが復旧した場合、何れか2つのハッシュ値を、回復した物理リンクに振り分け直し、各物理リンクに対するハッシュ値の数を均等にする。
監視装置10は、中継装置20から収集したパケットに基づいて、リンクアグリゲーション区間における物理リンクとハッシュ値との対応関係の変更を、次のように判定する。監視装置10は、記憶部11および演算部12を有する。
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。演算部12はプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
記憶部11は、振り分けテーブルT1を記憶する。振り分けテーブルT1は、パケットに含まれるアドレスと物理リンクL1,L2,L3,L4のうちパケットが出力される物理リンクとの対応を示す対応情報である。振り分けテーブルT1は、物理リンクとアドレスから計算されるハッシュ値との1対多の対応関係を示す。振り分けテーブルT1は、物理リンクとハッシュ値の組との次の対応関係の情報を含む。第1には、物理リンクL1とハッシュ値の組(0,4)との対応である。第2には、物理リンクL2とハッシュ値の組(1,5)との対応である。第3には、物理リンクL3とハッシュ値の組(2,3)との対応である。第4には、物理リンクL4とハッシュ値の組(6,7)との対応である。
記憶部11は、中継装置20,20a,20b,20cの間に存在する物理リンクの情報(物理トポロジの情報)を予め記憶する。例えば、演算部12は、LLDP(Link Layer Discovery Protocol)やCDP(Cisco Discovery Protocol、CISCOは登録商標)に関する情報を中継装置20,20a,20b,20cから収集し、物理トポロジやリンクアグリゲーション区間の有無などを把握することもできる。
演算部12は、ネットワークで転送されるパケットを中継装置20から継続的に収集する。演算部12は、中継装置20のポートミラーリング機能を利用してパケットを収集できる。具体的には、中継装置20は、中継装置20aと接続されたポートを経由するパケットを複製して、監視装置10と接続されたポートからも継続的に送出する。演算部12は、監視装置10に到達したパケットを収集する。
演算部12は、収集したパケットに応じたハッシュ値を取得する。演算部12は、中継装置20a,20bが用いるハッシュ化アルゴリズムと同じハッシュ化アルゴリズムを用いて、パケットに含まれる送信元アドレスおよび宛先アドレスの組に応じたハッシュ値を計算する。演算部12は、パケットを収集した時刻毎に、収集されたパケットに応じたハッシュ値を取得する。
演算部12は、所定長さtの期間以上、取得が途絶えたハッシュ値の第1の組を特定する。第1の組に属するハッシュ値に対応する通信は、当該期間の直前の時点まではパケットの転送が行われていたが、当該期間以上パケットの転送が途絶えたことになる。演算部12は、記憶部11を参照して、物理リンクL1,L2,L3,L4それぞれに対応するハッシュ値の組のうち、第1の組と完全に一致する組を検索する。演算部12は、第1の組と一致する組がある場合、リンクアグリゲーション区間における対応関係が変更されると判定する。
ここで、中継装置20a,20bは、何れかの物理リンクが障害でダウンすると、ある期間(待機期間)だけ待機した後に、ダウンした物理リンクを経由するパケットが、他の正常な物理リンクを経由して転送されるよう制御する。すると、中継装置20a,20bでは、振り分けテーブルT1とは異なる振り分けルールが用いられることになる。監視装置10は、収集したパケットから何れかの物理リンクのリンクダウンの可能性を検出することで、リンクアグリゲーション区間における振り分けルールが変更されることを検出する。
中継装置20a,20bによる待機期間の長さは、例えば、1秒から数秒程度であり、中継装置のベンダ(製品を販売する事業者)などによって異なる。中継装置20a,20bが待機期間だけ待機してから正常な物理リンクへ切り替える理由は、中継装置20a,20bによって転送されるパケットの順序逆転を抑えるためである。
長さtは、中継装置20a,20bによる待機期間の長さに応じて決定される。具体的には、長さtは待機期間と同じ長さとすることができる。ただし、長さtは、待機期間の長さとは異なっていてもよい(例えば、待機期間よりも所定割合だけ短い長さとするなど)。
例えば、演算部12は、収集したパケットに基づいて、長さtの期間以上取得が途絶えたハッシュ値の第1の組として、ハッシュ値の組(0,4)を特定する。
演算部12は、記憶部11に記憶された振り分けテーブルT1を参照して、第1の組(0,4)と完全に一致するハッシュ値の組(0,4)を検索する。振り分けテーブルT1には、第1の組と一致する組(0,4)が存在する。この場合、ハッシュ値の組(0,4)に対応付けられた物理リンクL1でリンクダウンが発生している可能性が高い。
演算部12は、記憶部11に記憶された振り分けテーブルT1を参照して、第1の組(0,4)と完全に一致するハッシュ値の組(0,4)を検索する。振り分けテーブルT1には、第1の組と一致する組(0,4)が存在する。この場合、ハッシュ値の組(0,4)に対応付けられた物理リンクL1でリンクダウンが発生している可能性が高い。
したがって、演算部12は、リンクアグリゲーション区間において、物理リンクとハッシュ値との対応関係が変更される(振り分けテーブルT1で示されるルールとは異なる振り分けルールに変更される)と判定する。これにより、リンクアグリゲーション区間において振り分けルールが変更されることを適切に把握可能となる。
その後は、振り分けルールの変更に応じた監視が可能である。具体的には、上記の例において、物理リンクL1のリンクダウンが検出された場合に備えて、リンク回復後に用いられる回復後の振り分けルールを記憶部11に予め格納しておいてもよい。すると、演算部12は、通信品質の劣化が観測されたときに、回復後の振り分けルールを参照して、リンクアグリゲーション区間の何れの物理リンクでの品質劣化であるか否かを判別できる。
図2は、第1の実施の形態のリンクダウン後の監視例を示す図である。例えば、物理リンクL1のリンクダウン中は、物理リンクL1に振り分けられていたハッシュ値“4”は物理リンクL3に、同ハッシュ値“0”は物理リンクL4に振り分けられる(図2の(2A))。その後、中継装置20a,20bの自動復旧機能により、物理リンクL1が障害から回復する。
物理リンクL1が障害から回復すると、物理リンクL2,L3,L4に振り分けられているハッシュ値のうちの何れか2つが物理リンクL1に振り分けられるようになる。例えば、物理リンクL1にハッシュ値の組(0,2)が振り分けられる。物理リンクL2にハッシュ値の組(1,5)が振り分けられる。物理リンクL3にハッシュ値の組(3,4)が振り分けられる。物理リンクL3にハッシュ値の組(6,7)が振り分けられる。
そこで、例えば振り分けテーブルT1に対応付けて、物理リンクL1,L2,L3,L4それぞれが障害によりダウンし、障害から回復したときの、回復後の振り分けテーブルT2を記憶部11に予め格納しておくことができる。回復後の振り分けテーブルT2は、例えば中継装置20a,20bを用いた事前の動作検証などによって得ることができる。例えば、物理リンクL1の回復後の振り分けテーブルT2は、各物理リンクとハッシュ値の組とを次のように対応付けている。第1には物理リンクL1とハッシュ値の組(0,2)との対応である。第2には物理リンクL2とハッシュ値の組(1,5)との対応である。第3には、物理リンクL3とハッシュ値の組(3,4)との対応である。第4には、物理リンクL4とハッシュ値の組(6,7)との対応である。
その後、演算部12は、収集したパケットからハッシュ値“0”、“2”の通信で品質劣化が発生したことを検出する(図2の(2B))。ここで、通信の品質劣化は、例えば、送受信されたパケット数に対して損失されたパケット数の割合(パケットの損失率)が閾値以上であるか否かの判定により検出できる。パケットの損失率が閾値以上であれば、品質劣化が生じており、パケットの損失率が閾値未満であれば品質劣化が生じていない。
すると、演算部12は、記憶部11に記憶された回復後の振り分けテーブルT2を参照して、ハッシュ値の組(0,2)を検索する。前述のように、回復後の振り分けテーブルT2では、ハッシュ値の組(0,2)は物理リンクL1に対応付けられている。したがって、演算部12は、リンクアグリゲーション区間における物理リンクL1で品質劣化が生じている可能性があることを検出できる。
例えば、演算部12は、システムの管理者に検出結果を通知することで、管理者による通信品質の劣化箇所の特定作業を支援できる。通知方法としては、例えばシステムの管理者が利用するアカウント宛に通知用のメッセージを送信する、監視装置10に接続された表示装置に通知用のメッセージや画像を表示する、などの方法を利用できる。すると、システムの管理者は、通知内容を閲覧して、中継装置20a,20bを調査し、通信品質の改善作業を行える。
図3は、第1の実施の形態の監視例を示すフローチャートである。以下、図3に示す処理をステップ番号に沿って説明する。ステップS11の直前において、監視装置10で監視用に適用されている振り分けテーブルは、振り分けテーブルT1である。また、回復後の振り分けテーブルT2も予め記憶部11に格納される。
(S11)演算部12は、中継装置20a,20bの間のリンクアグリゲーション区間を流れるパケットの収集を行う。例えば、演算部12は、中継装置20(他の中継装置でもよい)のポートミラーリング機能を利用して、パケットを収集する。収集期間は、例えば1分間(2分間や5分間など他の長さでもよい)である。演算部12は、収集した各パケットを取得した時間に対応付けて記憶部11に格納する。
(S12)演算部12は、ステップS11で収集したパケットに基づいてハッシュ値を取得する。具体的には、演算部12は、パケットに含まれる送信元IPアドレス(一部の値でもよい)および宛先IPアドレス(一部の値でもよい)の組をハッシュ関数に代入することで、ハッシュ値を求める。その結果、演算部12は、各時点のパケットに対応するハッシュ値を時系列に取得する。
(S13)演算部12は、ステップS12のハッシュ値の取得結果に基づいて、複数のハッシュ値の観測が所定期間以上途絶したか否かを判定する。複数のハッシュ値の観測が所定期間(長さt)以上途絶した場合、処理をステップS14に進める。複数のハッシュ値の観測が所定期間以上途絶していない場合、処理を終了する。複数のハッシュ値の観測が所定期間以上途絶している場合、何れかの物理リンクで障害が発生した可能性がある。
(S14)演算部12は、長さtの所定期間以上途絶されたパケットのハッシュ値の組が何れかの物理リンクに対応するハッシュ値の組として振り分けテーブルT1にあるか否かを判定する。ある場合、処理をステップS15に進める。ない場合、処理を終了する。例えば、所定期間以上観測が途絶したハッシュ値の組が(0,4)である場合、演算部12は、振り分けテーブルT1には、物理リンクL1に対応する当該ハッシュ値の組(0,4)があると判定する。
(S15)演算部12は、リンクアグリゲーション区間の物理リンクの障害により、振り分けテーブルT1が変更されると判定する。例えば、所定期間以上観測が途絶したハッシュ値の組が(0,4)である場合、演算部12は、振り分けテーブルT1から、ハッシュ値の組(0,4)に対応する物理リンクL1で障害が発生したと判定する。演算部12は、物理リンクL1の障害に対する回復後の振り分けテーブルT2を特定する。
(S16)演算部12は、通信品質の監視に用いる振り分けテーブルを、振り分けテーブルT1から振り分けテーブルT2に変更する。変更のタイミングは、ステップS15で物理リンクでの障害を検出してから、一定期間(例えば、中継装置20a,20b間で物理リンク障害の自動復旧が完了すると予測される時間)を経過した後でもよい。
このようにして、監視装置10は、上記の手順を繰り返し実行することで、リンクアグリゲーション区間における振り分けテーブルの変更の有無を判定する。また、監視装置10は、通信品質の監視に用いる振り分けテーブルの変更を行うことで、リンクアグリゲーション区間における通信品質を適切に監視できる。
第1の実施の形態の例では、中継装置20,20a,20b,20cを含むものとしたが、監視対象の中継装置の数は、2つや3つでもよいし、5つ以上でもよい。特に、ネットワークが大規模になるほど、監視対象の中継装置の数は増大し、品質劣化箇所の特定は困難になる。そこで、第1の実施の形態の方法を用いることで、通信品質の劣化箇所の特定に伴う管理者の作業の省力化を図れる。
なお、第1の実施の形態の例では、監視装置10は中継装置20に接続されるものとしたが、中継装置20a,20b,20cの何れかに接続されてもよい。監視装置10は、中継装置20a,20b,20cの何れかから収集したパケットを用いても、第1の実施の形態と同様にして、リンクアグリゲーション区間における振り分けルールの変更を把握できる。
[第2の実施の形態]
図4は、第2の実施の形態の監視装置を示す図である。第2の実施の形態のネットワークの物理トポロジは、第1の実施の形態で例示したネットワークと同様であり、第1の実施の形態と同じ装置や物理リンクを同一名称・同一符号により示す。
図4は、第2の実施の形態の監視装置を示す図である。第2の実施の形態のネットワークの物理トポロジは、第1の実施の形態で例示したネットワークと同様であり、第1の実施の形態と同じ装置や物理リンクを同一名称・同一符号により示す。
第1の実施の形態の方法を用いることで、パケットを転送中の物理リンクでリンクダウンが発生する場合に、監視装置10は、リンクアグリゲーション区間における振り分けルールの変更を把握できる。しかし、パケットを転送中でない物理リンクでリンクダウンが発生する場合、監視装置10は、リンクダウンを見過ごす可能性がある。
そこで、第2の実施の形態では、パケットを転送中でない物理リンクでリンクダウンが発生した場合でも、収集したパケットに基づいて、リンクアグリゲーション区間における振り分けルールの変更を判定する機能を提供する。
監視装置10は、記憶部11および演算部12を有する。記憶部11は、振り分けテーブルT1を記憶する。また、記憶部11は、中継装置20,20a,20b,20cの間に存在する物理リンクの情報(物理トポロジの情報)を記憶する。
演算部12は、ネットワークで転送されるパケットを中継装置20から継続的に収集する。演算部12は、前述のように、中継装置20のポートミラーリング機能を利用してパケットを収集できる。
演算部12は、収集したパケットに応じたハッシュ値を取得する。演算部12は、中継装置20a,20bが用いるハッシュ化アルゴリズムと同じハッシュ化アルゴリズムを用いて、パケットに含まれる送信元アドレスおよび宛先アドレスの組に応じたハッシュ値を計算する。すなわち、演算部12は、パケットの収集時刻毎に、収集されたパケットに応じたハッシュ値を取得する。
演算部12は、パケットの収集期間中に一時的に取得が途絶えたハッシュ値の第1の組を特定する。一時的とは、例えば前述の時間tよりも短い時間である。演算部12は、記憶部11を参照して、物理リンクL1,L2,L3,L4それぞれに対応するハッシュ値の組のうち、第1の組と完全に一致する組を検索する。演算部12は、第1の組と一致する組がない場合にリンクアグリゲーション区間における対応関係が変更されたと判定する。ハッシュ値の第1の組が、現在参照している振り分けルールに存在しないのであれば、振り分けルールが変更された可能性が高いからである。
これにより、パケットを転送中でない物理リンクでリンクダウンが発生したとしても、リンクアグリゲーション区間において振り分けルールが変更されたことを把握可能となる。具体的には、次の通りである。
例えば、物理リンクL1でリンクダウンが発生したとする。このとき、物理リンクL1でパケットが転送中でない点が、図1のケースと異なる。この場合、演算部12は、リンクダウンが発生したタイミングでは、振り分けルールの変更を判定できない(物理リンクL1を通るパケットが収集されないため)。
図5は、第2の実施の形態の監視例を示す図である。例えば、物理リンクL1のリンクダウン中は、物理リンクL1に振り分けられていたハッシュ値“4”は物理リンクL3に、ハッシュ値“0”は物理リンクL4に振り分けられる。
このとき、演算部12は、収集したパケットに基づいて、通信品質の劣化(例えば、パケットの損失率が閾値以上であること)が観測されたハッシュ値の第1の組(2,3,4)を特定したとする(図5の(5A))。演算部12は、記憶部11に記憶された振り分けテーブルT1を参照して、第1の組(2,3,4)と完全に一致するハッシュ値の組(2,3,4)を検索する。振り分けテーブルT1には、第1の組(2,3,4)と一致する組が存在しない。したがって、演算部12は、リンクアグリゲーション区間において、物理リンクとハッシュ値との対応関係が変更された(振り分けテーブルT1で示されるルールとは異なる振り分けルールに変更された)と判定する。
特に、この場合、振り分けテーブルT1には、ハッシュ値の組(2,3)が物理リンクL3に対応付けて登録されている。ハッシュ値の組(2,3,4)とハッシュ値の組(2,3)との差分はハッシュ値“4”である。振り分けテーブルT1では、ハッシュ値“4”は、ハッシュ値“0”とともに物理リンクL1に対応付けられている。よって、演算部12は、ハッシュ値“4”が物理リンクL1から物理リンクL3へ収容替えされたものと判定し、物理リンクL1が障害によりダウンしたものと判断できる。すなわち、演算部12は、現在、物理リンクL1がリンクダウン中であることを検出できる。また、演算部12は、物理リンクL3で通信品質の劣化が生じていることも検出できる。
このようにして、監視装置10は、リンクアグリゲーション区間における振り分けルールの変更を把握できる。例えば、演算部12は、振り分けルールの変更を検出した後、回復後の振り分けテーブルT2を用いて、監視を継続することもできる。
具体的には、上記の例において、物理リンクL1が障害から回復すると、物理リンクL2,L3,L4に振り分けられているハッシュ値のうちの何れか2つが、回復後の物理リンクL1に振り分けられるようになる(図5の(5B))。例えば、物理リンクL1にハッシュ値の組(0,2)が振り分けられる。物理リンクL2にハッシュ値の組(1,5)が振り分けられる。物理リンクL3にハッシュ値の組(3,4)が振り分けられる。物理リンクL3にハッシュ値の組(6,7)が振り分けられる。
そこで、例えば振り分けテーブルT1に対応付けて、物理リンクL1,L2,L3,L4それぞれが障害によりダウンし、障害から回復した後の、回復後の振り分けテーブルT2を記憶部11に予め格納しておいてもよい。回復後の振り分けテーブルT2は、例えば中継装置20a,20bを用いた事前の動作検証などによって得ることができる。例えば、物理リンクL1に対する回復後の振り分けテーブルT2は、各物理リンクとハッシュ値の組とを次のように対応付けている。第1には、物理リンクL1とハッシュ値の組(0,2)との対応である。第2には、物理リンクL2とハッシュ値の組(1,5)との対応である。第3には、物理リンクL3とハッシュ値の組(3,4)との対応である。第4には、物理リンクL4とハッシュ値の組(6,7)との対応である。
例えば、演算部12は、ハッシュ値“0”、“2”の通信で通信品質の劣化が発生したことを、収集したパケットから検出する(図5の(5C))。すると、演算部12は、記憶部11に記憶された回復後の振り分けテーブルT2を参照して、ハッシュ値の組(0,2)を検索する。前述のように、回復後の振り分けテーブルT2では、ハッシュ値の組(0,2)は物理リンクL1に対応付けられている。したがって、演算部12は、リンクアグリゲーション区間における物理リンクL1で通信品質の劣化が生じている可能性があることを検出できる。
例えば、演算部12は、システムの管理者に検出結果を通知することで、管理者による通信品質の劣化箇所の特定作業を支援できる。通知方法としては、例えばシステムの管理者が利用するアカウント宛に通知用のメッセージを送信する、監視装置10に接続された表示装置に通知用のメッセージや画像を表示する、などの方法を利用できる。すると、システムの管理者は、通知内容を閲覧して、中継装置20a,20bを調査し、通信品質の改善作業を行える。
なお、上述したように、演算部12は、リンクダウン中の何れかの物理リンクで品質劣化が発生した可能性を振り分けテーブルT1から検出できる。このため、演算部12は、リンクダウン中の品質劣化を検出してから所定時間(中継装置20a,20bの自動復旧が完了すると予測される時間)が経過した後に、振り分けテーブルT1から回復後の振り分けテーブルT2へ、参照するテーブルを変更してもよい。
図6は、第2の実施の形態の他の監視例を示す図である。図6の処理は、図4で示したリンクダウン発生後に行われる。図5の監視例では、演算部12は、物理リンクL1がリンクダウン中のときに検出された通信品質の劣化により、リンクアグリゲーション区間において振り分けルールが変更されたと判定するものとした。一方、物理リンクL1がリンクダウン中のときに通信品質の劣化が検出されないこともある。その場合、演算部12は、次のようにリンクアグリゲーション区間において振り分けルールが変更されたことを把握する。
例えば、物理リンクL1のリンクダウン中は、図5と同様に、物理リンクL1に振り分けられていたハッシュ値“4”は物理リンクL3に、同ハッシュ値“0”は物理リンクL4に振り分けられる(図6の(6A))。ただし、リンクダウン中に通信品質の劣化が検出されない点が図5の(5A)のケースと異なる。
ここで、中継装置20a,20bは、リンク回復した物理リンクに対してハッシュ値を新たに振り分ける際、振り分け対象のハッシュ値に対応する通信をある期間(待機期間)だけ停止する。前述のように、パケットの転送順序が逆転することを抑えるためである。中継装置20a,20bは、待機時間経過後に、回復した物理リンクを用いて、停止させた通信を再開する。待機期間の長さは、第1の実施の形態と同様に、例えば1秒から数秒程度であり、中継装置のベンダなどによって異なる。
演算部12は、収集したパケットに基づいて、長さtの期間以上取得が途絶えたハッシュ値の第1の組として、ハッシュ値の組(0,2)を特定する(図6の(6B))。長さtは、上記の待機期間に応じて決定される。具体的には、長さtは待機期間と同じ長さとすることができる。ただし、長さtは、待機期間の長さと異なっていてもよい(例えば、待機期間よりも所定割合だけ短い長さとするなど)。
演算部12は、記憶部11に記憶された振り分けテーブルT1を参照して、第1の組(0,2)と完全に一致するハッシュ値の組(0,2)を検索する。振り分けテーブルT1には、第1の組(0,2)と一致する組が存在しない。したがって、演算部12は、リンクアグリゲーション区間において、物理リンクとハッシュ値との対応関係が変更された(振り分けテーブルT1で示されるルールとは異なる振り分けルールT2に変更された)と判定する。
特に、この場合、振り分けテーブルT1で1つの物理リンクに対するハッシュ値の数“2”と、ハッシュ値の上記第1の組(0,2)に含まれるハッシュ値の数“2”とが等しい。ハッシュ値の数が一致するということは、リンク回復により、物理リンクL1,L2,L3,L4に対して、障害前と同様にハッシュ値が均等に振り分け直される兆候と判断できる。よって、演算部12は、リンクアグリゲーション区間における振り分けルールが、リンク回復に応じて更に変更されると判定することも可能である。
このようにして、監視装置10は、リンクアグリゲーション区間における振り分けルールの変更を把握できる。例えば、演算部12は、振り分けルールの変更を検出した後、回復後の振り分けテーブルT2を用いて、監視を継続することもできる。例えば、上記の例において、物理リンクL2,L3,L4に振り分けられているハッシュ値のうちの何れか2つが回復後の物理リンクL1に振り分けられるようになる。
そこで、例えば振り分けテーブルT1に対応付けて、物理リンクL1,L2,L3,L4それぞれが障害によりダウンし、障害から回復した後の、回復後の振り分けテーブルT2を記憶部11に予め格納しておいてもよい。回復後の振り分けテーブルT2は、例えば中継装置20a,20bを用いた事前の動作検証などによって得ることができる。
その後、演算部12は、例えばハッシュ値“0”、“2”の通信で通信品質の劣化が発生したことを、収集したパケットから検出する(図6の(6C))。演算部12は、通信品質の劣化が検出されたハッシュ値の組(0,2)が振り分けテーブルT1から検索できない場合に、回復後の振り分けテーブルT2からハッシュ値の組(0,2)を検索する。演算部12は、回復後の振り分けテーブルT2にハッシュ値の組(0,2)が存在していれば、回復後の振り分けテーブルT2上でハッシュ値の組(0,2)に対応付けられている物理リンク(例えば、物理リンクL1)で、通信品質の劣化が発生している可能性があると検出できる。
例えば、演算部12は、システムの管理者に検出結果を通知することで、管理者による通信品質の劣化箇所の特定作業を支援できる。通知方法としては、例えばシステムの管理者が利用するアカウント宛に通知用のメッセージを送信する、監視装置10に接続された表示装置に通知用のメッセージや画像を表示する、などが考えられる。すると、システムの管理者は、通知内容を閲覧して、中継装置20a,20bを調査し、通信品質の改善作業を行える。
図7は、第2の実施の形態の監視例を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。ステップS21の直前において、監視装置10で監視用に適用されている振り分けテーブルは、振り分けテーブルT1である。また、回復後の振り分けテーブルT2も予め記憶部11に格納される。
(S21)演算部12は、中継装置20a,20bの間のリンクアグリゲーション区間を流れるパケットの収集を行う。例えば、演算部12は、中継装置20(他の中継装置でもよい)のポートミラーリング機能を利用して、パケットを収集する。収集期間は、例えば1分間(2分間や5分間など他の長さでもよい)である。演算部12は、収集した各パケットを取得した時間に対応付けて記憶部11に格納する。
(S22)演算部12は、ステップS21で収集したパケットに基づいてハッシュ値を取得する。具体的には、演算部12は、パケットに含まれる送信元IPアドレス(一部の値でもよい)および宛先IPアドレス(一部の値でもよい)の組をハッシュ関数に代入することで、ハッシュ値を求める。その結果、演算部12は、各時点のパケットに対応するハッシュ値を時系列に取得する。
(S23)演算部12は、ステップS22のハッシュ値の取得結果に基づいて、複数のハッシュ値の観測が一時的に途絶えたか否かを判定する。複数のハッシュ値の観測が一時的に途絶えた場合、処理をステップS24に進める。複数のハッシュ値の観測が一時的に途絶えていない場合、処理を終了する。
(S24)演算部12は、一時的に途絶えたパケットのハッシュ値の組が何れかの物理リンクに対応するハッシュ値の組として振り分けテーブルT1にないかを判定する。ない場合、処理をステップS25に進める。ある場合、処理を終了する(この場合、途絶の状況に応じて振り分けテーブルT1の該当の組に対応する物理リンクで品質劣化が発生した可能性があると判定してもよい)。例えば、一時的に途絶えたハッシュ値の組が(2,3,4)である場合、振り分けテーブルT1には、当該ハッシュ値の組が存在していない。一方、例えば、一時的に途絶えたハッシュ値の組が(1,5)である場合、振り分けテーブルT1には当該ハッシュ値の組(1,5)が存在している。
(S25)演算部12は、リンクアグリゲーション区間の物理リンクの障害により、振り分けテーブルT1が変更されたと判定する。例えば、一時的に途絶えたハッシュ値の組が(2,3,4)である場合、演算部12は、振り分けテーブルT1から、ハッシュ値の組(0,4)に対応する物理リンクL1で障害が発生したと判定する。なぜなら、振り分けテーブルT1に存在するハッシュ値の組(2,3)と一時的に途絶えたハッシュ値の組(2,3,4)との差分のハッシュ値“4”は、現在の振り分けテーブルT1で物理リンクL1に対応付けられているからである。すなわち、この場合、物理リンクL1の障害によりハッシュ値(0,4)が別の物理リンクに収容替えされたものと判断できる。演算部12は、物理リンクL1の障害に対する回復後の振り分けテーブルT2を特定する。
(S26)演算部12は、通信品質の監視に用いる振り分けテーブルを、振り分けテーブルT1から振り分けテーブルT2に変更する。変更のタイミングは、ステップS25で物理リンクでの障害を検出してから、一定期間(例えば、中継装置20a,20b間で物理リンク障害の自動復旧が完了すると予測される時間)を経過した後でもよい。
このようにして、監視装置10は、リンクアグリゲーション区間における振り分けテーブルの変更を判定する。また、監視装置10は、監視に用いる振り分けテーブルの変更を行うことで、リンクアグリゲーション区間における通信品質を適切に監視できる。
なお、ステップS25では、図6で例示したように、所定期間以上の途絶が検出されたハッシュ値がある場合に当該ハッシュ値の数(例えば、(0,2)であれば“2”)と、振り分けテーブルT1で各物理リンクに対応付けられたハッシュ値の数(例えば、“2”)とが一致するかを判定してもよい。一致する場合、前述のように当該途絶をリンク回復時の現象と判断し、演算部12は、リンク回復により振り分けテーブルT1が更に変更されると判定してもよい。
あるいは、演算部12は、回復後の振り分けテーブルT2が記憶部11に格納されている場合、所定期間以上の途絶が検出されたハッシュ値の組(例えば、(0,2))が、振り分けテーブルT1にはないが回復後の振り分けテーブルT2にはあることを検出してもよい。その場合も、演算部12は、リンク回復により振り分けテーブルT1が更に変更されると判断できる。更に、演算部12は、監視に用いる振り分けテーブルを、途絶が検出されたハッシュ値の組(0,2)を含む回復後の振り分けテーブルT2に変更すると決定してもよい。
また、上記の例では監視装置10は中継装置20に接続されるものとしたが、中継装置20a,20b,20cの何れかに接続されてもよい。監視装置10は、中継装置20a,20b,20cの何れかから収集したパケットを用いても、第2の実施の形態の方法と同様にして、リンクアグリゲーション区間における振り分けルールの変更を把握できる。
[第3の実施の形態]
図8は、第3の実施の形態の情報処理システムを示す図である。第3の実施の形態の情報処理システムは、監視サーバ100、スイッチ200,200a,200b,200c、クライアント300,300a,300bおよびサーバ400,400a,400bを有する。第3の実施の形態の情報処理システムでは、クライアント300,300a,300bそれぞれのユーザは、サーバ400,400a,400bによって提供される各種のサービスを利用できる。
図8は、第3の実施の形態の情報処理システムを示す図である。第3の実施の形態の情報処理システムは、監視サーバ100、スイッチ200,200a,200b,200c、クライアント300,300a,300bおよびサーバ400,400a,400bを有する。第3の実施の形態の情報処理システムでは、クライアント300,300a,300bそれぞれのユーザは、サーバ400,400a,400bによって提供される各種のサービスを利用できる。
第3の実施の形態の各装置は、所定のケーブル(例えば、TPケーブルなど)を用いて次のように接続されている。監視サーバ100は、スイッチ200に接続されている。クライアント300,300a,300bは、スイッチ200に接続されている。スイッチ200はスイッチ200aに接続されている。スイッチ200aは、スイッチ200bに接続されている。スイッチ200bは、スイッチ200cに接続されている。スイッチ200cは、サーバ400,400a,400bに接続されている。
ここで、スイッチ200a,200bの間は、4本のケーブル(すなわち、4つの物理リンク)で接続されている。スイッチ200a,200bが備える各ポートは、ポート番号によって識別される。スイッチ200a,200bの同じポート番号で識別されるポート同士が、1本のケーブルで接続され、1つの物理リンクを形成する。
スイッチ200a,200bは、LACPを用いて相互に通信し、スイッチ200a,200bの間の4つの物理リンクを集約して1つに束ね、スイッチ200a,200bの間にリンクアグリゲーション区間を形成する。この場合、4つの物理リンクを1つのリンクアグリゲーショングループ(LAG)と呼ぶことができる。
監視サーバ100は、ネットワークで転送されるパケットを収集、分析するサーバコンピュータである。監視サーバ100は、収集したパケットから通信品質の劣化状況を分析することで、サーバ400,400a,400bによるサービス品質(例えば、通信速度および音声/映像などのコンテンツ配信の品質など)の向上を支援する。
スイッチ200,200a,200b,200cは、クライアント300,300a,300bおよびサーバ400,400a,400b間の通信を中継する中継装置である。スイッチ200,200a,200b,200cとして、OSI参照モデルの第3層でパケットを転送するレイヤ3スイッチやルータを用いることができる。
ここで、スイッチ200a,200bの間には、前述のようにリンクアグリゲーション区間が存在している。スイッチ200a,200bは、パケットに含まれる送信元IPアドレスおよび宛先IPアドレスの組に応じたハッシュ値に基づいて、LAGに属する何れの物理リンクからパケットを送出するかを決定する。スイッチ200a,200bは、あるハッシュ値に対応するパケットを何れの物理リンクから送出するかを決定するための情報を保持する。ここで、送信元IPアドレスおよび宛先IPアドレスの組によって識別されるパケットの流れを、フローと称することがある。
1つの物理リンクには、複数のハッシュ値(ハッシュ値の組)が対応付けられる。LAGに属する全ての物理リンクが正常である場合、各物理リンクに均等に(同じ数の)ハッシュ値が振り分けられる。
スイッチ200a,200bの間の何れかの物理リンクが障害によりダウンすることがある。スイッチ200a,200bは、何れかの物理リンクが障害によりリンクダウンすると、ダウンした物理リンクに振り分けられたハッシュ値を、他の正常な物理リンクに振り分ける。また、スイッチ200a,200bは、ダウンした物理リンクを自動的に復旧させる機能を有している。ダウンした物理リンクが障害から回復すると、スイッチ200a,200bは、再度、各物理リンクに均等に(同じ数の)ハッシュ値を振り分けるようになる。このとき、リンクダウン前とリンク回復後とでは、スイッチ200a,200bによるハッシュ値の振り分けルールT1は変更される。そこで、監視サーバ100は、振り分けルールの変更を考慮して監視を行う。
クライアント300,300a,300bは、ユーザが利用するクライアントコンピュータである。例えば、クライアント300のユーザは、サーバ400,400a,400bが提供する各種のサービスを利用できる。クライアント300a,300bそれぞれのユーザも同様である。
サーバ400,400a,400bは、クライアント300,300a,300bに各種のサービスを提供するサーバコンピュータである。
図9は、第3の実施の形態の監視サーバのハードウェア例を示す図である。監視サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。各ユニットは監視サーバ100のバスに接続されている。クライアント300,300a,300bやサーバ400,400a,400bも監視サーバ100と同様のユニットを用いて実現できる。
図9は、第3の実施の形態の監視サーバのハードウェア例を示す図である。監視サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。各ユニットは監視サーバ100のバスに接続されている。クライアント300,300a,300bやサーバ400,400a,400bも監視サーバ100と同様のユニットを用いて実現できる。
プロセッサ101は、監視サーバ100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、監視サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、監視サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。監視サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
画像信号処理部104は、プロセッサ101からの命令に従って、監視サーバ100に接続されたディスプレイ51に画像を出力する。ディスプレイ51としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部105は、監視サーバ100に接続された入力デバイス52から入力信号を取得し、プロセッサ101に出力する。入力デバイス52としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
媒体リーダ106は、記録媒体53に記録されたプログラムやデータを読み取る装置である。記録媒体53として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体53として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ106は、例えば、プロセッサ101からの命令に従って、記録媒体53から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、所定のケーブルを用いて、スイッチ200が備える複数のポートの何れかに接続される。通信インタフェース107は、スイッチ200を介して他の装置と通信を行う。
図10は、第3の実施の形態の監視サーバの機能例を示す図である。監視サーバ100は、振り分けルール記憶部110、障害情報記憶部120、品質計測結果記憶部130、送受信部140、MIB(Management Information Base)取得部150、トポロジ管理部160、品質計測部170、障害箇所判定部180および表示制御部190を有する。
振り分けルール記憶部110、障害情報記憶部120および品質計測結果記憶部130は、RAM102またはHDD103に確保された記憶領域として実現できる。送受信部140、MIB取得部150、トポロジ管理部160、品質計測部170、障害箇所判定部180および表示制御部190は、プロセッサ101が所定のプログラムを実行することで実現できる。
振り分けルール記憶部110は、振り分けルールおよび振り分けルールの変更パターンの情報を記憶する。振り分けルールは、スイッチ200a,200bの間で、パケットに含まれる送信元IPアドレスおよび宛先IPアドレスの組から算出されるハッシュ値がLAGに属する何れの物理リンクに振り分けられるかを示す情報である。振り分けルールは、初期の振り分けルール、および、LAGの物理リンクが障害によりダウンし、障害から回復した後の回復後の振り分けルールの複数の候補を含む。
振り分けルールの変更パターンは、スイッチのベンダによって異なる。そこで、振り分けルール記憶部110は、各ベンダのスイッチを用いて、振り分けルールの初期設定と、何れの物理リンクがダウン/回復したかに応じた回復後の振り分けルールの候補とを、ベンダの識別情報に対応付けて予め記憶する。すると、情報処理システムの管理者(監視サーバ100を利用する者であり、ユーザと呼ぶこともできる)は、ベンダの識別情報を監視サーバ100に入力することで、監視サーバ100が監視に用いる振り分けルールを容易に設定可能となる。
障害情報記憶部120は、障害情報を記憶する。障害情報は、スイッチ200a,200bの間の各物理リンクにおける障害の発生状況を管理するための情報である。障害情報は、障害箇所判定部180によって更新される。
品質計測結果記憶部130は、ネットワークにおける通信品質の計測結果を、ハッシュ値に対応付けて記憶する。通信品質の計測は、品質計測部170によって行われる。
送受信部140は、スイッチ200で設定されたミラーポートからネットワークに流れるパケットを受信し、受信した時刻に対応付けてRAM102またはHDD103の記憶領域に格納する。送受信部140が収集したパケットは、品質計測部170による品質計測に用いられる。
送受信部140は、スイッチ200で設定されたミラーポートからネットワークに流れるパケットを受信し、受信した時刻に対応付けてRAM102またはHDD103の記憶領域に格納する。送受信部140が収集したパケットは、品質計測部170による品質計測に用いられる。
また、送受信部140は、MIB取得部150の指示に応じてスイッチ200,200a,200b,200cとSNMP(Simple Network Management Protocol)による通信を行う。送受信部140は、SNMPを用いてLLDPに関するMIB情報をスイッチ200,200a,200b,200cから収集する。送受信部140が収集したMIB情報は、トポロジ管理部160によるスイッチ間の物理的な接続関係(トポロジと呼ばれることもある)の取得に用いられる。
MIB取得部150は、LLDPに関するMIB情報を収集するために、送受信部140にSNMP通信を指示する。例えば、MIB取得部150は、LLDPに関するMIB情報を収集するために、監視対象のスイッチに応じたMIBオブジェクトを指定したSNMP要求を生成し、監視対象のスイッチを宛先として送受信部140に送信させる。MIB取得部150は、SNMP要求に応じたSNMP応答(MIB情報)を、送受信部140を介してスイッチから取得し、RAM102またはHDD103の記憶領域に格納する。なお、MIB取得部150は、スイッチ間のトポロジを取得するための情報として、CDPに関するMIB情報を収集してもよい。
トポロジ管理部160は、送受信部140およびMIB取得部150を用いて収集されたMIB情報に基づいて、スイッチ間のトポロジを取得する。これにより、トポロジ管理部160は、スイッチ200,200aの間に物理リンクが1つ、200a,200bの間にLAGを形成する物理リンクが4つ、スイッチ200b,200cの間に物理リンクが1つ存在することを把握する。トポロジ管理部160は、スイッチ間のトポロジを示す情報を生成し、RAM102またはHDD103の記憶領域に格納する。トポロジを示す情報は、障害箇所判定部180による障害箇所判定の処理に用いられる。
品質計測部170は、送受信部140が収集したパケットに基づいて、ネットワークにおける通信品質を計測し、通信品質の計測結果を、品質計測結果記憶部130に格納する。品質計測部170は、パケットに含まれる送信元IPアドレスおよび宛先IPアドレスの組から算出されるハッシュ値毎に、パケットの損失が発生しているか否かを監視する。品質計測部170は、パケットのヘッダに含まれるID(IDentifier)フィールドに設定された情報に基づいて、パケットの損失の有無を計測する。例えば、パケットの送信元の装置は、IDフィールドの設定値(ID)をインクリメントしながらパケットを順次送信する。この場合、品質計測部170は、あるフローにおいて観測されるIDが途切れたとき、該当のフローにおけるパケットの損失を検出できる。また、品質計測部170は、欠落したIDの数から損失したパケットの数を把握できる。
品質計測部170は、パケットの損失状況に応じて品質劣化が発生しているか否かを判定する。品質計測部170は、あるハッシュ値に対応するフローにおいて、送受信されるパケット数に対する損失したパケット数の割合(パケットの損失率)と閾値との比較に応じて、品質劣化の有無を判定する。すなわち、パケットの損失率が閾値(例えば、1%など)以上であれば品質劣化があると判定する。一方、パケットの損失率が閾値よりも小さければ品質劣化がないと判定する。
障害箇所判定部180は、品質計測部170による品質計測結果を参照して、品質劣化のある複数のフローに対応するハッシュ値の組と完全に一致するハッシュ値の組を、振り分けルールに登録されたハッシュ値の組の中から検索する。障害箇所判定部180は、該当のハッシュ値の組を検索できた場合に、振り分けルールにおいて当該ハッシュ値の組に対応付けられた物理リンクが原因となって、通信品質の劣化が生じていると判定する。障害箇所判定部180は、振り分けルールにおいて、該当のハッシュ値の組を検索できない場合は、品質劣化の原因はLAGに属する物理リンクではないと判定する。
このとき、障害箇所判定部180は、障害情報の登録結果に基づいて、何れの振り分けルールからハッシュ値の組を検索するかの選択を行う。すなわち、障害箇所判定部180は、過去の所定時間内に発生した障害情報の登録がなければ、現在参照中の振り分けルールを選択する。一方、障害箇所判定部180は、過去の所定時間内に発生した障害情報の登録があれば、障害情報に応じた回復後の振り分けルールを選択する。障害箇所判定部180は、収集されたパケットに基づいて、物理リンクにおける障害の可能性を検知し、上記障害情報の記録も行う。
表示制御部190は、ディスプレイ51によるGUI(Graphical User Interface)の表示を制御する。具体的には、障害箇所判定部180によりLAGに属する何れかの物理リンクで通信品質の劣化が発生していると判定された場合、表示制御部190は該当の物理リンクで通信品質の劣化が発生している旨をディスプレイ51に表示させる。
また、表示制御部190は、システムの管理者による、LAGにおける振り分けルールの設定登録を支援するGUIをディスプレイ51に表示させる。表示制御部190は、管理者によって入力された振り分けルールを振り分けルール記憶部110に格納する。あるいは、表示制御部190は、システムの管理者による、ベンダの識別情報の入力を受け付けることもできる。障害箇所判定部180は、入力されたベンダの識別情報に基づいて、振り分けルール記憶部110に格納済みの振り分けルールの中から、監視に用いる振り分けルールを選択し、障害箇所判定の処理を行う。
図11は、第3の実施の形態のIPヘッダの例を示す図である。IPヘッダ60は、20バイト(ただし、可変長のOptionフィールドを除いたサイズ)の情報である。IPヘッダ60には、送信元IPアドレス(Source IP Address)や宛先IPアドレス(Destination IP Address)などの種々のフィールドが含まれる。前述のように、一連のパケットの送信元の装置は、IDフィールドの設定値をインクリメントしながら、各パケットを宛先の装置へ送信する。
このため、品質計測部170は、IPヘッダ60に含まれるIDフィールドの設定値を基に、パケットが順番通り送信されているかなどをチェックすることで、フロー毎にパケットの損失の有無を判定できる。例えば、品質計測部170は、連続するIDを、収集したパケットから欠落なく観測できる場合、該当のフローではパケットの損失がないと判定できる。一方、品質計測部170は、連続するIDのうちの一部の欠落を観測した場合、該当のフローにおいてパケットの損失があると判定できる。品質計測部170は、連続するIDのうち、欠落しているIDの数を判別することで、損失したパケットの数を取得できる。
図12は、第3の実施の形態の振り分けテーブルT1の例を示す図である。振り分けテーブル111は、パケットに含まれるアドレスに基づいて算出されるハッシュ値が、スイッチ200a,200bの間のLAGに属する何れの物理リンクに振り分けられるかを示す。また、振り分けテーブル111は、スイッチ200a,200bが稼働を開始した当初の振り分けルールを示す情報である。
振り分けテーブル111は、ポート番号およびアドレスのハッシュ値の項目を含む。ポート番号の項目には、物理リンクに対応するポート番号が登録される。ここで、前述のように、スイッチ200a,200bの同じポート番号で識別されるポート同士が、ケーブルで接続され、1つの物理リンクを形成する。このため、ポート番号によってスイッチ200a,200bの間の1つの物理リンクを識別できる。アドレスのハッシュ値の項目には、物理リンクに振り分けられるアドレスのハッシュ値の組が登録される。
ここで、第3の実施の形態の例では、スイッチ200a,200bは、各フローを0〜7の8つのハッシュ値に対応づける。各フローに対応するハッシュ値の計算には、例えば送信元IPアドレスおよび宛先IPアドレスに含まれる特定のビットに対する所定のビット演算を用いることができる。品質計測部170および障害箇所判定部180は、各フローのハッシュ値を求める際には、スイッチ200a,200bと同じ演算を用いる。
例えば、振り分けテーブル111には、ポート番号“1”、アドレスのハッシュ値“0,4”という情報が登録される。これは、ポート番号“1”で識別される物理リンクに対して、ハッシュ値の組(0,4)が振り分けられることを示す。他の物理リンクに対しても、同様にしてハッシュ値の組が対応付けられる。ここで、第3の実施の形態では、LAGに属する4つの物理リンクが全て正常な場合において、1つの物理リンク当たり2つのハッシュ値が振り分けられる例を示している。
振り分けテーブル112,113,114,115は、振り分けテーブル111で示される振り分けルールがLAGに適用されている際に、何れかの物理リンクが障害によりダウンし、その後復旧したときの回復後の振り分けルールの候補である。振り分けテーブル112,113,114,115をリンク障害からの復旧後の振り分けルールの候補ということもできる。
振り分けテーブル112は、ポート番号“1”で識別される物理リンクで障害が発生し、障害から回復した場合の回復後の振り分けルールを示す。振り分けテーブル113は、ポート番号“2”で識別される物理リンクで障害が発生し、障害から回復した場合の回復後の振り分けルールを示す。振り分けテーブル114は、ポート番号“3”で識別される物理リンクで障害が発生し、障害から回復した場合の回復後の振り分けルールを示す。振り分けテーブル115は、ポート番号“4”で識別される物理リンクで障害が発生し、障害から回復した場合の回復後の振り分けルールを示す。
振り分けテーブル112,113,114,115も振り分けテーブル111と同様にアドレスのハッシュ値と振り分け先のポート番号との対応関係を示している。ただし、図12では、振り分けテーブル112,113,114,115においてポート番号の項目の図示を省略している。振り分けテーブル112,113,114,115それぞれに含まれる4つのレコードは、上から順番にポート番号“1”、“2”、“3”、“4”にそれぞれ対応付けられている。
振り分けルール記憶部110には、振り分けテーブル112,113,114,115それぞれを起点として、物理リンク障害/回復が発生したときの回復後の振り分けテーブルの候補を、更に複数登録しておくこともできる。
LAGにおける振り分けルールの変更パターンは、スイッチのベンダに応じて異なる。システムの管理者は、以下に示すGUIを用いて、振り分けルールおよび変更パターンを、ベンダの識別情報に対応付けて、振り分けルール記憶部110に予め登録することができる。振り分けテーブル111,112,113,114,115および振り分けテーブル111から振り分けテーブル112,113,114,115への変更パターンの情報は、例えばベンダの識別情報“A”に対応付けて振り分けルール記憶部110に登録される。また、予め登録された振り分けルールをベンダの識別情報を指定することで容易に呼び出すこともできる。
図13は、第3の実施の形態のGUIの例を示す図である。GUI70は、表示制御部190によって生成され、ディスプレイ51により表示される。GUI70は、ベンダ選択フォーム71、入力フォーム72,73,74,75,76およびボタン77,78,79を含む。管理者は、GUI70を閲覧しながら、入力デバイス52を操作することで、GUI70上に表示されるポインタP1を移動させ、設定を行いたい入力フォームの選択やボタンの押下などを行える。また、管理者は、選択した入力フォームに設定値を入力することができる。
ベンダ選択フォーム71は、登録済のベンダの識別情報を選択するためのプルダウンである。表示制御部190は、ポインタP1によりベンダ選択フォーム71が選択されると、登録済のベンダの識別情報をリスト表示させ、ポインタP1による何れかのベンダの選択を可能とする。表示制御部190は、選択されたベンダの識別情報に応じた振り分けルールを振り分けルール記憶部110から取得し、入力フォーム72,73,74,75,76のテキストボックスに表示させる。図13の例では、ベンダの識別情報“A”が選択されている。
入力フォーム72は、振り分けルールの初期値を入力するためのフォームである。入力フォーム72には、ポート番号(すなわち、物理リンク)に対応付けられた4つのテキストボックスが表示されている。例えば、ベンダ選択フォーム71でベンダの識別情報“A”が選択される場合、入力フォーム72の各テキストボックスには、振り分けテーブル111の設定内容が表示される。ここで、入力フォーム73,74,75,76にも、ポート番号に対応付けられた4つのテキストボックスが表示される。
入力フォーム73は、ポート番号“1”の物理リンクで障害が発生し、障害から回復したときの回復後の振り分けルールを入力するためのフォームである。例えば、ベンダ選択フォーム71でベンダの識別情報“A”が選択される場合、入力フォーム73の各テキストボックスには、振り分けテーブル112の設定内容が表示される。
入力フォーム74は、ポート番号“2”の物理リンクで障害が発生し、障害から回復したときの回復後の振り分けルールを入力するためのフォームである。例えば、ベンダ選択フォーム71でベンダの識別情報“A”が選択される場合、入力フォーム74の各テキストボックスには、振り分けテーブル113の設定内容が表示される。
入力フォーム75は、ポート番号“3”の物理リンクで障害が発生し、障害から回復したときの回復後の振り分けルールを入力するためのフォームである。例えば、ベンダ選択フォーム71でベンダの識別情報“A”が選択される場合、入力フォーム75の各テキストボックスには、振り分けテーブル114の設定内容が表示される。
入力フォーム76は、ポート番号“4”の物理リンクで障害が発生し、障害から回復したときの回復後の振り分けルールを入力するためのフォームである。例えば、ベンダ選択フォーム71でベンダの識別情報“A”が選択される場合、入力フォーム76の各テキストボックスには、振り分けテーブル115の設定内容が表示される。
管理者は、入力フォーム72,73,74,75,76に含まれるテキストボックスをポインタP1により選択し、各テキストボックスに表示されている設定値を変更することもできる。
ボタン77は、新たに登録する振り分けルールを読み込む際に押下されるボタンである。表示制御部190は、ボタン77が押下されると、振り分けルールの登録用のデータ(ルール登録データ)をユーザに選択させるダイアログをディスプレイ51に表示させる。表示制御部190は、選択されたルール登録データで記述される振り分けルールの内容を、GUI70上に表示させる。表示制御部190は、LAGに属する物理リンクの数に応じて、入力フォーム72,73,74,75,76に表示させるテキストボックスの数を変更させる。
ボタン78は、GUI70に表示された振り分けルールを振り分けルール記憶部110に登録する際に押下されるボタンである。表示制御部190は、ボタン78が押下されると、GUI70上で入力されているベンダの識別情報に対応付けて、入力フォーム72,73,74,75,76の入力内容(すなわち、振り分けルールおよび変更パターン)を振り分けルール記憶部110に格納する。
ボタン79は、GUI70に入力された設定内容を用いたネットワークの監視を、監視サーバ100に開始させる際に押下されるボタンである。例えば、表示制御部190は、GUI70で示される振り分けルールを用いたネットワーク監視を、障害箇所判定部180に開始させる。
図14は、第3の実施の形態のルール登録データの例を示す図である。ルール登録データ80は、図12,13で例示した振り分けルールを、振り分けルール記憶部110に登録するためのデータを例示している。表示制御部190は、GUI70において、ボタン77が押下され、ダイアログからルール登録データ80が選択されると、ルール登録データ80の内容をGUI70に表示させる。
ルール登録データ80は、HDD103などに予め格納されていてもよい(例えば、スイッチのベンダから入手してもよい)。あるいは、管理者が、スイッチ200a,200bを用いた動作試験を行って、ルール登録データ80を予め作成し、HDD103などに格納しておくこともできる。図14において、ルール登録データ80の左側の番号(1〜26の番号)は、便宜的に付与した行番号である。
1行目は、“#Vendor A”という情報である。これは、以降に示される情報がベンダの識別情報“A”に対応付けられる情報であることを示す。
2行目は、“#initial Table”という情報である。これは、以降に示される情報が、システムが稼働開始した際の振り分けルールであることを示す。3〜6行目は、それぞれ、ハッシュ値の組“0,4”、“1,5”、“2,3”、“6,7”を示す情報である。
2行目は、“#initial Table”という情報である。これは、以降に示される情報が、システムが稼働開始した際の振り分けルールであることを示す。3〜6行目は、それぞれ、ハッシュ値の組“0,4”、“1,5”、“2,3”、“6,7”を示す情報である。
7行目は、“#Port1 Failure”という情報である。これは、以降に示される情報が、ポート番号“1”の物理リンクで障害が発生し、障害が回復した後の振り分けルールであることを示す。この場合、表示制御部190は、3〜6行目までをシステムが稼働開始した際の振り分けルールと判別する。3〜6行目の4行に渡り、ハッシュ値の組が4つ設定されている。表示制御部190は、行番号の小さい方のハッシュ値の組から順に、ポート番号“1”の物理リンク、ポート番号“2”の物理リンク、・・・と対応付けることができる。同様に、ポート番号“1”の物理リンクでの障害に応じた回復後の振り分けルールも、8〜11行目の情報により示される。
同様に、12行目は、“#Port2 Failure”という情報である。これは、以降に示される情報(17行目の“#Port3 Failure”の直前の16行目まで)がポート番号“2”の物理リンクで障害が発生し、障害が回復した後の振り分けルールであることを示す。ポート番号“3”、“4”それぞれの物理リンクの障害に応じた回復後の振り分けルールも、同様に記述される。
なお、ルール登録データの26行目よりも後に他のベンダに関する振り分けルールを記述してもよい。例えば、27行目に“#Vendor B”という情報があれば、表示制御部190は、28行目以降の情報が、ベンダの識別情報“A”ではなく、ベンダの識別情報“B”に対応付けられる情報であると判別できる。更に、振り分けルール記憶部110には、ルール登録データ80の形式によって、振り分けルールおよび振り分けルールの変更パターンの情報が登録されてもよい。
図15は、第3の実施の形態の障害管理テーブルの例を示す図である。障害管理テーブル121は、障害情報記憶部120に格納される。障害管理テーブル121は、現在の振り分けルールに登録されているハッシュ値の組のうち、所定長さの一期間に観測が途絶えたハッシュ値の組を管理するためのテーブルである。ハッシュ値の観測が途絶えたことは、観測が途絶えたハッシュ値に対応するフローでパケットの転送の途絶が発生したことを意味する。障害管理テーブル121は、時刻およびハッシュ値の項目を含む。
時刻の項目には、あるハッシュ値の組の観測が所定長さの一期間途絶えたという事象を検出した時刻が登録される。ハッシュ値の項目には、ハッシュ値の組が登録される。例えば、障害管理テーブル121には、時刻が“2014/7/9 15:00”、ハッシュ値が“0,4”という情報が登録される。これは、ハッシュ値“0”、“4”の観測が所定長さの一期間途絶えたことを、2014年7月9日15時00分に観測したことを示す。
図16は、第3の実施の形態の品質計測結果テーブルの例を示す図である。品質計測結果テーブル131は、品質計測部170により生成され、品質計測結果記憶部130に格納される。品質計測結果テーブル131は、パケットのアドレスから算出されるハッシュ値に対する、パケットの損失状況と品質劣化の有無とを管理するための情報である。品質計測結果テーブル131は、ハッシュ値、送信パケット数、送信側損失パケット数、受信パケット数、受信側損失パケット数および品質劣化の項目を含む。
ハッシュ値の項目には、ハッシュ値が登録される。送信パケット数の項目には、クライアント300,300a,300bからサーバ400,400a,400bへ送信されたパケットの数が登録される。送信側損失パケット数の項目には、クライアント300,300a,300bからサーバ400,400a,400bへ送信されたパケットのうち、損失したパケットの数が登録される。受信パケット数の項目には、サーバ400,400a,400bからクライアント300,300a,300bへ送信されたパケットの数が登録される。受信側損失パケット数の項目には、サーバ400,400a,400bからクライアント300,300a,300bへ送信されたパケットのうち、損失したパケットの数が登録される。品質劣化の項目には、該当のハッシュ値に対応するフローにおいて、品質劣化があるか否かを示す情報が登録される。
例えば、品質計測結果テーブル131には、ハッシュ値“0”、送信パケット数“10000”、送信側損失パケット数“100”、受信パケット数“10000”、受信側損失パケット数“100”、品質劣化“あり”という情報が登録される。
これは、ハッシュ値“0”に対応するフローにおいて、送信パケット数が10000であり、送信パケット数のうち損失したパケット数が100であること、受信パケット数が10000であり、受信パケット数のうち損失したパケット数が100であることを示す。また、ハッシュ値“0”に対応するフローにおいて、通信品質の劣化があったことを示す。他のハッシュ値に対しても同様の情報が登録される。
図17は、第3の実施の形態の監視例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(S31)トポロジ管理部160は、トポロジ情報の収集を行う。具体的には、トポロジ管理部160は、MIB取得部150に対してトポロジ情報を収集するためのSNMP要求の送信を指示する。MIB取得部150は、各スイッチを宛先としたSNMP要求を生成し、送受信部140に送信させる。MIB取得部150は、送受信部140を介して各スイッチからSNMP応答(LLDPによるトポロジ情報を含む)を取得する。トポロジ管理部160は、MIB取得部150により取得されたSNMP応答から、スイッチ間の物理リンクの情報を取得する。
(S31)トポロジ管理部160は、トポロジ情報の収集を行う。具体的には、トポロジ管理部160は、MIB取得部150に対してトポロジ情報を収集するためのSNMP要求の送信を指示する。MIB取得部150は、各スイッチを宛先としたSNMP要求を生成し、送受信部140に送信させる。MIB取得部150は、送受信部140を介して各スイッチからSNMP応答(LLDPによるトポロジ情報を含む)を取得する。トポロジ管理部160は、MIB取得部150により取得されたSNMP応答から、スイッチ間の物理リンクの情報を取得する。
(S32)表示制御部190は、GUI70においてユーザによるベンダの識別情報の入力を受け付ける。表示制御部190は、振り分けルール記憶部110を参照して、選択されたベンダの識別情報に対応する振り分けルールを、GUI70の表示内容に反映させる。例えば、ベンダ選択フォーム71でベンダの識別情報“A”が選択された場合、GUI70は図13で例示した表示内容となる。表示制御部190は、GUI70においてボタン79の押下を受け付けると、GUI70に入力されている振り分けルールを障害箇所判定部180が用いる振り分けルールとして設定する。例えば、ベンダの識別情報“A”に対応する振り分けルールは、初期の振り分けテーブル111および物理リンクの障害に応じた回復後の振り分けテーブル112,113,114,115を含む。障害箇所判定部180は、監視当初では、振り分けテーブル111を用いて監視を行う。
(S33)品質計測部170は、スイッチ200から送受信部140を介してパケットを収集する。パケットの収集期間の長さは、例えば、1分間程度である。品質計測部170は、収集したパケットに基づいて各フローの通信品質の計測を開始する。品質計測部170は、フロー毎に送受信パケット数および損失パケット数を取得する。
(S34)品質計測部170は、各パケットの送信元IPアドレスおよび宛先IPアドレスの組に応じたハッシュ値を算出し、計算されたハッシュ値で各フローを分離する。例えば、複数のフローのうち、一部のフローがハッシュ値“0”に、他の一部のフローがハッシュ値“1”に、というように、各フローが何れかのハッシュ値に対応付けられる。品質計測部170は、ハッシュ値毎の送受信パケット数に対する損失パケット数の割合(パケットの損失率)に基づいて、各ハッシュ値に対する品質劣化の有無を取得する。品質計測部170は、パケットの損失率が例えば1%以上の場合に品質劣化“あり”と判定し、パケットの損失率が例えば1%未満の場合に品質劣化“なし”と判定する。品質計測部170は、ハッシュ値に対応付けて、送受信パケット数、損失パケット数および品質劣化の“あり”、“なし”を品質計測結果記憶部130に記憶された品質計測結果テーブル131に登録する。そして、品質計測部170による通信品質の計測が終了する。
(S35)障害箇所判定部180は、品質計測結果テーブル131を参照して、何れかのハッシュ値に対して、品質劣化が検出されているか否かを判定する。検出されている場合、処理をステップS36に進める。検出されていない場合、処理をステップS33に進める。ここで、品質計測結果テーブル131に登録された何れかのハッシュ値に対し、品質劣化の項目に“あり”が設定されている場合、障害箇所判定部180は、品質劣化が検出されていると判定する。一方、全てのハッシュ値に対して、品質劣化の項目に“なし”が設定されている場合、品質劣化が検出されていないと判定する。
(S36)障害箇所判定部180は、ステップS33で収集されたパケットを参照し、品質劣化“あり”であるハッシュ値について、ハッシュ値の観測状況を時系列に取得する。障害箇所判定部180は、複数のハッシュ値の観測が長さtの期間以上途絶えているか否かを判定する。複数のハッシュ値の観測が長さtの期間以上途絶えている場合、処理をステップS38に進める。複数のハッシュ値の観測が長さtの期間以上途絶えていない場合、処理をステップS37に進める。長さtは、例えば、1〜数秒程度である。長さtは、スイッチ200a,200bがある物理リンクに対応付けられたハッシュ値を別の物理リンクに収容替えする際の待機時間に応じて決定される。待機時間は、スイッチのベンダやスイッチの機種などに応じた固有の長さとなる。長さtは待機期間と同じ長さでもよい。ただし、長さtは、待機期間とは異なる長さでもよい(例えば、待機期間よりも所定割合だけ短い長さとするなど)。なお、品質劣化“あり”であるハッシュ値の数が1つの場合は、処理をステップS37に進めることになる。
(S37)障害箇所判定部180は、現在適用中の振り分けテーブル(初期のままであれば振り分けテーブル111)を参照して、品質劣化のあるハッシュ値が、LAGの何れかの物理リンクに対応するハッシュ値の組に1つのハッシュ値を追加したものか否かを判定する。品質劣化のあるハッシュ値が、LAGの何れかの物理リンクに対応するハッシュ値の組に1つのハッシュ値を追加したものである場合、処理をステップS39に進める。品質劣化のあるハッシュ値が、LAGの何れかの物理リンクに対応するハッシュ値の組に1つのハッシュ値を追加したものでない場合、処理をステップS40に進める。例えば、振り分けテーブル111を用いて監視を行っており、品質劣化のあるハッシュ値が(2,3,4)という組である場合を考える。振り分けテーブル111には、ポート番号“3”の物理リンクに対してハッシュ値の組(2,3)が登録されている。この場合、品質劣化のあるハッシュ値の組(2,3,4)は、ハッシュ値の組(2,3)に1つのハッシュ値“4”を追加したものと判断できる。なお、振り分けルールでは、1つの物理リンクに対して複数のハッシュ値が対応するため、品質劣化のあるハッシュ値が1つの場合は、ステップS40に進めることになる。
(S38)障害箇所判定部180は、長さtの期間以上途絶されたパケットのハッシュ値の組と同じ組が振り分けテーブルに記憶されているか否かを判定する。同じ組が記憶されている場合、処理をステップS39に進める。同じ組が記憶されていない場合、処理をステップS44に進める。例えば、ステップS36において、ハッシュ値の組(0,4)で観測の途絶があり、現在適用中の振り分けテーブルが振り分けテーブル111である場合、ハッシュ値の組(0,4)は振り分けテーブル111に記憶されていることになる。
(S39)障害箇所判定部180は、障害情報記憶部120に記憶された障害管理テーブル121に、現時刻とハッシュ値の組とを登録する。ここで、障害箇所判定部180は、次のようにして登録するハッシュ値の組を決定する。以下の(1)の処理は、ステップS38(Yes)の後に実行される。(2)の処理は、ステップS37(Yes)の後に実行される。
(1)長さtの期間以上観測が途絶えたハッシュ値の組が、現在適用中の振り分けテーブルの何れかのハッシュ値の組と完全に一致する場合、当該ハッシュ値の組に対応する物理リンクで障害があるものと判定する。障害箇所判定部180は、当該ハッシュ値の組を障害管理テーブル121に登録する。この場合の途絶は、リンクダウン時の現象と判断できる。
(2)障害箇所判定部180は、品質劣化のあるハッシュ値のうち、ステップS37で特定した振り分けテーブル上のハッシュ値の組(ステップS37の例ではハッシュ値の組“2,3”)を除いたハッシュ値(ステップS37の例ではハッシュ値“4”)を取得する。障害箇所判定部180は、振り分けテーブルに基づいて、取得したハッシュ値“4”が何れの物理リンクから収容替えされたものかを判断する。例えば、現在適用中のテーブルが振り分けテーブル111の場合、ハッシュ値“4”は、ポート番号“1”の物理リンクに対応付けられている。よって、障害箇所判定部180は、ポート番号“1”の物理リンクで障害があったものと判定できる。この場合、障害箇所判定部180は、振り分けテーブル111のポート番号“1”に対応するハッシュ値の組(0,4)を障害管理テーブル121に登録する。障害箇所判定部180は、(1)、(2)の何れかを実行すると、処理をステップS33に進める。
(S40)障害箇所判定部180は、障害管理テーブル121の最新エントリが、現時点から過去の特定の時間間隔以内に登録されたものであるか否かを判定する。特定の時間間隔は、例えば1時間以内に物理リンク障害が自動復旧する事例が多い場合は1時間とするなど、運用に応じて決定できる。1時間とする場合、障害箇所判定部180は、最新エントリが直近の1時間以内に登録されたものであるか否かを判定することになる。最新エントリが、現時点から過去の特定の時間間隔以内に登録されたものである場合、処理をステップS41に進める。現時点から過去の特定の時間間隔以内に登録されたものでない場合、処理をステップS42に進める。ステップS40の判定は、障害管理テーブル121の最新エントリが比較的新しい情報であるか否かを判定しているともいえる。古過ぎるエントリを無視することで、振り分けテーブルが誤って変更される可能性を低減できる。
(S41)障害箇所判定部180は、障害管理テーブル121の最新エントリに基づいて、監視に用いる振り分けテーブルを変更する。例えば、振り分けテーブル111を用いており、障害管理テーブル121の最新エントリに登録されたハッシュ値の組が(0,4)の場合、図12で例示した変更パターンによれば、振り分けテーブル112に変更されることになる。したがって、障害箇所判定部180は、回復後の振り分けテーブルとして、振り分けテーブル112を選択し、監視に用いる振り分けテーブルを振り分けテーブル112に変更する。
(S42)障害箇所判定部180は、品質劣化のあるハッシュ値の組が、現在適用中の振り分けテーブルに登録された何れかの物理リンクに対応するハッシュ値の組に完全に一致するか否かを判定する。完全に一致する場合、処理をステップS43に進める。完全には一致しない場合、処理をステップS44に進める。
(S43)障害箇所判定部180は、ステップS35で検出された品質劣化が、LAGでの品質劣化であると判定する。障害箇所判定部180は、品質劣化のあるハッシュ値の組に対応する物理リンクを、現在適用中の振り分けテーブルから取得する。そして、処理をステップS45に進める。
(S44)障害箇所判定部180は、ステップS35で検出された品質劣化が、LAG以外の区間での品質劣化であると判定する。
(S45)表示制御部190は、障害箇所判定部180による障害箇所の判定結果をディスプレイ51に表示させる。例えば、LAGにおける品質劣化であると判定されている場合、表示制御部190は、LAGにおいて品質劣化が発生していること、および、該当の物理リンクの情報(例えば、ポート番号)をディスプレイ51に表示させる。また、LAG以外の区間での品質劣化であると判定されている場合、表示制御部190は、LAG以外の区間において品質劣化が発生していることをディスプレイ51に表示させる。
(S45)表示制御部190は、障害箇所判定部180による障害箇所の判定結果をディスプレイ51に表示させる。例えば、LAGにおける品質劣化であると判定されている場合、表示制御部190は、LAGにおいて品質劣化が発生していること、および、該当の物理リンクの情報(例えば、ポート番号)をディスプレイ51に表示させる。また、LAG以外の区間での品質劣化であると判定されている場合、表示制御部190は、LAG以外の区間において品質劣化が発生していることをディスプレイ51に表示させる。
(S46)障害箇所判定部180は、監視を終了するか否かを判定する。監視を終了する場合、処理を終了する。監視を終了しない場合、処理をステップS33に進める。例えば、障害箇所判定部180は、ステップS32において振り分けルールが設定された後の一定期間を監視期間とし、当該監視期間が満了している場合に、監視を終了すると判定してもよい。または、障害箇所判定部180は、管理者による監視終了の操作入力を受け付けたタイミングで監視を終了すると判定してもよい。
ここで、ステップS37において、品質劣化のあるハッシュ値が、振り分けテーブルに登録された何れかのハッシュ値の組に1つのハッシュ値が追加されたものか否かを判定する理由は、物理リンク障害の判定精度が低下するのを抑えるためである。すなわち、品質劣化のあるハッシュ値が、振り分けテーブルに登録された何れかのハッシュ値の組に複数のハッシュ値が追加されたものである場合は、物理リンク障害が発生している可能性が低い。
また、ステップS36では、障害箇所判定部180は、各フローにおける送信元IPアドレスに着目して、あるハッシュ値の観測が途絶したか否かを判定してもよい。具体的には、監視サーバ100がスイッチ200に接続されている場合において、サーバ400,400a,400bのIPアドレスを送信元IPアドレスとするパケットに関してのみ、ハッシュ値の観測を行ってもよい。この場合、クライアント側よりもサーバ側から送信されるパケットの方が、パケット収集においてLAGにおける物理リンクのダウンの影響を強く受けるためである。また、障害箇所判定部180は、フロー単位に、パケットの収集が所定長さtの期間以上途絶したかを確認し、あるハッシュ値に対応する何れかのフローで当該途絶があった場合に、該当のハッシュ値の観測が当該期間の間途絶えたと判断してもよい。
また、ステップS37(Yes)の場合は、例示したように、現在稼働中の特定の物理リンクで品質劣化が生じていることを把握できる。このため、表示制御部190は、例えば該当の物理リンクで品質劣化が生じている旨をディスプレイ51に表示させることで、その旨を管理者に通知してもよい。
更に、ステップS38では、障害箇所判定部180は、現在適用中の振り分けテーブルおよび回復後の振り分けテーブルの何れかに、途絶されたハッシュ値の組が存在するかを判定してもよい。そして、現在または回復後の何れかの振り分けテーブルに該当のハッシュ値の組が存在していれば、ステップS38の判定をYes(それ以外の場合はNo)としてもよい。より具体的には、現在適用中の振り分けテーブルが振り分けテーブル111であり、回復後の振り分けテーブルが振り分けテーブル112,113,114,115であるとする。ステップS36において、ハッシュ値の組(0,4)で観測の途絶がある場合、ハッシュ値の組(0,4)は振り分けテーブル111に記憶されていることになる(第1の場合)。一方、ステップS36において、ハッシュ値の組(0,2)で観測の途絶がある場合、ハッシュ値の組(0,2)は振り分けテーブル111には記憶されていないが、回復後の振り分けテーブル112には記憶されていることになる(第2の場合)。第2の場合、ステップS39(1)での処理が第1の場合と異なる。第2の場合では、障害箇所判定部180は以下の処理を行う。
長さtの期間以上観測が途絶えたハッシュ値の組が、現在適用中の振り分けテーブルにはないが、回復後の振り分けテーブルにある場合、当該途絶はリンク回復時の現象と判断できる。この場合、障害箇所判定部180は、回復後の振り分けテーブルの中から観測が途絶したハッシュ値の組を検索し、何れの物理リンクで障害があったかを判定する。例えば、振り分けテーブル111を用いて監視を行っている場合を考える。障害箇所判定部180は、観測が途絶したハッシュ値の組が(0,2)であるとき、振り分けテーブル111からは障害のあった物理リンクを判定できない。そこで、障害箇所判定部180は、回復後の振り分けテーブル112,113,114,115を参照して、ハッシュ値の組(0,2)を検索する。振り分けテーブル112,114,115では、ハッシュ値の組(0,2)はポート番号“1”の物理リンクに対応付けられている。このため、障害箇所判定部180は、ポート番号“1”の物理リンクが障害になったと判定する。そして、障害箇所判定部180は、振り分けテーブル111のポート番号“1”に対応するハッシュ値の組(0,4)を障害管理テーブル121に登録する。以降の手順は、図17に示した以降のステップと同様である。
次に、スイッチ200a,200b間のLAGの状況と監視サーバ100が監視に用いる振り分けルールおよび障害管理テーブル121の内容との関係を例示する。以下の例では、監視サーバ100において、ベンダの識別情報“A”に対応する振り分けルールが監視用に設定されており、各例の最初のステップの時点では、振り分けテーブル111を用いているものとする。また、図中、スイッチをSW(SWitch)と略記する。
図18は、第3の実施の形態の監視例(その1)である。以下、図18に示す処理をステップ番号に沿って説明する。
(ST11)この時点では、LAGの全ての物理リンクは正常である。スイッチ200a,200bは振り分けテーブル111と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル121のエントリはない。
(ST11)この時点では、LAGの全ての物理リンクは正常である。スイッチ200a,200bは振り分けテーブル111と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル121のエントリはない。
(ST12)ポート番号“1”の物理リンクが障害によりダウンする。監視サーバ100は、ハッシュ値“0”、“4”の観測が所定長(例えば、1〜数秒程度)の一期間に途絶えたことを検出する。ハッシュ値“0”、“4”を別の正常な物理リンクに収容替えする前に、スイッチ200a,200bによりハッシュ値“0”、“4”に対応するパケットの送信が一時的に停止されるためである。すると、監視サーバ100は、障害管理テーブル121に、現時刻に対応付けて、ハッシュ値の組(0,4)を登録する(図17のステップS39で示した(1)の例)。
(ST13)ポート番号“1”の物理リンクがダウン中である。スイッチ200a,200bは、ハッシュ値“4”をポート番号“3”の物理リンク、ハッシュ値“0”をポート番号“4”の物理リンクに対応付けて転送する。
(ST14)ポート番号“1”の物理リンクのリンクダウンが回復する。スイッチ200a,200bは、ポート番号“1”の物理リンクにハッシュ値の組(0,2)を振り分けるようになる(振り分けテーブル112と同じルールとなる)。そして、監視サーバ100は、ハッシュ値“0”、“2”に対応するフローで品質劣化を検出する(該当の各フローに対するハッシュ値の観測の同じ期間における途絶はなかったとする)。監視サーバ100は、障害管理テーブル121にハッシュ値の組(0,4)が登録されており、登録された時刻が現時点よりも過去の特定の時間内(例えば、1時間以内)であることを確認する。
すると、監視サーバ100は、変更パターンの情報に基づいて、現在参照している振り分けテーブル111を、ポート番号“1”の物理リンク(ハッシュ値の組(0,4)に対応)の回復後の振り分けテーブル112に切り替える。そして、監視サーバ100は、振り分けテーブル112を用いて、品質劣化がLAGの物理リンクに起因するものかを判断する。振り分けテーブル112には、ポート番号“1”の物理リンクに対応付けてハッシュ値の組(0,2)が登録されている。このため、監視サーバ100は、ポート番号“1”の物理リンクが要因となって品質劣化が発生していると判定する。監視サーバ100は、ディスプレイ51に判定結果を表示し、管理者に品質劣化箇所を通知する。
このように、監視サーバ100は、リンクダウン発生時のハッシュ値の組を所定長の一期間に観測できなかったことを検出することで、振り分けルールが変更されることを判定できる。しかし、ステップST12において、必ずしもダウンした物理リンクにパケットが流れているとは限らない。ダウンした物理リンクにパケットが流れていない場合、監視サーバ100は、振り分けルールが変更されることを見過ごすことになる。そこで、監視サーバ100は、次のように監視を行う。
図19は、第3の実施の形態の監視例(その2)である。以下、図19に示す処理をステップ番号に沿って説明する。
(ST21)この時点では、LAGの全ての物理リンクは正常である。スイッチ200a,200bは振り分けテーブル111と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル121のエントリはない。
(ST21)この時点では、LAGの全ての物理リンクは正常である。スイッチ200a,200bは振り分けテーブル111と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル121のエントリはない。
(ST22)ポート番号“1”の物理リンクが障害によりダウンする。ただし、ポート番号“1”の物理リンクにパケットが流れていないため、監視サーバ100は、何も観測しない。この時点でも、障害管理テーブル121のエントリはない。
(ST23)ポート番号“1”の物理リンクがダウン中である。スイッチ200a,200bは、ハッシュ値“4”をポート番号“3”の物理リンク、ハッシュ値“0”をポート番号“4”の物理リンクに対応付けて転送する。この状態で、監視サーバ100は、ハッシュ値“2”、“3”、“4”に対応するフローの品質劣化を検出する(該当の各フローに対するハッシュ値の観測の同じ期間における途絶はなかったとする)。すると、監視サーバ100は、振り分けテーブル111に基づいて、正常時に振り分けられるハッシュ値の組(2,3)に加え、ハッシュ値“4”が別のリンクから収容替えされたものと判定する。
更に、振り分けテーブル111によれば、ハッシュ値“4”は正常時には、ハッシュ値“0”と同じ物理リンク(ポート番号“1”)に対応付けられる。このため、監視サーバ100は、ポート番号“1”の物理リンクでリンクダウンが発生したものと判定し、現時刻とともにハッシュ値“0,4”を障害管理テーブル121に登録する(図17のステップS39で示した(2)の例)。
(ST24)ポート番号“1”の物理リンクのリンクダウンが回復する。スイッチ200a,200bは、ポート番号“1”の物理リンクにハッシュ値の組(0,2)を振り分けるようになる(振り分けテーブル112と同じルールとなる)。そして、監視サーバ100は、ハッシュ値“0”、“2”に対応するフローで品質劣化を検出する(該当の各フローに対するハッシュ値の観測の同じ期間における途絶はなかったとする)。監視サーバ100は、障害管理テーブル121にハッシュ値の組(0,4)が登録されており、登録された時刻が現時点よりも過去の特定の時間内(例えば、1時間以内)であることを確認する。
すると、監視サーバ100は、現在参照している振り分けテーブル111を、ポート番号“1”の物理リンク(ハッシュ値の組(0,4)に対応)の回復後の振り分けテーブル112に切り替える。そして、監視サーバ100は、振り分けテーブル112を用いて、品質劣化がLAGの物理リンクに起因するものかを判断する。振り分けテーブル112には、ポート番号“1”の物理リンクに対応付けてハッシュ値の組(0,2)が登録されている。このため、監視サーバ100は、ポート番号“1”の物理リンクが要因となって品質劣化が発生していると判定する。監視サーバ100は、ディスプレイ51に判定結果を表示し、管理者に品質劣化箇所を通知する。
こうして、監視サーバ100は、リンクダウン発生時にハッシュ値の組の途絶を検出しなかったとしても、リンクダウン中に品質劣化が観測されたハッシュ値に基づいて、振り分けルールが変更されたことを判定できる。ただし、リンクダウン中に品質劣化が観測できない場合は、振り分けルールの変更を見過ごす可能性がある。そこで、監視サーバ100は、更に次のような監視を行う。
図20は、第3の実施の形態の監視例(その3)である。以下、図20に示す処理をステップ番号に沿って説明する。
(ST31)この時点では、LAGの全ての物理リンクは正常である。スイッチ200a,200bは振り分けテーブル111と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル121のエントリはない。
(ST31)この時点では、LAGの全ての物理リンクは正常である。スイッチ200a,200bは振り分けテーブル111と同じルールで、ハッシュ値を物理リンクに振り分ける。この時点では、障害管理テーブル121のエントリはない。
(ST32)ポート番号“1”の物理リンクが障害によりダウンする。ただし、ポート番号“1”の物理リンクにパケットが流れていないため、監視サーバ100は、何も観測しない。この時点でも、障害管理テーブル121のエントリはない。
(ST33)ポート番号“1”の物理リンクがダウン中である。スイッチ200a,200bは、ハッシュ値“4”をポート番号“3”の物理リンク、ハッシュ値“0”をポート番号“4”の物理リンクに対応付けて転送する。3つの物理リンクで正常に通信が行われており、監視サーバ100は、品質劣化を観測しない。
図21は、第3の実施の形態の監視例(その3の続き)である。以下、図21に示す処理をステップ番号に沿って説明する。
(ST34)ポート番号“1”の物理リンクのリンクダウンが回復する。スイッチ200a,200bは、ポート番号“1”の物理リンクにハッシュ値の組(0,2)を振り分けるようになる(振り分けテーブル112と同じルールとなる)。監視サーバ100は、ハッシュ値の組(0,2)の観測が所定長(例えば、1〜数秒程度)の一期間に途絶したことを検出する。ハッシュ値“0”、“2”をポート番号“1”の物理リンクに収容替えする前に、スイッチ200a,200bによりハッシュ値の組(0,2)に対応するパケットの送信が一時的に停止されるためである。監視サーバ100は、振り分けテーブル111でハッシュ値の組(0,2)を検索する。しかし、ハッシュ値の組(0,2)は振り分けテーブル111に存在しない。そこで、監視サーバ100は、回復後の振り分けテーブル112,113,114,115でハッシュ値の組(0,2)を検索する。振り分けテーブル112,114,115にハッシュ値の組(0,2)が存在し、ポート番号“1”に対応付けられている。このため、監視サーバ100は、ポート番号“1”の物理リンクがダウンしたものと判定し、障害管理テーブル121に、現時刻とともにハッシュ値の組(0,4)を登録する。
(ST34)ポート番号“1”の物理リンクのリンクダウンが回復する。スイッチ200a,200bは、ポート番号“1”の物理リンクにハッシュ値の組(0,2)を振り分けるようになる(振り分けテーブル112と同じルールとなる)。監視サーバ100は、ハッシュ値の組(0,2)の観測が所定長(例えば、1〜数秒程度)の一期間に途絶したことを検出する。ハッシュ値“0”、“2”をポート番号“1”の物理リンクに収容替えする前に、スイッチ200a,200bによりハッシュ値の組(0,2)に対応するパケットの送信が一時的に停止されるためである。監視サーバ100は、振り分けテーブル111でハッシュ値の組(0,2)を検索する。しかし、ハッシュ値の組(0,2)は振り分けテーブル111に存在しない。そこで、監視サーバ100は、回復後の振り分けテーブル112,113,114,115でハッシュ値の組(0,2)を検索する。振り分けテーブル112,114,115にハッシュ値の組(0,2)が存在し、ポート番号“1”に対応付けられている。このため、監視サーバ100は、ポート番号“1”の物理リンクがダウンしたものと判定し、障害管理テーブル121に、現時刻とともにハッシュ値の組(0,4)を登録する。
(ST35)監視サーバ100は、ハッシュ値“0”、“2”に対応するフローで品質劣化を検出する(該当の各フローに対するハッシュ値の観測の同じ期間における途絶はなかったとする)。監視サーバ100は、障害管理テーブル121にハッシュ値の組(0,4)が登録されており、登録された時刻が現時点よりも過去の特定の時間内(例えば、1時間以内)であることを確認する。
すると、監視サーバ100は、現在参照している振り分けテーブル111を、ポート番号“1”の物理リンク(ハッシュ値の組(0,4)に対応)の回復後の振り分けテーブル112に切り替える。そして、監視サーバ100は、振り分けテーブル112を用いて、品質劣化がLAGの物理リンクに起因するものかを判断する。振り分けテーブル112には、ポート番号“1”の物理リンクに対応付けてハッシュ値の組(0,2)が登録されている。このため、監視サーバ100は、ポート番号“1”の物理リンクが要因となって品質劣化が発生していると判定する。監視サーバ100は、ディスプレイ51に判定結果を表示し、管理者に品質劣化箇所を通知する。
こうして、監視サーバ100は、リンクダウン発生時にハッシュ値の組の途絶を検出できなかったとしても、リンク回復時にハッシュ値の組の観測が所定長の一期間に途絶えたことを検出することで、振り分けルールが変更されたことを判定できる。
以上のように、監視サーバ100によれば、何れかのスイッチから収集したパケットに基づいて、リンクアグリゲーション区間で通信品質の劣化が発生していることを把握できる。このため、ネットワークの全スイッチを個別に調査(例えば、全スイッチから障害監視用のMIB情報を常時収集するなど)しなくてもよく、ネットワーク監視を効率的に行える。また、リンクアグリゲーション区間における何れの物理リンクが通信品質の劣化要因となっているかを短時間で特定できるようになる。更に、リンクアグリゲーション区間における振り分けルールが変更される場合であっても、品質劣化箇所の誤検知を抑えられ、品質劣化箇所の特定精度を向上することができる。
更に、監視サーバ100は、GUI70により、管理者によるベンダ毎の振り分けルールの入力を支援する。管理者は、ベンダの識別情報を監視サーバ100に入力することで、ベンダに応じた振り分けルールを呼び出して監視用に設定できる。このため、管理者に対して、新たに振り分けルールを作成させる作業を強いずに済み、管理者による作業の省力化を図れる。
ここで、第3の実施の形態では、ネットワークにリンクアグリゲーション区間が1つ存在する例を示したが、複数存在していてもよい。また、パケットは、MACフレームのペイロードに含めて転送され得る。このため、スイッチ200a,200bは、MACフレームに含まれる送信元MACアドレスおよび宛先MACアドレスの組に応じたハッシュ値に基づいて、LAGに属する何れの物理リンクからMACフレームを送出するかを決定してもよい。スイッチ200,200a,200b,200cは、OSI参照モデルの第2層でMACフレーム(MACフレームを指してパケットということもある)を転送するレイヤ2スイッチでもよい。その場合も、監視サーバ100は、上記と同様の方法により、リンクアグリゲーション区間における振り分けルールの変更を把握できる。
なお、第1,第2の実施の形態の情報処理は、演算部12にプログラムを実行させることで実現できる。また、第3の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体53に記録できる。
例えば、プログラムを記録した記録媒体53を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体53に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
10 監視装置
11 記憶部
12 演算部
20,20a,20b,20c 中継装置
30,30a,30b,40,40a,40b 端末装置
L1,L2,L3,L4 物理リンク
T1 振り分けテーブル
11 記憶部
12 演算部
20,20a,20b,20c 中継装置
30,30a,30b,40,40a,40b 端末装置
L1,L2,L3,L4 物理リンク
T1 振り分けテーブル
Claims (11)
- 2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置であって、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報を記憶する記憶部と、
収集したパケットの算出値のうち所定期間以上取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在する場合に、前記リンクアグリゲーション区間における前記対応情報が変更されると判定する演算部と、
を有する監視装置。 - 前記記憶部は、物理リンクが障害から復旧した後に使用される復旧後の対応情報を更に物理リンクごとに記憶し、
前記演算部は、前記所定期間以上取得が途絶えた算出値の組に基づいて変更後の前記対応情報を選択する、
請求項1記載の監視装置。 - 2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置であって、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報を記憶する記憶部と、
収集したパケットの算出値のうち一時的に取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合に、前記リンクアグリゲーション区間における前記対応情報が変更されたと判定する演算部と、
を有する監視装置。 - 前記一時的に取得が途絶えた前記算出値の組は、前記パケットの損失率が閾値以上である前記算出値の組み合わせであり、
前記演算部は、前記一時的に取得が途絶えた前記算出値の組に含まれる算出値の一部の組が前記対応情報において何れかの物理リンクに対応付けられている場合、前記リンクアグリゲーション区間における前記対応情報が変更されたと判定する、
請求項3記載の監視装置。 - 前記記憶部は、物理リンクが障害から復旧した後に使用される復旧後の対応情報を更に物理リンクごとに記憶し、
前記演算部は、前記一部の組に基づいて変更後の前記対応情報を選択する、
請求項4記載の監視装置。 - 前記演算部は、収集したパケットの算出値のうち所定期間以上取得が途絶えた算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合で、かつ、前記所定期間以上取得が途絶えた算出値の組に含まれる算出値の数と、前記対応情報において前記複数の物理リンクそれぞれに対応する算出値の数とが一致している場合に、前記リンクアグリゲーション区間における前記対応情報が更に変更されると判定する、請求項3記載の監視装置。
- 2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行うコンピュータに、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報に基づいて、収集したパケットの算出値のうち所定期間以上取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在する場合に、前記リンクアグリゲーション区間における前記対応情報が変更されると判定する、
処理を実行させる監視プログラム。 - 2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行うコンピュータに、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報に基づいて、収集したパケットの算出値のうち一時的に取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合に、前記リンクアグリゲーション区間における前記対応情報が変更されたと判定する、
処理を実行させる監視プログラム。 - 2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行うコンピュータが、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報に基づいて、収集したパケットの算出値のうち所定期間以上取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在する場合に、前記リンクアグリゲーション区間における前記対応情報が変更されると判定する、
監視方法。 - 2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行うコンピュータが、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す対応情報に基づいて、収集したパケットの算出値のうち一時的に取得が途絶えた前記算出値の組が前記対応情報に記憶された物理リンクに対応する算出値の組として存在しない場合に、前記リンクアグリゲーション区間における前記対応情報が変更されたと判定する、
監視方法。 - 2つの中継装置の間を接続する複数の物理リンクにより1つの論理リンクを形成するリンクアグリゲーション区間に流れるパケットを収集し、収集したパケットを用いて監視を行う監視装置であって、
パケットに含まれるアドレスの所定の関数により算出される算出値と前記複数の物理リンクのうち前記パケットが出力される物理リンクとの対応を示す第1の対応情報と、物理リンクが障害から復旧した後に使用される復旧後の第2の対応情報とを、中継装置のベンダの識別情報に対応付けて記憶する記憶部と、
何れかのベンダの識別情報の入力を受け付け、入力されたベンダの識別情報に対応する前記第1および前記第2の対応情報と、収集したパケットの算出値とに基づいて、前記複数の物理リンクそれぞれの通信品質を監視する演算部と、
を有する監視装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014242011A JP2016103784A (ja) | 2014-11-28 | 2014-11-28 | 監視装置、監視プログラムおよび監視方法 |
US14/952,083 US20160156516A1 (en) | 2014-11-28 | 2015-11-25 | Monitoring device, method, and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014242011A JP2016103784A (ja) | 2014-11-28 | 2014-11-28 | 監視装置、監視プログラムおよび監視方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016103784A true JP2016103784A (ja) | 2016-06-02 |
Family
ID=56079887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014242011A Withdrawn JP2016103784A (ja) | 2014-11-28 | 2014-11-28 | 監視装置、監視プログラムおよび監視方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160156516A1 (ja) |
JP (1) | JP2016103784A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6436262B1 (ja) * | 2018-07-03 | 2018-12-12 | 日本電気株式会社 | ネットワーク管理装置、ネットワークシステム、方法、及びプログラム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10797950B2 (en) * | 2015-12-31 | 2020-10-06 | Unisys Corporation | Systems and methods for dynamically configuring a network switch for monitoring |
JP6254669B1 (ja) * | 2016-12-19 | 2017-12-27 | Fdcグローバル株式会社 | 情報処理装置、端末及びプログラム |
US11392317B2 (en) * | 2017-05-31 | 2022-07-19 | Fmad Engineering Kabushiki Gaisha | High speed data packet flow processing |
US11036438B2 (en) | 2017-05-31 | 2021-06-15 | Fmad Engineering Kabushiki Gaisha | Efficient storage architecture for high speed packet capture |
US11218910B2 (en) * | 2017-12-04 | 2022-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | First node and a second node and methods of operating the same |
JP7021543B2 (ja) * | 2018-01-29 | 2022-02-17 | 富士通株式会社 | 通信装置及び通信システム |
JP6992611B2 (ja) * | 2018-03-09 | 2022-01-13 | 株式会社デンソー | 中継装置 |
KR20210077065A (ko) * | 2019-12-16 | 2021-06-25 | 현대자동차주식회사 | 차량용 pra 열화 제어 시스템 및 그의 pra 열화 제어 방법 |
KR20210133790A (ko) * | 2020-04-29 | 2021-11-08 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8631149B2 (en) * | 2008-11-25 | 2014-01-14 | Citrix Systems, Inc. | Systems and methods for object rate limiting |
JP5849843B2 (ja) * | 2012-04-18 | 2016-02-03 | 富士通株式会社 | フレーム伝送システム |
US9813290B2 (en) * | 2014-08-29 | 2017-11-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for supporting distributed relay control protocol (DRCP) operations upon misconfiguration |
-
2014
- 2014-11-28 JP JP2014242011A patent/JP2016103784A/ja not_active Withdrawn
-
2015
- 2015-11-25 US US14/952,083 patent/US20160156516A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6436262B1 (ja) * | 2018-07-03 | 2018-12-12 | 日本電気株式会社 | ネットワーク管理装置、ネットワークシステム、方法、及びプログラム |
JP2019103116A (ja) * | 2018-07-03 | 2019-06-24 | 日本電気株式会社 | ネットワーク管理装置、ネットワークシステム、方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20160156516A1 (en) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016103784A (ja) | 監視装置、監視プログラムおよび監視方法 | |
US8204980B1 (en) | Storage array network path impact analysis server for path selection in a host-based I/O multi-path system | |
JP5545162B2 (ja) | 監視プログラム、監視装置、および監視方法 | |
US9882841B2 (en) | Validating workload distribution in a storage area network | |
US9692819B2 (en) | Detect process health remotely in a realtime fashion | |
CN106656682A (zh) | 集群心跳检测方法、系统及装置 | |
JP5530864B2 (ja) | ネットワークシステム、管理サーバ、及び、管理方法 | |
JP4412031B2 (ja) | ネットワーク監視システム及びその方法、プログラム | |
CN112311580B (zh) | 报文传输路径确定方法、装置及系统、计算机存储介质 | |
JP5842641B2 (ja) | 通信システム、および生成装置 | |
JP5753030B2 (ja) | キャッシュクラウド構造を利用したキャッシュシステムおよびキャッシングサービスの提供方法 | |
TW201413467A (zh) | 管理雲端主機的監控系統及其監控方法 | |
US20160057043A1 (en) | Diagnostic routing system and method for a link access group | |
JP4464256B2 (ja) | ネットワーク上位監視装置 | |
Tang et al. | Remon: A resilient flow monitoring framework | |
KR100500836B1 (ko) | 매트로 이더넷망의 장애처리 장치 및 그 방법 | |
US8719633B2 (en) | Search device, search method, and search program | |
US10511502B2 (en) | Information processing method, device and recording medium for collecting logs at occurrence of an error | |
JP5287457B2 (ja) | 動作モード相違検出プログラム、方法及び装置 | |
JP4790579B2 (ja) | プロセスの監視装置及び監視方法 | |
JP4909830B2 (ja) | サーバアプリケーション監視システム及び監視方法 | |
US20230254227A1 (en) | Network monitoring device, network monitoring method, and network monitoring program | |
JP5469104B2 (ja) | 情報処理装置、ネットワーク試験方法、及びプログラム | |
JP5380687B2 (ja) | ネットワーク管理装置およびネットワーク管理方法 | |
JP2015035678A (ja) | ネットワークシステム、経路の監視方法、及び中継装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170804 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20171225 |