【実施例1】
【0023】
最初に装置間スタックを用いた場合の簡単なネットワーク構成を例に挙げて、通常運用時、障害時の処理概要を説明する。
【0024】
図5に装置間スタックを用いたパケット中継装置のネットワークシステムの構成例を示す。装置間スタックを用いたネットワークシステムは、一方のパケット中継装置300Aもしくは300Bが故障しても伝送経路を確保できるようにするため、隣接するパケット中継装置と接続する通信ケーブルを異なるパケット中継装置300A、300Bとそれぞれに接続される回線どうしでリンクアグリゲーションのグループを組むことによって可用性を高める効果がある。
【0025】
なお、
図5(a)に示される通常運用時の場合、リンクアグリゲーションのグループに属する回線のうち、パケット中継装置300Aに接続される回線をアクティブポートに指定して、パケット中継装置300Bに接続される回線をバックアップポートに指定することによって、スタックポート306を経由して転送するデータ通信が発生しなくなる。このように通常運用時においては、運用者のコンフィグレーション(設定)によって、スタックポート306を経由する通信量を低減することが可能である。
【0026】
また、
図5(b)に示されるアクティブポートの回線障害が発生した場合、回線障害が発生したリンクアグリゲーションのグループのパケット中継装置300Aに接続されるアクティブポートの縮退処理の結果として、パケット中継装置300Bに接続される回線をバックアップポートからアクティブポートに遷移させる処理が行われる。リンクアグリゲーションではこのように回線障害が発生した場合、バックアップポートをアクティブポートに遷移させることによって通信の継続性を担保することが出来る。
【0027】
その一方、
図5(b)に示される様な装置間スタックを用いたパケット中継装置のネットワークシステムの構成例では、回線障害によってスタックポート306を経由してデータ通信が行われるようになる。回線障害が発生した場合、通信の継続性が担保される一方、スタックポート306の回線帯域が十分に確保されていないと、帯域不足によってネットワークシステム上のボトルネックになり、パケット廃棄が発生する恐れがある。
【0028】
図6に本発明に係る装置間スタックを用いたパケット中継装置のネットワークシステムの構成例を示す。本発明に係る装置間スタックを用いたネットワークシステムは、一方のパケット中継装置300Aもしくは300Bが故障しても伝送経路を確保できるようにするため、隣接するパケット中継装置と接続する通信ケーブルを異なるパケット中継装置300A、300Bとそれぞれに接続される回線どうしでリンクアグリゲーションのグループを組むことによって可用性を高める効果がある。
【0029】
なお、
図6(a)に示される通常運用時の場合、リンクアグリゲーションのグループに属する回線のうち、パケット中継装置300Aに接続される回線をアクティブポートに指定して、パケット中継装置300Bに接続される回線をバックアップポートに指定することによって、スタックポート306を経由して転送するデータ通信が発生しなくなる。
【0030】
次に、
図6(b)を用いて障害発生時の動作について説明する。回線障害が発生したリンクアグリゲーションのグループのパケット中継装置300Aに接続されるアクティブポートの縮退処理の結果として、パケット中継装置300Bに接続される回線をバックアップポートからアクティブポートに遷移させる処理が行われることは従来技術と同様であるが、リンクアグリゲーションで回線障害が発生していないグループに関してもアクティブポート・バックアップポートの状態遷移処理を実施することによって、回線障害発生時にスタックポート306にデータ通信が流れることを極力排除することを可能とする。
【0031】
図6(b)の例では、パケット中継装置103とパケット中継装置300Aの間で回線障害が発生しているため、従来技術同様に通常時にバックアップポートであったパケット中継装置103とパケット中継装置300Aの間の回線用のポートをアクティブポートに変更する。
【0032】
このままでは、パケット中継装置101とパケット中継装置103との通信はスタックポート306を経由してしまう。そこで、本来障害の発生していないパケット中継装置101とパケット中継装置300Aの間の回線用のポートをバックアップポートにし、パケット中継装置101とパケット中継装置300Bの間の回線用をアクティブにしている。こうすることによって、パケット中継装置101とパケット中継装置103との通信は全てスタックポート306を経由することなくパケット中継装置300Bを通過することとなる。
【0033】
また、本発明に係るパケット中継装置のネットワークシステムでは、スタックポート306に流れているデータパターン及び通信量を監視して、リンクアグリゲーションのアクティブポート・バックアップポートの選定を動的に選定することによってスタックポート306にデータ通信が流れることを極力排除することを可能とする。
【0034】
これらの本発明技術(論理的にグループを組んでいるリンクアグリゲーション内の状態だけではなく、様々な条件を加味した上でアクティブポートを選定するメカニズム)を適用することによって、複数のパケット中継装置を接続して仮想的に1台の装置として振る舞いを行うことができるネットワークシステムを効率的(部品点数/消費電力/コスト/設置スペースの削減を含む)に構成する技術を提供することが可能となる。
【0035】
図7に本実施例に係るパケット中継装置の構成を示す。パケット中継装置700は、コントロール部701と、フォワーディング部702と、回線部703と、パケット解析部708から成る。フォワーディング部702の内にはパケット中継エンジン704が具備され、パケット中継エンジン704の内には宛先テーブル705が具備される。コントロール部701の内にはリンク最適化調整部707が具備される。パケット解析部708の内には集計テーブル709、LAG設定テーブル710、通信可否マトリックステーブル711が具備される。また、回線部703に属する1本以上の物理回線をスタックポート706に定義し、装置間スタック技術を実現するための制御フレームやパケット中継装置間を跨って通信する必要があるデータトラフィックの通信経路として使用する。なお、装置間スタックを構成するために使用するスタックポート706はリンクアグリゲーションによる論理的に複数の回線を一本に見せる技術などによって帯域幅の増速が可能である。
【0036】
次に、
図7の各ブロックの詳細な説明をする。コントロール部701は、運用者のコンフィグレーション(設定)を受け付け、その設定情報に基づいて、フォワーディング部702、回線部703、パケット解析部708の設定及び情報のやり取りを行う装置全体の管理を行うマネジメント部であり、
図9に示す装置間スタックを構成する装置、回線ごとにリンクアグリゲーションのどのグループに属するかを示すLAG Group IDの情報を持つ。
【0037】
また、コントロール部701はリンク最適化調整部707を具備している。リンク最適化調整部707は、装置間スタックで構成される物理回線で構成されるリンクアグリゲーションのグループに関して、装置構成の状況をチェックし、グループ内のどの回線をアクティブポートまたはバックアップポートとして定義するのかを決定する手段を備え、その結果をコントロール部701に伝達して、他部位の設定を行う機能を備える。リンク最適化調整部707の状況判定方法については後述する。
【0038】
フォワーディング部702は、内部にパケット中継エンジン704、宛先テーブル705を具備し、回線部703からパケット情報を受信すると、フォワーディング部702の中のパケット中継エンジン部704にてパケット情報に含まれる宛先情報(宛先Macアドレス、宛先IPアドレスなど)を抽出して、その抽出された宛先情報と宛先テーブル705を照合してパケットの出力先を決定する。
【0039】
また、パケット情報に含まれていた宛先情報がマルチキャストやブロードキャストの場合には、パケット情報を複数の回線部703にコピーして出力する機能を具備する。なお、出力先がリンクアグリゲーションで構成されている論理回線である場合、該当のリンクアグリゲーショングループに属する物理回線部703のうち、アクティブポートに属するインタフェースにパケットを転送する。また、フォワーディング部702はパケットを回線部703に転送する際にパケット情報をパケット解析部708にコピーする機能(ミラーリング)を具備する。
【0040】
回線部703は、外部の通信装置からパケットを受信してフォワーディング部702にパケットを転送、フォワーディング部702からパケットを受信して外部の通信装置に対してパケットを転送する役割を担う。回線部703の用途として、装置間スタックを構成するために必要な制御情報を伝播するためのスタックポート706としての役割にも使用が可能である。
【0041】
パケット解析部708は、前記フォワーディング部702からミラーリングされたパケット情報を受信して解析、解析結果を分類して格納するための集計テーブル709を具備する。
図11に集計テーブル709に格納されるデータ情報を示す。集計テーブル709は、装置間スタックで構成されるパケット中継装置のうち、最初にパケット情報を受信したパケット中継装置の受信装置ID及び受信回線番号と、最終的にパケット情報を出力するパケット中継装置の送信装置ID及び送信回線番号及びパケット送信する際の出力優先度の情報の組み合わせごとに通信量情報が格納される。
【0042】
図9にスタック型ネットワークの構成例を示す。パケット中継装置300Aの各回線がアクティブポート、パケット中継装置300Bの各回線がバックアップポートに設定されていて、各回線がリンクが正常であることからリンクアグリゲーションのステータス状態も、装置1の各回線がアクティブポート、装置2の各回線がバックアップポートの状態になっている。
【0043】
図9の例では、パケット中継装置300A、Bの下流のスイッチは全てパケット中継装置300A、Bの両方へ回線接続されており、両装置への回線をリンクアグリゲーションでグループ化している。上流のスイッチもパケット中継装置300A、Bの両方へ回線接続されており、両装置への回線をリンクアグリゲーションでグループ化している。すなわち、パケット中継装置300A、Bにより通信経路を2重化している構成であるといえる。
【0044】
図10(a)(b)を用いてパケット中継装置300が有する設定に関して説明する。
【0045】
図10(a)はリンクアグリゲーションの設定を行うためのLAG設定テーブルである。
図10の例では
図9の構成のリンクアグリゲーションの設定を表している。装置ID「1」のパケット中継装置300Aでは、回線番号(またはポート番号でもよい)「1」「2」「3」「4」がそれぞれLAG Group ID「1」「2」「3」「4」のグループに属し、Active/Backup Settingは全て「Active」に設定されている。Active/Backup Settingはそのポートをアクティブにするかバックアップにするかの設定である。
【0046】
また、Active/Backup Statusは全て「Active」になっている。Active/Backup Statusは実際のそのポートの状態を示している。定期的にポートの状態を検知し設定する。現状は「Active」に設定された全てのポートの状態が「Active」なので問題がない状態であることを表している。
【0047】
図10(b)は各ポート間で通信の可否を設定するための通信可否マトリックステーブルである。テーブルの送信元ポートと宛先ポートは装置IDと回線番号の組み合わせで表す。「1/1」は装置ID「1」の回線番号「1」を意味する。
図10(b)の例では、リンクアグリゲーショングループの1と2、1と3、2と3間の通信が禁止されており、通信が可能なポートが限定されている。「1/4」と「1/1」「1/2」「1/3」のみが通信できる状態であり「2/1」「2/2」「2/3」「2/4」はそれぞれバックアップ用のポートなので運用上の通信制限がかけられている状態である。
【0048】
次に
図11を用いて通信トラフィック量を監視する集計テーブルについて説明する。集計テーブルは受信装置ID,受信回線番号、送信装置ID、送信回線番号、通信量情報からなるテーブルである。
【0049】
図11の例では、3行目のレコードは受信装置ID「1」,受信回線番号「1」、送信装置ID「2」、送信回線番号「2」、通信量情報「341Mbps」となっている。これらの情報からパケット中継装置300Aのポート1からパケット中継装置300Bのポート2に341Mbpsのトラフィックが生じており、スタックポートにもこれだけのトラフィックが生じていることを表す。
【0050】
尚、
図9、
図10の装置構成の例では回線異常がない限りはスタックポートにトラフィックが生じていることは無いが、
図11は説明のためにスタックポートにトラフィックが生じている例を示している。
【0051】
図12に本発明に掛かるパケット中継装置においてパケット受信からパケット送信に至るまでの全体の処理の流れを示すフローチャートを示す。本発明に掛かるパケット中継装置にパケット1200を入力すると、回線部703はパケット受信処理1201を行い、パケットが壊れていないかの検査を行う。情報が破損しておらず正常であると判断されるパケット情報は、回線部703からフォワーディング部702に転送される。パケット情報を受け取ったフォワーディング部702はパケット転送などの制御に必要なキー情報(宛先MACアドレスや宛先IPアドレスなど)を抽出するパケット解析1202の処理を行う。フォワーディング部702は、抽出したキー情報と宛先テーブル705に格納されている情報を参照して、該当パケットをどのパケットポートに出力するべきかを判断するパケット転送先決定1203の処理を行う。フォワーディング部702は、パケットの転送先が決定すると該パケットをパケット解析部708で解析する必要があるかどうかと判定する。パケット解析対象1204の判定処理を行う。
【0052】
パケット解析部にて監視が必要であるかの条件はコントロール部701の設定及び前述のキー情報から判断を行う。パケット解析の必要がないと判定された場合(1204のno)、パケット転送先決定1203の処理で決定された部位にパケット情報を出力するパケット配送処理1211を行い、回線部703にて外部にパケット情報を転送するパケット送信処理1112を行う。パケット解析の必要があると判定された場合(1204のyes)、パケットを複製してパケット解析部708にパケットを伝達するパケットミラーリング1205の処理を行う。
【0053】
なお、パケットミラーリング1205の処理を行う際、前述のパケット解析1202で解析したキー情報についてもコピーして転送しても良い。前記のパケットミラーリング1205によって複製されたパケット情報をパケット解析部708にて受信すると、パケット解析1206を行い、パケット情報分類1207によって受信したパケット情報を受信装置ID/受信回線番号/送信装置ID/送信回線番号/出力優先度で分類して、分類された情報に対する通信量を集計テーブル709に格納する集計テーブル更新1208の処理を行う。コントロール部701の内部にあるリンク最適化調整部707は、定期的に集計テーブル709を参照し、リンク最適化制御1209を実施する。リンク最適化制御の判定処理の流れを示すフローチャートを
図13に記載しており、後で説明する。リンク最適化制御の結果、最適なリンクアグリゲーションの状態が現在の状態と異なる場合には、リンクアグリゲーション状態遷移1210によって状態を変更する。その後、パケット情報を出力するパケット配送処理1211を行い、回線部703にて外部にパケット情報を転送するパケット送信処理1212を行う。
【0054】
図13に本発明に掛かるリンク最適化制御の判定処理の流れを示すフローチャートを示す。本発明に掛かるリンク最適化制御では、リンク最適化調整部707はスタックポート706における廃棄率を調査するためにフォワーディング部702に格納されているスタックポートの廃棄統計情報を参照するスタックポート廃棄率確認1301を実施する。さらに、前手順にて確認したスタックポート廃棄率と、運用者があらかじめ設定した廃棄率閾値を比較する廃棄率閾値比較1302を実施する。廃棄率閾値との比較の結果、運用者があらかじめ設定した廃棄率閾値よりも廃棄が少なくて、リンクアグリゲーションの状態遷移を検討する必要がないと判断される場合(1302のno)、処理を完了する。廃棄率閾値との比較の結果、運用者があらかじめ設定した廃棄率閾値よりも廃棄が多くて、リンクアグリゲーションの状態遷移を検討する必要があると判断される場合(1302のyes)、リンク最適化調整部707は、コントロール部701の内部に具備されている通信可否マトリックステーブル1001を参照する通信マトリックステーブル確認1303を実施する。
【0055】
さらに、前手順にて確認した通信マトリックステーブルの状態にて、最適化が必要であるかどうかを判断する最適化要否の判断処理1304を実施して、リンクアグリゲーションの状態遷移の最適化処理が必要であると判断(1304のyes)すれば、リンクアグリゲーションの状態遷移処理1305を実施した後に、スタックポート廃棄率確認1301に戻る。処理1303、1304の詳細は
図14−17を用いて後述する。
【0056】
次に、リンクアグリゲーションの状態遷移の最適化処理が必要でないと判断(1304のno)すれば、リンク最適化調整部707は集計テーブル709を参照する集計テーブル確認1306を実施する。さらに、前手順にて確認した集計テーブルの状態にて、最適化が必要であるかどうかを判断する最適化要否1307の判断処理を実施して、リンクアグリゲーションの状態遷移の最適化処理が必要であると判断(1307のyes)すれば、リンクアグリゲーションの状態遷移処理1308を実施した後に、スタックポート廃棄率確認1301に戻る。
【0057】
次に処理1303、1304を詳細に説明する。
【0058】
図14は
図9の装置構成でパケット中継装置300Aの回線3(1/3)で回線障害が起きたときの状態でリンクアグリゲーションの最適化処理を実施していない場合のリンクアグリゲーションの状態を指し示している。すなわち従来のリンクアグリゲーションにおける処理のみが実施された状態である。
【0059】
一般的なリンクアグリゲーションの処理では、リンクアグリゲーションを組んだグループ内での障害によってのみ、状態線をするので回線障害が発生している回線が属するLAG Group IDのみリンクアグリゲーションの状態遷移が発生する。
図14をみるとパケット中継装置300Aの回線3(1/3)がリンクダウンしたため、回線3(1/3)と同じグループ内のパケット中継装置300Bの回線3(2/3)がアクティブポートになっている。
【0060】
図15(a)に
図14おけるLAG設定テーブルを示す。
図15(a)を
図10(a)と比較するとActive/Backup Statusでは回線3(1/3)がLink downとなっており、代わりに回線3(2/3)がActiveとなっているのがわかる。
【0061】
図15(b)に
図14における通信可否マトリックステーブルを示す。
図10(b)と比較すると回線3(1/3)と上流の回線回線4(1/4)が通信不可になっているため、代わりに回線3(2/3)と上流の回線回線4(1/4)が通信可になっている。また、回線3(1/3)の通信に関わる部分に関してはすべて通信不可に遷移される。
【0062】
その結果として、リンクアグリゲーショングループ1〜3のアクティブポートはパケット中継装置300A、リンクアグリゲーショングループ4のアクティブポートはパケット中継装置300Bになり、リンクアグリゲーショングループ3の回線による上流スイッチとの通信では必ずスタックポートを通過することになる。いいかえればスタックポートにトラフィックが生じていることとなる。
【0063】
次にリンクアグリゲーションの最適化処理を実施した後の装置構成と各種テーブルを説明する。
【0064】
図16は本実施例に係る技術を使用して、回線障害時、通信マトリックステーブルの情報によるリンクアグリゲーションの最適化処理を実施した後の状態を示すスタック型ネットワークの構成例を示す図である。
図16では、パケット中継装置300Bの回線3(2/3)だけでなく、パケット中継装置300Bの全てのポートをアクティブポートにしている。併せてパケット中継装置300Aの全てのポートをバックアップポートにしている。
【0065】
これにより、全てのトラフィックがパケット中継装置300Bのみを通過することになるため、スタックポートにトラフィックが発生しなくなる。
【0066】
処理1303、1304のリンクアグリゲーションの最適化処理では、このように全てのアクティブポートを1台に設定することができる場合は、そうすることによりスタックポートにトラフィックを発生させないようにしている。
【0067】
実際に処理1303、1304を行う場合は、
図15(a)および
図15(b)または片方のテーブルを参照して、全てのアクティブポートを1台に設定することができるかを判断する。
図17(a)、
図17(b)は実際に全てのアクティブポートをパケット中継装置300Bに設定し終わったときのテーブルである。
図15と比較すると、リンクダウンしたポート以外もアクティブとバックアップを切り替えていることが分かる。
【0068】
次に処理1306、1307を詳細に説明する。
【0069】
集計テーブルによる最適か処理は、処理1303、1304のように片方の装置のポートを全てアクティブにできないような場合に、集計テーブルを参照していずれの装置のポートをアクティブにすれば、スタックポートのトラフィックを減らせるかを判断し、設定を行う処理である。
【0070】
集計テーブルの例を
図18に示す。
図18の集計テーブル1800は
図11とフォーマットが異なりマトリックス状になっているが、
図11と
図18のどちらの形式でも良いし、これ以外の形式でもよい。各ポート間でのトラフィックを管理できればよい。尚、
図18の例は
図14、
図16の設定におけるトラフィックを表しているものではない。説明の便宜上、パケット中継装置300A,Bの両方にアクティブのポートが存在する状態でのトラフィックである。ただし、システム構成は
図14,16と同じである。
【0071】
図18のような集計テーブルの状態で、スタックポートに負荷を掛けている要因であるのは、送信元ポート(1/1)から入力されて宛先ポート(2/2)に出力されるトラフィックが大きいことが判る。また、送信元ポート(1/1)の出力トラフィックの宛先は、パケット中継装置300A,Bのそれぞれのポートにトラフィックが流れているが、パケット中継装置300A宛てのトラフィックの合計帯域は宛先ポート(1/3)の1GBと宛先ポート(1/4)の3GBの合計4GBに対して、パケット中継装置300B宛てのトラフィックの合計帯域は宛先ポート(2/2)の合計10GBである。逆に、宛先ポート(1/1)となるトラフィックは、パケット中継装置300Aからのトラフィックの合計帯域は送信元ポート(1/3)の1GBと送信元ポート(1/4)の3GBの合計4GBに対して、パケット中継装置300Bからのトラフィックの合計帯域は送信元ポート(2/2)からの合計5GBである。このような条件化では、リンク最適化調整部707は回線1/1とリンクアグリゲーショングループを組んでいるバックアップポートの回線(2/2)をアクティブポートに遷移させた方がスタックポートに流れ込む通信量を軽減することができると判断できる。
【0072】
以上のように、処理1303、1304または処理1306、1307のいずれか、もしくは両方を行うことによりスタックポートに生じるトラフィックを動的に減らすことができる。これにより、従来の装置に比べ、スタックポートへまわすポートの数を減らし、より多くのポートを通常の装置間のデータ通信に回せるため効率のよいシステムを構築できる。